---
title: "This Week's PostgreSQL Treats (#7)"
publication: "Postgres Weekly"
issue: 7
published_at: "2013-04-24"
canonical_url: "https://postgresweekly.com/issues/7"
---

Postgres Weekly Issue 7 - April 24, 2013

[Archives](http://postgresweekly.com/issues) [Read this issue on the Web](http://postgresweekly.com/issues/7)**Postgres Weekly****Issue 7**
April 24, 2013If you want to follow us or refer to the newsletter on Twitter at all, we now have an official Postgres Weekly Twitter account at [@postgresweekly](https://twitter.com/postgresweekly). It's still very new so you could even become the first follower ;-)[PGStrom: Postgres on the GPU](http://wiki.postgresql.org/wiki/PGStrom?utm_source=postgresweekly&utm_medium=email)Foreign Data Wrappers allow the ability to connect from within Postgres to external sources. PGStrom is a module of an FDW that allows developers to take advantage of the GPU for additional performance gains in specific use cases.[Running PostgreSQL on Compression-enabled ZFS](http://citusdata.com/blog/64-zfs-compression?utm_source=postgresweekly&utm_medium=email)It's a common request for wanting Postgres to have some form of compression. If size is a concern for you the people over at [Citus DB](http://citusdata.com/) show how Postgres can play well with taking advantage of compression enabled ZFS – providing up to 4x compression.[![\](http://s3.amazonaws.com/nlga/uploads/item/image/10550/thumb_Screenshot_4_23_13_5_44_PM-3.png)](http://citusdata.com/blog/64-zfs-compression?utm_source=postgresweekly&utm_medium=email)[Using JSON in Postgres and Node.js](http://blog.j0.hn/post/48591247017/using-json-in-postgres-and-node-js?utm_source=postgresweekly&utm_medium=email)With Postgres 9.2 supporting JSON natively it was only a matter of time before more languages and frameworks started taking advantage of it. Here's a post that highlights how you can do it, or even better get it [natively as of 2 days ago](https://github.com/brianc/node-postgres/pull/239) in node-postgres[Postgres 9.3 feature highlight: JSON parsing functions](http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-parsing-functions/?utm_source=postgresweekly&utm_medium=email)Last week Michael highlighted some of the additional JSON operators that will be available in Postgres 9.3. This week he gives attention to various JSON functions that will be available – making the JSON support even richer.[A very simple custom aggregate](http://www.databasesoup.com/2013/04/a-very-simple-custom-aggregate.html?utm_source=postgresweekly&utm_medium=email)Postgres has a robust set of functions out of the box, though if you're looking for more flexibility you can create your own. Here's a great example of creating a simple custom aggregate which highlights how you could use them to solve a variety of problems.[Using array_agg in Postgres](http://craigkerstiens.com/2013/04/17/array-agg/?utm_source=postgresweekly&utm_medium=email)In addition to the array datatype theres a variety of functions dealing with arrays that create powerful functionality within Postgres. Learn how to take advantage of array_agg to aggregate across rows and group data in a way that makes both developing and reporting easier.[Finding your One Metric That Matters using SQL](http://blog.getmetrica.com/post/48153893395/finding-your-one-metric-that-matters-using-sql?utm_source=postgresweekly&utm_medium=email)Limiting the number of things you're tracking early on can help you focus. Here's a great post that gives some of that info; but perhaps most interestingly shows a great example of calculating user retention by using window functions within Postgres.Curated by [Craig Kerstiens](http://craigkerstiens.com/) and published by [Cooper Press](https://cooperpress.com/).
Want to sponsor an issue? See our [media kit.](https://cooperpress.com/mediakit2014q2.pdf)

 © 2017 Cooper Press Ltd. [Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
Office 30, Fairfield Enterprise Centre, Louth, LN11 0LS, UK[Update your email address](*|UPDATE_PROFILE|*)
or [unsubscribe here](*|UNSUB|*)
