|
|
|
@ -1,6 +1,496 @@ |
|
|
|
<!-- doc/src/sgml/release-9.1.sgml --> |
|
|
|
<!-- doc/src/sgml/release-9.1.sgml --> |
|
|
|
<!-- See header comment in release.sgml about typical markup --> |
|
|
|
<!-- See header comment in release.sgml about typical markup --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="release-9-1-4"> |
|
|
|
|
|
|
|
<title>Release 9.1.4</title> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<note> |
|
|
|
|
|
|
|
<title>Release Date</title> |
|
|
|
|
|
|
|
<simpara>2012-06-04</simpara> |
|
|
|
|
|
|
|
</note> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This release contains a variety of fixes from 9.1.3. |
|
|
|
|
|
|
|
For information about new features in the 9.1 major release, see |
|
|
|
|
|
|
|
<xref linkend="release-9-1">. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect2> |
|
|
|
|
|
|
|
<title>Migration to Version 9.1.4</title> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
A dump/restore is not required for those running 9.1.X. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
However, if you use the <type>citext</> data type, and you upgraded |
|
|
|
|
|
|
|
from a previous major release by running <application>pg_upgrade</>, |
|
|
|
|
|
|
|
you should run <literal>CREATE EXTENSION citext FROM unpackaged</> |
|
|
|
|
|
|
|
to avoid collation-related failures in <type>citext</> operations. |
|
|
|
|
|
|
|
The same is necessary if you restore a dump from a pre-9.1 database |
|
|
|
|
|
|
|
that contains an instance of the <type>citext</> data type. |
|
|
|
|
|
|
|
If you've already run the <command>CREATE EXTENSION</> command before |
|
|
|
|
|
|
|
upgrading to 9.1.4, you will instead need to do manual catalog updates |
|
|
|
|
|
|
|
as explained in the third changelog item below. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Also, if you are upgrading from a version earlier than 9.1.2, |
|
|
|
|
|
|
|
see the release notes for 9.1.2. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</sect2> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect2> |
|
|
|
|
|
|
|
<title>Changes</title> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<itemizedlist> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix incorrect password transformation in |
|
|
|
|
|
|
|
<filename>contrib/pgcrypto</>'s DES <function>crypt()</> function |
|
|
|
|
|
|
|
(Solar Designer) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
If a password string contained the byte value <literal>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) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ignore <literal>SECURITY DEFINER</> and <literal>SET</> attributes for |
|
|
|
|
|
|
|
a procedural language's call handler (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Applying such attributes to a call handler could crash the server. |
|
|
|
|
|
|
|
(CVE-2012-2655) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Make <filename>contrib/citext</>'s upgrade script fix collations of |
|
|
|
|
|
|
|
<type>citext</> arrays and domains over <type>citext</> |
|
|
|
|
|
|
|
(Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Release 9.1.2 provided a fix for collations of <type>citext</> columns |
|
|
|
|
|
|
|
and indexes in databases upgraded or reloaded from pre-9.1 |
|
|
|
|
|
|
|
installations, but that fix was incomplete: it neglected to handle arrays |
|
|
|
|
|
|
|
and domains over <type>citext</>. This release extends the module's |
|
|
|
|
|
|
|
upgrade script to handle these cases. As before, if you have already |
|
|
|
|
|
|
|
run the upgrade script, you'll need to run the collation update |
|
|
|
|
|
|
|
commands by hand instead. See the 9.1.2 release notes for more |
|
|
|
|
|
|
|
information about doing this. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Allow numeric timezone offsets in <type>timestamp</> input to be up to |
|
|
|
|
|
|
|
16 hours away from UTC (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Some historical time zones have offsets larger than 15 hours, the |
|
|
|
|
|
|
|
previous limit. This could result in dumped data values being rejected |
|
|
|
|
|
|
|
during reload. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix timestamp conversion to cope when the given time is exactly the |
|
|
|
|
|
|
|
last DST transition time for the current timezone (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This oversight has been there a long time, but was not noticed |
|
|
|
|
|
|
|
previously because most DST-using zones are presumed to have an |
|
|
|
|
|
|
|
indefinite sequence of future DST transitions. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <type>text</> to <type>name</> and <type>char</> to <type>name</> |
|
|
|
|
|
|
|
casts to perform string truncation correctly in multibyte encodings |
|
|
|
|
|
|
|
(Karl Schnaitter) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix memory copying bug in <function>to_tsquery()</> (Heikki Linnakangas) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ensure <function>txid_current()</> reports the correct epoch when |
|
|
|
|
|
|
|
executed in hot standby (Simon Riggs) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix planner's handling of outer PlaceHolderVars within subqueries (Tom |
|
|
|
|
|
|
|
Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
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 <quote>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. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix planning of <literal>UNION ALL</> subqueries with output columns |
|
|
|
|
|
|
|
that are not simple variables (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Planning of such cases got noticeably worse in 9.1 as a result of a |
|
|
|
|
|
|
|
misguided fix for <quote>MergeAppend child's targetlist doesn't match |
|
|
|
|
|
|
|
MergeAppend</> errors. Revert that fix and do it another way. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix slow session startup when <structname>pg_attribute</> is very large |
|
|
|
|
|
|
|
(Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
If <structname>pg_attribute</> exceeds one-fourth of |
|
|
|
|
|
|
|
<varname>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. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ensure sequential scans check for query cancel reasonably often (Merlin |
|
|
|
|
|
|
|
Moncure) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
A scan encountering many consecutive pages that contain no live tuples |
|
|
|
|
|
|
|
would not respond to interrupts meanwhile. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ensure the Windows implementation of <function>PGSemaphoreLock()</> |
|
|
|
|
|
|
|
clears <varname>ImmediateInterruptOK</> before returning (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This oversight meant that a query-cancel interrupt received later |
|
|
|
|
|
|
|
in the same query could be accepted at an unsafe time, with |
|
|
|
|
|
|
|
unpredictable but not good consequences. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Show whole-row variables safely when printing views or rules |
|
|
|
|
|
|
|
(Abbas Butt, Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <command>COPY FROM</> to properly handle null marker strings that |
|
|
|
|
|
|
|
correspond to invalid encoding (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
A null marker string such as <literal>E'\\0'</> should work, and did |
|
|
|
|
|
|
|
work in the past, but the case got broken in 8.4. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <command>EXPLAIN VERBOSE</> for writable CTEs containing |
|
|
|
|
|
|
|
<literal>RETURNING</> clauses (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <command>PREPARE TRANSACTION</> to work correctly in the presence |
|
|
|
|
|
|
|
of advisory locks (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Historically, <command>PREPARE TRANSACTION</> has simply ignored any |
|
|
|
|
|
|
|
session-level advisory locks the session holds, but this case was |
|
|
|
|
|
|
|
accidentally broken in 9.1. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix truncation of unlogged tables (Robert Haas) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ignore missing schemas during non-interactive assignments of |
|
|
|
|
|
|
|
<varname>search_path</> (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This re-aligns 9.1's behavior with that of older branches. Previously |
|
|
|
|
|
|
|
9.1 would throw an error for nonexistent schemas mentioned in |
|
|
|
|
|
|
|
<varname>search_path</> settings obtained from places such as |
|
|
|
|
|
|
|
<command>ALTER DATABASE SET</>. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix bugs with temporary or transient tables used in extension scripts |
|
|
|
|
|
|
|
(Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This includes cases such as a rewriting <command>ALTER TABLE</> within |
|
|
|
|
|
|
|
an extension update script, since that uses a transient table behind |
|
|
|
|
|
|
|
the scenes. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ensure autovacuum worker processes perform stack depth checking |
|
|
|
|
|
|
|
properly (Heikki Linnakangas) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Previously, infinite recursion in a function invoked by |
|
|
|
|
|
|
|
auto-<command>ANALYZE</> could crash worker processes. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix logging collector to not lose log coherency under high load (Andrew |
|
|
|
|
|
|
|
Dunstan) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
The collector previously could fail to reassemble large messages if it |
|
|
|
|
|
|
|
got too busy. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix logging collector to ensure it will restart file rotation |
|
|
|
|
|
|
|
after receiving <systemitem>SIGHUP</> (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <quote>too many LWLocks taken</> failure in GiST indexes (Heikki |
|
|
|
|
|
|
|
Linnakangas) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix WAL replay logic for GIN indexes to not fail if the index was |
|
|
|
|
|
|
|
subsequently dropped (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Correctly detect SSI conflicts of prepared transactions after a crash |
|
|
|
|
|
|
|
(Dan Ports) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Avoid synchronous replication delay when committing a transaction that |
|
|
|
|
|
|
|
only modified temporary tables (Heikki Linnakangas) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
In such a case the transaction's commit record need not be flushed to |
|
|
|
|
|
|
|
standby servers, but some of the code didn't know that and waited for |
|
|
|
|
|
|
|
it to happen anyway. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix error handling in <application>pg_basebackup</> |
|
|
|
|
|
|
|
(Thomas Ogrisegg, Fujii Masao) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <application>walsender</> to not go into a busy loop if connection |
|
|
|
|
|
|
|
is terminated (Fujii Masao) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix memory leak in PL/pgSQL's <command>RETURN NEXT</> command (Joe |
|
|
|
|
|
|
|
Conway) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix PL/pgSQL's <command>GET DIAGNOSTICS</> command when the target |
|
|
|
|
|
|
|
is the function's first variable (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Ensure that PL/Perl package-qualifies the <varname>_TD</> variable |
|
|
|
|
|
|
|
(Alex Hunsaker) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This bug caused trigger invocations to fail when they are nested |
|
|
|
|
|
|
|
within a function invocation that changes the current package. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix PL/Python functions returning composite types to accept a string |
|
|
|
|
|
|
|
for their result value (Jan Urbanski) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This case was accidentally broken by the 9.1 additions to allow a |
|
|
|
|
|
|
|
composite result value to be supplied in other formats, such as |
|
|
|
|
|
|
|
dictionaries. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix potential access off the end of memory in <application>psql</>'s |
|
|
|
|
|
|
|
expanded display (<command>\x</>) mode (Peter Eisentraut) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix several performance problems in <application>pg_dump</> when |
|
|
|
|
|
|
|
the database contains many objects (Jeff Janes, Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
<application>pg_dump</> could get very slow if the database contained |
|
|
|
|
|
|
|
many schemas, or if many objects are in dependency loops, or if there |
|
|
|
|
|
|
|
are many owned sequences. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix memory and file descriptor leaks in <application>pg_restore</> |
|
|
|
|
|
|
|
when reading a directory-format archive (Peter Eisentraut) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <application>pg_upgrade</> for the case that a database stored in a |
|
|
|
|
|
|
|
non-default tablespace contains a table in the cluster's default |
|
|
|
|
|
|
|
tablespace (Bruce Momjian) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
In <application>ecpg</>, fix rare memory leaks and possible overwrite |
|
|
|
|
|
|
|
of one byte after the <structname>sqlca_t</> structure (Peter Eisentraut) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <filename>contrib/dblink</>'s <function>dblink_exec()</> to not leak |
|
|
|
|
|
|
|
temporary database connections upon error (Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <filename>contrib/dblink</> to report the correct connection name in |
|
|
|
|
|
|
|
error messages (Kyotaro Horiguchi) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Fix <filename>contrib/vacuumlo</> to use multiple transactions when |
|
|
|
|
|
|
|
dropping many large objects (Tim Lewis, Robert Haas, Tom Lane) |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This change avoids exceeding <varname>max_locks_per_transaction</> when |
|
|
|
|
|
|
|
many objects need to be dropped. The behavior can be adjusted with the |
|
|
|
|
|
|
|
new <literal>-l</> (limit) option. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
Update time zone data files to <application>tzdata</> release 2012c |
|
|
|
|
|
|
|
for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland |
|
|
|
|
|
|
|
Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; |
|
|
|
|
|
|
|
also historical corrections for Canada. |
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</itemizedlist> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</sect2> |
|
|
|
|
|
|
|
</sect1> |
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="release-9-1-3"> |
|
|
|
<sect1 id="release-9-1-3"> |
|
|
|
<title>Release 9.1.3</title> |
|
|
|
<title>Release 9.1.3</title> |
|
|
|
|
|
|
|
|
|
|
|
|