Couple of times, in various places, I was asked: what is the benefit from upgrading to some_version. So far, I just read release docs, and compiled list of what has changed. But this is not necessarily simple - consider upgrade from 9.3.2 ...

I was faced with interesting problem. Which schema, in my DB, uses the most disk space? Theoretically it's trivial, we have set of helpful functions: pg_column_size pg_database_size pg_indexes_size ...

On 7th of February 2018, Tom Lane committed patch: Support all SQL:2011 options for window frame clauses. This patch adds the ability to use "RANGE offset PRECEDING/FOLLOWING" frame boundaries in window functions. We'd punted on that back in the original patch to add ...

Support parallel btree index builds. To make this work, tuplesort.c and logtape.c must also support parallelism, so this patch adds that infrastructure and then applies it to the particular case of parallel btree index builds. Testing to date shows that this can often ...

On Friday, Zr40 reported on irc that explain.depesz.com doesn't show table/index names for Parallel Seq Scan nodes. Checked it and found couple of other omissions of the same kind with other Parallel* scans. Fixed (I hope) all of them in: Pg::Explain plan parsing ...

On 19th of January 2018, Robert Haas committed patch: Allow UPDATE to move rows between partitions. When an UPDATE causes a row to no longer match the partition constraint, try to move it to a different partition where it does match the partition constraint. ...

Bricklen Anderson reported a problem with explains that were using parallel processing. TL;DR: in case of parallel plans make "inclusive" and "exclusive" be wall-clock times, and not "how much time CPU did spend on it".

On 9th of November 2017, Robert Haas committed patch: Add hash partitioning. Hash partitioning is useful when you want to partition a growing data set evenly. This can be useful to keep table sizes reasonable, which makes maintenance operations such as VACUUM faster, ...

On 12nd of September 2017, Tom Lane committed patch: Add psql variables to track success/failure of SQL queries. This patch adds ERROR, SQLSTATE, and ROW_COUNT, which are updated after every query, as well as LAST_ERROR_MESSAGE and LAST_ERROR_SQLSTATE, which are updated only when a query ...

On 5th of September 2017, Tom Lane committed patch: Add \gdesc psql command. This command acts somewhat like \g, but instead of executing the query buffer, it merely prints a description of the columns that the query result would have. (Of course, this ...