On 18th of June, Tom Lane committed patch: Implement UPDATE tab SET (col1,col2,...) = (SELECT ...), ... This SQL-standard feature allows a sub-SELECT yielding multiple columns (but only one row) to be used to compute the new values of several columns to be updated. ...

In previous post in the series I wrote about how to interpret single line in explain analyze output, it's structure, and later on described all basic data-getting operations (nodes in explain tree). Today, we'll move towards more complicated operations.

On 8th of November, Tom Lane committed patch, which doesn't provide any new features, but removes one of the more annoying footguns in PostgreSQL: Prevent invoking I/O conversion casts via functional/attribute notation.   PG 8.4 added a built-in feature for casting pretty much ...

Today some guy on IRC asked question, which I didn't fully understand, but which could (probably) be summarized: how to group data into 5 minute intervals, based on some timestamp column. Well, it seems trivial (as long as you know how ...

One database that I am monitoring uses a lot of stored procedures. Some of them are fast, some of them are not so fast. I thought - is there a sensible way to diagnose which part of stored procedure take ...