Release date: 2012-09-24
This release contains a variety of fixes from 9.1.5. For information about new features in the 9.1 major release, see Section E.132.
A dump/restore is not required for those running 9.1.X.
However, you may need to perform
REINDEX operations to recover from the effects of
the data corruption bug described in the first changelog item
Also, if you are upgrading from a version earlier than 9.1.4, see Section E.128.
Fix persistence marking of shared buffers during WAL replay (Jeff Davis)
This mistake can result in buffers not being written out during checkpoints, resulting in data corruption if the server later crashes without ever having written those buffers. Corruption can occur on any server following crash recovery, but it is significantly more likely to occur on standby slave servers since those perform much more WAL replay. There is a low probability of corruption of btree and GIN indexes. There is a much higher probability of corruption of table “visibility maps”. Fortunately, visibility maps are non-critical data in 9.1, so the worst consequence of such corruption in 9.1 installations is transient inefficiency of vacuuming. Table data proper cannot be corrupted by this bug.
While no index corruption due to this bug is known to have
occurred in the field, as a precautionary measure it is recommended
that production installations
all btree and GIN indexes at a convenient time after upgrading to
Also, if you intend to do an in-place upgrade to 9.2.X, before
doing so it is recommended to perform a
VACUUM of all tables while having
vacuum_freeze_table_age set to zero. This will ensure
that any lingering wrong data in the visibility maps is corrected
before 9.2.X can depend on it.
vacuum_cost_delay can be adjusted to reduce
the performance impact of vacuuming, while causing it to take
longer to finish.
Fix planner's assignment of executor parameters, and fix executor's rescan logic for CTE plan nodes (Tom Lane)
These errors could result in wrong answers from queries that
scan the same
WITH subquery multiple
Fix misbehavior when
default_transaction_isolation is set to
serializable (Kevin Grittner, Tom Lane, Heikki
Symptoms include crashes at process start on Windows, and crashes in hot standby operation.
Improve selectivity estimation for text search queries involving
patterns (Tom Lane)
Improve page-splitting decisions in GiST indexes (Alexander Korotkov, Robert Haas, Tom Lane)
Multi-column GiST indexes might suffer unexpected bloat due to this error.
Fix cascading privilege revoke to stop if privileges are still held (Tom Lane)
If we revoke a grant option from some role
X still holds that option via a
grant from someone else, we should not recursively revoke the
corresponding privilege from role(s)
X had granted it to.
Disallow extensions from containing the schema they are assigned to (Thom Brown)
This situation creates circular dependencies that confuse pg_dump and probably other things. It's confusing for humans too, so disallow it.
Improve error messages for Hot Standby misconfiguration errors (Gurjeet Singh)
Make configure probe for
mbstowcs_l (Tom Lane)
This fixes build failures on some versions of AIX.
Fix handling of
SIGFPE when PL/Perl
is in use (Andres Freund)
Perl resets the process's
SIG_IGN, which could result
in crashes later on. Restore the normal Postgres signal handler
after initializing PL/Perl.
Prevent PL/Perl from crashing if a recursive PL/Perl function is redefined while being executed (Tom Lane)
Work around possible misoptimization in PL/Perl (Tom Lane)
Some Linux distributions contain an incorrect version of
pthread.h that results in incorrect
compiled code in PL/Perl, leading to crashes if a PL/Perl function
calls another one that throws an error.
Fix bugs in
LIKE pattern analysis code (Fujii
LIKE queries using a trigram index
could produce wrong results if the pattern contained
LIKE escape characters.
Fix pg_upgrade's handling of line endings on Windows (Andrew Dunstan)
Previously, pg_upgrade might add or remove carriage returns in places such as function bodies.
On Windows, make pg_upgrade use backslash path separators in the scripts it emits (Andrew Dunstan)
Remove unnecessary dependency on pg_config from pg_upgrade (Peter Eisentraut)
Update time zone data files to tzdata release 2012f for DST law changes in Fiji
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.