If a password string contained the byte value 0x80, the remainder of the password was
ignored, causing the password to be much weaker than it
appeared. With this fix, the rest of the string is properly
included in the DES hash. Any stored password values that
are affected by this bug will thus no longer match, so the
stored values may need to be updated. (CVE-2012-2143)

This bug concerns sub-SELECTs that reference variables
coming from the nullable side of an outer join of the
surrounding query. In 9.1, queries affected by this bug
would fail with "ERROR: Upper-level
PlaceHolderVar found where not expected". But in 9.0
and 8.4, you'd silently get possibly-wrong answers, since
the value transmitted into the subquery wouldn't go to null
when it should.

Fix slow session startup when pg_attribute is very large (Tom Lane)

If pg_attribute exceeds
one-fourth of shared_buffers,
cache rebuilding code that is sometimes needed during
session start would trigger the synchronized-scan logic,
causing it to take many times longer than normal. The
problem was particularly acute if many new sessions were
starting at once.

Corner cases involving ambiguous names (that is, the
name could be either a table or column name of the query)
were printed in an ambiguous way, risking that the view or
rule would be interpreted differently after dump and
reload. Avoid the ambiguous case by attaching a no-op
cast.