This question appeared couple of times on irc, so I figured I can do a blogpost about it.

On 5th of February, Tom Lane committed patch: Add num_nulls() and num_nonnulls() to count NULL arguments. An example use-case is "CHECK(num_nonnulls(a,b,c) = 1)" to assert that exactly one of a,b,c isn't NULL. The functions are variadic, so they can also be pressed into ...

On 30th of October, Tom Lane committed patch: Implement lookbehind constraints in our regular-expression engine. A lookbehind constraint is like a lookahead constraint in that it consumes no text; but it checks for existence (or nonexistence) of a match *ending* at the current point ...

On 5th of April, Simon Riggs committed patch: Reduce lock levels of some trigger DDL and add FKs Reduce lock levels to ShareRowExclusive for the following SQL CREATE TRIGGER (but not DROP or ALTER) ALTER TABLE ENABLE TRIGGER ALTER TABLE DISABLE TRIGGER ...

On 28th of June, Simon Riggs committed patch: ALTER TABLE ... ALTER CONSTRAINT for FKs Allow constraint attributes to be altered, so the default setting of NOT DEFERRABLE can be altered to DEFERRABLE and back. Review by Abhijit Menon-Sen

Yet another missed thing for "Waiting for 9.3". Sorry about that. On 29th of January, Tom Lane committed patch: Provide database object names as separate fields in error messages. This patch addresses the problem that applications currently have to extract object names from possibly-localized ...

On 3rd of November, Heikki Linnakangas committed patch: Support range data types. Selectivity estimation functions are missing for some range type operators, which is a TODO. Jeff Davis

On 30th of June, Alvaro Herrera committed patch: Enable CHECK constraints to be declared NOT VALID This means that they can initially be added to a large existing table without checking its initial contents, but new tuples must comply to them; a separate pass ...

On 8th of February, Simon Riggs committed patch: Extend ALTER TABLE to allow Foreign Keys to be added without initial validation. FK constraints that are marked NOT VALID may later be VALIDATED, which uses an ShareUpdateExclusiveLock on constraint table and RowShareLock on referenced table. ...

On 25th of January, Tom Lane committed patch: Implement ALTER TABLE ADD UNIQUE/PRIMARY KEY USING INDEX.   This feature allows a unique or pkey constraint to be created using an already-existing unique index. While the constraint isn't very functionally different from the bare index, ...