1 <!-- doc/src/sgml/release-9.3.sgml -->
2 <!-- See header comment in release.sgml about typical markup -->
4 <sect1 id="release-9-3-7">
5 <title>Release 9.3.7</title>
8 <title>Release Date</title>
9 <simpara>2015-05-21</simpara>
13 This release contains a variety of fixes from 9.3.6.
14 For information about new features in the 9.3 major release, see
15 <xref linkend="release-9-3">.
19 <title>Migration to Version 9.3.7</title>
22 A dump/restore is not required for those running 9.3.X.
26 However, if you use <filename>contrib/citext</>'s
27 <function>regexp_matches()</> functions, see the changelog entry below
32 Also, if you are upgrading from a version earlier than 9.3.6,
33 see <xref linkend="release-9-3-6">.
39 <title>Changes</title>
45 Avoid possible crash when client disconnects just before the
46 authentication timeout expires (Benkocs Norbert Attila)
50 If the timeout interrupt fired partway through the session shutdown
51 sequence, SSL-related state would be freed twice, typically causing a
52 crash and hence denial of service to other sessions. Experimentation
53 shows that an unauthenticated remote attacker could trigger the bug
54 somewhat consistently, hence treat as security issue.
61 Consistently check for failure of the <function>*printf()</> family of
62 functions (Noah Misch)
66 Most calls of these functions did not consider the possibility that
67 the functions could fail with, eg, out-of-memory conditions. The usual
68 result would just be missing output, but crashes or exposure of
69 unintended information are also possible. To protect against such
70 risks uniformly, create wrappers around these functions that throw an
71 error on failure. Also add missing error checks to a few
72 security-relevant calls of other system functions.
79 In <filename>contrib/pgcrypto</>, uniformly report decryption failures
80 as <quote>Wrong key or corrupt data</> (Noah Misch)
84 Previously, some cases of decryption with an incorrect key could report
85 other error message texts. It has been shown that such variance in
86 error reports can aid attackers in recovering keys from other systems.
87 While it's unknown whether <filename>pgcrypto</>'s specific behaviors
88 are likewise exploitable, it seems better to avoid the risk by using a
89 one-size-fits-all message.
96 Protect against wraparound of multixact member IDs
97 (Álvaro Herrera, Robert Haas, Thomas Munro)
101 Under certain usage patterns, the existing defenses against this might
102 be insufficient, allowing <filename>pg_multixact/members</> files to be
103 removed too early, resulting in data loss.
104 The fix for this includes modifying the server to fail transactions
105 that would result in overwriting old multixact member ID data, and
106 improving autovacuum to ensure it will act proactively to prevent
107 multixact member ID wraparound, as it does for transaction ID
114 Fix incorrect declaration of <filename>contrib/citext</>'s
115 <function>regexp_matches()</> functions (Tom Lane)
119 These functions should return <type>setof text[]</>, like the core
120 functions they are wrappers for; but they were incorrectly declared as
121 returning just <type>text[]</>. This mistake had two results: first,
122 if there was no match you got a scalar null result, whereas what you
123 should get is an empty set (zero rows). Second, the <literal>g</> flag
124 was effectively ignored, since you would get only one result array even
125 if there were multiple matches.
129 While the latter behavior is clearly a bug, there might be applications
130 depending on the former behavior; therefore the function declarations
131 will not be changed by default until <productname>PostgreSQL</> 9.5.
132 In pre-9.5 branches, the old behavior exists in version 1.0 of
133 the <literal>citext</> extension, while we have provided corrected
134 declarations in version 1.1 (which is <emphasis>not</> installed by
135 default). To adopt the fix in pre-9.5 branches, execute
136 <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
137 which <literal>citext</> is installed. (You can also <quote>update</>
138 back to 1.0 if you need to undo that.) Be aware that either update
139 direction will require dropping and recreating any views or rules that
140 use <filename>citext</>'s <function>regexp_matches()</> functions.
146 Fix incorrect checking of deferred exclusion constraints after a HOT
151 If a new row that potentially violates a deferred exclusion constraint
152 is HOT-updated (that is, no indexed columns change and the row can be
153 stored back onto the same table page) later in the same transaction,
154 the exclusion constraint would be reported as violated when the check
155 finally occurred, even if the row(s) the new row originally conflicted
156 with had been deleted.
162 Fix planning of star-schema-style queries (Tom Lane)
166 Sometimes, efficient scanning of a large table requires that index
167 parameters be provided from more than one other table (commonly,
168 dimension tables whose keys are needed to index a large fact table).
169 The planner should be able to find such plans, but an overly
170 restrictive search heuristic prevented it.
176 Prevent improper reordering of antijoins (NOT EXISTS joins) versus
177 other outer joins (Tom Lane)
181 This oversight in the planner has been observed to cause <quote>could
182 not find RelOptInfo for given relids</> errors, but it seems possible
183 that sometimes an incorrect query plan might get past that consistency
184 check and result in silently-wrong query output.
190 Fix incorrect matching of subexpressions in outer-join plan nodes
195 Previously, if textually identical non-strict subexpressions were used
196 both above and below an outer join, the planner might try to re-use
197 the value computed below the join, which would be incorrect because the
198 executor would force the value to NULL in case of an unmatched outer row.
204 Fix GEQO planner to cope with failure of its join order heuristic
209 This oversight has been seen to lead to <quote>failed to join all
210 relations together</> errors in queries involving <literal>LATERAL</>,
211 and that might happen in other cases as well.
217 Fix possible deadlock at startup
218 when <literal>max_prepared_transactions</> is too small
225 Don't archive useless preallocated WAL files after a timeline switch
232 Recursively <function>fsync()</> the data directory after a crash
233 (Abhijit Menon-Sen, Robert Haas)
237 This ensures consistency if another crash occurs shortly later. (The
238 second crash would have to be a system-level crash, not just a database
239 crash, for there to be a problem.)
245 Fix autovacuum launcher's possible failure to shut down, if an error
246 occurs after it receives SIGTERM (Álvaro Herrera)
252 Cope with unexpected signals in <function>LockBufferForCleanup()</>
257 This oversight could result in spurious errors about <quote>multiple
258 backends attempting to wait for pincount 1</>.
264 Fix crash when doing <literal>COPY IN</> to a table with check
265 constraints that contain whole-row references (Tom Lane)
269 The known failure case only crashes in 9.4 and up, but there is very
270 similar code in 9.3 and 9.2, so back-patch those branches as well.
276 Avoid waiting for WAL flush or synchronous replication during commit of
277 a transaction that was read-only so far as the user is concerned
282 Previously, a delay could occur at commit in transactions that had
283 written WAL due to HOT page pruning, leading to undesirable effects
284 such as sessions getting stuck at startup if all synchronous replicas
285 are down. Sessions have also been observed to get stuck in catchup
286 interrupt processing when using synchronous replication; this will fix
287 that problem as well.
293 Fix crash when manipulating hash indexes on temporary tables
300 Fix possible failure during hash index bucket split, if other processes
301 are modifying the index concurrently (Tom Lane)
307 Check for interrupts while analyzing index expressions (Jeff Janes)
311 <command>ANALYZE</> executes index expressions many times; if there are
312 slow functions in such an expression, it's desirable to be able to
313 cancel the <command>ANALYZE</> before that loop finishes.
319 Ensure <structfield>tableoid</> of a foreign table is reported
320 correctly when a <literal>READ COMMITTED</> recheck occurs after
321 locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>,
322 or <command>DELETE</> (Etsuro Fujita)
328 Add the name of the target server to object description strings for
329 foreign-server user mappings (Álvaro Herrera)
335 Include the schema name in object identity strings for conversions
336 (Álvaro Herrera)
342 Recommend setting <literal>include_realm</> to 1 when using
343 Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
347 Without this, identically-named users from different realms cannot be
348 distinguished. For the moment this is only a documentation change, but
349 it will become the default setting in <productname>PostgreSQL</> 9.5.
355 Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
356 IPv4-in-IPv6 addresses (Tom Lane)
360 This hack was added in 2003 in response to a report that some Linux
361 kernels of the time would report IPv4 connections as having
362 IPv4-in-IPv6 addresses. However, the logic was accidentally broken in
363 9.0. The lack of any field complaints since then shows that it's not
364 needed anymore. Now we have reports that the broken code causes
365 crashes on some systems, so let's just remove it rather than fix it.
366 (Had we chosen to fix it, that would make for a subtle and potentially
367 security-sensitive change in the effective meaning of
368 IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
369 thing to do in minor releases.)
375 Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</>
376 replication command (Heikki Linnakangas)
380 This avoids a possible startup failure
381 in <application>pg_receivexlog</>.
387 While shutting down service on Windows, periodically send status
388 updates to the Service Control Manager to prevent it from killing the
389 service too soon; and ensure that <application>pg_ctl</> will wait for
390 shutdown (Krystian Bigaj)
396 Reduce risk of network deadlock when using <application>libpq</>'s
397 non-blocking mode (Heikki Linnakangas)
401 When sending large volumes of data, it's important to drain the input
402 buffer every so often, in case the server has sent enough response data
403 to cause it to block on output. (A typical scenario is that the server
404 is sending a stream of NOTICE messages during <literal>COPY FROM
405 STDIN</>.) This worked properly in the normal blocking mode, but not
406 so much in non-blocking mode. We've modified <application>libpq</>
407 to opportunistically drain input when it can, but a full defense
408 against this problem requires application cooperation: the application
409 should watch for socket read-ready as well as write-ready conditions,
410 and be sure to call <function>PQconsumeInput()</> upon read-ready.
416 In <application>libpq</>, fix misparsing of empty values in URI
417 connection strings (Thomas Fanghaenel)
423 Fix array handling in <application>ecpg</> (Michael Meskes)
429 Fix <application>psql</> to sanely handle URIs and conninfo strings as
430 the first parameter to <command>\connect</>
431 (David Fetter, Andrew Dunstan, Álvaro Herrera)
435 This syntax has been accepted (but undocumented) for a long time, but
436 previously some parameters might be taken from the old connection
437 instead of the given string, which was agreed to be undesirable.
443 Suppress incorrect complaints from <application>psql</> on some
444 platforms that it failed to write <filename>~/.psql_history</> at exit
449 This misbehavior was caused by a workaround for a bug in very old
450 (pre-2006) versions of <application>libedit</>. We fixed it by
451 removing the workaround, which will cause a similar failure to appear
452 for anyone still using such versions of <application>libedit</>.
453 Recommendation: upgrade that library, or use <application>libreadline</>.
459 Fix <application>pg_dump</>'s rule for deciding which casts are
460 system-provided casts that should not be dumped (Tom Lane)
466 In <application>pg_dump</>, fix failure to honor <literal>-Z</>
467 compression level option together with <literal>-Fd</>
474 Make <application>pg_dump</> consider foreign key relationships
475 between extension configuration tables while choosing dump order
476 (Gilles Darold, Michael Paquier, Stephen Frost)
480 This oversight could result in producing dumps that fail to reload
481 because foreign key constraints are transiently violated.
487 Avoid possible <application>pg_dump</> failure when concurrent sessions
488 are creating and dropping temporary functions (Tom Lane)
494 Fix dumping of views that are just <literal>VALUES(...)</> but have
495 column aliases (Tom Lane)
501 In <application>pg_upgrade</>, force timeline 1 in the new cluster
506 This change prevents upgrade failures caused by bogus complaints about
507 missing WAL history files.
513 In <application>pg_upgrade</>, check for improperly non-connectable
514 databases before proceeding
521 In <application>pg_upgrade</>, quote directory paths
522 properly in the generated <literal>delete_old_cluster</> script
529 In <application>pg_upgrade</>, preserve database-level freezing info
535 This oversight could cause missing-clog-file errors for tables within
536 the <literal>postgres</> and <literal>template1</> databases.
542 Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
543 restricted privileges on Windows, so that they don't fail when run by
544 an administrator (Muhammad Asif Naeem)
550 Improve handling of <function>readdir()</> failures when scanning
551 directories in <application>initdb</> and <application>pg_basebackup</>
558 Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
564 Fix compile failure on Sparc V8 machines (Rob Rowan)
570 Silence some build warnings on OS X (Tom Lane)
576 Update time zone data files to <application>tzdata</> release 2015d
577 for DST law changes in Egypt, Mongolia, and Palestine, plus historical
578 changes in Canada and Chile. Also adopt revised zone abbreviations for
579 the America/Adak zone (HST/HDT not HAST/HADT).
588 <sect1 id="release-9-3-6">
589 <title>Release 9.3.6</title>
592 <title>Release Date</title>
593 <simpara>2015-02-05</simpara>
597 This release contains a variety of fixes from 9.3.5.
598 For information about new features in the 9.3 major release, see
599 <xref linkend="release-9-3">.
603 <title>Migration to Version 9.3.6</title>
606 A dump/restore is not required for those running 9.3.X.
610 However, if you are a Windows user and are using the <quote>Norwegian
611 (Bokmål)</> locale, manual action is needed after the upgrade to
612 replace any <quote>Norwegian (Bokmål)_Norway</> locale names stored
613 in <productname>PostgreSQL</> system catalogs with the plain-ASCII
614 alias <quote>Norwegian_Norway</>. For details see
615 <ulink url="http://wiki.postgresql.org/wiki/Changes_To_Norwegian_Locale"></>
619 Also, if you are upgrading from a version earlier than 9.3.5,
620 see <xref linkend="release-9-3-5">.
626 <title>Changes</title>
631 Author: Bruce Momjian <bruce@momjian.us>
632 Branch: master [0150ab567] 2015-02-02 10:00:44 -0500
633 Branch: REL9_4_STABLE [1628a0bbf] 2015-02-02 10:00:49 -0500
634 Branch: REL9_3_STABLE [b8b580147] 2015-02-02 10:00:50 -0500
635 Branch: REL9_2_STABLE [5ae3bf1af] 2015-02-02 10:00:50 -0500
636 Branch: REL9_1_STABLE [037529a11] 2015-02-02 10:00:51 -0500
637 Branch: REL9_0_STABLE [611e110aa] 2015-02-02 10:00:52 -0500
638 Author: Bruce Momjian <bruce@momjian.us>
639 Branch: master [9241c84cb] 2015-02-02 10:00:45 -0500
640 Branch: REL9_4_STABLE [56d2bee9d] 2015-02-02 10:00:49 -0500
641 Branch: REL9_3_STABLE [fe2526990] 2015-02-02 10:00:50 -0500
642 Branch: REL9_2_STABLE [e09651e9d] 2015-02-02 10:00:50 -0500
643 Branch: REL9_1_STABLE [2ceb63deb] 2015-02-02 10:00:51 -0500
644 Branch: REL9_0_STABLE [56b970f2e] 2015-02-02 10:00:52 -0500
649 Fix buffer overruns in <function>to_char()</>
654 When <function>to_char()</> processes a numeric formatting template
655 calling for a large number of digits, <productname>PostgreSQL</>
656 would read past the end of a buffer. When processing a crafted
657 timestamp formatting template, <productname>PostgreSQL</> would write
658 past the end of a buffer. Either case could crash the server.
659 We have not ruled out the possibility of attacks that lead to
660 privilege escalation, though they seem unlikely.
666 Author: Bruce Momjian <bruce@momjian.us>
667 Branch: master [29725b3db] 2015-02-02 10:00:45 -0500
668 Branch: REL9_4_STABLE [2ac95c83c] 2015-02-02 10:00:49 -0500
669 Branch: REL9_3_STABLE [bc4d5f2e5] 2015-02-02 10:00:50 -0500
670 Branch: REL9_2_STABLE [c6c6aa288] 2015-02-02 10:00:51 -0500
671 Branch: REL9_1_STABLE [98f2479d8] 2015-02-02 10:00:51 -0500
672 Branch: REL9_0_STABLE [9e05c5063] 2015-02-02 10:00:52 -0500
677 Fix buffer overrun in replacement <function>*printf()</> functions
682 <productname>PostgreSQL</> includes a replacement implementation
683 of <function>printf</> and related functions. This code will overrun
684 a stack buffer when formatting a floating point number (conversion
685 specifiers <literal>e</>, <literal>E</>, <literal>f</>, <literal>F</>,
686 <literal>g</> or <literal>G</>) with requested precision greater than
687 about 500. This will crash the server, and we have not ruled out the
688 possibility of attacks that lead to privilege escalation.
689 A database user can trigger such a buffer overrun through
690 the <function>to_char()</> SQL function. While that is the only
691 affected core <productname>PostgreSQL</> functionality, extension
692 modules that use printf-family functions may be at risk as well.
696 This issue primarily affects <productname>PostgreSQL</> on Windows.
697 <productname>PostgreSQL</> uses the system implementation of these
698 functions where adequate, which it is on other modern platforms.
704 Author: Noah Misch <noah@leadboat.com>
705 Branch: master [1dc755158] 2015-02-02 10:00:45 -0500
706 Branch: REL9_4_STABLE [82806cf4e] 2015-02-02 10:00:49 -0500
707 Branch: REL9_3_STABLE [6994f0790] 2015-02-02 10:00:50 -0500
708 Branch: REL9_2_STABLE [d95ebe0ac] 2015-02-02 10:00:51 -0500
709 Branch: REL9_1_STABLE [11f738a8a] 2015-02-02 10:00:51 -0500
710 Branch: REL9_0_STABLE [ce6f261cd] 2015-02-02 10:00:52 -0500
711 Author: Noah Misch <noah@leadboat.com>
712 Branch: master [8b59672d8] 2015-02-02 10:00:45 -0500
713 Branch: REL9_4_STABLE [258e294db] 2015-02-02 10:00:49 -0500
714 Branch: REL9_3_STABLE [a558ad3a7] 2015-02-02 10:00:50 -0500
715 Branch: REL9_2_STABLE [d1972da8c] 2015-02-02 10:00:51 -0500
716 Branch: REL9_1_STABLE [8d412e02e] 2015-02-02 10:00:52 -0500
717 Branch: REL9_0_STABLE [0a3ee8a5f] 2015-02-02 10:00:52 -0500
722 Fix buffer overruns in <filename>contrib/pgcrypto</>
723 (Marko Tiikkaja, Noah Misch)
727 Errors in memory size tracking within the <filename>pgcrypto</>
728 module permitted stack buffer overruns and improper dependence on the
729 contents of uninitialized memory. The buffer overrun cases can
730 crash the server, and we have not ruled out the possibility of
731 attacks that lead to privilege escalation.
737 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
738 Branch: master [2b3a8b20c] 2015-02-02 17:09:53 +0200
739 Branch: REL9_4_STABLE [57ec87c6b] 2015-02-02 17:09:46 +0200
740 Branch: REL9_3_STABLE [cd19848bd] 2015-02-02 17:09:40 +0200
741 Branch: REL9_2_STABLE [289592b23] 2015-02-02 17:09:35 +0200
742 Branch: REL9_1_STABLE [af9c5c074] 2015-02-02 17:09:31 +0200
743 Branch: REL9_0_STABLE [47ba0fbd7] 2015-02-02 17:09:25 +0200
748 Fix possible loss of frontend/backend protocol synchronization after
754 If any error occurred while the server was in the middle of reading a
755 protocol message from the client, it could lose synchronization and
756 incorrectly try to interpret part of the message's data as a new
757 protocol message. An attacker able to submit crafted binary data
758 within a command parameter might succeed in injecting his own SQL
759 commands this way. Statement timeout and query cancellation are the
760 most likely sources of errors triggering this scenario. Particularly
761 vulnerable are applications that use a timeout and also submit
762 arbitrary user-crafted data as binary query parameters. Disabling
763 statement timeout will reduce, but not eliminate, the risk of
764 exploit. Our thanks to Emil Lenngren for reporting this issue.
770 Author: Stephen Frost <sfrost@snowman.net>
771 Branch: master [804b6b6db] 2015-01-28 12:31:30 -0500
772 Branch: REL9_4_STABLE [3cc74a3d6] 2015-01-28 12:32:06 -0500
773 Branch: REL9_3_STABLE [4b9874216] 2015-01-28 12:32:39 -0500
774 Branch: REL9_2_STABLE [d49f84b08] 2015-01-28 12:32:56 -0500
775 Branch: REL9_1_STABLE [9406884af] 2015-01-28 12:33:15 -0500
776 Branch: REL9_0_STABLE [3a2063369] 2015-01-28 12:33:29 -0500
781 Fix information leak via constraint-violation error messages
786 Some server error messages show the values of columns that violate
787 a constraint, such as a unique constraint. If the user does not have
788 <literal>SELECT</> privilege on all columns of the table, this could
789 mean exposing values that the user should not be able to see. Adjust
790 the code so that values are displayed only when they came from the SQL
791 command or could be selected by the user.
797 Author: Noah Misch <noah@leadboat.com>
798 Branch: master [f6dc6dd5b] 2014-12-17 22:48:40 -0500
799 Branch: REL9_4_STABLE [6b87d423d] 2014-12-17 22:48:45 -0500
800 Branch: REL9_3_STABLE [442dc2c35] 2014-12-17 22:48:46 -0500
801 Branch: REL9_2_STABLE [0046f651d] 2014-12-17 22:48:47 -0500
802 Branch: REL9_1_STABLE [6aa98e957] 2014-12-17 22:48:47 -0500
803 Branch: REL9_0_STABLE [6d45ee572] 2014-12-17 22:48:48 -0500
808 Lock down regression testing's temporary installations on Windows
813 Use SSPI authentication to allow connections only from the OS user
814 who launched the test suite. This closes on Windows the same
815 vulnerability previously closed on other platforms, namely that other
816 users might be able to connect to the test postmaster.
822 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
823 Branch: REL9_3_STABLE [8f80dcf3c] 2014-10-24 19:59:49 +0300
824 Branch: REL9_2_STABLE [d440c4b55] 2014-10-24 19:59:52 +0300
825 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
826 Branch: REL9_3_STABLE [2a1b34959] 2014-10-24 19:36:28 +0300
827 Branch: REL9_2_STABLE [737ae3fc7] 2014-10-24 19:53:27 +0300
828 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
829 Branch: master [aa1d2fc5e] 2015-01-16 13:28:19 +0200
830 Branch: REL9_4_STABLE [2049a7d82] 2015-01-16 13:10:06 +0200
831 Branch: REL9_3_STABLE [1619442a1] 2015-01-16 13:10:15 +0200
832 Branch: REL9_2_STABLE [6bf343c6e] 2015-01-16 13:10:23 +0200
837 Cope with the Windows locale named <quote>Norwegian (Bokmål)</>
842 Non-ASCII locale names are problematic since it's not clear what
843 encoding they should be represented in. Map the troublesome locale
844 name to a plain-ASCII alias, <quote>Norwegian_Norway</>.
849 Author: Tom Lane <tgl@sss.pgh.pa.us>
850 Branch: REL9_3_STABLE [f88300168] 2014-11-04 13:24:14 -0500
851 Branch: REL9_2_STABLE [db72ad02e] 2014-11-04 13:24:17 -0500
852 Branch: REL9_1_STABLE [7c6f55e9e] 2014-11-04 13:24:22 -0500
853 Branch: REL9_0_STABLE [45a607d5c] 2014-11-04 13:24:26 -0500
858 Avoid possible data corruption if <command>ALTER DATABASE SET
859 TABLESPACE</> is used to move a database to a new tablespace and then
860 shortly later move it back to its original tablespace (Tom Lane)
865 Author: Tom Lane <tgl@sss.pgh.pa.us>
866 Branch: REL9_3_STABLE [81f0a5e38] 2014-10-29 18:12:08 -0400
867 Branch: REL9_2_STABLE [40058fbce] 2014-10-29 18:12:11 -0400
868 Branch: REL9_1_STABLE [6ec1c3ef8] 2014-10-29 18:12:17 -0400
869 Branch: REL9_0_STABLE [9d06da58e] 2014-10-29 18:12:20 -0400
870 Author: Tom Lane <tgl@sss.pgh.pa.us>
871 Branch: REL9_3_STABLE [e65b550b3] 2014-10-30 13:03:28 -0400
872 Branch: REL9_2_STABLE [38cb8687a] 2014-10-30 13:03:31 -0400
873 Branch: REL9_1_STABLE [fcf0246b2] 2014-10-30 13:03:34 -0400
874 Branch: REL9_0_STABLE [73f950fc8] 2014-10-30 13:03:39 -0400
879 Avoid corrupting tables when <command>ANALYZE</> inside a transaction
880 is rolled back (Andres Freund, Tom Lane, Michael Paquier)
884 If the failing transaction had earlier removed the last index, rule, or
885 trigger from the table, the table would be left in a corrupted state
886 with the relevant <structname>pg_class</> flags not set though they
892 Author: Andres Freund <andres@anarazel.de>
893 Branch: REL9_3_STABLE [d7624e562] 2014-10-20 23:45:31 +0200
894 Branch: REL9_2_STABLE [fd29810d1] 2014-10-20 23:47:00 +0200
895 Branch: REL9_1_STABLE [d5fef87e9] 2014-10-20 23:47:45 +0200
900 Ensure that unlogged tables are copied correctly
901 during <command>CREATE DATABASE</> or <command>ALTER DATABASE SET
902 TABLESPACE</> (Pavan Deolasee, Andres Freund)
907 Author: Robert Haas <rhaas@postgresql.org>
908 Branch: REL9_3_STABLE [e35db342a] 2014-09-22 16:19:59 -0400
913 Fix incorrect processing
914 of <structname>CreateEventTrigStmt</>.<structfield>eventname</> (Petr
919 This could result in misbehavior if <command>CREATE EVENT TRIGGER</>
920 were executed as a prepared query, or via extended query protocol.
925 Author: Tom Lane <tgl@sss.pgh.pa.us>
926 Branch: REL9_3_STABLE [2a83e0349] 2014-11-11 17:00:21 -0500
927 Branch: REL9_2_STABLE [1c2f9a4f6] 2014-11-11 17:00:25 -0500
928 Branch: REL9_1_STABLE [94d5d57d5] 2014-11-11 17:00:28 -0500
933 Fix <command>DROP</>'s dependency searching to correctly handle the
934 case where a table column is recursively visited before its table
935 (Petr Jelinek, Tom Lane)
939 This case is only known to arise when an extension creates both a
940 datatype and a table using that datatype. The faulty code might
941 refuse a <command>DROP EXTENSION</> unless <literal>CASCADE</> is
942 specified, which should not be required.
947 Author: Tom Lane <tgl@sss.pgh.pa.us>
948 Branch: master [c480cb9d2] 2015-01-15 18:52:58 -0500
949 Branch: REL9_4_STABLE [b75d18bd4] 2015-01-15 18:53:05 -0500
950 Branch: REL9_3_STABLE [34668c8ec] 2015-01-15 18:52:28 -0500
951 Branch: REL9_2_STABLE [0acb32efb] 2015-01-15 18:52:31 -0500
952 Branch: REL9_1_STABLE [450530fce] 2015-01-15 18:52:34 -0500
953 Branch: REL9_0_STABLE [5308e085b] 2015-01-15 18:52:38 -0500
958 Fix use-of-already-freed-memory problem in EvalPlanQual processing
963 In <literal>READ COMMITTED</> mode, queries that lock or update
964 recently-updated rows could crash as a result of this bug.
969 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
970 Branch: master [0e5680f47] 2014-12-26 13:52:27 -0300
971 Branch: REL9_4_STABLE [0e3a1f71d] 2014-12-26 13:52:27 -0300
972 Branch: REL9_3_STABLE [048912386] 2014-12-26 13:52:27 -0300
977 Avoid possible deadlock while trying to acquire tuple locks
978 in EvalPlanQual processing (Álvaro Herrera, Mark Kirkwood)
983 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
984 Branch: master [d5e3d1e96] 2015-01-04 15:48:29 -0300
985 Branch: REL9_4_STABLE [51742063b] 2015-01-04 15:48:29 -0300
986 Branch: REL9_3_STABLE [54a8abc2b] 2015-01-04 15:48:29 -0300
991 Fix failure to wait when a transaction tries to acquire a <literal>FOR
992 NO KEY EXCLUSIVE</> tuple lock, while multiple other transactions
993 currently hold <literal>FOR SHARE</> locks (Álvaro Herrera)
998 Author: Tom Lane <tgl@sss.pgh.pa.us>
999 Branch: REL9_3_STABLE [2ae8a01ca] 2014-12-11 21:02:31 -0500
1000 Branch: REL9_2_STABLE [cd63c57e5] 2014-12-11 21:02:34 -0500
1001 Branch: REL9_1_STABLE [bca39b578] 2014-12-11 21:02:38 -0500
1002 Branch: REL9_0_STABLE [662eebdc6] 2014-12-11 21:02:41 -0500
1007 Fix planning of <command>SELECT FOR UPDATE</> when using a partial
1008 index on a child table (Kyotaro Horiguchi)
1012 In <literal>READ COMMITTED</> mode, <command>SELECT FOR UPDATE</> must
1013 also recheck the partial index's <literal>WHERE</> condition when
1014 rechecking a recently-updated row to see if it still satisfies the
1015 query's <literal>WHERE</> condition. This requirement was missed if the
1016 index belonged to an inheritance child table, so that it was possible
1017 to incorrectly return rows that no longer satisfy the query condition.
1022 Author: Tom Lane <tgl@sss.pgh.pa.us>
1023 Branch: REL9_3_STABLE [f14196c35] 2014-12-11 19:37:07 -0500
1024 Branch: REL9_2_STABLE [deadbf4f3] 2014-12-11 19:37:10 -0500
1025 Branch: REL9_1_STABLE [21946ac9b] 2014-12-11 19:37:14 -0500
1026 Branch: REL9_0_STABLE [f5e4e92fb] 2014-12-11 19:37:17 -0500
1031 Fix corner case wherein <command>SELECT FOR UPDATE</> could return a row
1032 twice, and possibly miss returning other rows (Tom Lane)
1036 In <literal>READ COMMITTED</> mode, a <command>SELECT FOR UPDATE</>
1037 that is scanning an inheritance tree could incorrectly return a row
1038 from a prior child table instead of the one it should return from a
1044 Author: Tom Lane <tgl@sss.pgh.pa.us>
1045 Branch: master [a5cd70dcb] 2015-01-15 13:18:12 -0500
1046 Branch: REL9_4_STABLE [d25192892] 2015-01-15 13:18:16 -0500
1047 Branch: REL9_3_STABLE [939f0fb67] 2015-01-15 13:18:19 -0500
1052 Improve performance of <command>EXPLAIN</> with large range tables
1058 Author: Tom Lane <tgl@sss.pgh.pa.us>
1059 Branch: REL9_3_STABLE [7a9c8cefb] 2014-08-09 13:46:42 -0400
1060 Branch: REL9_2_STABLE [b4dacab12] 2014-08-09 13:46:45 -0400
1061 Branch: REL9_1_STABLE [bbe826f21] 2014-08-09 13:46:48 -0400
1062 Branch: REL9_0_STABLE [4ff49746e] 2014-08-09 13:46:52 -0400
1067 Reject duplicate column names in the referenced-columns list of
1068 a <literal>FOREIGN KEY</> declaration (David Rowley)
1072 This restriction is per SQL standard. Previously we did not reject
1073 the case explicitly, but later on the code would fail with
1074 bizarre-looking errors.
1079 Author: Tom Lane <tgl@sss.pgh.pa.us>
1080 Branch: REL9_3_STABLE [6306d0712] 2014-07-22 13:30:14 -0400
1085 Re-enable error for <literal>SELECT ... OFFSET -1</> (Tom Lane)
1089 A negative offset value has been an error since 8.4, but an
1090 optimization added in 9.3 accidentally turned the case into a no-op.
1091 Restore the expected behavior.
1096 Author: Tom Lane <tgl@sss.pgh.pa.us>
1097 Branch: REL9_3_STABLE [8b65e0a33] 2014-08-09 18:40:34 -0400
1098 Branch: REL9_2_STABLE [15026ab97] 2014-08-09 18:40:38 -0400
1103 Restore previous behavior of conversion of domains to JSON
1108 This change causes domains over numeric and boolean to be treated
1109 like their base types for purposes of conversion to JSON. It worked
1110 like that before 9.3.5 and 9.2.9, but was unintentionally changed
1111 while fixing a related problem.
1116 Author: Tom Lane <tgl@sss.pgh.pa.us>
1117 Branch: REL9_3_STABLE [8571ecb24] 2014-12-02 15:02:43 -0500
1122 Fix <function>json_agg()</> to not return extra trailing right
1123 brackets in its result (Tom Lane)
1128 Author: Tom Lane <tgl@sss.pgh.pa.us>
1129 Branch: REL9_3_STABLE [25bf13fe1] 2014-09-11 23:30:57 -0400
1130 Branch: REL9_2_STABLE [228ed4370] 2014-09-11 23:31:00 -0400
1131 Branch: REL9_1_STABLE [cf5c20b06] 2014-09-11 23:31:03 -0400
1132 Branch: REL9_0_STABLE [26f8a4691] 2014-09-11 23:31:06 -0400
1137 Fix bugs in raising a <type>numeric</> value to a large integral power
1142 The previous code could get a wrong answer, or consume excessive
1143 amounts of time and memory before realizing that the answer must
1149 Author: Tom Lane <tgl@sss.pgh.pa.us>
1150 Branch: REL9_3_STABLE [10b81fbdc] 2014-12-01 15:25:08 -0500
1151 Branch: REL9_2_STABLE [e640042e9] 2014-12-01 15:25:12 -0500
1152 Branch: REL9_1_STABLE [2e3cc3955] 2014-12-01 15:25:15 -0500
1153 Branch: REL9_0_STABLE [e6550626c] 2014-12-01 15:25:18 -0500
1158 In <function>numeric_recv()</>, truncate away any fractional digits
1159 that would be hidden according to the value's <literal>dscale</> field
1164 A <type>numeric</> value's display scale (<literal>dscale</>) should
1165 never be less than the number of nonzero fractional digits; but
1166 apparently there's at least one broken client application that
1167 transmits binary <type>numeric</> values in which that's true.
1168 This leads to strange behavior since the extra digits are taken into
1169 account by arithmetic operations even though they aren't printed.
1170 The least risky fix seems to be to truncate away such <quote>hidden</>
1171 digits on receipt, so that the value is indeed what it prints as.
1176 Author: Tom Lane <tgl@sss.pgh.pa.us>
1177 Branch: REL9_3_STABLE [bbfdf5d75] 2014-09-23 20:25:36 -0400
1178 Branch: REL9_2_STABLE [3359a818c] 2014-09-23 20:25:39 -0400
1183 Fix incorrect search for shortest-first regular expression matches
1188 Matching would often fail when the number of allowed iterations is
1189 limited by a <literal>?</> quantifier or a bound expression.
1194 Author: Tom Lane <tgl@sss.pgh.pa.us>
1195 Branch: REL9_3_STABLE [7672bbca0] 2014-07-21 22:41:27 -0400
1196 Branch: REL9_2_STABLE [f54d97c5e] 2014-07-21 22:41:30 -0400
1197 Branch: REL9_1_STABLE [124331b61] 2014-07-21 22:41:33 -0400
1198 Branch: REL9_0_STABLE [6e5a39c9e] 2014-07-21 22:41:36 -0400
1203 Reject out-of-range numeric timezone specifications (Tom Lane)
1207 Simple numeric timezone specifications exceeding +/- 168 hours (one
1208 week) would be accepted, but could then cause null-pointer dereference
1209 crashes in certain operations. There's no use-case for such large UTC
1210 offsets, so reject them.
1215 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1216 Branch: REL9_3_STABLE [1aa526f3f] 2014-10-27 10:51:29 +0200
1217 Branch: REL9_2_STABLE [604d94d4c] 2014-10-27 10:51:33 +0200
1218 Branch: REL9_1_STABLE [4d1c738d1] 2014-10-27 10:51:36 +0200
1219 Branch: REL9_0_STABLE [10059c2da] 2014-10-27 10:51:38 +0200
1224 Fix bugs in <type>tsquery</> <literal>@></> <type>tsquery</>
1225 operator (Heikki Linnakangas)
1229 Two different terms would be considered to match if they had the same
1230 CRC. Also, if the second operand had more terms than the first, it
1231 would be assumed not to be contained in the first; which is wrong
1232 since it might contain duplicate terms.
1237 Author: Tom Lane <tgl@sss.pgh.pa.us>
1238 Branch: REL9_3_STABLE [385f0d98a] 2014-10-23 13:11:34 -0400
1239 Branch: REL9_2_STABLE [f09369da8] 2014-10-23 13:11:37 -0400
1240 Branch: REL9_1_STABLE [94de3a679] 2014-10-23 13:11:41 -0400
1241 Branch: REL9_0_STABLE [21fa26b65] 2014-10-23 13:11:45 -0400
1246 Improve ispell dictionary's defenses against bad affix files (Tom Lane)
1251 Author: Tom Lane <tgl@sss.pgh.pa.us>
1252 Branch: REL9_3_STABLE [5a74ff373] 2014-11-06 20:52:52 -0500
1253 Branch: REL9_2_STABLE [0bb318595] 2014-11-06 20:52:57 -0500
1254 Branch: REL9_1_STABLE [076688084] 2014-11-06 20:53:02 -0500
1255 Branch: REL9_0_STABLE [39493e4d9] 2014-11-06 20:53:07 -0500
1260 Allow more than 64K phrases in a thesaurus dictionary (David Boutin)
1264 The previous coding could crash on an oversize dictionary, so this was
1265 deemed a back-patchable bug fix rather than a feature addition.
1270 Author: Peter Eisentraut <peter_e@gmx.net>
1271 Branch: master [79af9a1d2] 2015-01-06 23:06:13 -0500
1272 Branch: REL9_4_STABLE [6bbf75192] 2015-01-17 22:11:20 -0500
1273 Branch: REL9_3_STABLE [e32cb8d0e] 2015-01-17 22:13:27 -0500
1274 Branch: REL9_2_STABLE [c8ef5b1ac] 2015-01-17 22:14:21 -0500
1275 Branch: REL9_1_STABLE [c975fa471] 2015-01-17 22:37:07 -0500
1276 Branch: REL9_0_STABLE [cebb3f032] 2015-01-17 22:37:32 -0500
1281 Fix namespace handling in <function>xpath()</> (Ali Akbar)
1285 Previously, the <type>xml</> value resulting from
1286 an <function>xpath()</> call would not have namespace declarations if
1287 the namespace declarations were attached to an ancestor element in the
1288 input <type>xml</> value, rather than to the specific element being
1289 returned. Propagate the ancestral declaration so that the result is
1290 correct when considered in isolation.
1295 Author: Tom Lane <tgl@sss.pgh.pa.us>
1296 Branch: REL9_3_STABLE [07ab4ec4c] 2014-11-10 15:21:20 -0500
1297 Branch: REL9_2_STABLE [19ccaf9d4] 2014-11-10 15:21:26 -0500
1302 Ensure that whole-row variables expose nonempty column names
1303 to functions that pay attention to column names within composite
1304 arguments (Tom Lane)
1308 In some contexts, constructs like <literal>row_to_json(tab.*)</> may
1309 not produce the expected column names. This is fixed properly as of
1310 9.4; in older branches, just ensure that we produce some nonempty
1311 name. (In some cases this will be the underlying table's column name
1312 rather than the query-assigned alias that should theoretically be
1318 Author: Tom Lane <tgl@sss.pgh.pa.us>
1319 Branch: REL9_3_STABLE [c57cdc9c1] 2014-11-22 16:01:12 -0500
1320 Branch: REL9_2_STABLE [906599f65] 2014-11-22 16:01:15 -0500
1325 Fix mishandling of system columns,
1326 particularly <structfield>tableoid</>, in FDW queries (Etsuro Fujita)
1331 Author: Tom Lane <tgl@sss.pgh.pa.us>
1332 Branch: master [3d660d33a] 2015-01-30 12:30:59 -0500
1333 Branch: REL9_4_STABLE [b6a164e5c] 2015-01-30 12:31:08 -0500
1334 Branch: REL9_3_STABLE [527ff8baf] 2015-01-30 12:30:43 -0500
1339 Fix assorted oversights in range-operator selectivity estimation
1344 This patch fixes corner-case <quote>unexpected operator NNNN</> planner
1345 errors, and improves the selectivity estimates for some other cases.
1350 Author: Tom Lane <tgl@sss.pgh.pa.us>
1351 Branch: REL9_3_STABLE [f6abf8f08] 2014-10-26 16:12:29 -0400
1352 Branch: REL9_2_STABLE [4586572d7] 2014-10-26 16:12:32 -0400
1357 Avoid doing <literal><replaceable>indexed_column</> = ANY
1358 (<replaceable>array</>)</literal> as an index qualifier if that leads
1359 to an inferior plan (Andrew Gierth)
1363 In some cases, <literal>= ANY</> conditions applied to non-first index
1364 columns would be done as index conditions even though it would be
1365 better to use them as simple filter conditions.
1370 Author: Tom Lane <tgl@sss.pgh.pa.us>
1371 Branch: REL9_3_STABLE [4e54685d0] 2014-10-20 12:23:48 -0400
1376 Fix <quote>variable not found in subplan target list</> planner
1377 failure when an inline-able SQL function taking a composite argument
1378 is used in a <literal>LATERAL</> subselect and the composite argument
1379 is a lateral reference (Tom Lane)
1384 Author: Tom Lane <tgl@sss.pgh.pa.us>
1385 Branch: REL9_3_STABLE [b2b95de61] 2014-10-01 19:30:30 -0400
1386 Branch: REL9_2_STABLE [71b88cf52] 2014-10-01 19:30:34 -0400
1387 Branch: REL9_1_STABLE [477023e94] 2014-10-01 19:30:38 -0400
1388 Branch: REL9_0_STABLE [288f15b7c] 2014-10-01 19:30:41 -0400
1393 Fix planner problems with nested append relations, such as inherited
1394 tables within <literal>UNION ALL</> subqueries (Tom Lane)
1399 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1400 Branch: REL9_3_STABLE [ef8ac584e] 2014-10-03 14:50:29 +0300
1401 Branch: REL9_2_STABLE [8e137b075] 2014-10-03 14:50:40 +0300
1402 Branch: REL9_1_STABLE [f270a1611] 2014-10-03 14:50:46 +0300
1403 Branch: REL9_0_STABLE [f04b112d5] 2014-10-03 14:50:58 +0300
1408 Fail cleanly when a GiST index tuple doesn't fit on a page, rather
1409 than going into infinite recursion (Andrew Gierth)
1414 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
1415 Branch: REL9_3_STABLE [67ed9d531] 2014-10-03 13:01:27 -0300
1416 Branch: REL9_2_STABLE [769d6815e] 2014-10-03 13:01:27 -0300
1417 Branch: REL9_1_STABLE [06646f52e] 2014-10-03 13:01:27 -0300
1418 Branch: REL9_0_STABLE [50a757698] 2014-10-03 13:01:27 -0300
1423 Exempt tables that have per-table <varname>cost_limit</>
1424 and/or <varname>cost_delay</> settings from autovacuum's global cost
1425 balancing rules (Álvaro Herrera)
1429 The previous behavior resulted in basically ignoring these per-table
1430 settings, which was unintended. Now, a table having such settings
1431 will be vacuumed using those settings, independently of what is going
1432 on in other autovacuum workers. This may result in heavier total I/O
1433 load than before, so such settings should be re-examined for sanity.
1438 Author: Tom Lane <tgl@sss.pgh.pa.us>
1439 Branch: REL9_3_STABLE [4cbecdaaa] 2014-07-30 14:41:49 -0400
1440 Branch: REL9_2_STABLE [c83aed34b] 2014-07-30 14:41:53 -0400
1441 Branch: REL9_1_STABLE [f21afe421] 2014-07-30 14:41:58 -0400
1442 Branch: REL9_0_STABLE [91b4a881c] 2014-07-30 14:42:12 -0400
1447 Avoid wholesale autovacuuming when autovacuum is nominally off
1452 Even when autovacuum is nominally off, we will still launch autovacuum
1453 worker processes to vacuum tables that are at risk of XID wraparound.
1454 However, such a worker process then proceeded to vacuum all tables in
1455 the target database, if they met the usual thresholds for
1456 autovacuuming. This is at best pretty unexpected; at worst it delays
1457 response to the wraparound threat. Fix it so that if autovacuum is
1458 turned off, workers <emphasis>only</> do anti-wraparound vacuums and
1464 Author: Andres Freund <andres@anarazel.de>
1465 Branch: REL9_3_STABLE [2c3ebfd1a] 2014-11-15 01:21:07 +0100
1466 Branch: REL9_2_STABLE [ea8b3833e] 2014-11-15 01:21:45 +0100
1467 Branch: REL9_1_STABLE [d85b646d0] 2014-11-15 01:22:32 +0100
1468 Author: Andres Freund <andres@anarazel.de>
1469 Branch: REL9_3_STABLE [672b43e68] 2014-11-15 01:21:02 +0100
1470 Branch: REL9_2_STABLE [c5baa708f] 2014-11-15 01:21:40 +0100
1471 Branch: REL9_1_STABLE [fde9994bc] 2014-11-15 01:22:32 +0100
1472 Author: Andres Freund <andres@anarazel.de>
1473 Branch: REL9_3_STABLE [c7299d32f] 2014-11-15 01:20:29 +0100
1474 Branch: REL9_2_STABLE [86673a44a] 2014-11-15 01:21:30 +0100
1475 Branch: REL9_1_STABLE [b0a48e996] 2014-11-15 01:22:32 +0100
1480 During crash recovery, ensure that unlogged relations are rewritten as
1481 empty and are synced to disk before recovery is considered complete
1482 (Abhijit Menon-Sen, Andres Freund)
1486 This prevents scenarios in which unlogged relations might contain
1487 garbage data following database crash recovery.
1492 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1493 Branch: REL9_3_STABLE [861d3aa43] 2014-11-13 20:01:55 +0200
1494 Branch: REL9_2_STABLE [7eab804c2] 2014-11-13 20:01:18 +0200
1495 Branch: REL9_1_STABLE [5f1d931cf] 2014-11-13 20:01:09 +0200
1496 Branch: REL9_0_STABLE [681dbe7d4] 2014-11-13 20:00:51 +0200
1501 Fix race condition between hot standby queries and replaying a
1502 full-page image (Heikki Linnakangas)
1506 This mistake could result in transient errors in queries being
1507 executed in hot standby.
1512 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1513 Branch: REL9_3_STABLE [a2a718b22] 2014-07-29 11:57:52 +0300
1514 Branch: REL9_2_STABLE [1578d13dc] 2014-07-29 11:58:01 +0300
1515 Branch: REL9_1_STABLE [de88ec6bf] 2014-07-29 11:58:09 +0300
1516 Branch: REL9_0_STABLE [804983961] 2014-07-29 11:58:17 +0300
1521 Fix several cases where recovery logic improperly ignored WAL records
1522 for <literal>COMMIT/ABORT PREPARED</> (Heikki Linnakangas)
1526 The most notable oversight was
1527 that <varname>recovery_min_apply_delay</> failed to delay application
1528 of a two-phase commit.
1533 Author: Fujii Masao <fujii@postgresql.org>
1534 Branch: REL9_3_STABLE [d45cd9e19] 2014-10-23 16:22:46 +0900
1535 Branch: REL9_2_STABLE [f904e9afd] 2014-10-23 16:31:44 +0900
1540 Prevent latest WAL file from being archived a second time at completion
1541 of crash recovery (Fujii Masao)
1546 Author: Fujii Masao <fujii@postgresql.org>
1547 Branch: REL9_3_STABLE [3a3b7e316] 2014-11-06 21:25:18 +0900
1548 Branch: REL9_2_STABLE [38eb5d9e8] 2014-11-06 21:25:45 +0900
1549 Branch: REL9_1_STABLE [4e7468074] 2014-11-06 21:26:15 +0900
1550 Branch: REL9_0_STABLE [83c7bfb9a] 2014-11-06 21:26:21 +0900
1555 Avoid creating unnecessary <filename>.ready</> marker files for
1556 timeline history files (Fujii Masao)
1561 Author: Fujii Masao <fujii@postgresql.org>
1562 Branch: REL9_3_STABLE [52eed3d42] 2014-09-05 02:19:29 +0900
1563 Branch: REL9_2_STABLE [78b1228ef] 2014-09-05 02:19:45 +0900
1564 Branch: REL9_1_STABLE [81bffe63c] 2014-09-05 02:19:50 +0900
1565 Branch: REL9_0_STABLE [857a5d6b5] 2014-09-05 02:19:57 +0900
1570 Fix possible null pointer dereference when an empty prepared statement
1571 is used and the <varname>log_statement</> setting is <literal>mod</>
1572 or <literal>ddl</> (Fujii Masao)
1577 Author: Tom Lane <tgl@sss.pgh.pa.us>
1578 Branch: master [75b48e1ff] 2015-01-19 23:01:33 -0500
1579 Branch: REL9_4_STABLE [3387cbbcb] 2015-01-19 23:01:36 -0500
1580 Branch: REL9_3_STABLE [19794e997] 2015-01-19 23:01:39 -0500
1581 Branch: REL9_2_STABLE [33b723538] 2015-01-19 23:01:41 -0500
1582 Branch: REL9_1_STABLE [b87c1dcef] 2015-01-19 23:01:44 -0500
1583 Branch: REL9_0_STABLE [a1a8d0249] 2015-01-19 23:01:46 -0500
1588 Change <quote>pgstat wait timeout</> warning message to be LOG level,
1589 and rephrase it to be more understandable (Tom Lane)
1593 This message was originally thought to be essentially a can't-happen
1594 case, but it occurs often enough on our slower buildfarm members to be
1595 a nuisance. Reduce it to LOG level, and expend a bit more effort on
1596 the wording: it now reads <quote>using stale statistics instead of
1597 current ones because stats collector is not responding</>.
1602 Author: Andres Freund <andres@anarazel.de>
1603 Branch: REL9_3_STABLE [cbd9619ac] 2014-10-01 14:34:06 +0200
1608 Fix possible corruption of postmaster's list of dynamic background
1609 workers (Andres Freund)
1614 Author: Andres Freund <andres@anarazel.de>
1615 Branch: REL9_3_STABLE [27ef6b653] 2014-09-09 23:37:33 +0200
1616 Branch: REL9_2_STABLE [d0b7ffc0f] 2014-09-09 23:37:50 +0200
1617 Branch: REL9_1_STABLE [5af508f66] 2014-09-09 23:45:07 +0200
1618 Branch: REL9_0_STABLE [f25e89601] 2014-09-09 23:48:03 +0200
1623 Fix SPARC spinlock implementation to ensure correctness if the CPU is
1624 being run in a non-TSO coherency mode, as some non-Solaris kernels do
1630 Author: Noah Misch <noah@leadboat.com>
1631 Branch: master [894459e59] 2015-01-07 22:35:44 -0500
1632 Branch: REL9_4_STABLE [83fb1ca5c] 2015-01-07 22:36:35 -0500
1633 Branch: REL9_3_STABLE [1a366d51e] 2015-01-07 22:40:40 -0500
1634 Branch: REL9_2_STABLE [5ca4e444c] 2015-01-07 22:41:49 -0500
1635 Branch: REL9_1_STABLE [8dc83104e] 2015-01-07 22:42:42 -0500
1636 Branch: REL9_0_STABLE [2e4946169] 2015-01-07 22:46:20 -0500
1641 Warn if OS X's <function>setlocale()</> starts an unwanted extra
1642 thread inside the postmaster (Noah Misch)
1647 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1648 Branch: REL9_3_STABLE [08cd4d9a6] 2014-11-25 17:39:00 +0200
1649 Branch: REL9_2_STABLE [9b468bcec] 2014-11-25 17:39:04 +0200
1650 Branch: REL9_1_STABLE [95be34362] 2014-11-25 17:39:07 +0200
1651 Branch: REL9_0_STABLE [9880fea4f] 2014-11-25 17:39:09 +0200
1656 Fix processing of repeated <literal>dbname</> parameters
1657 in <function>PQconnectdbParams()</> (Alex Shulgin)
1661 Unexpected behavior ensued if the first occurrence
1662 of <literal>dbname</> contained a connection string or URI to be
1668 Author: Tom Lane <tgl@sss.pgh.pa.us>
1669 Branch: REL9_3_STABLE [52ef33f72] 2014-10-22 18:41:51 -0400
1670 Branch: REL9_2_STABLE [6fa31d8d1] 2014-10-22 18:41:54 -0400
1671 Branch: REL9_1_STABLE [98144378c] 2014-10-22 18:41:57 -0400
1672 Branch: REL9_0_STABLE [ac6e87537] 2014-10-22 18:42:01 -0400
1677 Ensure that <application>libpq</> reports a suitable error message on
1678 unexpected socket EOF (Marko Tiikkaja, Tom Lane)
1682 Depending on kernel behavior, <application>libpq</> might return an
1683 empty error string rather than something useful when the server
1684 unexpectedly closed the socket.
1689 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1690 Branch: REL9_3_STABLE [1325b239b] 2014-10-29 14:40:47 +0200
1691 Branch: REL9_2_STABLE [1a27fbd07] 2014-10-29 14:39:10 +0200
1692 Branch: REL9_1_STABLE [8f7bd8e91] 2014-10-29 14:36:19 +0200
1693 Branch: REL9_0_STABLE [49ef4eba2] 2014-10-29 14:35:39 +0200
1698 Clear any old error message during <function>PQreset()</>
1699 (Heikki Linnakangas)
1703 If <function>PQreset()</> is called repeatedly, and the connection
1704 cannot be re-established, error messages from the failed connection
1705 attempts kept accumulating in the <structname>PGconn</>'s error
1711 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1712 Branch: REL9_3_STABLE [d3b162a3d] 2014-11-25 14:10:29 +0200
1713 Branch: REL9_2_STABLE [abcab2a64] 2014-11-25 14:10:43 +0200
1714 Branch: REL9_1_STABLE [5053ad206] 2014-11-25 14:10:48 +0200
1715 Branch: REL9_0_STABLE [1f3517039] 2014-11-25 14:10:54 +0200
1720 Properly handle out-of-memory conditions while parsing connection
1721 options in <application>libpq</> (Alex Shulgin, Heikki Linnakangas)
1726 Author: Tom Lane <tgl@sss.pgh.pa.us>
1727 Branch: REL9_3_STABLE [d3cfe20c6] 2014-10-06 21:23:35 -0400
1728 Branch: REL9_2_STABLE [b513205bc] 2014-10-06 21:23:39 -0400
1729 Branch: REL9_1_STABLE [037b912ec] 2014-10-06 21:23:45 -0400
1730 Branch: REL9_0_STABLE [d9a1e9de5] 2014-10-06 21:23:50 -0400
1735 Fix array overrun in <application>ecpg</>'s version
1736 of <function>ParseDateTime()</> (Michael Paquier)
1741 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1742 Branch: REL9_3_STABLE [2df66f01a] 2014-12-05 14:31:51 +0200
1743 Branch: REL9_2_STABLE [2b53d583d] 2014-12-05 14:31:45 +0200
1744 Branch: REL9_1_STABLE [729202754] 2014-12-05 14:31:37 +0200
1745 Branch: REL9_0_STABLE [d67be559e] 2014-12-05 14:30:55 +0200
1750 In <application>initdb</>, give a clearer error message if a password
1751 file is specified but is empty (Mats Erik Andersson)
1756 Author: Tom Lane <tgl@sss.pgh.pa.us>
1757 Branch: REL9_3_STABLE [b0fd5c552] 2014-09-08 16:09:52 -0400
1758 Branch: REL9_2_STABLE [886b58b47] 2014-09-08 16:09:56 -0400
1759 Branch: REL9_1_STABLE [440fcc568] 2014-09-08 16:10:01 -0400
1760 Branch: REL9_0_STABLE [44c518328] 2014-09-08 16:10:05 -0400
1765 Fix <application>psql</>'s <command>\s</> command to work nicely with
1766 libedit, and add pager support (Stepan Rutz, Tom Lane)
1770 When using libedit rather than readline, <command>\s</> printed the
1771 command history in a fairly unreadable encoded format, and on recent
1772 libedit versions might fail altogether. Fix that by printing the
1773 history ourselves rather than having the library do it. A pleasant
1774 side-effect is that the pager is used if appropriate.
1778 This patch also fixes a bug that caused newline encoding to be applied
1779 inconsistently when saving the command history with libedit.
1780 Multiline history entries written by older <application>psql</>
1781 versions will be read cleanly with this patch, but perhaps not
1782 vice versa, depending on the exact libedit versions involved.
1787 Author: Tom Lane <tgl@sss.pgh.pa.us>
1788 Branch: master [28551797a] 2014-12-31 12:18:50 -0500
1789 Branch: REL9_4_STABLE [c35249939] 2014-12-31 12:16:57 -0500
1790 Branch: REL9_3_STABLE [7582cce56] 2014-12-31 12:17:00 -0500
1791 Branch: REL9_2_STABLE [64c506535] 2014-12-31 12:17:04 -0500
1792 Branch: REL9_1_STABLE [1773e0702] 2014-12-31 12:17:08 -0500
1793 Branch: REL9_0_STABLE [2600e4436] 2014-12-31 12:17:12 -0500
1798 Improve consistency of parsing of <application>psql</>'s special
1799 variables (Tom Lane)
1803 Allow variant spellings of <literal>on</> and <literal>off</> (such
1804 as <literal>1</>/<literal>0</>) for <literal>ECHO_HIDDEN</>
1805 and <literal>ON_ERROR_ROLLBACK</>. Report a warning for unrecognized
1806 values for <literal>COMP_KEYWORD_CASE</>, <literal>ECHO</>,
1807 <literal>ECHO_HIDDEN</>, <literal>HISTCONTROL</>,
1808 <literal>ON_ERROR_ROLLBACK</>, and <literal>VERBOSITY</>. Recognize
1809 all values for all these variables case-insensitively; previously
1810 there was a mishmash of case-sensitive and case-insensitive behaviors.
1815 Author: Fujii Masao <fujii@postgresql.org>
1816 Branch: REL9_3_STABLE [4b1953079] 2014-11-28 02:44:40 +0900
1821 Make <application>psql</>'s <command>\watch</> command display
1822 nulls as specified by <command>\pset null</> (Fujii Masao)
1827 Author: Stephen Frost <sfrost@snowman.net>
1828 Branch: REL9_3_STABLE [7ec399094] 2014-09-12 11:24:28 -0400
1829 Branch: REL9_2_STABLE [5d63f2159] 2014-09-12 11:24:32 -0400
1830 Branch: REL9_1_STABLE [4d96e93cb] 2014-09-12 11:24:36 -0400
1831 Branch: REL9_0_STABLE [1f89fc218] 2014-09-12 11:24:39 -0400
1836 Fix <application>psql</>'s expanded-mode display to work
1837 consistently when using <literal>border</> = 3
1838 and <literal>linestyle</> = <literal>ascii</> or <literal>unicode</>
1844 Author: Tom Lane <tgl@sss.pgh.pa.us>
1845 Branch: master [adfc157dd] 2015-01-05 19:27:04 -0500
1846 Branch: REL9_4_STABLE [c99e41f68] 2015-01-05 19:27:06 -0500
1847 Branch: REL9_3_STABLE [bb1e2426b] 2015-01-05 19:27:09 -0500
1852 Fix <application>pg_dump</> to handle comments on event triggers
1853 without failing (Tom Lane)
1858 Author: Kevin Grittner <kgrittn@postgresql.org>
1859 Branch: master [cff1bd2a3] 2015-01-30 08:57:24 -0600
1860 Branch: REL9_4_STABLE [cb0168528] 2015-01-30 08:57:53 -0600
1861 Branch: REL9_3_STABLE [cc609c46f] 2015-01-30 09:01:36 -0600
1866 Allow parallel <application>pg_dump</> to
1867 use <option>--serializable-deferrable</> (Kevin Grittner)
1872 Author: Tom Lane <tgl@sss.pgh.pa.us>
1873 Branch: REL9_3_STABLE [51fc61334] 2014-07-25 19:48:48 -0400
1874 Branch: REL9_2_STABLE [a6c567437] 2014-07-25 19:48:51 -0400
1875 Branch: REL9_1_STABLE [40c333c39] 2014-07-25 19:48:54 -0400
1880 Improve performance of <application>pg_dump</> when the database
1881 contains many instances of multiple dependency paths between the same
1882 two objects (Tom Lane)
1887 Author: Tom Lane <tgl@sss.pgh.pa.us>
1888 Branch: REL9_3_STABLE [9fc887121] 2014-11-13 18:19:32 -0500
1889 Branch: REL9_2_STABLE [3c5ce5102] 2014-11-13 18:19:35 -0500
1894 Fix <application>pg_dumpall</> to restore its ability to dump from
1895 pre-8.1 servers (Gilles Darold)
1900 Author: Robert Haas <rhaas@postgresql.org>
1901 Branch: REL9_3_STABLE [d72ecc91c] 2014-09-26 11:23:43 -0400
1902 Branch: REL9_2_STABLE [a97c8c393] 2014-09-26 11:25:57 -0400
1903 Branch: REL9_1_STABLE [d1844c21b] 2014-09-26 11:36:25 -0400
1904 Branch: REL9_0_STABLE [bbe3c069a] 2014-09-26 11:43:56 -0400
1909 Fix possible deadlock during parallel restore of a schema-only dump
1910 (Robert Haas, Tom Lane)
1915 Author: Tom Lane <tgl@sss.pgh.pa.us>
1916 Branch: REL9_3_STABLE [9a540c1ef] 2014-10-17 12:49:06 -0400
1917 Branch: REL9_2_STABLE [787e20bd4] 2014-10-17 12:49:09 -0400
1918 Branch: REL9_1_STABLE [0c9391e52] 2014-10-17 12:49:11 -0400
1919 Branch: REL9_0_STABLE [31021e7ba] 2014-10-17 12:49:15 -0400
1924 Fix core dump in <literal>pg_dump --binary-upgrade</> on zero-column
1925 composite type (Rushabh Lathia)
1930 Author: Andres Freund <andres@anarazel.de>
1931 Branch: REL9_3_STABLE [26a4e0ed7] 2014-11-15 01:21:11 +0100
1936 Fix failure to fsync tables in nondefault tablespaces
1937 during <application>pg_upgrade</> (Abhijit Menon-Sen, Andres Freund)
1941 With an operating system crash and some bad luck, this could result in
1942 data loss during an upgrade.
1947 Author: Bruce Momjian <bruce@momjian.us>
1948 Branch: REL9_3_STABLE [fca9f349b] 2014-08-07 14:56:13 -0400
1953 In <application>pg_upgrade</>, cope with cases where the new cluster
1954 creates a TOAST table for a table that didn't previously have one
1959 Previously this could result in failures due to OID conflicts.
1964 Author: Bruce Momjian <bruce@momjian.us>
1965 Branch: REL9_3_STABLE [24ae44914] 2014-08-04 11:45:45 -0400
1970 In <application>pg_upgrade</>, don't try to
1971 set <literal>autovacuum_multixact_freeze_max_age</> for the old cluster
1976 This could result in failure because not all 9.3.X versions have that
1977 parameter. Fortunately, we don't actually need to set it at all.
1982 Author: Bruce Momjian <bruce@momjian.us>
1983 Branch: REL9_3_STABLE [5724f491d] 2014-09-11 18:39:46 -0400
1988 In <application>pg_upgrade</>, preserve the transaction ID epoch
1993 This oversight did not bother <productname>PostgreSQL</> proper,
1994 but could confuse some external replication tools.
1999 Author: Andres Freund <andres@anarazel.de>
2000 Branch: master [2c0a48589] 2015-01-03 20:54:12 +0100
2001 Branch: REL9_4_STABLE [90e4a2bf9] 2015-01-03 20:54:13 +0100
2002 Branch: REL9_3_STABLE [f6cea4502] 2015-01-03 20:54:13 +0100
2003 Branch: REL9_2_STABLE [f961ad479] 2015-01-03 20:54:13 +0100
2004 Branch: REL9_1_STABLE [2a0bfa4d6] 2015-01-03 20:54:13 +0100
2009 Prevent WAL files created by <literal>pg_basebackup -x/-X</> from
2010 being archived again when the standby is promoted (Andres Freund)
2015 Author: Fujii Masao <fujii@postgresql.org>
2016 Branch: REL9_3_STABLE [9747a9898] 2014-08-02 15:19:45 +0900
2021 Fix memory leak in <application>pg_receivexlog</> (Fujii Masao)
2026 Author: Fujii Masao <fujii@postgresql.org>
2027 Branch: REL9_3_STABLE [39217ce41] 2014-08-02 14:59:10 +0900
2032 Fix unintended suppression of <application>pg_receivexlog</> verbose
2033 messages (Fujii Masao)
2038 Author: Tom Lane <tgl@sss.pgh.pa.us>
2039 Branch: REL9_3_STABLE [9474c9d81] 2014-09-19 13:19:02 -0400
2040 Branch: REL9_2_STABLE [5ff8c2d7d] 2014-09-19 13:19:05 -0400
2045 Fix failure of <filename>contrib/auto_explain</> to print per-node
2046 timing information when doing <command>EXPLAIN ANALYZE</> (Tom Lane)
2051 Author: Tom Lane <tgl@sss.pgh.pa.us>
2052 Branch: REL9_3_STABLE [0ad403c98] 2014-08-28 18:21:14 -0400
2053 Branch: REL9_2_STABLE [f3998521f] 2014-08-28 18:21:17 -0400
2054 Branch: REL9_1_STABLE [9807c8220] 2014-08-28 18:21:20 -0400
2059 Fix upgrade-from-unpackaged script for <filename>contrib/citext</>
2065 Author: Tom Lane <tgl@sss.pgh.pa.us>
2066 Branch: REL9_3_STABLE [f44290b7b] 2014-11-04 16:54:59 -0500
2071 Avoid integer overflow and buffer overrun
2072 in <filename>contrib/hstore</>'s <function>hstore_to_json()</>
2073 (Heikki Linnakangas)
2078 Author: Andrew Dunstan <andrew@dunslane.net>
2079 Branch: REL9_3_STABLE [55c880797] 2014-12-01 11:44:48 -0500
2084 Fix recognition of numbers in <function>hstore_to_json_loose()</>,
2085 so that JSON numbers and strings are correctly distinguished
2091 Author: Tom Lane <tgl@sss.pgh.pa.us>
2092 Branch: REL9_3_STABLE [f59c8eff7] 2014-07-22 11:45:53 -0400
2093 Branch: REL9_2_STABLE [810f0d2a2] 2014-07-22 11:45:57 -0400
2094 Branch: REL9_1_STABLE [3c5232ae8] 2014-07-22 11:46:00 -0400
2095 Branch: REL9_0_STABLE [9dc2a3fd0] 2014-07-22 11:46:04 -0400
2100 Fix block number checking
2101 in <filename>contrib/pageinspect</>'s <function>get_raw_page()</>
2106 The incorrect checking logic could prevent access to some pages in
2107 non-main relation forks.
2112 Author: Tom Lane <tgl@sss.pgh.pa.us>
2113 Branch: REL9_3_STABLE [419de696a] 2014-11-11 17:22:38 -0500
2114 Branch: REL9_2_STABLE [4a9710e6e] 2014-11-11 17:22:44 -0500
2115 Branch: REL9_1_STABLE [4ddd9e72f] 2014-11-11 17:22:51 -0500
2116 Branch: REL9_0_STABLE [ef5a3b957] 2014-11-11 17:22:58 -0500
2121 Fix <filename>contrib/pgcrypto</>'s <function>pgp_sym_decrypt()</>
2122 to not fail on messages whose length is 6 less than a power of 2
2128 Author: Robert Haas <rhaas@postgresql.org>
2129 Branch: REL9_3_STABLE [8cf825974] 2014-11-19 12:14:22 -0500
2130 Branch: REL9_2_STABLE [57ce74661] 2014-11-19 12:20:47 -0500
2131 Branch: REL9_1_STABLE [a855c90a7] 2014-11-19 12:26:06 -0500
2136 Fix file descriptor leak in <filename>contrib/pg_test_fsync</>
2141 This could cause failure to remove temporary files on Windows.
2146 Author: Tom Lane <tgl@sss.pgh.pa.us>
2147 Branch: master [37507962c] 2015-01-29 20:18:33 -0500
2148 Branch: REL9_4_STABLE [202621d04] 2015-01-29 20:18:37 -0500
2149 Branch: REL9_3_STABLE [53ae24692] 2015-01-29 20:18:40 -0500
2150 Branch: REL9_2_STABLE [66cc74680] 2015-01-29 20:18:42 -0500
2151 Branch: REL9_1_STABLE [290c2daad] 2015-01-29 20:18:44 -0500
2152 Branch: REL9_0_STABLE [dc9a506e6] 2015-01-29 20:18:46 -0500
2157 Handle unexpected query results, especially NULLs, safely in
2158 <filename>contrib/tablefunc</>'s <function>connectby()</>
2163 <function>connectby()</> previously crashed if it encountered a NULL
2164 key value. It now prints that row but doesn't recurse further.
2169 Author: Tom Lane <tgl@sss.pgh.pa.us>
2170 Branch: REL9_3_STABLE [c393847a1] 2014-11-27 11:12:51 -0500
2171 Branch: REL9_2_STABLE [a1cd04cd0] 2014-11-27 11:12:55 -0500
2172 Branch: REL9_1_STABLE [168636a99] 2014-11-27 11:12:59 -0500
2173 Branch: REL9_0_STABLE [6a694bbab] 2014-11-27 11:13:03 -0500
2178 Avoid a possible crash in <filename>contrib/xml2</>'s
2179 <function>xslt_process()</> (Mark Simonetti)
2183 <application>libxslt</> seems to have an undocumented dependency on
2184 the order in which resources are freed; reorder our calls to avoid a
2190 Author: Tom Lane <tgl@sss.pgh.pa.us>
2191 Branch: REL9_3_STABLE [0247935c7] 2014-11-05 11:34:19 -0500
2192 Branch: REL9_2_STABLE [0ef754cad] 2014-11-05 11:34:22 -0500
2193 Branch: REL9_1_STABLE [7225abf00] 2014-11-05 11:34:25 -0500
2198 Mark some <filename>contrib</> I/O functions with correct volatility
2199 properties (Tom Lane)
2203 The previous over-conservative marking was immaterial in normal use,
2204 but could cause optimization problems or rejection of valid index
2205 expression definitions. Since the consequences are not large, we've
2206 just adjusted the function definitions in the extension modules'
2207 scripts, without changing version numbers.
2212 Author: Tom Lane <tgl@sss.pgh.pa.us>
2213 Branch: master [a59ee8819] 2015-01-30 13:05:30 -0500
2214 Branch: REL9_4_STABLE [70da7aeba] 2015-01-30 13:04:59 -0500
2215 Branch: REL9_3_STABLE [f08cf8ad9] 2015-01-30 13:05:01 -0500
2216 Branch: REL9_2_STABLE [a97dfdfd9] 2015-01-30 13:05:04 -0500
2217 Branch: REL9_1_STABLE [8f51c432c] 2015-01-30 13:05:07 -0500
2218 Branch: REL9_0_STABLE [7c41a32b3] 2015-01-30 13:05:09 -0500
2219 Author: Tom Lane <tgl@sss.pgh.pa.us>
2220 Branch: REL9_3_STABLE [8824bae87] 2014-11-18 13:28:13 -0500
2221 Author: Robert Haas <rhaas@postgresql.org>
2222 Branch: master [0b49642b9] 2015-01-15 09:26:03 -0500
2223 Branch: REL9_4_STABLE [7b65f194e] 2015-01-15 09:29:41 -0500
2224 Branch: REL9_3_STABLE [ebbef4f39] 2015-01-15 09:29:55 -0500
2225 Branch: REL9_2_STABLE [d452bfd1b] 2015-01-15 09:42:21 -0500
2226 Branch: REL9_1_STABLE [151fb75b0] 2015-01-15 09:42:33 -0500
2227 Branch: REL9_0_STABLE [0a67c0018] 2015-01-15 09:42:47 -0500
2228 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2229 Branch: master [e37d474f9] 2015-01-13 14:33:05 +0200
2230 Branch: REL9_4_STABLE [4ebb3494e] 2015-01-13 16:01:04 +0200
2231 Author: Andres Freund <andres@anarazel.de>
2232 Branch: master [8cadeb792] 2015-01-04 15:44:49 +0100
2233 Branch: REL9_4_STABLE [7ced1b6c5] 2015-01-04 15:52:52 +0100
2234 Branch: REL9_3_STABLE [a68b8aec7] 2015-01-04 15:53:08 +0100
2235 Branch: REL9_2_STABLE [6f9b84a40] 2015-01-04 15:55:00 +0100
2236 Author: Andres Freund <andres@anarazel.de>
2237 Branch: master [58bc4747b] 2015-01-04 15:35:46 +0100
2238 Branch: REL9_4_STABLE [2d8411a0a] 2015-01-04 15:35:46 +0100
2239 Branch: REL9_3_STABLE [d33f36f16] 2015-01-04 15:35:47 +0100
2240 Branch: REL9_2_STABLE [029e41afd] 2015-01-04 15:35:47 +0100
2241 Branch: REL9_1_STABLE [39cdf365a] 2015-01-04 15:35:47 +0100
2242 Branch: REL9_0_STABLE [17797e18d] 2015-01-04 15:35:48 +0100
2243 Author: Andres Freund <andres@anarazel.de>
2244 Branch: master [0398ece4c] 2015-01-04 14:36:21 +0100
2245 Branch: REL9_4_STABLE [ff7d46b85] 2015-01-04 14:36:21 +0100
2246 Branch: REL9_3_STABLE [ec14f1601] 2015-01-04 14:36:22 +0100
2247 Branch: REL9_2_STABLE [f4060db11] 2015-01-04 14:36:22 +0100
2248 Author: Tatsuo Ishii <ishii@postgresql.org>
2249 Branch: master [3b5a89c48] 2014-12-30 20:33:01 +0900
2250 Branch: REL9_4_STABLE [458e8bc65] 2014-12-30 20:27:26 +0900
2251 Branch: REL9_3_STABLE [ed0e03283] 2014-12-30 20:20:56 +0900
2252 Branch: REL9_2_STABLE [4db7eaae0] 2014-12-30 19:59:26 +0900
2253 Branch: REL9_1_STABLE [4c136b0b6] 2014-12-30 19:48:53 +0900
2254 Branch: REL9_0_STABLE [9b74f3574] 2014-12-30 19:37:55 +0900
2255 Author: Tom Lane <tgl@sss.pgh.pa.us>
2256 Branch: master [66709133c] 2014-12-16 15:35:33 -0500
2257 Branch: REL9_4_STABLE [383d224a0] 2014-12-16 15:35:36 -0500
2258 Branch: REL9_3_STABLE [53960e7eb] 2014-12-16 15:35:40 -0500
2259 Branch: REL9_2_STABLE [e92c67ddc] 2014-12-16 15:35:43 -0500
2260 Branch: REL9_1_STABLE [5c784d96a] 2014-12-16 15:35:46 -0500
2261 Branch: REL9_0_STABLE [a2969bd72] 2014-12-16 15:35:49 -0500
2262 Author: Tom Lane <tgl@sss.pgh.pa.us>
2263 Branch: master [d38e8d30c] 2014-12-16 13:31:42 -0500
2264 Branch: REL9_4_STABLE [6c75384ee] 2014-12-16 13:31:57 -0500
2265 Branch: REL9_3_STABLE [3b750ec15] 2014-12-16 13:32:02 -0500
2266 Branch: REL9_2_STABLE [5b2c8f04a] 2014-12-16 13:32:15 -0500
2267 Branch: REL9_1_STABLE [926da211a] 2014-12-16 13:32:25 -0500
2268 Branch: REL9_0_STABLE [961df1853] 2014-12-16 13:32:38 -0500
2269 Author: Tom Lane <tgl@sss.pgh.pa.us>
2270 Branch: master [586dd5d6a] 2015-01-24 13:05:42 -0500
2271 Branch: REL9_4_STABLE [d51d4ff31] 2015-01-24 13:05:45 -0500
2272 Branch: REL9_3_STABLE [7240f9200] 2015-01-24 13:05:49 -0500
2273 Branch: REL9_2_STABLE [502e5f9c3] 2015-01-24 13:05:53 -0500
2274 Branch: REL9_1_STABLE [b00a08859] 2015-01-24 13:05:56 -0500
2275 Branch: REL9_0_STABLE [3a3ee655c] 2015-01-24 13:05:58 -0500
2280 Numerous cleanups of warnings from Coverity static code analyzer
2281 (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier)
2285 These changes are mostly cosmetic but in some cases fix corner-case
2286 bugs, for example a crash rather than a proper error report after an
2287 out-of-memory failure. None are believed to represent security
2293 Author: Robert Haas <rhaas@postgresql.org>
2294 Branch: REL9_3_STABLE [05c0059b3] 2014-07-30 12:10:20 -0400
2299 Fix setup of background workers in EXEC_BACKEND builds, eg Windows
2305 Author: Noah Misch <noah@leadboat.com>
2306 Branch: REL9_3_STABLE [07115248f] 2014-07-22 11:01:41 -0400
2307 Branch: REL9_2_STABLE [cec0c2182] 2014-07-22 11:01:51 -0400
2308 Branch: REL9_1_STABLE [81af4185a] 2014-07-22 11:02:00 -0400
2309 Branch: REL9_0_STABLE [4c6d0abde] 2014-07-22 11:02:25 -0400
2314 Detect incompatible OpenLDAP versions during build (Noah Misch)
2318 With OpenLDAP versions 2.4.24 through 2.4.31,
2319 inclusive, <productname>PostgreSQL</> backends can crash at exit.
2320 Raise a warning during <application>configure</> based on the
2321 compile-time OpenLDAP version number, and test the crashing scenario
2322 in the <filename>contrib/dblink</> regression test.
2327 Author: Noah Misch <noah@leadboat.com>
2328 Branch: REL9_3_STABLE [318fe2321] 2014-08-18 23:01:04 -0400
2329 Branch: REL9_2_STABLE [ebd4d9cdd] 2014-08-18 23:01:09 -0400
2330 Branch: REL9_1_STABLE [ba72fc054] 2014-08-18 23:01:13 -0400
2331 Branch: REL9_0_STABLE [e6841c4d6] 2014-08-18 23:01:23 -0400
2336 In non-MSVC Windows builds, ensure <filename>libpq.dll</> is installed
2337 with execute permissions (Noah Misch)
2342 Author: Tom Lane <tgl@sss.pgh.pa.us>
2343 Branch: master [aa719391d] 2015-01-19 23:44:19 -0500
2344 Branch: REL9_4_STABLE [3de9f22ac] 2015-01-19 23:44:22 -0500
2345 Branch: REL9_3_STABLE [1681e2f74] 2015-01-19 23:44:24 -0500
2346 Branch: REL9_2_STABLE [89b6a19e1] 2015-01-19 23:44:28 -0500
2347 Branch: REL9_1_STABLE [f4f522deb] 2015-01-19 23:44:30 -0500
2348 Branch: REL9_0_STABLE [338ff75fc] 2015-01-19 23:44:33 -0500
2353 Make <application>pg_regress</> remove any temporary installation it
2354 created upon successful exit (Tom Lane)
2358 This results in a very substantial reduction in disk space usage
2359 during <literal>make check-world</>, since that sequence involves
2360 creation of numerous temporary installations.
2365 Author: Tom Lane <tgl@sss.pgh.pa.us>
2366 Branch: REL9_3_STABLE [137e7c164] 2014-10-16 15:22:17 -0400
2367 Branch: REL9_2_STABLE [7c67b9365] 2014-10-16 15:22:20 -0400
2368 Branch: REL9_1_STABLE [2784b68b3] 2014-10-16 15:22:23 -0400
2369 Branch: REL9_0_STABLE [870a980aa] 2014-10-16 15:22:26 -0400
2374 Support time zone abbreviations that change UTC offset from time to
2379 Previously, <productname>PostgreSQL</> assumed that the UTC offset
2380 associated with a time zone abbreviation (such as <literal>EST</>)
2381 never changes in the usage of any particular locale. However this
2382 assumption fails in the real world, so introduce the ability for a
2383 zone abbreviation to represent a UTC offset that sometimes changes.
2384 Update the zone abbreviation definition files to make use of this
2385 feature in timezone locales that have changed the UTC offset of their
2386 abbreviations since 1970 (according to the IANA timezone database).
2387 In such timezones, <productname>PostgreSQL</> will now associate the
2388 correct UTC offset with the abbreviation depending on the given date.
2393 Author: Tom Lane <tgl@sss.pgh.pa.us>
2394 Branch: REL9_3_STABLE [9701f238b] 2014-10-03 17:44:56 -0400
2395 Branch: REL9_2_STABLE [d7d546bbc] 2014-10-03 17:44:59 -0400
2396 Branch: REL9_1_STABLE [252af79d9] 2014-10-03 17:45:03 -0400
2397 Branch: REL9_0_STABLE [cc7bad30c] 2014-10-03 17:45:07 -0400
2398 Author: Tom Lane <tgl@sss.pgh.pa.us>
2399 Branch: REL9_3_STABLE [0190f0a76] 2014-12-24 16:35:40 -0500
2400 Branch: REL9_2_STABLE [5c8665892] 2014-12-24 16:35:44 -0500
2401 Branch: REL9_1_STABLE [310597e31] 2014-12-24 16:35:48 -0500
2402 Branch: REL9_0_STABLE [8b70023af] 2014-12-24 16:35:54 -0500
2407 Update time zone abbreviations lists (Tom Lane)
2411 Add CST (China Standard Time) to our lists.
2412 Remove references to ADT as <quote>Arabia Daylight Time</>, an
2413 abbreviation that's been out of use since 2007; therefore, claiming
2414 there is a conflict with <quote>Atlantic Daylight Time</> doesn't seem
2416 Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, and FJST
2417 (Fiji); we didn't even have them on the proper side of the date line.
2422 Author: Tom Lane <tgl@sss.pgh.pa.us>
2423 Branch: REL9_3_STABLE [8470cd473] 2015-01-30 22:46:05 -0500
2424 Branch: REL9_2_STABLE [c9048d353] 2015-01-30 22:46:12 -0500
2425 Branch: REL9_1_STABLE [cb24cd3f4] 2015-01-30 22:46:17 -0500
2426 Branch: REL9_0_STABLE [3553d9c6e] 2015-01-30 22:46:22 -0500
2427 Author: Tom Lane <tgl@sss.pgh.pa.us>
2428 Branch: REL9_3_STABLE [ab45d907b] 2014-11-17 12:08:25 -0500
2429 Branch: REL9_2_STABLE [b1e996035] 2014-11-17 12:08:32 -0500
2430 Branch: REL9_1_STABLE [b96c47a3d] 2014-11-17 12:08:39 -0500
2431 Branch: REL9_0_STABLE [92979576e] 2014-11-17 12:08:46 -0500
2432 Author: Tom Lane <tgl@sss.pgh.pa.us>
2433 Branch: REL9_3_STABLE [c66199151] 2014-10-04 14:18:33 -0400
2434 Branch: REL9_2_STABLE [8f75d7a25] 2014-10-04 14:18:36 -0400
2435 Branch: REL9_1_STABLE [745723c9e] 2014-10-04 14:18:39 -0400
2436 Branch: REL9_0_STABLE [b6391f587] 2014-10-04 14:18:43 -0400
2441 Update time zone data files to <application>tzdata</> release 2015a.
2445 The IANA timezone database has adopted abbreviations of the form
2446 <literal>A<replaceable>x</>ST</literal>/<literal>A<replaceable>x</>DT</literal>
2447 for all Australian time zones, reflecting what they believe to be
2448 current majority practice Down Under. These names do not conflict
2449 with usage elsewhere (other than ACST for Acre Summer Time, which has
2450 been in disuse since 1994). Accordingly, adopt these names into
2451 our <quote>Default</> timezone abbreviation set.
2452 The <quote>Australia</> abbreviation set now contains only CST, EAST,
2453 EST, SAST, SAT, and WST, all of which are thought to be mostly
2454 historical usage. Note that SAST has also been changed to be South
2455 Africa Standard Time in the <quote>Default</> abbreviation set.
2459 Also, add zone abbreviations SRET (Asia/Srednekolymsk) and XJT
2460 (Asia/Urumqi), and use WSST/WSDT for western Samoa. Also, there were
2461 DST law changes in Chile, Mexico, the Turks & Caicos Islands
2462 (America/Grand_Turk), and Fiji. There is a new zone
2463 Pacific/Bougainville for portions of Papua New Guinea. Also, numerous
2464 corrections for historical (pre-1970) time zone data.
2473 <sect1 id="release-9-3-5">
2474 <title>Release 9.3.5</title>
2477 <title>Release Date</title>
2478 <simpara>2014-07-24</simpara>
2482 This release contains a variety of fixes from 9.3.4.
2483 For information about new features in the 9.3 major release, see
2484 <xref linkend="release-9-3">.
2488 <title>Migration to Version 9.3.5</title>
2491 A dump/restore is not required for those running 9.3.X.
2495 However, this release corrects a logic error
2496 in <application>pg_upgrade</>, as well as an index corruption problem in
2497 some GiST indexes. See the first two changelog entries below to find out
2498 whether your installation has been affected and what steps you should take
2503 Also, if you are upgrading from a version earlier than 9.3.4,
2504 see <xref linkend="release-9-3-4">.
2510 <title>Changes</title>
2515 Author: Bruce Momjian <bruce@momjian.us>
2516 Branch: master [0f7482733] 2014-06-24 16:11:06 -0400
2517 Branch: REL9_4_STABLE [dd5369047] 2014-06-24 16:11:06 -0400
2518 Branch: REL9_3_STABLE [cc5841809] 2014-06-24 16:11:06 -0400
2523 In <application>pg_upgrade</>, remove <filename>pg_multixact</> files
2524 left behind by <application>initdb</> (Bruce Momjian)
2528 If you used a pre-9.3.5 version of <application>pg_upgrade</> to
2529 upgrade a database cluster to 9.3, it might have left behind a file
2530 <filename>$PGDATA/pg_multixact/offsets/0000</> that should not be
2531 there and will eventually cause problems in <command>VACUUM</>.
2532 <emphasis>However, in common cases this file is actually valid and
2533 must not be removed.</emphasis>
2534 To determine whether your installation has this problem, run this
2535 query as superuser, in any database of the cluster:
2537 WITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets'))
2538 SELECT EXISTS (SELECT * FROM list WHERE file = '0000') AND
2539 NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND
2540 NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF') AND
2541 EXISTS (SELECT * FROM list WHERE file != '0000')
2542 AS file_0000_removal_required;
2544 If this query returns <literal>t</>, manually remove the file
2545 <filename>$PGDATA/pg_multixact/offsets/0000</>.
2546 Do nothing if the query returns <literal>f</>.
2551 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2552 Branch: master Release: REL9_4_BR [540ac7cea] 2014-05-13 15:15:13 +0300
2553 Branch: REL9_3_STABLE [d5b912c90] 2014-05-13 15:27:14 +0300
2554 Branch: REL9_2_STABLE [0d8d0d027] 2014-05-13 15:27:21 +0300
2555 Branch: REL9_1_STABLE [1913d0f28] 2014-05-13 15:27:28 +0300
2556 Branch: REL9_0_STABLE [c87c43f08] 2014-05-13 15:27:36 +0300
2557 Branch: REL8_4_STABLE [e31d77c96] 2014-05-13 15:27:43 +0300
2562 Correctly initialize padding bytes in <filename>contrib/btree_gist</>
2563 indexes on <type>bit</> columns (Heikki Linnakangas)
2567 This error could result in incorrect query results due to values that
2568 should compare equal not being seen as equal.
2569 Users with GiST indexes on <type>bit</> or <type>bit varying</>
2570 columns should <command>REINDEX</> those indexes after installing this
2576 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2577 Branch: master Release: REL9_4_BR [4f7bb4b2a] 2014-05-08 14:50:22 +0300
2578 Branch: REL9_3_STABLE [34572920c] 2014-05-08 14:43:04 +0300
2579 Branch: REL9_2_STABLE [31633f992] 2014-05-08 14:43:39 +0300
2580 Branch: REL9_1_STABLE [686a7194e] 2014-05-08 14:43:58 +0300
2581 Branch: REL9_0_STABLE [8b4efe1f3] 2014-05-08 14:44:06 +0300
2582 Branch: REL8_4_STABLE [be7830596] 2014-05-08 14:46:43 +0300
2587 Protect against torn pages when deleting GIN list pages (Heikki
2592 This fix prevents possible index corruption if a system crash occurs
2593 while the page update is being written to disk.
2598 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2599 Branch: master Release: REL9_4_BR [7ca32e255] 2014-04-08 14:51:40 +0300
2600 Branch: REL9_3_STABLE [601c01e08] 2014-04-08 14:51:49 +0300
2601 Branch: REL9_2_STABLE [02b9fd73e] 2014-04-08 14:51:56 +0300
2602 Branch: REL9_1_STABLE [ac0078c1d] 2014-04-08 14:52:01 +0300
2603 Branch: REL9_0_STABLE [d034e9b3b] 2014-04-08 14:52:07 +0300
2608 Don't clear the right-link of a GiST index page while replaying
2609 updates from WAL (Heikki Linnakangas)
2613 This error could lead to transiently wrong answers from GiST index
2614 scans performed in Hot Standby.
2619 Author: Tom Lane <tgl@sss.pgh.pa.us>
2620 Branch: master Release: REL9_4_BR [c170655cc] 2014-06-09 16:31:11 -0400
2621 Branch: REL9_3_STABLE [717c116f1] 2014-06-09 16:31:16 -0400
2622 Branch: REL9_2_STABLE [93328b2df] 2014-06-09 16:30:46 -0400
2627 Fix corner-case infinite loop during insertion into an SP-GiST text
2633 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2634 Branch: master [1264ef31a] 2014-07-16 09:19:06 +0300
2635 Branch: REL9_4_STABLE [9b3ef66af] 2014-07-16 09:20:20 +0300
2636 Branch: REL9_3_STABLE [a4867d041] 2014-07-16 09:20:31 +0300
2641 Fix incorrect answers from SP-GiST index searches
2642 with <literal>-|-</literal> (range adjacency) operator
2643 (Heikki Linnakangas)
2648 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2649 Branch: master Release: REL9_4_BR [b0b263baa] 2014-06-09 15:17:23 -0400
2650 Branch: REL9_3_STABLE [167a2535f] 2014-06-09 15:17:23 -0400
2655 Fix wraparound handling for <filename>pg_multixact/members</>
2656 (Álvaro Herrera)
2661 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2662 Branch: master [f741300c9] 2014-06-27 14:43:53 -0400
2663 Branch: REL9_4_STABLE [56f86bb76] 2014-06-27 14:43:52 -0400
2664 Branch: REL9_3_STABLE [9a28c3752] 2014-06-27 14:43:52 -0400
2669 Truncate <structname>pg_multixact</> during checkpoints, not
2670 during <command>VACUUM</> (Álvaro Herrera)
2674 This change ensures that <structname>pg_multixact</> segments can't be
2675 removed if they'd still be needed during WAL replay after a crash.
2680 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2681 Branch: master Release: REL9_4_BR [2a8e1ac59] 2014-04-17 17:47:50 +0300
2682 Branch: REL9_3_STABLE [95aa823eb] 2014-04-17 17:47:58 +0300
2687 Fix possible inconsistency of all-visible flags after WAL recovery
2688 (Heikki Linnakangas)
2693 Author: Tom Lane <tgl@sss.pgh.pa.us>
2694 Branch: master Release: REL9_4_BR [0f928a85e] 2014-05-05 14:43:39 -0400
2695 Branch: REL9_3_STABLE [4f4ef042f] 2014-05-05 14:43:42 -0400
2696 Branch: REL9_2_STABLE [c8fbeeb45] 2014-05-05 14:43:46 -0400
2697 Branch: REL9_1_STABLE [2f4ee3a2f] 2014-05-05 14:43:49 -0400
2698 Branch: REL9_0_STABLE [7d5b68621] 2014-05-05 14:43:52 -0400
2699 Branch: REL8_4_STABLE [3ada1fab8] 2014-05-05 14:43:55 -0400
2704 Fix possibly-incorrect cache invalidation during nested calls
2705 to <function>ReceiveSharedInvalidMessages</> (Andres Freund)
2710 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2711 Branch: master Release: REL9_4_BR [1a917ae86] 2014-04-24 15:41:55 -0300
2712 Branch: REL9_3_STABLE [c0bd128c8] 2014-04-24 15:41:55 -0300
2717 Fix race condition when updating a tuple concurrently locked by
2718 another process (Andres Freund, Álvaro Herrera)
2723 Author: Tom Lane <tgl@sss.pgh.pa.us>
2724 Branch: REL9_3_STABLE [a2db7b7d0] 2014-06-26 10:41:59 -0700
2725 Branch: REL9_2_STABLE [0cf16686b] 2014-06-26 10:42:03 -0700
2726 Branch: REL9_1_STABLE [555d0b200] 2014-06-26 10:42:08 -0700
2731 Fix <quote>could not find pathkey item to sort</> planner failures
2732 with <literal>UNION ALL</> over subqueries reading from tables with
2733 inheritance children (Tom Lane)
2738 Author: Tom Lane <tgl@sss.pgh.pa.us>
2739 Branch: master [9e2f2d7a0] 2014-07-08 14:03:56 -0400
2740 Branch: REL9_4_STABLE [ac45aa1dd] 2014-07-08 14:03:45 -0400
2741 Branch: REL9_3_STABLE [6d36aee5b] 2014-07-08 14:03:19 -0400
2742 Branch: REL9_2_STABLE [189bd09cb] 2014-07-08 14:03:23 -0400
2743 Branch: REL9_1_STABLE [fa21a760b] 2014-07-08 14:03:26 -0400
2744 Branch: REL9_0_STABLE [2865d5952] 2014-07-08 14:03:30 -0400
2745 Branch: REL8_4_STABLE [2e7469dc8] 2014-07-08 14:03:32 -0400
2750 Don't assume a subquery's output is unique if there's a set-returning
2751 function in its targetlist (David Rowley)
2755 This oversight could lead to misoptimization of constructs
2756 like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP
2762 Author: Tom Lane <tgl@sss.pgh.pa.us>
2763 Branch: master Release: REL9_4_BR [95811032d] 2014-04-29 13:12:46 -0400
2764 Branch: REL9_3_STABLE [150a44e83] 2014-04-29 13:12:29 -0400
2765 Branch: REL9_2_STABLE [0901dbab3] 2014-04-29 13:12:33 -0400
2770 Improve planner to drop constant-NULL inputs
2771 of <literal>AND</>/<literal>OR</> when possible (Tom Lane)
2775 This change fixes some cases where the more aggressive parameter
2776 substitution done by 9.2 and later can lead to a worse plan than
2777 older versions produced.
2782 Author: Tom Lane <tgl@sss.pgh.pa.us>
2783 Branch: master Release: REL9_4_BR [c7b353959] 2014-04-03 22:02:24 -0400
2784 Branch: REL9_3_STABLE [d359f71ac] 2014-04-03 22:02:27 -0400
2789 Ensure that the planner sees equivalent <literal>VARIADIC</> and
2790 non-<literal>VARIADIC</> function calls as equivalent (Tom Lane)
2794 This bug could for example result in failure to use expression indexes
2795 involving variadic functions. It might be necessary to re-create such
2796 indexes, and/or re-create views including variadic function calls that
2797 should match the indexes, for the fix to be effective for existing 9.3
2803 Author: Tom Lane <tgl@sss.pgh.pa.us>
2804 Branch: master [57d8c1270] 2014-06-24 21:22:40 -0700
2805 Branch: REL9_4_STABLE [a331512de] 2014-06-24 21:22:43 -0700
2806 Branch: REL9_3_STABLE [a1fc36495] 2014-06-24 21:22:47 -0700
2811 Fix handling of nested <type>JSON</> objects
2812 in <function>json_populate_recordset()</> and friends
2813 (Michael Paquier, Tom Lane)
2817 A nested <type>JSON</> object could result in previous fields of the
2818 parent object not being shown in the output.
2823 Author: Tom Lane <tgl@sss.pgh.pa.us>
2824 Branch: master Release: REL9_4_BR [0ca6bda8e] 2014-05-09 12:55:31 -0400
2825 Branch: REL9_3_STABLE [13c679995] 2014-05-09 12:55:03 -0400
2826 Branch: REL9_2_STABLE [25c933c5c] 2014-05-09 12:55:06 -0400
2831 Fix identification of input type category in <function>to_json()</>
2832 and friends (Tom Lane)
2836 This is known to have led to inadequate quoting of <type>money</>
2837 fields in the <type>JSON</> result, and there may have been wrong
2838 results for other data types as well.
2843 Author: Tom Lane <tgl@sss.pgh.pa.us>
2844 Branch: master Release: REL9_4_BR [3f8c8e3c6] 2014-05-01 15:19:06 -0400
2845 Branch: REL9_3_STABLE [b72e90bc3] 2014-05-01 15:19:10 -0400
2846 Branch: REL9_2_STABLE [8c43980a1] 2014-05-01 15:19:14 -0400
2847 Branch: REL9_1_STABLE [db1fdc945] 2014-05-01 15:19:17 -0400
2848 Branch: REL9_0_STABLE [7a4f114f3] 2014-05-01 15:19:20 -0400
2849 Branch: REL8_4_STABLE [70debcf09] 2014-05-01 15:19:23 -0400
2854 Fix failure to detoast fields in composite elements of structured
2859 This corrects cases where TOAST pointers could be copied into other
2860 tables without being dereferenced. If the original data is later
2861 deleted, it would lead to errors like <quote>missing chunk number 0
2862 for toast value ...</> when the now-dangling pointer is used.
2867 Author: Tom Lane <tgl@sss.pgh.pa.us>
2868 Branch: master [d68581483] 2014-07-11 19:12:35 -0400
2869 Branch: REL9_4_STABLE [f280eff94] 2014-07-11 19:12:38 -0400
2870 Branch: REL9_3_STABLE [b77e6b959] 2014-07-11 19:12:42 -0400
2871 Branch: REL9_2_STABLE [261f954e7] 2014-07-11 19:12:45 -0400
2872 Branch: REL9_1_STABLE [c45841f9e] 2014-07-11 19:12:48 -0400
2873 Branch: REL9_0_STABLE [cd8ba91a0] 2014-07-11 19:12:51 -0400
2874 Branch: REL8_4_STABLE [a81fbcfb3] 2014-07-11 19:12:56 -0400
2879 Fix <quote>record type has not been registered</> failures with
2880 whole-row references to the output of Append plan nodes (Tom Lane)
2885 Author: Tom Lane <tgl@sss.pgh.pa.us>
2886 Branch: master Release: REL9_4_BR [04e5025be] 2014-05-07 14:25:11 -0400
2887 Branch: REL9_3_STABLE [fc58c39d4] 2014-05-07 14:25:13 -0400
2888 Branch: REL9_2_STABLE [022b5f2b2] 2014-05-07 14:25:17 -0400
2889 Branch: REL9_1_STABLE [229101db4] 2014-05-07 14:25:22 -0400
2890 Branch: REL9_0_STABLE [7f66ade71] 2014-05-07 14:25:25 -0400
2891 Branch: REL8_4_STABLE [2a527baa3] 2014-05-07 14:25:28 -0400
2896 Fix possible crash when invoking a user-defined function while
2897 rewinding a cursor (Tom Lane)
2902 Author: Tom Lane <tgl@sss.pgh.pa.us>
2903 Branch: master [45b0f3572] 2014-06-19 22:14:26 -0400
2904 Branch: REL9_4_STABLE [1044e79a0] 2014-06-19 22:13:44 -0400
2905 Branch: REL9_3_STABLE [c1f8fb9bf] 2014-06-19 22:13:47 -0400
2906 Branch: REL9_2_STABLE [b568d3836] 2014-06-19 22:13:51 -0400
2907 Branch: REL9_1_STABLE [06d5eacbc] 2014-06-19 22:13:54 -0400
2908 Branch: REL9_0_STABLE [83131e634] 2014-06-19 22:13:58 -0400
2909 Branch: REL8_4_STABLE [d297c91d4] 2014-06-19 22:14:00 -0400
2914 Fix query-lifespan memory leak while evaluating the arguments for a
2915 function in <literal>FROM</> (Tom Lane)
2920 Author: Tom Lane <tgl@sss.pgh.pa.us>
2921 Branch: master [1567e659a] 2014-07-18 13:00:27 -0400
2922 Branch: REL9_4_STABLE [4a66f0f2d] 2014-07-18 13:00:39 -0400
2923 Branch: REL9_3_STABLE [5ef588b22] 2014-07-18 13:00:43 -0400
2924 Branch: REL9_2_STABLE [a223b9e36] 2014-07-18 13:00:48 -0400
2925 Branch: REL9_1_STABLE [8a817785a] 2014-07-18 13:00:52 -0400
2926 Branch: REL9_0_STABLE [b8c24f7ab] 2014-07-18 13:00:57 -0400
2927 Branch: REL8_4_STABLE [e0a233744] 2014-07-18 13:01:04 -0400
2932 Fix session-lifespan memory leaks in regular-expression processing
2933 (Tom Lane, Arthur O'Dwyer, Greg Stark)
2938 Author: Tom Lane <tgl@sss.pgh.pa.us>
2939 Branch: master [fd90b5d57] 2014-06-10 22:48:16 -0400
2940 Branch: REL9_4_STABLE [7f9fbb842] 2014-06-10 22:48:31 -0400
2941 Branch: REL9_3_STABLE [87db9534a] 2014-06-10 22:48:39 -0400
2942 Branch: REL9_2_STABLE [802323535] 2014-06-10 22:48:45 -0400
2943 Branch: REL9_1_STABLE [62f134954] 2014-06-10 22:48:52 -0400
2944 Branch: REL9_0_STABLE [4d5ea4290] 2014-06-10 22:48:59 -0400
2945 Branch: REL8_4_STABLE [f3f40434b] 2014-06-10 22:49:08 -0400
2950 Fix data encoding error in <filename>hungarian.stop</> (Tom Lane)
2955 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2956 Branch: master [a87a7dc8b] 2014-06-24 13:27:18 +0300
2957 Branch: REL9_4_STABLE [1818ae0a7] 2014-06-24 13:31:06 +0300
2958 Branch: REL9_3_STABLE [2a7512bc7] 2014-06-24 13:31:00 +0300
2959 Branch: REL9_2_STABLE [1c9f9e888] 2014-06-24 13:30:54 +0300
2960 Branch: REL9_1_STABLE [dd1a5b09b] 2014-06-24 13:30:41 +0300
2965 Prevent foreign tables from being created with OIDS
2966 when <xref linkend="guc-default-with-oids"> is true
2972 Author: Andres Freund <andres@anarazel.de>
2973 Branch: master Release: REL9_4_BR [621a99a66] 2014-06-04 21:36:19 +0200
2974 Branch: REL9_3_STABLE [edde59db1] 2014-06-04 23:26:08 +0200
2975 Branch: REL9_2_STABLE [315442c01] 2014-06-04 23:25:52 +0200
2976 Branch: REL9_1_STABLE [6bf6e528a] 2014-06-04 23:26:30 +0200
2977 Branch: REL9_0_STABLE [037c6fb9f] 2014-06-04 23:27:10 +0200
2978 Branch: REL8_4_STABLE [80d45ae4e] 2014-06-04 23:27:38 +0200
2983 Fix liveness checks for rows that were inserted in the current
2984 transaction and then deleted by a now-rolled-back subtransaction
2989 This could cause problems (at least spurious warnings, and at worst an
2990 infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were
2991 done later in the same transaction.
2996 Author: Tom Lane <tgl@sss.pgh.pa.us>
2997 Branch: master Release: REL9_4_BR [d19bd29f0] 2014-04-24 13:29:48 -0400
2998 Branch: REL9_3_STABLE [12e41a5d7] 2014-04-24 13:29:56 -0400
2999 Branch: REL9_2_STABLE [ea9ac7741] 2014-04-24 13:30:00 -0400
3000 Branch: REL9_1_STABLE [70e7be264] 2014-04-24 13:30:04 -0400
3001 Branch: REL9_0_STABLE [b7a3e1173] 2014-04-24 13:30:08 -0400
3002 Branch: REL8_4_STABLE [82fbd88a7] 2014-04-24 13:30:14 -0400
3007 Clear <structname>pg_stat_activity</>.<structfield>xact_start</>
3008 during <command>PREPARE TRANSACTION</> (Andres Freund)
3012 After the <command>PREPARE</>, the originating session is no longer in
3013 a transaction, so it should not continue to display a transaction
3019 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3020 Branch: master [6bdf4b9c7] 2014-07-15 13:24:07 -0400
3021 Branch: REL9_4_STABLE [e45229bb6] 2014-07-15 13:24:07 -0400
3022 Branch: REL9_3_STABLE [12c5bbdcb] 2014-07-15 13:24:07 -0400
3023 Branch: REL9_2_STABLE [b42f09fc8] 2014-07-15 13:24:07 -0400
3024 Branch: REL9_1_STABLE [a41dc7321] 2014-07-15 13:24:07 -0400
3025 Branch: REL9_0_STABLE [bf08864b8] 2014-07-15 13:24:07 -0400
3026 Branch: REL8_4_STABLE [4b767789d] 2014-07-15 13:24:07 -0400
3031 Fix <command>REASSIGN OWNED</> to not fail for text search objects
3032 (Álvaro Herrera)
3037 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3038 Branch: master [b7e51d9c0] 2014-06-27 14:43:46 -0400
3039 Branch: REL9_4_STABLE [9eecc8a7c] 2014-06-27 14:43:46 -0400
3040 Branch: REL9_3_STABLE [e86cfc4bb] 2014-06-27 14:43:45 -0400
3045 Prevent <structname>pg_class</>.<structfield>relminmxid</> values from
3046 going backwards during <command>VACUUM FULL</> (Álvaro Herrera)
3051 Author: Tom Lane <tgl@sss.pgh.pa.us>
3052 Branch: master Release: REL9_4_BR [41de93c53] 2014-04-30 13:26:26 -0400
3053 Branch: REL9_3_STABLE [0652d77fb] 2014-04-30 13:26:29 -0400
3058 Reduce indentation in rule/view dumps to improve readability and avoid
3059 excessive whitespace (Greg Stark, Tom Lane)
3063 This change reduces the amount of indentation applied to nested
3064 constructs, including some cases that the user probably doesn't think
3065 of as nested, such as UNION lists. Previously, deeply nested
3066 constructs were printed with an amount of whitespace growing as
3067 O(N^2), which created a performance problem and even risk of
3068 out-of-memory failures. Now the indentation is reduced modulo 40,
3069 which is initially odd to look at but seems to preserve readability
3070 better than simply limiting the indentation would do.
3071 Redundant parenthesization of UNION lists has been reduced as well.
3076 Author: Tom Lane <tgl@sss.pgh.pa.us>
3077 Branch: master Release: REL9_4_BR [91e16b980] 2014-05-01 20:22:37 -0400
3078 Branch: REL9_3_STABLE [e31193d49] 2014-05-01 20:22:39 -0400
3083 Fix dumping of rules/views when subsequent addition of a column has
3084 resulted in multiple input columns matching a <literal>USING</>
3085 specification (Tom Lane)
3090 Author: Tom Lane <tgl@sss.pgh.pa.us>
3091 Branch: master [9b35ddce9] 2014-07-19 14:28:52 -0400
3092 Branch: REL9_4_STABLE [f0a497e4c] 2014-07-19 14:29:00 -0400
3093 Branch: REL9_3_STABLE [b978ab5f6] 2014-07-19 14:29:05 -0400
3098 Repair view printing for some cases involving functions
3099 in <literal>FROM</> that return a composite type containing dropped
3105 Author: Tom Lane <tgl@sss.pgh.pa.us>
3106 Branch: master Release: REL9_4_BR [5d8117e1f] 2014-04-05 18:16:08 -0400
3107 Branch: REL9_3_STABLE [21aa47d01] 2014-04-05 18:16:11 -0400
3108 Branch: REL9_2_STABLE [53463e247] 2014-04-05 18:16:14 -0400
3109 Branch: REL9_1_STABLE [093d3da1d] 2014-04-05 18:16:17 -0400
3110 Branch: REL9_0_STABLE [5c26ab659] 2014-04-05 18:16:20 -0400
3111 Branch: REL8_4_STABLE [969735cf1] 2014-04-05 18:16:24 -0400
3116 Block signals during postmaster startup (Tom Lane)
3120 This ensures that the postmaster will properly clean up after itself
3121 if, for example, it receives <systemitem>SIGINT</> while still
3127 Author: Tom Lane <tgl@sss.pgh.pa.us>
3128 Branch: master Release: REL9_4_BR [fc752505a] 2014-04-02 17:11:24 -0400
3129 Branch: REL9_3_STABLE [65183fb78] 2014-04-02 17:11:27 -0400
3130 Branch: REL9_2_STABLE [029decfec] 2014-04-02 17:11:31 -0400
3131 Branch: REL9_1_STABLE [b7a424371] 2014-04-02 17:11:34 -0400
3136 Fix client host name lookup when processing <filename>pg_hba.conf</>
3137 entries that specify host names instead of IP addresses (Tom Lane)
3141 Ensure that reverse-DNS lookup failures are reported, instead of just
3142 silently not matching such entries. Also ensure that we make only
3143 one reverse-DNS lookup attempt per connection, not one per host name
3144 entry, which is what previously happened if the lookup attempts failed.
3149 Author: Tom Lane <tgl@sss.pgh.pa.us>
3150 Branch: master Release: REL9_4_BR [b203c57bb] 2014-04-04 22:03:35 -0400
3151 Branch: REL9_3_STABLE [7d1a0f585] 2014-04-04 22:03:38 -0400
3152 Branch: REL9_2_STABLE [6d25eb314] 2014-04-04 22:03:42 -0400
3157 Allow the root user to use <literal>postgres -C variable</> and
3158 <literal>postgres --describe-config</> (MauMau)
3162 The prohibition on starting the server as root does not need to extend
3163 to these operations, and relaxing it prevents failure
3164 of <application>pg_ctl</> in some scenarios.
3169 Author: Noah Misch <noah@leadboat.com>
3170 Branch: master [be76a6d39] 2014-06-14 09:41:13 -0400
3171 Branch: REL9_4_STABLE [6583a75b2] 2014-06-14 09:41:16 -0400
3172 Branch: REL9_3_STABLE [1442b426e] 2014-06-14 09:41:17 -0400
3173 Branch: REL9_2_STABLE [453a5d91d] 2014-06-14 09:41:17 -0400
3174 Branch: REL9_1_STABLE [481831b43] 2014-06-14 09:41:18 -0400
3175 Branch: REL9_0_STABLE [5f09c583c] 2014-06-14 09:41:18 -0400
3176 Branch: REL8_4_STABLE [95cefd30e] 2014-06-14 09:41:18 -0400
3181 Secure Unix-domain sockets of temporary postmasters started during
3182 <literal>make check</> (Noah Misch)
3186 Any local user able to access the socket file could connect as the
3187 server's bootstrap superuser, then proceed to execute arbitrary code as
3188 the operating-system user running the test, as we previously noted in
3189 CVE-2014-0067. This change defends against that risk by placing the
3190 server's socket in a temporary, mode 0700 subdirectory
3191 of <filename>/tmp</>. The hazard remains however on platforms where
3192 Unix sockets are not supported, notably Windows, because then the
3193 temporary postmaster must accept local TCP connections.
3197 A useful side effect of this change is to simplify
3198 <literal>make check</> testing in builds that
3199 override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values
3200 like <filename>/var/run/postgresql</> are often not writable by the
3201 build user, requiring workarounds that will no longer be necessary.
3206 Author: Tom Lane <tgl@sss.pgh.pa.us>
3207 Branch: master Release: REL9_4_BR [abe075dff] 2014-04-04 23:09:35 -0400
3208 Branch: REL9_3_STABLE [84520f91c] 2014-04-04 23:09:38 -0400
3209 Branch: REL9_2_STABLE [1a496a12b] 2014-04-04 23:09:41 -0400
3210 Branch: REL9_1_STABLE [af7738fe6] 2014-04-04 23:09:45 -0400
3211 Branch: REL9_0_STABLE [634056567] 2014-04-04 23:09:49 -0400
3216 Fix tablespace creation WAL replay to work on Windows (MauMau)
3221 Author: Bruce Momjian <bruce@momjian.us>
3222 Branch: master Release: REL9_4_BR [418093465] 2014-04-16 10:45:48 -0400
3223 Branch: REL9_3_STABLE [f716c3250] 2014-04-16 10:45:48 -0400
3224 Branch: REL9_2_STABLE [966f015b6] 2014-04-16 10:45:48 -0400
3225 Branch: REL9_1_STABLE [bed499ed1] 2014-04-16 10:45:48 -0400
3226 Branch: REL9_0_STABLE [a86b2daff] 2014-04-16 10:45:48 -0400
3231 Fix detection of socket creation failures on Windows (Bruce Momjian)
3236 Author: Tom Lane <tgl@sss.pgh.pa.us>
3237 Branch: master Release: REL9_4_BR [6862ca697] 2014-04-05 12:41:25 -0400
3238 Branch: REL9_3_STABLE [18db2150c] 2014-04-05 12:41:28 -0400
3239 Branch: REL9_2_STABLE [bdc3e95c2] 2014-04-05 12:41:31 -0400
3240 Branch: REL9_1_STABLE [cb11f4d8d] 2014-04-05 12:41:34 -0400
3241 Branch: REL9_0_STABLE [9500d8f89] 2014-04-05 12:41:38 -0400
3242 Branch: REL8_4_STABLE [30e434bdf] 2014-04-05 12:41:40 -0400
3247 On Windows, allow new sessions to absorb values of PGC_BACKEND
3248 parameters (such as <xref linkend="guc-log-connections">) from the
3249 configuration file (Amit Kapila)
3253 Previously, if such a parameter were changed in the file post-startup,
3254 the change would have no effect.
3259 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3260 Branch: master Release: REL9_4_BR [503de5462] 2014-04-30 10:35:52 +0300
3261 Branch: REL9_3_STABLE [8a90a39b4] 2014-04-30 10:35:46 +0300
3262 Branch: REL9_2_STABLE [e2558e016] 2014-04-30 10:36:31 +0300
3263 Branch: REL9_1_STABLE [94095e341] 2014-04-30 10:36:41 +0300
3264 Branch: REL9_0_STABLE [c06b7219a] 2014-04-30 10:38:32 +0300
3265 Branch: REL8_4_STABLE [e3f273ff6] 2014-04-30 10:39:03 +0300
3270 Properly quote executable path names on Windows (Nikhil Deshpande)
3274 This oversight could cause <application>initdb</>
3275 and <application>pg_upgrade</> to fail on Windows, if the installation
3276 path contained both spaces and <literal>@</> signs.
3281 Author: Tom Lane <tgl@sss.pgh.pa.us>
3282 Branch: master Release: REL9_4_BR [20561acf9] 2014-05-30 18:19:06 -0400
3283 Branch: REL9_3_STABLE [4f5f4da79] 2014-05-30 18:19:14 -0400
3284 Branch: REL9_2_STABLE [83ed4598b] 2014-05-30 18:18:20 -0400
3285 Branch: REL9_1_STABLE [a784a39c4] 2014-05-30 18:18:24 -0400
3286 Branch: REL9_0_STABLE [4f725bbc4] 2014-05-30 18:18:28 -0400
3287 Branch: REL8_4_STABLE [ae41bb4be] 2014-05-30 18:18:32 -0400
3292 Fix linking of <application>libpython</> on OS X (Tom Lane)
3296 The method we previously used can fail with the Python library
3297 supplied by Xcode 5.0 and later.
3302 Author: Tom Lane <tgl@sss.pgh.pa.us>
3303 Branch: master Release: REL9_4_BR [2f557167b] 2014-05-07 21:39:13 -0400
3304 Branch: REL9_3_STABLE [b4f9c93ce] 2014-05-07 21:38:38 -0400
3305 Branch: REL9_2_STABLE [f7672c8ce] 2014-05-07 21:38:41 -0400
3306 Branch: REL9_1_STABLE [86888054a] 2014-05-07 21:38:44 -0400
3307 Branch: REL9_0_STABLE [77e662827] 2014-05-07 21:38:47 -0400
3308 Branch: REL8_4_STABLE [664ac3de7] 2014-05-07 21:38:50 -0400
3313 Avoid buffer bloat in <application>libpq</> when the server
3314 consistently sends data faster than the client can absorb it
3315 (Shin-ichi Morita, Tom Lane)
3319 <application>libpq</> could be coerced into enlarging its input buffer
3320 until it runs out of memory (which would be reported misleadingly
3321 as <quote>lost synchronization with server</>). Under ordinary
3322 circumstances it's quite far-fetched that data could be continuously
3323 transmitted more quickly than the <function>recv()</> loop can
3324 absorb it, but this has been observed when the client is artificially
3325 slowed by scheduler constraints.
3330 Author: Magnus Hagander <magnus@hagander.net>
3331 Branch: master Release: REL9_4_BR [585bca393] 2014-04-16 18:58:10 +0200
3332 Branch: REL9_3_STABLE [cc269272c] 2014-04-16 18:58:55 +0200
3333 Branch: REL9_2_STABLE [b764080ee] 2014-04-16 18:59:11 +0200
3334 Branch: REL9_1_STABLE [c4bf15b9c] 2014-04-16 18:59:28 +0200
3335 Branch: REL9_0_STABLE [96752b02d] 2014-04-16 18:59:37 +0200
3336 Branch: REL8_4_STABLE [b4ae2e37d] 2014-04-16 18:59:48 +0200
3341 Ensure that LDAP lookup attempts in <application>libpq</> time out as
3342 intended (Laurenz Albe)
3347 Author: Michael Meskes <meskes@postgresql.org>
3348 Branch: master Release: REL9_4_BR [8d6a07fa0] 2014-05-06 13:09:51 +0200
3349 Branch: REL9_3_STABLE [b4eeb9d58] 2014-05-06 13:04:30 +0200
3350 Branch: REL9_2_STABLE [3a024c110] 2014-05-06 13:14:01 +0200
3351 Branch: REL9_1_STABLE [fb66e88cf] 2014-05-06 13:20:22 +0200
3352 Branch: REL9_0_STABLE [91c8c106f] 2014-05-06 13:24:13 +0200
3354 Author: Michael Meskes <meskes@postgresql.org>
3355 Branch: master Release: REL9_4_BR [f91796853] 2014-04-09 11:23:38 +0200
3356 Branch: REL9_3_STABLE [3b8fda676] 2014-04-09 11:38:40 +0200
3357 Branch: REL9_2_STABLE [2b3136de9] 2014-04-09 11:43:13 +0200
3358 Branch: REL9_1_STABLE [0de106836] 2014-04-09 12:04:33 +0200
3359 Branch: REL9_0_STABLE [0c2eb989e] 2014-04-09 12:12:32 +0200
3364 Fix <application>ecpg</> to do the right thing when an array
3365 of <type>char *</> is the target for a FETCH statement returning more
3366 than one row, as well as some other array-handling fixes
3372 Author: Tom Lane <tgl@sss.pgh.pa.us>
3373 Branch: master Release: REL9_4_BR [62215de29] 2014-03-29 17:34:00 -0400
3374 Branch: REL9_3_STABLE [3080bbaa9] 2014-03-29 17:34:03 -0400
3379 Fix <application>pg_dump</> to cope with a materialized view that
3380 depends on a table's primary key (Tom Lane)
3384 This occurs if the view's query relies on functional dependency to
3385 abbreviate a <literal>GROUP BY</> list. <application>pg_dump</> got
3386 sufficiently confused that it dumped the materialized view as a
3392 Author: Tom Lane <tgl@sss.pgh.pa.us>
3393 Branch: master Release: REL9_4_BR [19f2d6cda] 2014-03-18 10:38:25 -0400
3394 Branch: REL9_3_STABLE [63817f86b] 2014-03-18 10:38:38 -0400
3399 Fix parsing of <application>pg_dumpall</>'s <option>-i</> switch
3405 Author: Tom Lane <tgl@sss.pgh.pa.us>
3406 Branch: master [c81e63d85] 2014-06-12 20:14:32 -0400
3407 Branch: REL9_4_STABLE [c3c1401ca] 2014-06-12 20:14:36 -0400
3408 Branch: REL9_3_STABLE [a11577f47] 2014-06-12 20:14:39 -0400
3409 Branch: REL9_2_STABLE [ce7fc4fbb] 2014-06-12 20:14:46 -0400
3410 Branch: REL9_1_STABLE [294a48985] 2014-06-12 20:14:49 -0400
3411 Branch: REL9_0_STABLE [3fec825f9] 2014-06-12 20:14:52 -0400
3412 Branch: REL8_4_STABLE [6adddac8a] 2014-06-12 20:14:55 -0400
3417 Fix <application>pg_restore</>'s processing of old-style large object
3422 A direct-to-database restore from an archive file generated by a
3423 pre-9.0 version of <application>pg_dump</> would usually fail if the
3424 archive contained more than a few comments for large objects.
3429 Author: Bruce Momjian <bruce@momjian.us>
3430 Branch: master [3088cc370] 2014-07-07 13:24:08 -0400
3431 Branch: REL9_4_STABLE [f64fe2cbe] 2014-07-07 13:24:08 -0400
3432 Branch: REL9_3_STABLE [f1d7ff5bb] 2014-07-07 13:24:08 -0400
3433 Branch: REL9_2_STABLE [759c9fb63] 2014-07-07 13:24:08 -0400
3438 Fix <application>pg_upgrade</> for cases where the new server creates
3439 a TOAST table but the old version did not (Bruce Momjian)
3443 This rare situation would manifest as <quote>relation OID mismatch</>
3449 Author: Bruce Momjian <bruce@momjian.us>
3450 Branch: master [a61daa14d] 2014-07-02 15:29:38 -0400
3451 Branch: REL9_4_STABLE [b446a384b] 2014-07-02 15:29:38 -0400
3452 Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400
3454 Author: Tom Lane <tgl@sss.pgh.pa.us>
3455 Branch: master [78db307bb] 2014-07-21 11:41:53 -0400
3456 Branch: REL9_4_STABLE [d122387d7] 2014-07-21 11:42:00 -0400
3457 Branch: REL9_3_STABLE [e7984cca0] 2014-07-21 11:42:05 -0400
3462 In <application>pg_upgrade</>,
3463 preserve <structname>pg_database</>.<structfield>datminmxid</>
3464 and <structname>pg_class</>.<structfield>relminmxid</> values from the
3465 old cluster, or insert reasonable values when upgrading from pre-9.3;
3466 also defend against unreasonable values in the core server
3467 (Bruce Momjian, Álvaro Herrera, Tom Lane)
3471 These changes prevent scenarios in which autovacuum might insist on
3472 scanning the entire cluster's contents immediately upon starting the
3473 new cluster, or in which tracking of unfrozen MXID values might be
3474 disabled completely.
3479 Author: Tom Lane <tgl@sss.pgh.pa.us>
3480 Branch: master Release: REL9_4_BR [e416830a2] 2014-05-20 12:20:47 -0400
3481 Branch: REL9_3_STABLE [0266a9c78] 2014-05-20 12:20:52 -0400
3482 Branch: REL9_2_STABLE [31f579f09] 2014-05-20 12:20:57 -0400
3487 Prevent <filename>contrib/auto_explain</> from changing the output of
3488 a user's <command>EXPLAIN</> (Tom Lane)
3492 If <filename>auto_explain</> is active, it could cause
3493 an <literal>EXPLAIN (ANALYZE, TIMING OFF)</> command to nonetheless
3494 print timing information.
3499 Author: Joe Conway <mail@joeconway.com>
3500 Branch: master [1dde5782e] 2014-06-20 12:24:59 -0700
3501 Branch: REL9_4_STABLE [9d884a34c] 2014-06-20 12:26:26 -0700
3502 Branch: REL9_3_STABLE [b3a3f3d2f] 2014-06-20 12:26:43 -0700
3503 Branch: REL9_2_STABLE [3e2cfa42f] 2014-06-20 12:27:04 -0700
3508 Fix query-lifespan memory leak in <filename>contrib/dblink</>
3509 (MauMau, Joe Conway)
3514 Author: Bruce Momjian <bruce@momjian.us>
3515 Branch: master Release: REL9_4_BR [9fe55259f] 2014-04-17 12:37:53 -0400
3516 Branch: REL9_3_STABLE [fc72e94a1] 2014-04-17 12:37:53 -0400
3517 Branch: REL9_2_STABLE [ea8725a8b] 2014-04-17 12:37:53 -0400
3518 Branch: REL9_1_STABLE [fc02b87e2] 2014-04-17 12:37:53 -0400
3519 Branch: REL9_0_STABLE [a1b9c4630] 2014-04-17 12:37:53 -0400
3520 Branch: REL8_4_STABLE [df2e62603] 2014-04-17 12:37:53 -0400
3525 In <filename>contrib/pgcrypto</> functions, ensure sensitive
3526 information is cleared from stack variables before returning
3532 Author: Noah Misch <noah@leadboat.com>
3533 Branch: master [9d0826c59] 2014-06-30 16:59:19 -0400
3534 Branch: REL9_4_STABLE [37a4d3d70] 2014-06-30 16:59:44 -0400
3535 Branch: REL9_3_STABLE [f14e40852] 2014-06-30 17:00:22 -0400
3536 Branch: REL9_2_STABLE [f6d6b7b1e] 2014-06-30 17:00:40 -0400
3541 Prevent use of already-freed memory in
3542 <filename>contrib/pgstattuple</>'s <function>pgstat_heap()</>
3548 Author: Tom Lane <tgl@sss.pgh.pa.us>
3549 Branch: master Release: REL9_4_BR [c941aed96] 2014-05-29 13:51:02 -0400
3550 Branch: REL9_3_STABLE [961dd203a] 2014-05-29 13:51:05 -0400
3551 Branch: REL9_2_STABLE [2fb9fb661] 2014-05-29 13:51:09 -0400
3552 Branch: REL9_1_STABLE [3606754da] 2014-05-29 13:51:12 -0400
3553 Branch: REL9_0_STABLE [b2f6754d2] 2014-05-29 13:51:15 -0400
3554 Branch: REL8_4_STABLE [fd785441f] 2014-05-29 13:51:18 -0400
3559 In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID
3560 library across calls (Tom Lane)
3564 This improves the efficiency of UUID generation and reduces the amount
3565 of entropy drawn from <filename>/dev/urandom</>, on platforms that
3571 Author: Tom Lane <tgl@sss.pgh.pa.us>
3572 Branch: master [b1864fabf] 2014-07-19 15:00:50 -0400
3573 Branch: REL9_4_STABLE [e5ea60e80] 2014-07-19 15:01:05 -0400
3574 Branch: REL9_3_STABLE [bd5458f52] 2014-07-19 15:01:12 -0400
3575 Branch: REL9_2_STABLE [7d09e4854] 2014-07-19 15:01:18 -0400
3576 Branch: REL9_1_STABLE [40ccb6530] 2014-07-19 15:01:28 -0400
3577 Branch: REL9_0_STABLE [7659b6913] 2014-07-19 15:01:38 -0400
3578 Branch: REL8_4_STABLE [c51da696b] 2014-07-19 15:01:45 -0400
3583 Update time zone data files to <application>tzdata</> release 2014e
3584 for DST law changes in Crimea, Egypt, and Morocco.
3593 <sect1 id="release-9-3-4">
3594 <title>Release 9.3.4</title>
3597 <title>Release Date</title>
3598 <simpara>2014-03-20</simpara>
3602 This release contains a variety of fixes from 9.3.3.
3603 For information about new features in the 9.3 major release, see
3604 <xref linkend="release-9-3">.
3608 <title>Migration to Version 9.3.4</title>
3611 A dump/restore is not required for those running 9.3.X.
3615 However, the error fixed in the first changelog entry below could have
3616 resulted in corrupt data on standby servers. It may be prudent to
3617 reinitialize standby servers from fresh base backups after installing
3622 Also, if you are upgrading from a version earlier than 9.3.3,
3623 see <xref linkend="release-9-3-3">.
3629 <title>Changes</title>
3634 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3635 Branch: master [6bfa88acd] 2014-02-27 11:13:39 -0300
3636 Branch: REL9_3_STABLE [9a57858f1] 2014-02-27 11:23:24 -0300
3641 Fix WAL replay of locking an already-updated tuple (Andres Freund,
3642 Álvaro Herrera)
3646 This error caused updated rows to not be found by index scans, resulting
3647 in inconsistent query results depending on whether an index scan was
3648 used. Subsequent processing could result in constraint violations,
3649 since the previously updated row would not be found by later index
3650 searches, thus possibly allowing conflicting rows to be inserted.
3651 Since this error is in WAL replay, it would only manifest during crash
3652 recovery or on standby servers. The improperly-replayed case most
3653 commonly arises when a table row that is referenced by a foreign-key
3654 constraint is updated concurrently with creation of a referencing row.
3659 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3660 Branch: master [fecfc2b91] 2014-03-12 10:04:57 +0200
3661 Branch: REL9_3_STABLE [4738cc356] 2014-03-12 10:05:46 +0200
3662 Branch: REL9_2_STABLE [91f932cf4] 2014-03-12 10:07:22 +0200
3663 Branch: REL9_1_STABLE [63e59c259] 2014-03-12 10:09:22 +0200
3664 Branch: REL9_0_STABLE [9954e1f03] 2014-03-12 10:09:43 +0200
3665 Branch: REL8_4_STABLE [e2bccdfcc] 2014-03-12 10:10:04 +0200
3670 Restore GIN metapages unconditionally to avoid torn-page risk
3671 (Heikki Linnakangas)
3675 Although this oversight could theoretically result in a corrupted
3676 index, it is unlikely to have caused any problems in practice, since
3677 the active part of a GIN metapage is smaller than a standard 512-byte
3683 Author: Tom Lane <tgl@sss.pgh.pa.us>
3684 Branch: master [7bae0284e] 2014-03-13 12:02:54 -0400
3685 Branch: REL9_3_STABLE [0d11fed8e] 2014-03-13 12:02:56 -0400
3686 Branch: REL9_2_STABLE [bbe9621a9] 2014-03-13 12:03:00 -0400
3687 Branch: REL9_1_STABLE [7bfdf10f5] 2014-03-13 12:03:03 -0400
3688 Branch: REL9_0_STABLE [7aea1050e] 2014-03-13 12:03:07 -0400
3693 Avoid race condition in checking transaction commit status during
3694 receipt of a <command>NOTIFY</> message (Marko Tiikkaja)
3698 This prevents a scenario wherein a sufficiently fast client might
3699 respond to a notification before database updates made by the
3700 notifier have become visible to the recipient.
3705 Author: Tom Lane <tgl@sss.pgh.pa.us>
3706 Branch: master [bf4052faa] 2014-03-06 11:37:02 -0500
3707 Branch: REL9_3_STABLE [3973034e6] 2014-03-06 11:37:04 -0500
3712 Allow materialized views to be referenced in <command>UPDATE</>
3713 and <command>DELETE</> commands (Michael Paquier)
3717 Previously such queries failed with a complaint about not being able
3718 to lock rows in the materialized view.
3723 Author: Tom Lane <tgl@sss.pgh.pa.us>
3724 Branch: master [9662143f0] 2014-03-01 15:20:56 -0500
3725 Branch: REL9_3_STABLE [f5f21315d] 2014-03-01 15:21:00 -0500
3726 Branch: REL9_2_STABLE [03e6423fc] 2014-03-01 15:21:04 -0500
3727 Branch: REL9_1_STABLE [a9eb4924a] 2014-03-01 15:21:07 -0500
3728 Branch: REL9_0_STABLE [43af0e8c6] 2014-03-01 15:21:11 -0500
3729 Branch: REL8_4_STABLE [b6e143458] 2014-03-01 15:21:13 -0500
3734 Allow regular-expression operators to be terminated early by query
3735 cancel requests (Tom Lane)
3739 This prevents scenarios wherein a pathological regular expression
3740 could lock up a server process uninterruptably for a long time.
3745 Author: Tom Lane <tgl@sss.pgh.pa.us>
3746 Branch: master [a222f7fda] 2014-02-18 12:44:20 -0500
3747 Branch: REL9_3_STABLE [0aaa42241] 2014-02-18 12:44:24 -0500
3748 Branch: REL9_2_STABLE [d7cd6a9d5] 2014-02-18 12:44:27 -0500
3749 Branch: REL9_1_STABLE [e6f7fe983] 2014-02-18 12:44:30 -0500
3750 Branch: REL9_0_STABLE [19d66ab05] 2014-02-18 12:44:33 -0500
3751 Branch: REL8_4_STABLE [dd378dd1e] 2014-02-18 12:44:36 -0500
3756 Remove incorrect code that tried to allow <literal>OVERLAPS</> with
3757 single-element row arguments (Joshua Yanovski)
3761 This code never worked correctly, and since the case is neither
3762 specified by the SQL standard nor documented, it seemed better to
3763 remove it than fix it.
3768 Author: Tom Lane <tgl@sss.pgh.pa.us>
3769 Branch: master [7c3187494] 2014-03-06 19:31:05 -0500
3770 Branch: REL9_3_STABLE [f557826f8] 2014-03-06 19:31:09 -0500
3771 Branch: REL9_2_STABLE [5ec41e345] 2014-03-06 19:31:12 -0500
3772 Branch: REL9_1_STABLE [f3e3f6c5b] 2014-03-06 19:31:16 -0500
3773 Branch: REL9_0_STABLE [bed1259e5] 2014-03-06 19:31:19 -0500
3774 Branch: REL8_4_STABLE [f043bddfe] 2014-03-06 19:31:22 -0500
3779 Avoid getting more than <literal>AccessShareLock</> when de-parsing a
3780 rule or view (Dean Rasheed)
3784 This oversight resulted in <application>pg_dump</> unexpectedly
3785 acquiring <literal>RowExclusiveLock</> locks on tables mentioned as
3786 the targets of <literal>INSERT</>/<literal>UPDATE</>/<literal>DELETE</>
3787 commands in rules. While usually harmless, that could interfere with
3788 concurrent transactions that tried to acquire, for example,
3789 <literal>ShareLock</> on those tables.
3794 Author: Tom Lane <tgl@sss.pgh.pa.us>
3795 Branch: master [fccebe421] 2014-02-25 16:04:06 -0500
3796 Branch: REL9_3_STABLE [4162a55c7] 2014-02-25 16:04:09 -0500
3797 Branch: REL9_2_STABLE [00283cae1] 2014-02-25 16:04:12 -0500
3798 Branch: REL9_1_STABLE [3e2db4c80] 2014-02-25 16:04:16 -0500
3799 Branch: REL9_0_STABLE [1e0fb6a2c] 2014-02-25 16:04:20 -0500
3804 Improve performance of index endpoint probes during planning (Tom Lane)
3808 This change fixes a significant performance problem that occurred
3809 when there were many not-yet-committed rows at the end of the index,
3810 which is a common situation for indexes on sequentially-assigned
3811 values such as timestamps or sequence-generated identifiers.
3816 Author: Tom Lane <tgl@sss.pgh.pa.us>
3817 Branch: master [77585bce0] 2014-02-21 17:10:46 -0500
3818 Branch: REL9_3_STABLE [e8655a77f] 2014-02-21 17:10:49 -0500
3823 Use non-default selectivity estimates for
3824 <literal><replaceable>value</> IN (<replaceable>list</>)</literal> and
3825 <literal><replaceable>value</> <replaceable>operator</> ANY
3826 (<replaceable>array</>)</literal>
3827 expressions when the righthand side is a stable expression (Tom Lane)
3832 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3833 Branch: master [2b4f2ab33] 2014-03-05 13:03:29 -0300
3834 Branch: REL9_3_STABLE [13ea43ab8] 2014-03-05 13:03:29 -0300
3839 Remove the correct per-database statistics file during <command>DROP
3840 DATABASE</> (Tomas Vondra)
3844 This fix prevents a permanent leak of statistics file space.
3845 Users who have done many <command>DROP DATABASE</> commands since
3846 upgrading to <productname>PostgreSQL</> 9.3 may wish to check their
3847 statistics directory and delete statistics files that do not
3848 correspond to any existing database. Please note
3849 that <filename>db_0.stat</> should not be removed.
3854 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3855 Branch: master [94ae6ba74] 2014-03-06 21:38:51 +0200
3856 Branch: REL9_3_STABLE [dcd1131c8] 2014-03-06 21:40:50 +0200
3861 Fix <application>walsender</> ping logic to avoid inappropriate
3862 disconnects under continuous load (Andres Freund, Heikki Linnakangas)
3866 <application>walsender</> failed to send ping messages to the client
3867 if it was constantly busy sending WAL data; but it expected to see
3868 ping responses despite that, and would therefore disconnect
3869 once <xref linkend="guc-wal-sender-timeout"> elapsed.
3874 Author: Fujii Masao <fujii@postgresql.org>
3875 Branch: master [5c6d9fc4b] 2014-03-17 20:37:50 +0900
3876 Branch: REL9_3_STABLE [385723405] 2014-03-17 20:41:12 +0900
3877 Branch: REL9_2_STABLE [7899aa356] 2014-03-17 20:41:52 +0900
3878 Branch: REL9_1_STABLE [65e8dbb18] 2014-03-17 20:42:35 +0900
3883 Fix <application>walsender</>'s failure to shut down cleanly when client
3884 is <application>pg_receivexlog</> (Fujii Masao)
3889 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3890 Branch: master [956685f82] 2014-03-05 14:48:14 +0200
3891 Branch: REL9_3_STABLE [a5363a696] 2014-03-05 14:46:56 +0200
3892 Branch: REL9_2_STABLE [e7ec05562] 2014-03-05 14:45:55 +0200
3897 Check WAL level and hot standby parameters correctly when doing crash
3898 recovery that will be followed by archive recovery (Heikki Linnakangas)
3903 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3904 Branch: master [af246c37c] 2014-03-05 13:51:19 +0200
3905 Branch: REL9_3_STABLE [2cd72ba42] 2014-03-05 13:52:21 +0200
3906 Branch: REL9_2_STABLE [931dc26b0] 2014-03-05 13:57:32 +0200
3907 Branch: REL9_1_STABLE [7552d3d1a] 2014-03-05 13:58:14 +0200
3908 Branch: REL9_0_STABLE [4521cc850] 2014-03-05 13:58:22 +0200
3913 Fix test to see if hot standby connections can be allowed immediately
3914 after a crash (Heikki Linnakangas)
3919 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3920 Branch: REL9_3_STABLE [5a7e75849] 2014-02-20 10:46:54 +0200
3925 Add read-only <xref linkend="guc-data-checksums"> parameter to
3926 display whether page checksums are enabled (Heikki Linnakangas)
3930 Without this parameter, determining the state of checksum
3931 processing was difficult.
3936 Author: Tom Lane <tgl@sss.pgh.pa.us>
3937 Branch: master [6c461cb92] 2014-03-13 20:59:42 -0400
3938 Branch: REL9_3_STABLE [41bd2cf55] 2014-03-13 20:59:45 -0400
3939 Branch: REL9_2_STABLE [7a289bb6d] 2014-03-13 20:59:48 -0400
3940 Branch: REL9_1_STABLE [f16ca9755] 2014-03-13 20:59:51 -0400
3941 Branch: REL9_0_STABLE [dad55e1e9] 2014-03-13 20:59:55 -0400
3942 Branch: REL8_4_STABLE [172c53e92] 2014-03-13 20:59:57 -0400
3947 Prevent interrupts while reporting non-<literal>ERROR</> messages
3952 This guards against rare server-process freezeups due to recursive
3953 entry to <function>syslog()</>, and perhaps other related problems.
3958 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3959 Branch: master [bd1154ede] 2014-03-16 23:22:21 -0300
3960 Branch: REL9_3_STABLE [60829079d] 2014-03-16 23:22:22 -0300
3961 Branch: REL9_2_STABLE [ba5946e86] 2014-03-16 23:22:22 -0300
3962 Branch: REL9_1_STABLE [f84997c7e] 2014-03-16 23:22:22 -0300
3967 Fix memory leak in PL/Perl when returning a composite result, including
3968 multiple-OUT-parameter cases (Alex Hunsaker)
3973 Author: Tom Lane <tgl@sss.pgh.pa.us>
3974 Branch: master [e85a5ffba] 2014-03-10 15:47:40 -0400
3975 Branch: REL9_3_STABLE [f64f4c370] 2014-03-10 15:47:09 -0400
3976 Branch: REL9_2_STABLE [b315b767f] 2014-03-10 15:47:13 -0400
3981 Fix tracking of <application>psql</> script line numbers
3982 during <literal>\copy</> from out-of-line data
3983 (Kumar Rajeev Rastogi, Amit Khandekar)
3987 <literal>\copy ... from</> incremented the script file line number
3988 for each data line, even if the data was not coming from the script
3989 file. This mistake resulted in wrong line numbers being reported for
3990 any errors occurring later in the same script file.
3995 Author: Tom Lane <tgl@sss.pgh.pa.us>
3996 Branch: master [83204e100] 2014-03-07 16:36:40 -0500
3997 Branch: REL9_3_STABLE [73f0483fd] 2014-03-07 16:36:50 -0500
4002 Fix <application>contrib/postgres_fdw</> to handle multiple join
4003 conditions properly (Tom Lane)
4007 This oversight could result in sending <literal>WHERE</> clauses to
4008 the remote server for execution even though the clauses are not known
4009 to have the same semantics on the remote server (for example, clauses
4010 that use non-built-in operators). The query might succeed anyway,
4011 but it could also fail with errors from the remote server, or worse
4012 give silently wrong answers.
4017 Author: Magnus Hagander <magnus@hagander.net>
4018 Branch: master [7f3e17b48] 2014-02-18 14:45:58 +0100
4019 Branch: REL9_3_STABLE [b88ecb002] 2014-02-18 14:49:41 +0100
4020 Branch: REL9_2_STABLE [062deb313] 2014-02-18 14:50:19 +0100
4021 Branch: REL9_1_STABLE [fae12f331] 2014-03-16 11:46:20 +0100
4022 Branch: REL9_0_STABLE [665515539] 2014-03-16 11:47:37 +0100
4027 Prevent intermittent <quote>could not reserve shared memory region</>
4028 failures on recent Windows versions (MauMau)
4033 Author: Tom Lane <tgl@sss.pgh.pa.us>
4034 Branch: master [aba7f5677] 2014-03-15 13:36:07 -0400
4035 Branch: REL9_3_STABLE [b5de16997] 2014-03-15 13:36:24 -0400
4036 Branch: REL9_2_STABLE [f2063b379] 2014-03-15 13:36:32 -0400
4037 Branch: REL9_1_STABLE [2df1bf21c] 2014-03-15 13:36:41 -0400
4038 Branch: REL9_0_STABLE [0033f5324] 2014-03-15 13:36:49 -0400
4039 Branch: REL8_4_STABLE [6e6c2c2e1] 2014-03-15 13:36:57 -0400
4044 Update time zone data files to <application>tzdata</> release 2014a
4045 for DST law changes in Fiji and Turkey, plus historical changes in
4055 <sect1 id="release-9-3-3">
4056 <title>Release 9.3.3</title>
4059 <title>Release Date</title>
4060 <simpara>2014-02-20</simpara>
4064 This release contains a variety of fixes from 9.3.2.
4065 For information about new features in the 9.3 major release, see
4066 <xref linkend="release-9-3">.
4070 <title>Migration to Version 9.3.3</title>
4073 A dump/restore is not required for those running 9.3.X.
4077 However, several of the issues corrected in this release could have
4078 resulted in corruption of foreign-key constraints; that is, there
4079 might now be referencing rows for which there is no matching row in
4080 the referenced table. It may be worthwhile to recheck such
4081 constraints after installing this update. The simplest way to do that
4082 is to drop and recreate each suspect constraint; however, that will
4083 require taking an exclusive lock on both tables, so it is unlikely to
4084 be acceptable in production databases. Alternatively, you can do a
4085 manual join query between the two tables to look for unmatched rows.
4089 Note also the requirement for replication standby servers to be
4090 upgraded before their master server is upgraded.
4094 Also, if you are upgrading from a version earlier than 9.3.2,
4095 see <xref linkend="release-9-3-2">.
4101 <title>Changes</title>
4106 Author: Noah Misch <noah@leadboat.com>
4107 Branch: master [fea164a72] 2014-02-17 09:33:31 -0500
4108 Branch: REL9_3_STABLE [475a1fbc4] 2014-02-17 09:33:32 -0500
4109 Branch: REL9_2_STABLE [15a8f97b9] 2014-02-17 09:33:33 -0500
4110 Branch: REL9_1_STABLE [5d320a16c] 2014-02-17 09:33:33 -0500
4111 Branch: REL9_0_STABLE [789063697] 2014-02-17 09:33:37 -0500
4112 Branch: REL8_4_STABLE [ff35425c8] 2014-02-17 09:33:38 -0500
4117 Shore up <literal>GRANT ... WITH ADMIN OPTION</> restrictions
4122 Granting a role without <literal>ADMIN OPTION</> is supposed to
4123 prevent the grantee from adding or removing members from the granted
4124 role, but this restriction was easily bypassed by doing <literal>SET
4125 ROLE</> first. The security impact is mostly that a role member can
4126 revoke the access of others, contrary to the wishes of his grantor.
4127 Unapproved role member additions are a lesser concern, since an
4128 uncooperative role member could provide most of his rights to others
4129 anyway by creating views or <literal>SECURITY DEFINER</> functions.
4135 Author: Noah Misch <noah@leadboat.com>
4136 Branch: master [537cbd35c] 2014-02-17 09:33:31 -0500
4137 Branch: REL9_3_STABLE [fc4a04a3c] 2014-02-17 09:33:32 -0500
4138 Branch: REL9_2_STABLE [1d701d28a] 2014-02-17 09:33:33 -0500
4139 Branch: REL9_1_STABLE [23b5a85e6] 2014-02-17 09:33:36 -0500
4140 Branch: REL9_0_STABLE [c0ac4c75f] 2014-02-17 09:33:37 -0500
4141 Branch: REL8_4_STABLE [823b9dc25] 2014-02-17 09:33:38 -0500
4146 Prevent privilege escalation via manual calls to PL validator
4147 functions (Andres Freund)
4151 The primary role of PL validator functions is to be called implicitly
4152 during <command>CREATE FUNCTION</>, but they are also normal SQL
4153 functions that a user can call explicitly. Calling a validator on
4154 a function actually written in some other language was not checked
4155 for and could be exploited for privilege-escalation purposes.
4156 The fix involves adding a call to a privilege-checking function in
4157 each validator function. Non-core procedural languages will also
4158 need to make this change to their own validator functions, if any.
4164 Author: Robert Haas <rhaas@postgresql.org>
4165 Branch: master [5f173040e] 2014-02-17 09:33:31 -0500
4166 Branch: REL9_3_STABLE [e1e0a4d79] 2014-02-17 09:33:32 -0500
4167 Branch: REL9_2_STABLE [820ab11fb] 2014-02-17 09:33:33 -0500
4168 Branch: REL9_1_STABLE [b5c574399] 2014-02-17 09:33:36 -0500
4169 Branch: REL9_0_STABLE [43d4e965e] 2014-02-17 09:33:37 -0500
4170 Branch: REL8_4_STABLE [e46476133] 2014-02-17 09:33:38 -0500
4175 Avoid multiple name lookups during table and index DDL
4176 (Robert Haas, Andres Freund)
4180 If the name lookups come to different conclusions due to concurrent
4181 activity, we might perform some parts of the DDL on a different table
4182 than other parts. At least in the case of <command>CREATE INDEX</>,
4183 this can be used to cause the permissions checks to be performed
4184 against a different table than the index creation, allowing for a
4185 privilege escalation attack.
4191 Author: Noah Misch <noah@leadboat.com>
4192 Branch: master [4318daecc] 2014-02-17 09:33:31 -0500
4193 Branch: REL9_3_STABLE [e4a4fa223] 2014-02-17 09:33:32 -0500
4194 Branch: REL9_2_STABLE [f416622be] 2014-02-17 09:33:33 -0500
4195 Branch: REL9_1_STABLE [6a10e57b0] 2014-02-17 09:33:37 -0500
4196 Branch: REL9_0_STABLE [b9c3bb1b3] 2014-02-17 09:33:38 -0500
4197 Branch: REL8_4_STABLE [d0ed1a6c0] 2014-02-17 09:33:39 -0500
4202 Prevent buffer overrun with long datetime strings (Noah Misch)
4206 The <literal>MAXDATELEN</> constant was too small for the longest
4207 possible value of type <type>interval</>, allowing a buffer overrun
4208 in <function>interval_out()</>. Although the datetime input
4209 functions were more careful about avoiding buffer overrun, the limit
4210 was short enough to cause them to reject some valid inputs, such as
4211 input containing a very long timezone name. The <application>ecpg</>
4212 library contained these vulnerabilities along with some of its own.
4218 Author: Noah Misch <noah@leadboat.com>
4219 Branch: master [31400a673] 2014-02-17 09:33:31 -0500
4220 Branch: REL9_3_STABLE [7a362a176] 2014-02-17 09:33:32 -0500
4221 Branch: REL9_2_STABLE [12bbce15d] 2014-02-17 09:33:33 -0500
4222 Branch: REL9_1_STABLE [0b7026d96] 2014-02-17 09:33:37 -0500
4223 Branch: REL9_0_STABLE [2c3203e18] 2014-02-17 09:33:38 -0500
4224 Branch: REL8_4_STABLE [98be8a6ea] 2014-02-17 09:33:39 -0500
4229 Prevent buffer overrun due to integer overflow in size calculations
4230 (Noah Misch, Heikki Linnakangas)
4234 Several functions, mostly type input functions, calculated an
4235 allocation size without checking for overflow. If overflow did
4236 occur, a too-small buffer would be allocated and then written past.
4242 Author: Tom Lane <tgl@sss.pgh.pa.us>
4243 Branch: master [01824385a] 2014-02-17 11:20:21 -0500
4244 Branch: REL9_3_STABLE [e3208fec3] 2014-02-17 11:20:24 -0500
4245 Branch: REL9_2_STABLE [655b665f7] 2014-02-17 11:20:27 -0500
4246 Branch: REL9_1_STABLE [4741e3160] 2014-02-17 11:20:31 -0500
4247 Branch: REL9_0_STABLE [45bf2404a] 2014-02-17 11:20:35 -0500
4248 Branch: REL8_4_STABLE [69d2bc14a] 2014-02-17 11:20:38 -0500
4253 Prevent overruns of fixed-size buffers
4254 (Peter Eisentraut, Jozef Mlich)
4258 Use <function>strlcpy()</> and related functions to provide a clear
4259 guarantee that fixed-size buffers are not overrun. Unlike the
4260 preceding items, it is unclear whether these cases really represent
4261 live issues, since in most cases there appear to be previous
4262 constraints on the size of the input string. Nonetheless it seems
4263 prudent to silence all Coverity warnings of this type.
4269 Author: Tom Lane <tgl@sss.pgh.pa.us>
4270 Branch: master [01824385a] 2014-02-17 11:20:21 -0500
4271 Branch: REL9_3_STABLE [e3208fec3] 2014-02-17 11:20:24 -0500
4272 Branch: REL9_2_STABLE [655b665f7] 2014-02-17 11:20:27 -0500
4273 Branch: REL9_1_STABLE [4741e3160] 2014-02-17 11:20:31 -0500
4274 Branch: REL9_0_STABLE [45bf2404a] 2014-02-17 11:20:35 -0500
4275 Branch: REL8_4_STABLE [69d2bc14a] 2014-02-17 11:20:38 -0500
4280 Avoid crashing if <function>crypt()</> returns NULL (Honza Horak,
4285 There are relatively few scenarios in which <function>crypt()</>
4286 could return NULL, but <filename>contrib/chkpass</> would crash
4287 if it did. One practical case in which this could be an issue is
4288 if <application>libc</> is configured to refuse to execute unapproved
4289 hashing algorithms (e.g., <quote>FIPS mode</>).
4295 Author: Tom Lane <tgl@sss.pgh.pa.us>
4296 Branch: master [6ef325429] 2014-02-17 11:24:32 -0500
4297 Branch: REL9_3_STABLE [1ec5988f3] 2014-02-17 11:24:38 -0500
4298 Branch: REL9_2_STABLE [ff3d533e5] 2014-02-17 11:24:42 -0500
4299 Branch: REL9_1_STABLE [800a3744b] 2014-02-17 11:24:45 -0500
4300 Branch: REL9_0_STABLE [369c229d2] 2014-02-17 11:24:48 -0500
4301 Branch: REL8_4_STABLE [f58663ab1] 2014-02-17 11:24:51 -0500
4306 Document risks of <literal>make check</> in the regression testing
4307 instructions (Noah Misch, Tom Lane)
4311 Since the temporary server started by <literal>make check</>
4312 uses <quote>trust</> authentication, another user on the same machine
4313 could connect to it as database superuser, and then potentially
4314 exploit the privileges of the operating-system user who started the
4315 tests. A future release will probably incorporate changes in the
4316 testing procedure to prevent this risk, but some public discussion is
4317 needed first. So for the moment, just warn people against using
4318 <literal>make check</> when there are untrusted users on the
4325 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4326 Branch: master [3b97e6823] 2013-12-16 11:29:50 -0300
4327 Branch: REL9_3_STABLE [8e9a16ab8] 2013-12-16 11:29:51 -0300
4332 Rework tuple freezing protocol
4333 (Álvaro Herrera, Andres Freund)
4337 The logic for tuple freezing was unable to handle some cases involving
4339 <link linkend="vacuum-for-multixact-wraparound"><firstterm>multixact</>
4340 IDs</link>, with the practical effect that shared row-level locks
4341 might be forgotten once old enough.
4345 Fixing this required changing the WAL record format for tuple
4346 freezing. While this is no issue for standalone servers, when using
4347 replication it means that <emphasis>standby servers must be upgraded
4348 to 9.3.3 or later before their masters are</>. An older standby will
4349 be unable to interpret freeze records generated by a newer master, and
4350 will fail with a PANIC message. (In such a case, upgrading the
4351 standby should be sufficient to let it resume execution.)
4356 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4357 Branch: master [801c2dc72] 2014-02-13 19:36:31 -0300
4358 Branch: REL9_3_STABLE [fb47de2be] 2014-02-13 19:30:30 -0300
4363 Create separate GUC parameters to control multixact freezing
4364 (Álvaro Herrera)
4368 9.3 requires multixact tuple labels to be frozen before
4369 they grow too old, in the same fashion as plain transaction ID labels
4370 have been frozen for some time. Previously, the transaction ID
4371 freezing parameters were used for multixact IDs too; but since
4372 the consumption rates of transaction IDs and multixact IDs can be
4373 quite different, this did not work very well. Introduce new settings
4374 <xref linkend="guc-vacuum-multixact-freeze-min-age">,
4375 <xref linkend="guc-vacuum-multixact-freeze-table-age">, and
4376 <xref linkend="guc-autovacuum-multixact-freeze-max-age">
4377 to control when to freeze multixacts.
4382 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4383 Branch: master [11ac4c73c] 2013-12-18 13:45:51 -0300
4384 Branch: REL9_3_STABLE [db1014bc4] 2013-12-18 13:31:27 -0300
4389 Account for remote row locks propagated by local updates
4390 (Álvaro Herrera)
4394 If a row was locked by transaction A, and transaction B updated it,
4395 the new version of the row created by B would be locked by A, yet
4396 visible only to B. If transaction B then again updated the row, A's
4397 lock wouldn't get checked, thus possibly allowing B to complete when
4398 it shouldn't. This case is new in 9.3 since prior versions did not
4399 have any types of row locking that would permit another transaction
4400 to update the row at all.
4404 This oversight could allow referential integrity checks to give false
4405 positives (for instance, allow deletes that should have been rejected).
4406 Applications using the new commands <literal>SELECT FOR KEY SHARE</>
4407 and <literal>SELECT FOR NO KEY UPDATE</> might also have suffered
4408 locking failures of this kind.
4413 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4414 Branch: master [07aeb1fec] 2013-12-05 12:21:55 -0300
4415 Branch: REL9_3_STABLE [c6cd27e36] 2013-12-05 12:21:55 -0300
4420 Prevent <quote>forgetting</> valid row locks when one of several
4421 holders of a row lock aborts (Álvaro Herrera)
4425 This was yet another mechanism by which a shared row lock could be
4426 lost, thus possibly allowing updates that should have been prevented
4427 by foreign-key constraints.
4432 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4433 Branch: master [312bde3d4] 2013-12-05 17:47:51 -0300
4434 Branch: REL9_3_STABLE [2dcc48c35] 2013-12-05 17:47:51 -0300
4439 Fix incorrect logic during update chain locking
4440 (Álvaro Herrera)
4444 This mistake could result in spurious <quote>could not serialize access
4445 due to concurrent update</> errors in <literal>REPEATABLE READ</>
4446 and <literal>SERIALIZABLE</> transaction isolation modes.
4451 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4452 Branch: master [a50d97625] 2014-01-02 18:17:07 -0300
4453 Branch: REL9_3_STABLE [03db79459] 2014-01-02 18:17:07 -0300
4458 Handle wraparound correctly during extension or truncation
4459 of <filename>pg_multixact/members</>
4460 (Andres Freund, Álvaro Herrera)
4465 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4466 Branch: master [638cf09e7] 2014-01-02 18:17:29 -0300
4467 Branch: REL9_3_STABLE [948a3dfbb] 2014-01-02 18:17:29 -0300
4472 Fix handling of 5-digit filenames in <filename>pg_multixact/members</>
4473 (Álvaro Herrera)
4477 As of 9.3, these names can be more than 4 digits, but the directory
4478 cleanup code ignored such files.
4483 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4484 Branch: master [d881dd623] 2013-12-13 17:16:25 -0300
4485 Branch: REL9_3_STABLE [0bc00363b] 2013-12-13 17:16:25 -0300
4490 Improve performance of multixact cache code
4491 (Álvaro Herrera)
4496 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4497 Branch: master [13aa62443] 2013-12-19 16:53:49 -0300
4498 Branch: REL9_3_STABLE [85d3b3c3a] 2013-12-19 16:39:59 -0300
4503 Optimize updating a row that's already locked by the same transaction
4504 (Andres Freund, Álvaro Herrera)
4508 This fixes a performance regression from pre-9.3 versions when doing
4509 <literal>SELECT FOR UPDATE</> followed by <literal>UPDATE/DELETE</>.
4514 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4515 Branch: master [4d894b41c] 2014-02-14 15:15:09 +0200
4516 Branch: REL9_3_STABLE [762bd379a] 2014-02-14 15:18:34 +0200
4521 During archive recovery, prefer highest timeline number when WAL
4522 segments with the same ID are present in both the archive
4523 and <filename>pg_xlog/</> (Kyotaro Horiguchi)
4527 Previously, not-yet-archived segments could get ignored during
4528 recovery. This reverts an undesirable behavioral change in 9.3.0
4529 back to the way things worked pre-9.3.
4534 Author: Tom Lane <tgl@sss.pgh.pa.us>
4535 Branch: master [6f2aead1f] 2014-02-12 14:52:16 -0500
4536 Branch: REL9_3_STABLE [7190f7a34] 2014-02-12 14:52:20 -0500
4537 Branch: REL9_2_STABLE [bc7ab301a] 2014-02-12 14:52:23 -0500
4538 Branch: REL9_1_STABLE [a69cc9b2c] 2014-02-12 14:52:26 -0500
4539 Branch: REL9_0_STABLE [7fedd79b7] 2014-02-12 14:52:29 -0500
4540 Branch: REL8_4_STABLE [9620fede9] 2014-02-12 14:52:32 -0500
4545 Fix possible mis-replay of WAL records when some segments of a
4546 relation aren't full size (Greg Stark, Tom Lane)
4550 The WAL update could be applied to the wrong page, potentially many
4551 pages past where it should have been. Aside from corrupting data,
4552 this error has been observed to result in significant <quote>bloat</>
4553 of standby servers compared to their masters, due to updates being
4554 applied far beyond where the end-of-file should have been. This
4555 failure mode does not appear to be a significant risk during crash
4556 recovery, only when initially synchronizing a standby created from a
4557 base backup taken from a quickly-changing master.
4562 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4563 Branch: master [d59ff6c11] 2014-01-08 15:03:09 +0200
4564 Branch: REL9_3_STABLE [425bef6ee] 2014-01-08 14:32:22 +0200
4565 Branch: REL9_2_STABLE [82c75f9dd] 2014-01-08 14:28:55 +0200
4566 Branch: REL9_1_STABLE [e56430c62] 2014-01-08 14:33:58 +0200
4567 Branch: REL9_0_STABLE [5301c8395] 2014-01-08 14:34:21 +0200
4572 Fix bug in determining when recovery has reached consistency
4573 (Tomonari Katsumata, Heikki Linnakangas)
4577 In some cases WAL replay would mistakenly conclude that the database
4578 was already consistent at the start of replay, thus possibly allowing
4579 hot-standby queries before the database was really consistent. Other
4580 symptoms such as <quote>PANIC: WAL contains references to invalid
4581 pages</> were also possible.
4586 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4587 Branch: master [a49633d8d] 2013-12-13 14:15:04 +0200
4588 Branch: REL9_3_STABLE [615299cf6] 2013-12-13 14:23:02 +0200
4593 Fix WAL logging of visibility map changes (Heikki Linnakangas)
4598 Author: Tom Lane <tgl@sss.pgh.pa.us>
4599 Branch: master [061b079f8] 2014-01-14 17:35:21 -0500
4600 Branch: REL9_3_STABLE [ebde6c401] 2014-01-14 17:34:51 -0500
4601 Branch: REL9_2_STABLE [ad2e041a3] 2014-01-14 17:34:54 -0500
4602 Branch: REL9_1_STABLE [ab4bb5c47] 2014-01-14 17:34:57 -0500
4603 Branch: REL9_0_STABLE [5d742b9ce] 2014-01-14 17:35:00 -0500
4608 Fix improper locking of btree index pages while replaying
4609 a <literal>VACUUM</> operation in hot-standby mode (Andres Freund,
4610 Heikki Linnakangas, Tom Lane)
4614 This error could result in <quote>PANIC: WAL contains references to
4615 invalid pages</> failures.
4620 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4621 Branch: master [22122c83f] 2013-12-03 23:16:01 +0200
4622 Branch: REL9_3_STABLE [8fd04cb32] 2013-12-03 22:13:16 +0200
4623 Branch: REL9_2_STABLE [06df57ac6] 2013-12-03 22:34:31 +0200
4624 Branch: REL9_1_STABLE [e6acb956a] 2013-12-03 22:34:43 +0200
4625 Branch: REL9_0_STABLE [760606dc5] 2013-12-03 23:01:31 +0200
4626 Branch: REL8_4_STABLE [67fc33d3a] 2013-12-03 22:53:26 +0200
4631 Ensure that insertions into non-leaf GIN index pages write a full-page
4632 WAL record when appropriate (Heikki Linnakangas)
4636 The previous coding risked index corruption in the event of a
4637 partial-page write during a system crash.
4642 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4643 Branch: master [3739e5ab9] 2014-01-08 23:28:52 +0200
4644 Branch: REL9_3_STABLE [3aefff422] 2014-01-08 23:30:46 +0200
4645 Branch: REL9_2_STABLE [3bd8987ef] 2014-01-08 23:30:55 +0200
4646 Branch: REL9_1_STABLE [0402f2441] 2014-01-08 23:31:01 +0200
4651 When <literal>pause_at_recovery_target</>
4652 and <literal>recovery_target_inclusive</> are both set, ensure the
4653 target record is applied before pausing, not after (Heikki
4659 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4660 Branch: master [a472ae1e4] 2014-01-16 23:15:41 +0200
4661 Branch: REL9_3_STABLE [e34acac62] 2014-01-16 23:14:57 +0200
4666 Ensure walreceiver sends hot-standby feedback messages on time even
4667 when there is a continuous stream of data (Andres Freund, Amit
4673 Author: Tom Lane <tgl@sss.pgh.pa.us>
4674 Branch: master [e8312b4f0] 2013-12-13 11:50:15 -0500
4675 Branch: REL9_3_STABLE [478af9b79] 2013-12-13 11:50:25 -0500
4680 Prevent timeout interrupts from taking control away from mainline
4681 code unless <varname>ImmediateInterruptOK</> is set
4682 (Andres Freund, Tom Lane)
4686 This is a serious issue for any application making use of statement
4687 timeouts, as it could cause all manner of strange failures after a
4688 timeout occurred. We have seen reports of <quote>stuck</> spinlocks,
4689 ERRORs being unexpectedly promoted to PANICs, unkillable backends,
4690 and other misbehaviors.
4695 Author: Robert Haas <rhaas@postgresql.org>
4696 Branch: master [d1981719a] 2014-01-31 21:31:08 -0500
4697 Branch: REL9_3_STABLE [5d807a74b] 2014-01-31 21:34:44 -0500
4698 Branch: REL9_2_STABLE [ebe334463] 2014-01-31 21:35:32 -0500
4699 Branch: REL9_1_STABLE [8e6bfc9eb] 2014-01-31 21:36:23 -0500
4700 Branch: REL9_0_STABLE [798243a81] 2014-01-31 21:40:20 -0500
4701 Branch: REL8_4_STABLE [458b20f2d] 2014-01-31 21:41:09 -0500
4706 Fix race conditions during server process exit (Robert Haas)
4710 Ensure that signal handlers don't attempt to use the
4711 process's <varname>MyProc</> pointer after it's no longer valid.
4716 Author: Tom Lane <tgl@sss.pgh.pa.us>
4717 Branch: master [214c7a4f0] 2014-02-01 16:21:23 -0500
4718 Branch: REL9_3_STABLE [6f1a40773] 2014-02-01 16:21:30 -0500
4719 Branch: REL9_2_STABLE [81b116d98] 2014-02-01 16:21:33 -0500
4720 Branch: REL9_1_STABLE [03f06ff38] 2014-02-01 16:21:38 -0500
4725 Fix race conditions in walsender shutdown logic and walreceiver
4726 SIGHUP signal handler (Tom Lane)
4731 Author: Tom Lane <tgl@sss.pgh.pa.us>
4732 Branch: master [571addd72] 2014-01-29 20:04:43 -0500
4733 Branch: REL9_3_STABLE [bf8ee6f15] 2014-01-29 20:04:01 -0500
4734 Branch: REL9_2_STABLE [3e71ce1e9] 2014-01-29 20:04:05 -0500
4735 Branch: REL9_1_STABLE [af259c691] 2014-01-29 20:04:08 -0500
4736 Branch: REL9_0_STABLE [d17a667e8] 2014-01-29 20:04:11 -0500
4737 Branch: REL8_4_STABLE [01b882fd8] 2014-01-29 20:04:14 -0500
4742 Fix unsafe references to <varname>errno</> within error reporting
4743 logic (Christian Kruse)
4747 This would typically lead to odd behaviors such as missing or
4748 inappropriate <literal>HINT</> fields.
4753 Author: Tom Lane <tgl@sss.pgh.pa.us>
4754 Branch: master [910bac595] 2014-01-11 16:36:07 -0500
4755 Branch: REL9_3_STABLE [5bfcc9ec5] 2014-01-11 16:35:30 -0500
4756 Branch: REL9_2_STABLE [2de905186] 2014-01-11 16:35:34 -0500
4757 Branch: REL9_1_STABLE [3f721588a] 2014-01-11 16:35:37 -0500
4758 Branch: REL9_0_STABLE [d9c4442b8] 2014-01-11 16:35:41 -0500
4759 Branch: REL8_4_STABLE [d0070ac81] 2014-01-11 16:35:44 -0500
4764 Fix possible crashes from using <function>ereport()</> too early
4765 during server startup (Tom Lane)
4769 The principal case we've seen in the field is a crash if the server
4770 is started in a directory it doesn't have permission to read.
4775 Author: Tom Lane <tgl@sss.pgh.pa.us>
4776 Branch: master [74242c23c] 2013-12-05 12:48:28 -0500
4777 Branch: REL9_3_STABLE [2a6e1a554] 2013-12-05 12:48:31 -0500
4778 Branch: REL9_2_STABLE [41042970b] 2013-12-05 12:48:35 -0500
4779 Branch: REL9_1_STABLE [ad910ccdc] 2013-12-05 12:48:37 -0500
4780 Branch: REL9_0_STABLE [36352ceb4] 2013-12-05 12:48:41 -0500
4781 Branch: REL8_4_STABLE [7635dae55] 2013-12-05 12:48:44 -0500
4786 Clear retry flags properly in OpenSSL socket write
4787 function (Alexander Kukushkin)
4791 This omission could result in a server lockup after unexpected loss
4792 of an SSL-encrypted connection.
4797 Author: Tom Lane <tgl@sss.pgh.pa.us>
4798 Branch: master [44c216330] 2014-02-13 14:24:42 -0500
4799 Branch: REL9_3_STABLE [ca1c17181] 2014-02-13 14:24:45 -0500
4800 Branch: REL9_2_STABLE [8439ee415] 2014-02-13 14:24:49 -0500
4801 Branch: REL9_1_STABLE [170590261] 2014-02-13 14:24:52 -0500
4802 Branch: REL9_0_STABLE [148052d25] 2014-02-13 14:24:55 -0500
4803 Branch: REL8_4_STABLE [a8a46d846] 2014-02-13 14:24:58 -0500
4808 Fix length checking for Unicode identifiers (<literal>U&"..."</>
4809 syntax) containing escapes (Tom Lane)
4813 A spurious truncation warning would be printed for such identifiers
4814 if the escaped form of the identifier was too long, but the
4815 identifier actually didn't need truncation after de-escaping.
4820 Author: Tom Lane <tgl@sss.pgh.pa.us>
4821 Branch: master [0c2338abb] 2014-02-03 19:47:57 -0500
4822 Branch: REL9_3_STABLE [4c70cb1d3] 2014-02-03 19:48:00 -0500
4827 Fix parsing of Unicode literals and identifiers just before the end
4828 of a command string or function body (Tom Lane)
4833 Author: Stephen Frost <sfrost@snowman.net>
4834 Branch: master [6c36f383d] 2014-01-21 22:49:22 -0500
4835 Branch: REL9_3_STABLE [d1e3070f0] 2014-01-21 22:56:30 -0500
4836 Branch: REL9_2_STABLE [c0e6169e1] 2014-01-21 22:56:34 -0500
4837 Branch: REL9_1_STABLE [cbd850bf6] 2014-01-21 23:00:58 -0500
4838 Branch: REL9_0_STABLE [f2eede9b5] 2014-01-21 23:01:40 -0500
4843 Allow keywords that are type names to be used in lists of roles
4848 A previous patch allowed such keywords to be used without quoting
4849 in places such as role identifiers; but it missed cases where a
4850 list of role identifiers was permitted, such as <literal>DROP ROLE</>.
4855 Author: Tom Lane <tgl@sss.pgh.pa.us>
4856 Branch: master [7ab321404] 2013-12-02 20:28:45 -0500
4857 Branch: REL9_3_STABLE [b44ae4893] 2013-12-02 20:28:49 -0500
4858 Branch: REL9_2_STABLE [6698782f1] 2013-12-02 20:28:53 -0500
4859 Branch: REL9_1_STABLE [f67b8aeab] 2013-12-02 20:28:56 -0500
4864 Fix parser crash for <literal>EXISTS(SELECT * FROM
4865 zero_column_table)</literal> (Tom Lane)
4870 Author: Tom Lane <tgl@sss.pgh.pa.us>
4871 Branch: master [9ec6199d1] 2013-12-10 16:10:17 -0500
4872 Branch: REL9_3_STABLE [9d2e07fec] 2013-12-10 16:10:20 -0500
4873 Branch: REL9_2_STABLE [f5d9fdcc7] 2013-12-10 16:10:24 -0500
4874 Branch: REL9_1_STABLE [48e5cfde8] 2013-12-10 16:10:28 -0500
4875 Branch: REL9_0_STABLE [41e9990cd] 2013-12-10 16:10:31 -0500
4876 Branch: REL8_4_STABLE [884c6384a] 2013-12-10 16:10:36 -0500
4881 Fix possible crash due to invalid plan for nested sub-selects, such
4882 as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
4888 Author: Tom Lane <tgl@sss.pgh.pa.us>
4889 Branch: master [043f6ff05] 2014-01-30 14:51:16 -0500
4890 Branch: REL9_3_STABLE [a4aa854ca] 2014-01-30 14:51:19 -0500
4895 Fix mishandling of <literal>WHERE</> conditions pulled up from
4896 a <literal>LATERAL</> subquery (Tom Lane)
4900 The typical symptom of this bug was a <quote>JOIN qualification
4901 cannot refer to other relations</> error, though subtle logic
4902 errors in created plans seem possible as well.
4907 Author: Tom Lane <tgl@sss.pgh.pa.us>
4908 Branch: master [158b7fa6a] 2014-01-11 19:03:12 -0500
4909 Branch: REL9_3_STABLE [27ff4cfe7] 2014-01-11 19:03:15 -0500
4914 Disallow <literal>LATERAL</> references to the target table of
4915 an <literal>UPDATE/DELETE</> (Tom Lane)
4919 While this might be allowed in some future release, it was
4920 unintentional in 9.3, and didn't work quite right anyway.
4925 Author: Tom Lane <tgl@sss.pgh.pa.us>
4926 Branch: master [c03ad5602] 2013-12-14 17:33:53 -0500
4927 Branch: REL9_3_STABLE [324577f39] 2013-12-14 17:33:56 -0500
4928 Branch: REL9_2_STABLE [5d545b7ed] 2013-12-14 17:34:00 -0500
4933 Fix <literal>UPDATE/DELETE</> of an inherited target table
4934 that has <literal>UNION ALL</> subqueries (Tom Lane)
4938 Without this fix, <literal>UNION ALL</> subqueries aren't correctly
4939 inserted into the update plans for inheritance child tables after the
4940 first one, typically resulting in no update happening for those child
4946 Author: Tom Lane <tgl@sss.pgh.pa.us>
4947 Branch: master [4eeda92d8] 2013-12-23 22:18:48 -0500
4948 Branch: REL9_3_STABLE [663f8419b] 2013-12-23 22:18:23 -0500
4953 Fix <command>ANALYZE</> to not fail on a column that's a domain over
4954 a range type (Tom Lane)
4959 Author: Tom Lane <tgl@sss.pgh.pa.us>
4960 Branch: master [628652620] 2014-01-11 13:42:42 -0500
4961 Branch: REL9_3_STABLE [36785a21b] 2014-01-11 13:41:51 -0500
4962 Branch: REL9_2_STABLE [f0381680f] 2014-01-11 13:41:56 -0500
4963 Branch: REL9_1_STABLE [9387f4e1b] 2014-01-11 13:42:00 -0500
4964 Branch: REL9_0_STABLE [2d76d75d9] 2014-01-11 13:42:05 -0500
4965 Branch: REL8_4_STABLE [00b77771a] 2014-01-11 13:42:11 -0500
4970 Ensure that <command>ANALYZE</> creates statistics for a table column
4971 even when all the values in it are <quote>too wide</> (Tom Lane)
4975 <command>ANALYZE</> intentionally omits very wide values from its
4976 histogram and most-common-values calculations, but it neglected to do
4977 something sane in the case that all the sampled entries are too wide.
4982 Author: Stephen Frost <sfrost@snowman.net>
4983 Branch: master [6f25c62d7] 2014-01-18 18:41:52 -0500
4984 Branch: REL9_3_STABLE [86e58ae02] 2014-01-18 18:49:08 -0500
4985 Branch: REL9_2_STABLE [1fe06595a] 2014-01-18 18:49:41 -0500
4986 Branch: REL9_1_STABLE [d2636486b] 2014-01-18 18:50:09 -0500
4987 Branch: REL9_0_STABLE [e70c42821] 2014-01-18 18:50:29 -0500
4988 Branch: REL8_4_STABLE [0fb4e3ceb] 2014-01-18 18:50:47 -0500
4993 In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
4994 default tablespace to be used without a permissions check
4999 <literal>CREATE TABLE</> has always allowed such usage,
5000 but <literal>ALTER TABLE</> didn't get the memo.
5005 Author: Tom Lane <tgl@sss.pgh.pa.us>
5006 Branch: master [c01bc51f8] 2013-12-30 14:00:02 -0500
5007 Branch: REL9_3_STABLE [9a6e2b150] 2013-12-30 14:00:05 -0500
5012 Fix support for extensions containing event triggers (Tom Lane)
5017 Author: Tom Lane <tgl@sss.pgh.pa.us>
5018 Branch: master [080b7db72] 2014-01-08 20:18:58 -0500
5019 Branch: REL9_3_STABLE [47ac4473a] 2014-01-08 20:18:10 -0500
5020 Branch: REL9_2_STABLE [97a39f295] 2014-01-08 20:18:13 -0500
5021 Branch: REL9_1_STABLE [6c6c53d0b] 2014-01-08 20:18:17 -0500
5022 Branch: REL9_0_STABLE [6ca712fb9] 2014-01-08 20:18:20 -0500
5023 Branch: REL8_4_STABLE [57ac7d8a7] 2014-01-08 20:18:24 -0500
5028 Fix <quote>cannot accept a set</> error when some arms of
5029 a <literal>CASE</> return a set and others don't (Tom Lane)
5034 Author: Andrew Dunstan <andrew@dunslane.net>
5035 Branch: master [d3ee45152] 2014-02-03 10:40:12 -0500
5036 Branch: REL9_3_STABLE [cdfbb78f0] 2014-02-03 10:39:13 -0500
5041 Fix memory leakage in JSON functions (Craig Ringer)
5046 Author: Andrew Dunstan <andrew@dunslane.net>
5047 Branch: master [29dcf7ded] 2013-12-27 17:04:00 -0500
5048 Branch: REL9_3_STABLE [7dfd9f6f5] 2013-12-27 17:21:04 -0500
5049 Branch: REL9_2_STABLE [4825a9e95] 2013-12-27 17:21:27 -0500
5054 Properly distinguish numbers from non-numbers when generating JSON
5055 output (Andrew Dunstan)
5060 Author: Kevin Grittner <kgrittn@postgresql.org>
5061 Branch: master [a133bf703] 2013-12-27 15:26:24 -0600
5062 Branch: REL9_3_STABLE [28b60aa23] 2013-12-27 15:40:51 -0600
5063 Branch: REL9_2_STABLE [150a30e19] 2013-12-27 15:41:02 -0600
5064 Branch: REL9_1_STABLE [1f069d21d] 2013-12-27 15:41:18 -0600
5065 Branch: REL9_0_STABLE [918d74a07] 2013-12-27 15:41:32 -0600
5066 Branch: REL8_4_STABLE [b2d80147d] 2013-12-27 15:41:46 -0600
5071 Fix checks for all-zero client addresses in pgstat functions (Kevin
5077 Author: Tom Lane <tgl@sss.pgh.pa.us>
5078 Branch: master [082c0dfa1] 2014-02-01 18:27:34 -0500
5079 Branch: REL9_3_STABLE [9beffdcc3] 2014-02-01 18:27:40 -0500
5080 Branch: REL9_2_STABLE [8be095cea] 2014-02-01 18:27:44 -0500
5081 Branch: REL9_1_STABLE [399d23e19] 2014-02-01 18:27:48 -0500
5082 Branch: REL9_0_STABLE [3c7b4ef70] 2014-02-01 18:27:54 -0500
5083 Branch: REL8_4_STABLE [56f5d3424] 2014-02-01 18:27:12 -0500
5088 Fix possible misclassification of multibyte characters by the text
5089 search parser (Tom Lane)
5093 Non-ASCII characters could be misclassified when using C locale with
5094 a multibyte encoding. On Cygwin, non-C locales could fail as well.
5099 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5100 Branch: master [6c2744f1d] 2014-02-10 09:57:59 +0200
5101 Branch: REL9_3_STABLE [928aec71c] 2014-02-10 09:59:49 +0200
5102 Branch: REL9_2_STABLE [f3807106b] 2014-02-10 10:00:04 +0200
5103 Branch: REL9_1_STABLE [5f778e644] 2014-02-10 10:00:23 +0200
5104 Branch: REL9_0_STABLE [fe8a6f53e] 2014-02-10 10:00:36 +0200
5105 Branch: REL8_4_STABLE [6141983fb] 2014-02-10 10:00:50 +0200
5110 Fix possible misbehavior in <function>plainto_tsquery()</>
5111 (Heikki Linnakangas)
5115 Use <function>memmove()</> not <function>memcpy()</> for copying
5116 overlapping memory regions. There have been no field reports of
5117 this actually causing trouble, but it's certainly risky.
5122 Author: Magnus Hagander <magnus@hagander.net>
5123 Branch: master [9544cc0d6] 2014-01-07 17:50:56 +0100
5124 Branch: REL9_3_STABLE [91c2755fc] 2014-01-07 17:51:02 +0100
5125 Branch: REL9_2_STABLE [61d4d14ee] 2014-01-07 17:53:00 +0100
5126 Branch: REL9_1_STABLE [026a91f86] 2014-01-07 18:00:36 +0100
5131 Fix placement of permissions checks in <function>pg_start_backup()</>
5132 and <function>pg_stop_backup()</> (Andres Freund, Magnus Hagander)
5136 The previous coding might attempt to do catalog access when it
5142 Author: Tatsuo Ishii <ishii@postgresql.org>
5143 Branch: master [1f0626ee4] 2013-12-15 11:09:05 +0900
5144 Branch: REL9_3_STABLE [8122e6f85] 2013-12-15 11:10:41 +0900
5145 Branch: REL9_2_STABLE [0c07ef1ad] 2013-12-15 11:10:49 +0900
5146 Branch: REL9_1_STABLE [035226c61] 2013-12-15 11:10:56 +0900
5147 Branch: REL9_0_STABLE [7016d970d] 2013-12-15 11:11:02 +0900
5148 Branch: REL8_4_STABLE [69f77d756] 2013-12-15 11:11:11 +0900
5153 Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
5154 purposes (Tatsuo Ishii)
5159 Author: Tom Lane <tgl@sss.pgh.pa.us>
5160 Branch: master [0def2573c] 2014-02-03 14:47:17 -0500
5161 Branch: REL9_3_STABLE [641c08041] 2014-02-03 14:46:54 -0500
5162 Branch: REL9_2_STABLE [888b56570] 2014-02-03 14:46:57 -0500
5167 Fix <literal>*</>-qualification of named parameters in SQL-language
5168 functions (Tom Lane)
5172 Given a composite-type parameter
5173 named <literal>foo</>, <literal>$1.*</> worked fine,
5174 but <literal>foo.*</> not so much.
5179 Author: Fujii Masao <fujii@postgresql.org>
5180 Branch: master [77035fa8a] 2014-01-23 22:58:58 +0900
5181 Branch: REL9_3_STABLE [be5d49974] 2014-01-23 23:00:30 +0900
5182 Branch: REL9_2_STABLE [ea311bfdf] 2014-01-23 23:01:06 +0900
5183 Branch: REL9_1_STABLE [1b384aff1] 2014-01-23 23:01:34 +0900
5184 Branch: REL9_0_STABLE [996b21cbf] 2014-01-23 23:02:03 +0900
5185 Branch: REL8_4_STABLE [5525529db] 2014-01-23 23:02:30 +0900
5190 Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
5194 It should return <literal>localhost</> if no host has been specified.
5199 Author: Tom Lane <tgl@sss.pgh.pa.us>
5200 Branch: master [b8f00a46b] 2014-02-13 18:45:58 -0500
5201 Branch: REL9_3_STABLE [f208fb436] 2014-02-13 18:46:03 -0500
5202 Branch: REL9_2_STABLE [2573f08a1] 2014-02-13 18:45:20 -0500
5203 Branch: REL9_1_STABLE [7182bd239] 2014-02-13 18:45:23 -0500
5204 Branch: REL9_0_STABLE [218dd205b] 2014-02-13 18:45:27 -0500
5205 Branch: REL8_4_STABLE [7644a7bd8] 2014-02-13 18:45:32 -0500
5210 Improve error handling in <application>libpq</> and <application>psql</>
5211 for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
5215 In particular this fixes an infinite loop that could occur in 9.2 and
5216 up if the server connection was lost during <literal>COPY FROM
5217 STDIN</>. Variants of that scenario might be possible in older
5218 versions, or with other client applications.
5223 Author: Tom Lane <tgl@sss.pgh.pa.us>
5224 Branch: master [92459e7a7] 2014-01-04 16:05:16 -0500
5225 Branch: REL9_3_STABLE [341f0bc49] 2014-01-04 16:05:20 -0500
5226 Branch: REL9_2_STABLE [fa28f9cba] 2014-01-04 16:05:23 -0500
5231 Fix incorrect translation handling in
5232 some <application>psql</> <literal>\d</> commands
5233 (Peter Eisentraut, Tom Lane)
5238 Author: Magnus Hagander <magnus@hagander.net>
5239 Branch: master [63ab2befe] 2014-02-12 18:45:18 +0100
5240 Branch: REL9_3_STABLE [c90204c60] 2014-02-12 18:46:04 +0100
5241 Branch: REL9_2_STABLE [0ae288d2d] 2014-02-12 14:51:00 +0100
5246 Ensure <application>pg_basebackup</>'s background process is killed
5247 when exiting its foreground process (Magnus Hagander)
5252 Author: Magnus Hagander <magnus@hagander.net>
5253 Branch: master [01025d80a] 2014-02-09 12:05:14 +0100
5254 Branch: REL9_3_STABLE [680baa8d2] 2014-02-09 12:09:18 +0100
5255 Branch: REL9_2_STABLE [165aa1da5] 2014-02-09 12:09:39 +0100
5256 Branch: REL9_1_STABLE [c6e5c4dd1] 2014-02-09 12:09:55 +0100
5261 Fix possible incorrect printing of filenames
5262 in <application>pg_basebackup</>'s verbose mode (Magnus Hagander)
5267 Author: Magnus Hagander <magnus@hagander.net>
5268 Branch: master [b168c5ef2] 2014-01-07 17:11:32 +0100
5269 Branch: REL9_3_STABLE [0463b9419] 2014-01-07 17:11:51 +0100
5270 Branch: REL9_2_STABLE [2edf3e82c] 2014-01-07 17:22:36 +0100
5271 Branch: REL9_1_STABLE [773e4d5e4] 2014-01-07 17:18:02 +0100
5276 Avoid including tablespaces inside PGDATA twice in base backups
5277 (Dimitri Fontaine, Magnus Hagander)
5282 Author: Michael Meskes <meskes@postgresql.org>
5283 Branch: master [d685e2424] 2014-01-09 16:20:19 +0100
5284 Branch: REL9_3_STABLE [28fff0ef8] 2014-01-09 15:41:51 +0100
5285 Branch: REL9_2_STABLE [799728b0b] 2014-01-09 15:50:51 +0100
5286 Branch: REL9_1_STABLE [9f5b3a1a1] 2014-01-09 15:51:11 +0100
5287 Branch: REL9_0_STABLE [a29b6c342] 2014-01-09 15:51:23 +0100
5288 Branch: REL8_4_STABLE [d68a65b01] 2014-01-09 15:58:37 +0100
5293 Fix misaligned descriptors in <application>ecpg</> (MauMau)
5298 Author: Michael Meskes <meskes@postgresql.org>
5299 Branch: master [7c957ec83] 2014-01-01 12:39:31 +0100
5300 Branch: REL9_3_STABLE [8404037d8] 2014-01-01 12:40:28 +0100
5301 Branch: REL9_2_STABLE [119a59879] 2014-01-01 12:40:42 +0100
5302 Branch: REL9_1_STABLE [948498274] 2014-01-01 12:44:15 +0100
5303 Branch: REL9_0_STABLE [17bcdd01f] 2014-01-01 12:44:44 +0100
5304 Branch: REL8_4_STABLE [96de4939c] 2014-01-01 12:44:58 +0100
5309 In <application>ecpg</>, handle lack of a hostname in the connection
5310 parameters properly (Michael Meskes)
5315 Author: Joe Conway <mail@joeconway.com>
5316 Branch: master [d6ca510d9] 2013-12-07 17:00:26 -0800
5317 Branch: REL9_3_STABLE [0ec530625] 2013-12-07 17:00:10 -0800
5318 Branch: REL9_2_STABLE [7f4ef622f] 2013-12-07 16:59:35 -0800
5319 Branch: REL9_1_STABLE [70165f25b] 2013-12-07 16:59:16 -0800
5320 Branch: REL9_0_STABLE [9057adc23] 2013-12-07 16:58:41 -0800
5321 Branch: REL8_4_STABLE [6c8b16e30] 2013-12-07 16:56:34 -0800
5326 Fix performance regression in <filename>contrib/dblink</> connection
5327 startup (Joe Conway)
5331 Avoid an unnecessary round trip when client and server encodings match.
5336 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5337 Branch: master [866a1f092] 2014-01-13 15:43:29 +0200
5338 Branch: REL9_3_STABLE [50c5770ec] 2014-01-13 15:43:59 +0200
5339 Branch: REL9_2_STABLE [f6d6b42f2] 2014-01-13 15:44:02 +0200
5340 Branch: REL9_1_STABLE [5143dfd57] 2014-01-13 15:44:04 +0200
5341 Branch: REL9_0_STABLE [6c3f040be] 2014-01-13 15:44:12 +0200
5342 Branch: REL8_4_STABLE [492b68541] 2014-01-13 15:44:14 +0200
5347 In <filename>contrib/isn</>, fix incorrect calculation of the check
5348 digit for ISMN values (Fabien Coelho)
5353 Author: Tatsuo Ishii <ishii@postgresql.org>
5354 Branch: master [841a65482] 2013-12-12 19:10:35 +0900
5355 Branch: REL9_3_STABLE [27902bc91] 2013-12-12 19:07:53 +0900
5360 Fix <filename>contrib/pgbench</>'s progress logging to avoid overflow
5361 when the scale factor is large (Tatsuo Ishii)
5366 Author: Tom Lane <tgl@sss.pgh.pa.us>
5367 Branch: master [69c7a9838] 2014-01-21 16:34:28 -0500
5368 Branch: REL9_3_STABLE [0950d67ee] 2014-01-21 16:34:31 -0500
5369 Branch: REL9_2_STABLE [27ab1eb7e] 2014-01-21 16:34:35 -0500
5374 Fix <filename>contrib/pg_stat_statement</>'s handling
5375 of <literal>CURRENT_DATE</> and related constructs (Kyotaro
5381 Author: Tom Lane <tgl@sss.pgh.pa.us>
5382 Branch: master [00d4f2af8] 2014-02-03 21:30:20 -0500
5383 Branch: REL9_3_STABLE [eb3d350db] 2014-02-03 21:30:28 -0500
5388 Improve lost-connection error handling
5389 in <filename>contrib/postgres_fdw</> (Tom Lane)
5394 Author: Peter Eisentraut <peter_e@gmx.net>
5395 Branch: master [ad6bf0291] 2014-01-17 23:08:22 -0500
5396 Branch: REL9_3_STABLE [586bea612] 2014-01-17 23:11:02 -0500
5397 Branch: REL9_2_STABLE [526e38751] 2014-01-17 23:12:50 -0500
5398 Branch: REL9_1_STABLE [6d969b000] 2014-01-17 23:14:21 -0500
5399 Branch: REL9_0_STABLE [2346c383a] 2014-01-17 23:15:00 -0500
5400 Branch: REL8_4_STABLE [15699d9bf] 2014-01-17 23:17:59 -0500
5405 Ensure client-code-only installation procedure works as documented
5411 Author: Andrew Dunstan <andrew@dunslane.net>
5412 Branch: master [d587298b8] 2014-02-01 15:11:13 -0500
5413 Branch: REL9_3_STABLE [1e9876c3b] 2014-02-01 15:16:06 -0500
5414 Branch: REL9_2_STABLE [6e96d4db8] 2014-02-01 15:16:18 -0500
5415 Branch: REL9_1_STABLE [dfb4a1a21] 2014-02-01 15:16:29 -0500
5416 Branch: REL9_0_STABLE [59d64e7f3] 2014-02-01 15:16:40 -0500
5417 Branch: REL8_4_STABLE [ae3c98b9b] 2014-02-01 15:16:52 -0500
5422 In Mingw and Cygwin builds, install the <application>libpq</> DLL
5423 in the <filename>bin</> directory (Andrew Dunstan)
5427 This duplicates what the MSVC build has long done. It should fix
5428 problems with programs like <application>psql</> failing to start
5429 because they can't find the DLL.
5434 Author: Andrew Dunstan <andrew@dunslane.net>
5435 Branch: master [7e1531a45] 2014-02-01 16:08:33 -0500
5436 Branch: REL9_3_STABLE [27942baf4] 2014-02-01 16:13:32 -0500
5437 Branch: REL9_2_STABLE [fad443753] 2014-02-01 16:13:46 -0500
5438 Branch: REL9_1_STABLE [e5c22c15d] 2014-02-01 16:14:01 -0500
5439 Branch: REL9_0_STABLE [1c0bf372f] 2014-02-01 16:14:15 -0500
5444 Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
5450 Author: Andrew Dunstan <andrew@dunslane.net>
5451 Branch: master [cec8394b5] 2014-01-26 09:49:10 -0500
5452 Branch: REL9_3_STABLE [56c08df55] 2014-01-26 09:45:43 -0500
5457 Enable building with Visual Studio 2013 (Brar Piening)
5462 Author: Tom Lane <tgl@sss.pgh.pa.us>
5463 Branch: master [289541520] 2014-02-10 20:48:04 -0500
5464 Branch: REL9_3_STABLE [f1e522696] 2014-02-10 20:48:12 -0500
5465 Branch: REL9_2_STABLE [dd5605104] 2014-02-10 20:48:20 -0500
5466 Branch: REL9_1_STABLE [3bf5c16f1] 2014-02-10 20:48:23 -0500
5467 Branch: REL9_0_STABLE [e1e7642bd] 2014-02-10 20:48:27 -0500
5468 Branch: REL8_4_STABLE [432735cbf] 2014-02-10 20:48:30 -0500
5473 Don't generate plain-text <filename>HISTORY</>
5474 and <filename>src/test/regress/README</> files anymore (Tom Lane)
5478 These text files duplicated the main HTML and PDF documentation
5479 formats. The trouble involved in maintaining them greatly outweighs
5480 the likely audience for plain-text format. Distribution tarballs
5481 will still contain files by these names, but they'll just be stubs
5482 directing the reader to consult the main documentation.
5483 The plain-text <filename>INSTALL</> file will still be maintained, as
5484 there is arguably a use-case for that.
5489 Author: Tom Lane <tgl@sss.pgh.pa.us>
5490 Branch: master [e04641f4b] 2014-02-14 21:59:13 -0500
5491 Branch: REL9_3_STABLE [46cbcd50e] 2014-02-14 21:59:37 -0500
5492 Branch: REL9_2_STABLE [4f975b68b] 2014-02-14 21:59:42 -0500
5493 Branch: REL9_1_STABLE [3212ba534] 2014-02-14 21:59:46 -0500
5494 Branch: REL9_0_STABLE [cb84fddd9] 2014-02-14 21:59:50 -0500
5495 Branch: REL8_4_STABLE [c0c2d62ac] 2014-02-14 21:59:56 -0500
5500 Update time zone data files to <application>tzdata</> release 2013i
5501 for DST law changes in Jordan and historical changes in Cuba.
5505 In addition, the zones <literal>Asia/Riyadh87</>,
5506 <literal>Asia/Riyadh88</>, and <literal>Asia/Riyadh89</> have been
5507 removed, as they are no longer maintained by IANA, and never
5508 represented actual civil timekeeping practice.
5517 <sect1 id="release-9-3-2">
5518 <title>Release 9.3.2</title>
5521 <title>Release Date</title>
5522 <simpara>2013-12-05</simpara>
5526 This release contains a variety of fixes from 9.3.1.
5527 For information about new features in the 9.3 major release, see
5528 <xref linkend="release-9-3">.
5532 <title>Migration to Version 9.3.2</title>
5535 A dump/restore is not required for those running 9.3.X.
5539 However, this release corrects a number of potential data corruption
5540 issues. See the first three changelog entries below to find out whether
5541 your installation has been affected and what steps you can take if so.
5545 Also, if you are upgrading from a version earlier than 9.3.1,
5546 see <xref linkend="release-9-3-1">.
5552 <title>Changes</title>
5558 Fix <command>VACUUM</>'s tests to see whether it can
5559 update <structfield>relfrozenxid</> (Andres Freund)
5563 In some cases <command>VACUUM</> (either manual or autovacuum) could
5564 incorrectly advance a table's <structfield>relfrozenxid</> value,
5565 allowing tuples to escape freezing, causing those rows to become
5566 invisible once 2^31 transactions have elapsed. The probability of
5567 data loss is fairly low since multiple incorrect advancements would
5568 need to happen before actual loss occurs, but it's not zero. In 9.2.0
5569 and later, the probability of loss is higher, and it's also possible
5570 to get <quote>could not access status of transaction</> errors as a
5571 consequence of this bug. Users upgrading from releases 9.0.4 or 8.4.8
5572 or earlier are not affected, but all later versions contain the bug.
5576 The issue can be ameliorated by, after upgrading, vacuuming all tables
5577 in all databases while having <link
5578 linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
5579 set to zero. This will fix any latent corruption but will not be able
5580 to fix all pre-existing data errors. However, an installation can be
5581 presumed safe after performing this vacuuming if it has executed fewer
5582 than 2^31 update transactions in its lifetime (check this with
5583 <literal>SELECT txid_current() < 2^31</>).
5589 Fix multiple bugs in MultiXactId freezing (Andres Freund,
5590 Álvaro Herrera)
5594 These bugs could lead to <quote>could not access status of
5595 transaction</> errors, or to duplicate or vanishing rows.
5596 Users upgrading from releases prior to 9.3.0 are not affected.
5600 The issue can be ameliorated by, after upgrading, vacuuming all tables
5601 in all databases while having <link
5602 linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
5603 set to zero. This will fix latent corruption but will not be able to
5604 fix all pre-existing data errors.
5608 As a separate issue, these bugs can also cause standby servers to get
5609 out of sync with the primary, thus exhibiting data errors that are not
5610 in the primary. Therefore, it's recommended that 9.3.0 and 9.3.1
5611 standby servers be re-cloned from the primary (e.g., with a new base
5612 backup) after upgrading.
5618 Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
5619 during hot standby startup (Andres Freund, Heikki Linnakangas)
5623 This bug can cause data loss on standby servers at the moment they
5624 start to accept hot-standby queries, by marking committed transactions
5625 as uncommitted. The likelihood of such corruption is small unless, at
5626 the time of standby startup, the primary server has executed many
5627 updating transactions since its last checkpoint. Symptoms include
5628 missing rows, rows that should have been deleted being still visible,
5629 and obsolete versions of updated rows being still visible alongside
5630 their newer versions.
5634 This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
5635 Standby servers that have only been running earlier releases are not
5636 at risk. It's recommended that standby servers that have ever run any
5637 of the buggy releases be re-cloned from the primary (e.g., with a new
5638 base backup) after upgrading.
5644 Fix multiple bugs in update chain traversal (Andres Freund,
5645 Álvaro Herrera)
5649 These bugs could result in incorrect behavior, such as locking or even
5650 updating the wrong row, in the presence of concurrent updates.
5651 Spurious <quote>unable to fetch updated version of tuple</> errors
5658 Fix dangling-pointer problem in fast-path locking (Tom Lane)
5662 This could lead to corruption of the lock data structures in shared
5663 memory, causing <quote>lock already held</> and other odd errors.
5669 Fix assorted race conditions in timeout management (Tom Lane)
5673 These errors could result in a server process becoming unresponsive
5674 because it had blocked SIGALRM and/or SIGINT.
5680 Truncate <filename>pg_multixact</> contents during WAL replay
5685 This avoids ever-increasing disk space consumption in standby servers.
5691 Ensure an anti-wraparound <command>VACUUM</> counts a page as scanned
5692 when it's only verified that no tuples need freezing (Sergey
5693 Burladyan, Jeff Janes)
5697 This bug could result in failing to
5698 advance <structfield>relfrozenxid</>, so that the table would still be
5699 thought to need another anti-wraparound vacuum. In the worst case the
5700 database might even shut down to prevent wraparound.
5706 Fix full-table-vacuum request mechanism for MultiXactIds (Andres Freund)
5710 This bug could result in large amounts of useless autovacuum activity.
5716 Fix race condition in GIN index posting tree page deletion (Heikki
5721 This could lead to transient wrong answers or query failures.
5727 Fix <quote>unexpected spgdoinsert() failure</> error during SP-GiST
5728 index creation (Teodor Sigaev)
5734 Fix assorted bugs in materialized views (Kevin Grittner, Andres Freund)
5740 Re-allow duplicate table aliases if they're within aliased JOINs
5745 Historically <productname>PostgreSQL</> has accepted queries like
5747 SELECT ... FROM tab1 x CROSS JOIN (tab2 x CROSS JOIN tab3 y) z
5749 although a strict reading of the SQL standard would forbid the
5750 duplicate usage of table alias <literal>x</>. A misguided change in
5751 9.3.0 caused it to reject some such cases that were formerly accepted.
5752 Restore the previous behavior.
5758 Avoid flattening a subquery whose <literal>SELECT</> list contains a
5759 volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
5763 This avoids unexpected results due to extra evaluations of the
5770 Fix planner's processing of non-simple-variable subquery outputs
5771 nested within outer joins (Tom Lane)
5775 This error could lead to incorrect plans for queries involving
5776 multiple levels of subqueries within <literal>JOIN</> syntax.
5782 Fix incorrect planning in cases where the same non-strict expression
5783 appears in multiple <literal>WHERE</> and outer <literal>JOIN</>
5784 equality clauses (Tom Lane)
5790 Fix planner crash with whole-row reference to a subquery (Tom Lane)
5796 Fix incorrect generation of optimized MIN()/MAX() plans for
5797 inheritance trees (Tom Lane)
5801 The planner could fail in cases where the MIN()/MAX() argument was an
5802 expression rather than a simple variable.
5808 Fix premature deletion of temporary files (Andres Freund)
5814 Prevent intra-transaction memory leak when printing range values
5819 This fix actually cures transient memory leaks in any datatype output
5820 function, but range types are the only ones known to have had a
5821 significant problem.
5827 Fix memory leaks when reloading configuration files (Heikki
5828 Linnakangas, Hari Babu)
5834 Prevent incorrect display of dropped columns in NOT NULL and CHECK
5835 constraint violation messages (Michael Paquier and Tom Lane)
5841 Allow default arguments and named-argument notation for window
5842 functions (Tom Lane)
5846 Previously, these cases were likely to crash.
5852 Suppress trailing whitespace on each line when pretty-printing rules
5853 and views (Tom Lane)
5857 9.3.0 generated such whitespace in many more cases than previous
5858 versions did. To reduce unexpected behavioral changes, suppress
5859 unnecessary whitespace in all cases.
5865 Fix possible read past end of memory in rule printing (Peter Eisentraut)
5871 Fix array slicing of <type>int2vector</> and <type>oidvector</> values
5876 Expressions of this kind are now implicitly promoted to
5877 regular <type>int2</> or <type>oid</> arrays.
5883 Return a valid JSON value when converting an empty <type>hstore</> value
5891 Fix incorrect behaviors when using a SQL-standard, simple GMT offset
5896 In some cases, the system would use the simple GMT offset value when
5897 it should have used the regular timezone setting that had prevailed
5898 before the simple offset was selected. This change also causes
5899 the <function>timeofday</> function to honor the simple GMT offset
5906 Prevent possible misbehavior when logging translations of Windows
5907 error codes (Tom Lane)
5913 Properly quote generated command lines in <application>pg_ctl</>
5914 (Naoya Anzai and Tom Lane)
5918 This fix applies only to Windows.
5924 Fix <application>pg_dumpall</> to work when a source database
5926 linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
5927 via <command>ALTER DATABASE SET</> (Kevin Grittner)
5931 Previously, the generated script would fail during restore.
5937 Fix <application>pg_isready</> to handle its <option>-d</> option
5938 properly (Fabrízio de Royes Mello and Fujii Masao)
5944 Fix parsing of WAL file names in <application>pg_receivexlog</>
5945 (Heikki Linnakangas)
5949 This error made <application>pg_receivexlog</> unable to restart
5950 streaming after stopping, once at least 4 GB of WAL had been written.
5956 Report out-of-disk-space failures properly
5957 in <application>pg_upgrade</> (Peter Eisentraut)
5963 Make <application>ecpg</> search for quoted cursor names
5964 case-sensitively (Zoltán Böszörményi)
5970 Fix <application>ecpg</>'s processing of lists of variables
5971 declared <type>varchar</> (Zoltán Böszörményi)
5977 Make <filename>contrib/lo</> defend against incorrect trigger definitions
5984 Update time zone data files to <application>tzdata</> release 2013h
5985 for DST law changes in Argentina, Brazil, Jordan, Libya,
5986 Liechtenstein, Morocco, and Palestine. Also, new timezone
5987 abbreviations WIB, WIT, WITA for Indonesia.
5996 <sect1 id="release-9-3-1">
5997 <title>Release 9.3.1</title>
6000 <title>Release Date</title>
6001 <simpara>2013-10-10</simpara>
6005 This release contains a variety of fixes from 9.3.0.
6006 For information about new features in the 9.3 major release, see
6007 <xref linkend="release-9-3">.
6011 <title>Migration to Version 9.3.1</title>
6014 A dump/restore is not required for those running 9.3.X.
6018 However, if you use the <literal>hstore</> extension, see the
6019 first changelog entry.
6025 <title>Changes</title>
6031 Ensure new-in-9.3 JSON functionality is added to the <literal>hstore</>
6032 extension during an update (Andrew Dunstan)
6036 Users who upgraded a pre-9.3 database containing <literal>hstore</>
6039 ALTER EXTENSION hstore UPDATE;
6041 after installing 9.3.1, to add two new JSON functions and a cast.
6042 (If <literal>hstore</> is already up to date, this command does
6049 Fix memory leak when creating B-tree indexes on range columns
6050 (Heikki Linnakangas)
6056 Fix memory leak caused by <function>lo_open()</function> failure
6057 (Heikki Linnakangas)
6063 Serializable snapshot fixes (Kevin Grittner, Heikki Linnakangas)
6069 Fix deadlock bug in libpq when using SSL (Stephen Frost)
6075 Fix timeline handling bugs in <application>pg_receivexlog</>
6076 (Heikki Linnakangas, Andrew Gierth)
6082 Prevent <command>CREATE FUNCTION</> from checking <command>SET</>
6083 variables unless function body checking is enabled (Tom Lane)
6089 Remove rare inaccurate warning during vacuum of index-less tables
6090 (Heikki Linnakangas)
6099 <sect1 id="release-9-3">
6100 <title>Release 9.3</title>
6103 <title>Release Date</title>
6104 <simpara>2013-09-09</simpara>
6108 <title>Overview</title>
6111 Major enhancements in <productname>PostgreSQL</> 9.3 include:
6114 <!-- This list duplicates items below, but without authors or details-->
6120 Add <link linkend="SQL-CREATEMATERIALIZEDVIEW">materialized
6127 Make simple views <link
6128 linkend="SQL-CREATEVIEW-updatable-views">auto-updatable</link>
6134 Add many features for the <type>JSON</> data type,
6135 including <link linkend="functions-json">operators and functions</link>
6136 to extract elements from <type>JSON</> values
6142 Implement <acronym>SQL</>-standard <link
6143 linkend="queries-lateral"><literal>LATERAL</></link> option for
6144 <literal>FROM</>-clause subqueries and function calls
6150 Allow <link linkend="SQL-CREATEFOREIGNDATAWRAPPER">foreign data
6151 wrappers</link> to support writes (inserts/updates/deletes) on foreign
6158 Add a <link linkend="postgres-fdw"><productname>Postgres</> foreign
6159 data wrapper</link> to allow access to
6160 other <productname>Postgres</> servers
6166 Add support for <link linkend="event-triggers">event triggers</link>
6172 Add optional ability to <link
6173 linkend="app-initdb-data-checksums">checksum</link> data pages and
6180 Prevent non-key-field row updates from blocking foreign key checks
6186 Greatly reduce System V <link linkend="sysvipc">shared
6187 memory</link> requirements
6194 The above items are explained in more detail in the sections below.
6201 <title>Migration to Version 9.3</title>
6204 A dump/restore using <link
6205 linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link>, or use
6206 of <link linkend="pgupgrade"><application>pg_upgrade</></link>, is
6207 required for those wishing to migrate data from any previous release.
6211 Version 9.3 contains a number of changes that may affect compatibility
6212 with previous releases. Observe the following incompatibilities:
6216 <title>Server Settings</title>
6222 Rename <varname>replication_timeout</> to <link
6223 linkend="guc-wal-sender-timeout"><varname>wal_sender_timeout</></link>
6228 This setting controls the <link
6229 linkend="wal"><acronym>WAL</></link> sender timeout.
6235 Require superuser privileges to set <link
6236 linkend="guc-commit-delay"><varname>commit_delay</></link>
6237 because it can now potentially delay other sessions (Simon Riggs)
6243 Allow in-memory sorts to use their full memory allocation (Jeff Janes)
6247 Users who have set <link
6248 linkend="guc-work-mem"><varname>work_mem</></link> based on the
6249 previous behavior may need to revisit that setting.
6258 <title>Other</title>
6264 Throw an error if a tuple to be updated or deleted has already been
6265 updated or deleted by a <literal>BEFORE</> trigger (Kevin Grittner)
6269 Formerly, the originally-intended update was silently skipped,
6270 resulting in logical inconsistency since the trigger might have
6271 propagated data to other places based on the intended update.
6272 Now an error is thrown to prevent the inconsistent results from being
6273 committed. If this change affects your application, the best solution
6274 is usually to move the data-propagation actions to
6275 an <literal>AFTER</> trigger.
6279 This error will also be thrown if a query invokes a volatile function
6280 that modifies rows that are later modified by the query itself.
6281 Such cases likewise previously resulted in silently skipping updates.
6287 Change multicolumn <link linkend="SQL-CREATETABLE"><literal>ON UPDATE
6288 SET NULL/SET DEFAULT</></link> foreign key actions to affect
6289 all columns of the constraint, not just those changed in the
6290 <command>UPDATE</> (Tom Lane)
6294 Previously, we would set only those referencing columns that
6295 correspond to referenced columns that were changed by
6296 the <command>UPDATE</>. This was what was required by SQL-92,
6297 but more recent editions of the SQL standard specify the new behavior.
6303 Force cached plans to be replanned if the <link
6304 linkend="guc-search-path"><varname>search_path</></link> changes
6309 Previously, cached plans already generated in the current session were
6310 not redone if the query was re-executed with a
6311 new <varname>search_path</> setting, resulting in surprising behavior.
6318 linkend="functions-formatting-table"><function>to_number()</></link>
6319 to properly handle a period used as a thousands separator (Tom Lane)
6323 Previously, a period was considered to be a decimal point even when
6324 the locale says it isn't and the <literal>D</> format code is used to
6325 specify use of the locale-specific decimal point. This resulted in
6326 wrong answers if <literal>FM</> format was also used.
6332 Fix <literal>STRICT</> non-set-returning functions that have
6333 set-returning functions in their arguments to properly return null
6338 A null value passed to the strict function should result in a null
6339 output, but instead, that output row was suppressed entirely.
6345 Store <link linkend="wal"><acronym>WAL</></link> in a continuous
6346 stream, rather than skipping the last 16MB segment every 4GB
6347 (Heikki Linnakangas)
6351 Previously, <acronym>WAL</> files with names ending in <literal>FF</>
6352 were not used because of this skipping. If you have <acronym>WAL</>
6353 backup or restore scripts that took this behavior into account, they
6354 will need to be adjusted.
6361 linkend="catalog-pg-constraint"><structname>pg_constraint.confmatchtype</></link>,
6362 store the default foreign key match type (non-<literal>FULL</>,
6363 non-<literal>PARTIAL</>) as <literal>s</> for <quote>simple</>
6368 Previously this case was represented by <literal>u</>
6369 for <quote>unspecified</>.
6380 <title>Changes</title>
6383 Below you will find a detailed account of the changes between
6384 <productname>PostgreSQL</productname> 9.3 and the previous major
6389 <title>Server</title>
6392 <title>Locking</title>
6398 Prevent non-key-field row updates from blocking foreign key checks
6399 (Álvaro Herrera, Noah Misch, Andres Freund, Alexander
6400 Shulgin, Marti Raudsepp, Alexander Shulgin)
6404 This change improves concurrency and reduces the probability of
6405 deadlocks when updating tables involved in a foreign-key constraint.
6406 <command>UPDATE</>s that do not change any columns referenced in a
6407 foreign key now take the new <literal>NO KEY UPDATE</> lock mode on
6408 the row, while foreign key checks use the new <literal>KEY SHARE</>
6409 lock mode, which does not conflict with <literal>NO KEY UPDATE</>.
6410 So there is no blocking unless a foreign-key column is changed.
6416 Add configuration variable <link
6417 linkend="guc-lock-timeout"><varname>lock_timeout</></link> to
6418 allow limiting how long a session will wait to acquire any one lock
6419 (Zoltán Böszörményi)
6428 <title>Indexes</title>
6434 Add <link linkend="rangetypes-indexing"><acronym>SP-GiST</></link>
6435 support for range data types (Alexander Korotkov)
6441 Allow <link linkend="GiST"><acronym>GiST</></link> indexes to be
6442 unlogged (Jeevan Chalke)
6448 Improve performance of <acronym>GiST</> index insertion by randomizing
6449 the choice of which page to descend to when there are multiple equally
6450 good alternatives (Heikki Linnakangas)
6456 Improve concurrency of hash index operations (Robert Haas)
6465 <title>Optimizer</title>
6471 Collect and use histograms of upper and lower bounds, as well as range
6472 lengths, for <link linkend="rangetypes">range types</link>
6473 (Alexander Korotkov)
6479 Improve optimizer's cost estimation for index access (Tom Lane)
6485 Improve optimizer's hash table size estimate for
6486 doing <literal>DISTINCT</> via hash aggregation (Tom Lane)
6492 Suppress no-op Result and Limit plan nodes
6493 (Kyotaro Horiguchi, Amit Kapila, Tom Lane)
6499 Reduce optimizer overhead by not keeping plans on the basis of cheap
6500 startup cost when the optimizer only cares about total cost overall
6510 <title>General Performance</title>
6516 Add <link linkend="SQL-COPY"><command>COPY FREEZE</></link>
6517 option to avoid the overhead of marking tuples as frozen later
6518 (Simon Riggs, Jeff Davis)
6524 Improve performance of <link
6525 linkend="datatype-numeric"><type>NUMERIC</></link> calculations
6532 Improve synchronization of sessions waiting for <link
6533 linkend="guc-commit-delay"><varname>commit_delay</></link>
6538 This greatly improves the usefulness of <varname>commit_delay</>.
6544 Improve performance of the <link
6545 linkend="SQL-CREATETABLE"><command>CREATE TEMPORARY TABLE ... ON
6546 COMMIT DELETE ROWS</></link> option by not truncating such temporary
6547 tables in transactions that haven't touched any temporary tables
6548 (Heikki Linnakangas)
6554 Make vacuum recheck visibility after it has removed expired tuples
6559 This increases the chance of a page being marked as all-visible.
6565 Add per-resource-owner lock caches (Jeff Janes)
6569 This speeds up lock bookkeeping at statement completion in
6570 multi-statement transactions that hold many locks; it is particularly
6571 useful for <application>pg_dump</>.
6577 Avoid scanning the entire relation cache at commit of a transaction
6578 that creates a new relation (Jeff Janes)
6582 This speeds up sessions that create many tables in successive
6583 small transactions, such as a <application>pg_restore</> run.
6589 Improve performance of transactions that drop many relations
6599 <title>Monitoring</title>
6605 Add optional ability to <link
6606 linkend="app-initdb-data-checksums">checksum</link> data pages and
6607 report corruption (Simon Riggs, Jeff Davis, Greg Smith, Ants Aasma)
6611 The checksum option can be set during <link
6612 linkend="APP-INITDB">initdb</link>.
6618 Split the <link linkend="monitoring-stats">statistics collector's</link>
6619 data file into separate global and per-database files (Tomas Vondra)
6623 This reduces the I/O required for statistics tracking.
6629 Fix the statistics collector to operate properly in cases where the
6630 system clock goes backwards (Tom Lane)
6634 Previously, statistics collection would stop until the time again
6635 reached the latest time previously recorded.
6641 Emit an informative message to postmaster standard error when we
6642 are about to stop logging there
6647 This should help reduce user confusion about where to look for log
6648 output in common configurations that log to standard error only during
6658 <title>Authentication</title>
6664 When an authentication failure occurs, log the relevant
6665 <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</></link>
6666 line, to ease debugging of unintended failures
6673 Improve <link linkend="auth-ldap"><acronym>LDAP</></link> error
6674 reporting and documentation (Peter Eisentraut)
6680 Add support for specifying <acronym>LDAP</> authentication parameters
6681 in <acronym>URL</> format, per RFC 4516 (Peter Eisentraut)
6688 linkend="guc-ssl-ciphers"><varname>ssl_ciphers</></link> parameter
6689 to start with <literal>DEFAULT</>, rather than <literal>ALL</>,
6690 then remove insecure ciphers (Magnus Hagander)
6694 This should yield a more appropriate SSL cipher set.
6700 Parse and load <link
6701 linkend="auth-username-maps"><filename>pg_ident.conf</></link>
6702 once, not during each connection (Amit Kapila)
6706 This is similar to how <filename>pg_hba.conf</> is processed.
6715 <title>Server Settings</title>
6721 Greatly reduce System V <link linkend="sysvipc">shared
6722 memory</link> requirements (Robert Haas)
6726 On Unix-like systems, <function>mmap()</> is now used for most
6727 of <productname>PostgreSQL</>'s shared memory. For most users, this
6728 will eliminate any need to adjust kernel parameters for shared memory.
6734 Allow the postmaster to listen on multiple Unix-domain sockets
6735 (Honza Horák)
6739 The configuration parameter
6740 <varname>unix_socket_directory</> is replaced by <link
6741 linkend="guc-unix-socket-directories"><varname>unix_socket_directories</></link>,
6742 which accepts a list of directories.
6748 Allow a directory of configuration files to be processed (Magnus
6749 Hagander, Greg Smith, Selena Deckelmann)
6753 Such a directory is specified with <link
6754 linkend="config-includes"><varname>include_dir</></link> in the server
6761 Increase the maximum <link
6762 linkend="APP-INITDB">initdb</link>-configured value for <link
6763 linkend="guc-shared-buffers"><varname>shared_buffers</></link>
6764 to 128MB (Robert Haas)
6768 This is the maximum value that initdb will attempt to set in <link
6769 linkend="config-setting-configuration-file"><filename>postgresql.conf</></link>;
6770 the previous maximum was 32MB.
6776 Remove the <link linkend="guc-external-pid-file">external
6777 <acronym>PID</> file</link>, if any, on postmaster exit
6789 <title>Replication and Recovery</title>
6795 Allow a streaming replication standby to <link
6796 linkend="protocol-replication">follow a timeline switch</link>
6797 (Heikki Linnakangas)
6801 This allows streaming standby servers to receive WAL data from a slave
6802 newly promoted to master status. Previously, other standbys would
6803 require a resync to begin following the new master.
6809 Add <acronym>SQL</> functions <link
6810 linkend="functions-admin-backup"><function>pg_is_in_backup()</></link>
6812 linkend="functions-admin-backup"><function>pg_backup_start_time()</></link>
6817 These functions report the status of base backups.
6823 Improve performance of streaming log shipping with <link
6824 linkend="guc-synchronous-commit"><varname>synchronous_commit</></link>
6825 disabled (Andres Freund)
6831 Allow much faster promotion of a streaming standby to primary (Simon
6832 Riggs, Kyotaro Horiguchi)
6838 Add the last checkpoint's redo location to <link
6839 linkend="APP-PGCONTROLDATA"><application>pg_controldata</></link>'s
6840 output (Fujii Masao)
6844 This information is useful for determining which <acronym>WAL</>
6845 files are needed for restore.
6851 Allow tools like <link
6852 linkend="app-pgreceivexlog"><application>pg_receivexlog</></link>
6853 to run on computers with different architectures (Heikki
6858 WAL files can still only be replayed on servers with the same
6859 architecture as the primary; but they can now be transmitted to and
6860 stored on machines of any architecture, since the
6861 streaming replication protocol is now machine-independent.
6868 linkend="app-pgbasebackup"><application>pg_basebackup</></link>
6869 <option>--write-recovery-conf</> output a
6870 minimal <filename>recovery.conf</> file (Zoltán
6871 Böszörményi, Magnus Hagander)
6875 This simplifies setting up a standby server.
6882 linkend="app-pgreceivexlog"><application>pg_receivexlog</></link>
6884 linkend="app-pgbasebackup"><application>pg_basebackup</></link>
6885 <option>--xlog-method</> to handle streaming timeline switches
6886 (Heikki Linnakangas)
6893 linkend="guc-wal-receiver-timeout"><varname>wal_receiver_timeout</></link>
6894 parameter to control the <acronym>WAL</> receiver's timeout
6899 This allows more rapid detection of connection failure.
6905 Change the <link linkend="wal"><acronym>WAL</></link> record format to
6906 allow splitting the record header across pages (Heikki Linnakangas)
6910 The new format is slightly more compact, and is more efficient to
6920 <title>Queries</title>
6926 Implement <acronym>SQL</>-standard <link
6927 linkend="queries-lateral"><literal>LATERAL</></link> option for
6928 <literal>FROM</>-clause subqueries and function calls (Tom Lane)
6932 This feature allows subqueries and functions in <literal>FROM</> to
6933 reference columns from other tables in the <literal>FROM</>
6934 clause. The <literal>LATERAL</> keyword is optional for functions.
6940 Add support for piping <link
6941 linkend="SQL-COPY"><command>COPY</></link> and <link
6942 linkend="APP-PSQL"><application>psql</></link> <command>\copy</>
6943 data to/from an external program (Etsuro Fujita)
6949 Allow a multirow <link
6950 linkend="SQL-VALUES"><literal>VALUES</></link> clause in a rule
6951 to reference <literal>OLD</>/<literal>NEW</> (Tom Lane)
6960 <title>Object Manipulation</title>
6966 Add support for <link linkend="event-triggers">event triggers</link>
6967 (Dimitri Fontaine, Robert Haas, Álvaro Herrera)
6971 This allows server-side functions written in event-enabled
6972 languages to be called when DDL commands are run.
6978 Allow <link linkend="SQL-CREATEFOREIGNDATAWRAPPER">foreign data
6979 wrappers</link> to support writes (inserts/updates/deletes) on foreign
6980 tables (KaiGai Kohei)
6986 Add <link linkend="SQL-CREATESCHEMA"><command>CREATE SCHEMA ... IF
6987 NOT EXISTS</></link> clause (Fabrízio de Royes Mello)
6993 Make <link linkend="SQL-REASSIGN-OWNED"><command>REASSIGN
6994 OWNED</></link> also change ownership of shared objects
6995 (Álvaro Herrera)
7001 Make <link linkend="sql-createaggregate"><command>CREATE
7002 AGGREGATE</></link> complain if the given initial value string is not
7003 valid input for the transition datatype (Tom Lane)
7009 Suppress <link linkend="SQL-CREATETABLE"><command>CREATE
7010 TABLE</></link>'s messages about implicit index and sequence creation
7015 These messages now appear at <literal>DEBUG1</> verbosity, so that
7016 they will not be shown by default.
7022 Allow <link linkend="SQL-DROPTABLE"><command>DROP TABLE IF
7023 EXISTS</></link> to succeed when a non-existent schema is specified
7024 in the table name (Bruce Momjian)
7028 Previously, it threw an error if the schema did not exist.
7034 Provide clients with <link
7035 linkend="libpq-pqresulterrorfield">constraint violation details</link>
7036 as separate fields (Pavel Stehule)
7040 This allows clients to retrieve table, column, data type, or
7041 constraint name error details. Previously such information had to be
7042 extracted from error strings. Client library support is required to
7043 access these fields.
7050 <title><command>ALTER</></title>
7056 Support <literal>IF NOT EXISTS</> option in <link
7057 linkend="SQL-ALTERTYPE"><command>ALTER TYPE ... ADD VALUE</></link>
7062 This is useful for conditionally adding values to enumerated types.
7068 Add <link linkend="SQL-ALTERROLE"><command>ALTER ROLE ALL
7069 SET</></link> to establish settings for all users (Peter Eisentraut)
7073 This allows settings to apply to all users in all databases. <link
7074 linkend="SQL-ALTERDATABASE"><command>ALTER DATABASE SET</></link>
7075 already allowed addition of settings for all users in a single
7076 database. <filename>postgresql.conf</> has a similar effect.
7082 Add support for <link linkend="SQL-ALTERRULE"><command>ALTER RULE
7083 ... RENAME</></link> (Ali Dar)
7092 <title><link linkend="rules-views"><command>VIEWs</></link></title>
7098 Add <link linkend="SQL-CREATEMATERIALIZEDVIEW">materialized
7099 views</link> (Kevin Grittner)
7103 Unlike ordinary views, where the base tables are read on every access,
7104 materialized views create physical tables at creation or refresh time.
7105 Access to the materialized view then reads from its physical
7106 table. There is not yet any facility for incrementally refreshing
7107 materialized views or auto-accessing them via base table access.
7113 Make simple views <link
7114 linkend="SQL-CREATEVIEW-updatable-views">auto-updatable</link>
7119 Simple views that reference some or all columns from a
7120 single base table are now updatable by default. More
7121 complex views can be made updatable using <link
7122 linkend="SQL-CREATETRIGGER"><literal>INSTEAD OF</></link> triggers
7123 or <link linkend="SQL-CREATERULE"><literal>INSTEAD</></link> rules.
7129 Add <link linkend="SQL-CREATEVIEW"><command>CREATE RECURSIVE
7130 VIEW</></link> syntax (Peter Eisentraut)
7134 Internally this is translated into <command>CREATE VIEW ... WITH
7141 Improve view/rule printing code to handle cases where referenced
7142 tables are renamed, or columns are renamed, added, or dropped
7147 Table and column renamings can produce cases where, if we merely
7148 substitute the new name into the original text of a rule or view, the
7149 result is ambiguous. This change fixes the rule-dumping code to insert
7150 manufactured table and column aliases when needed to preserve the
7162 <title>Data Types</title>
7168 Increase the maximum size of <link linkend="largeObjects">large
7169 objects</link> from 2GB to 4TB (Nozomi Anzai, Yugo Nagata)
7173 This change includes adding 64-bit-capable large object access
7174 functions, both in the server and in libpq.
7180 Allow text <link linkend="datatype-timezones">timezone
7181 designations</link>, e.g. <quote>America/Chicago</>, in the
7182 <quote>T</> field of <acronym>ISO</>-format <type>timestamptz</type>
7183 input (Bruce Momjian)
7190 <title><link linkend="datatype-json"><type>JSON</></link></title>
7196 Add <link linkend="functions-json">operators and functions</link>
7197 to extract elements from <type>JSON</> values (Andrew Dunstan)
7203 Allow <type>JSON</> values to be <link
7204 linkend="functions-json">converted into records</link>
7211 Add <link linkend="functions-json">functions</link> to convert
7212 scalars, records, and <type>hstore</> values to <type>JSON</> (Andrew
7225 <title>Functions</title>
7232 linkend="array-functions-table"><function>array_remove()</></link>
7234 linkend="array-functions-table"><function>array_replace()</></link>
7235 functions (Marco Nenciarini, Gabriele Bartolini)
7242 linkend="functions-string-other"><function>concat()</></link>
7244 linkend="functions-string-format"><function>format()</></link>
7245 to properly expand <literal>VARIADIC</>-labeled arguments
7253 linkend="functions-string-format"><function>format()</></link>
7254 to provide field width and left/right alignment options (Pavel Stehule)
7261 linkend="functions-formatting-table"><function>to_char()</></link>,
7263 linkend="functions-formatting-table"><function>to_date()</></link>,
7265 linkend="functions-formatting-table"><function>to_timestamp()</></link>
7266 handle negative (BC) century values properly
7271 Previously the behavior was either wrong or inconsistent
7272 with positive/<acronym>AD</> handling, e.g. with the format mask
7273 <quote>IYYY-IW-DY</>.
7280 linkend="functions-formatting-table"><function>to_date()</></link>
7282 linkend="functions-formatting-table"><function>to_timestamp()</></link>
7283 return proper results when mixing <acronym>ISO</> and Gregorian
7284 week/day designations (Bruce Momjian)
7291 linkend="functions-info-catalog-table"><function>pg_get_viewdef()</></link>
7292 to start a new line by default after each <literal>SELECT</> target
7293 list entry and <literal>FROM</> entry (Marko Tiikkaja)
7297 This reduces line length in view printing, for instance in <link
7298 linkend="APP-PGDUMP"><application>pg_dump</></link> output.
7304 Fix <function>map_sql_value_to_xml_value()</> to print values of
7305 domain types the same way their base type would be printed
7310 There are special formatting rules for certain built-in types such as
7311 <type>boolean</>; these rules now also apply to domains over these
7321 <title>Server-Side Languages</title>
7324 <title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
7330 Allow PL/pgSQL to use <literal>RETURN</> with a composite-type
7331 expression (Asif Rehman)
7335 Previously, in a function returning a composite type,
7336 <literal>RETURN</> could only reference a variable of that type.
7342 Allow PL/pgSQL to access <link
7343 linkend="plpgsql-exception-diagnostics">constraint violation
7344 details</link> as separate fields (Pavel Stehule)
7350 Allow PL/pgSQL to access the number of rows processed by
7351 <link linkend="SQL-COPY"><command>COPY</></link> (Pavel Stehule)
7355 A <command>COPY</> executed in a PL/pgSQL function now updates the
7356 value retrieved by <link
7357 linkend="plpgsql-statements-diagnostics"><command>GET DIAGNOSTICS
7358 x = ROW_COUNT</></link>.
7364 Allow unreserved keywords to be used as identifiers everywhere in
7369 In certain places in the PL/pgSQL grammar, keywords had to be quoted
7370 to be used as identifiers, even if they were nominally unreserved.
7379 <title><link linkend="plpython">PL/Python</link> Server-Side Language</title>
7385 Add PL/Python result object string handler (Peter Eisentraut)
7389 This allows <literal>plpy.debug(rv)</literal> to output something reasonable.
7395 Make PL/Python convert OID values to a proper Python numeric type
7402 Handle <link linkend="spi"><acronym>SPI</></link> errors raised
7403 explicitly (with PL/Python's <literal>RAISE</>) the same as
7404 internal <acronym>SPI</> errors (Oskari Saarenmaa and Jan Urbanski)
7415 <title>Server Programming Interface (<link linkend="spi">SPI</link>)</title>
7421 Prevent leakage of <acronym>SPI</> tuple tables during subtransaction
7426 At the end of any failed subtransaction, the core SPI code now
7427 releases any SPI tuple tables that were created during that
7428 subtransaction. This avoids the need for SPI-using code to keep track
7429 of such tuple tables and release them manually in error-recovery code.
7430 Failure to do so caused a number of transaction-lifespan memory leakage
7431 issues in PL/pgSQL and perhaps other SPI clients. <link
7432 linkend="spi-spi-freetupletable"><function>SPI_freetuptable()</></link>
7433 now protects itself against multiple freeing requests, so any existing
7434 code that did take care to clean up shouldn't be broken by this change.
7440 Allow <acronym>SPI</> functions to access the number of rows processed
7441 by <link linkend="SQL-COPY"><command>COPY</></link> (Pavel Stehule)
7450 <title>Client Applications</title>
7456 Add command-line utility <link
7457 linkend="app-pg-isready"><application>pg_isready</></link> to
7458 check if the server is ready to accept connections (Phil Sorber)
7464 Support multiple <option>--table</> arguments for <link
7465 linkend="APP-PGRESTORE"><application>pg_restore</></link>,
7466 <link linkend="APP-CLUSTERDB"><application>clusterdb</></link>,
7467 <link linkend="APP-REINDEXDB"><application>reindexdb</></link>,
7468 and <link linkend="APP-VACUUMDB"><application>vacuumdb</></link>
7473 This is similar to the way <link
7474 linkend="APP-PGDUMP"><application>pg_dump</></link>'s
7475 <option>--table</> option works.
7481 Add <option>--dbname</> option to <link
7482 linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link>, <link
7483 linkend="app-pgbasebackup"><application>pg_basebackup</></link>, and
7485 linkend="app-pgreceivexlog"><application>pg_receivexlog</></link>
7486 to allow specifying a connection string (Amit Kapila)
7492 Add libpq function <link
7493 linkend="libpq-pqconninfo"><function>PQconninfo()</></link>
7494 to return connection information (Zoltán
7495 Böszörményi, Magnus Hagander)
7502 <title><link linkend="APP-PSQL"><application>psql</></link></title>
7508 Adjust function cost settings so <application>psql</> tab
7509 completion and pattern searching are more efficient (Tom Lane)
7515 Improve <application>psql</>'s tab completion coverage (Jeff Janes,
7516 Dean Rasheed, Peter Eisentraut, Magnus Hagander)
7522 Allow the <application>psql</> <option>--single-transaction</>
7523 mode to work when reading from standard input (Fabien Coelho,
7528 Previously this option only worked when reading from a file.
7534 Remove <application>psql</> warning when connecting to an older
7535 server (Peter Eisentraut)
7539 A warning is still issued when connecting to a server of a newer major
7540 version than <application>psql</>'s.
7547 <title><link linkend="APP-PSQL-meta-commands">Backslash Commands</link></title>
7553 Add <application>psql</> command <command>\watch</> to repeatedly
7554 execute a SQL command (Will Leinweber)
7560 Add <application>psql</> command <command>\gset</> to store query
7561 results in <application>psql</> variables (Pavel Stehule)
7567 Add <acronym>SSL</> information to <application>psql</>'s
7568 <command>\conninfo</> command (Alastair Turner)
7574 Add <quote>Security</> column to <application>psql</>'s
7575 <command>\df+</> output (Jon Erdman)
7581 Allow <application>psql</> command <command>\l</> to accept a database
7582 name pattern (Peter Eisentraut)
7588 In <application>psql</>, do not allow <command>\connect</> to
7589 use defaults if there is no active connection (Bruce Momjian)
7593 This might be the case if the server had crashed.
7599 Properly reset state after failure of a SQL command executed with
7600 <application>psql</>'s <literal>\g</> <replaceable>file</>
7605 Previously, the output from subsequent SQL commands would unexpectedly
7606 continue to go to the same file.
7615 <title>Output</title>
7621 Add a <literal>latex-longtable</> output format to
7622 <application>psql</> (Bruce Momjian)
7626 This format allows tables to span multiple pages.
7632 Add a <literal>border=3</> output mode to the <application>psql</>
7633 <literal>latex</> format (Bruce Momjian)
7639 In <application>psql</>'s tuples-only and expanded output modes, no
7640 longer emit <quote>(No rows)</> for zero rows (Peter Eisentraut)
7646 In <application>psql</>'s unaligned, expanded output mode, no longer
7647 print an empty line for zero rows (Peter Eisentraut)
7658 <title><link linkend="APP-PGDUMP"><application>pg_dump</></link></title>
7664 Add <application>pg_dump</> <option>--jobs</> option to dump tables in
7665 parallel (Joachim Wieland)
7671 Make <application>pg_dump</> output functions in a more predictable
7672 order (Joel Jacobson)
7678 Fix tar files emitted by <application>pg_dump</>
7679 to be <acronym>POSIX</> conformant (Brian Weaver, Tom Lane)
7685 Add <option>--dbname</> option to <application>pg_dump</>, for
7686 consistency with other client commands (Heikki Linnakangas)
7690 The database name could already be supplied last without a flag.
7699 <title><link linkend="APP-INITDB"><application>initdb</></link></title>
7705 Make initdb fsync the newly created data directory (Jeff Davis)
7709 This insures data integrity in event of a system crash shortly after
7710 initdb. This can be disabled by using <option>--nosync</>.
7716 Add initdb <option>--sync-only</> option to sync the data directory to durable
7717 storage (Bruce Momjian)
7721 This is used by <link
7722 linkend="pgupgrade"><application>pg_upgrade</></link>.
7728 Make initdb issue a warning about placing the data directory at the
7729 top of a file system mount point (Bruce Momjian)
7740 <title>Source Code</title>
7746 Add infrastructure to allow plug-in <link
7747 linkend="bgworker">background worker processes</link>
7748 (Álvaro Herrera)
7754 Create a centralized timeout <acronym>API</> (Zoltán
7755 Böszörményi)
7761 Create libpgcommon and move <function>pg_malloc()</> and other
7762 functions there (Álvaro Herrera, Andres Freund)
7766 This allows libpgport to be used solely for portability-related code.
7772 Add support for list links embedded in larger structs (Andres Freund)
7778 Use <literal>SA_RESTART</> for all signals,
7779 including <literal>SIGALRM</> (Tom Lane)
7785 Ensure that the correct text domain is used when
7786 translating <function>errcontext()</> messages
7787 (Heikki Linnakangas)
7793 Standardize naming of client-side memory allocation functions (Tom Lane)
7799 Provide support for <quote>static assertions</> that will fail at
7800 compile time if some compile-time-constant condition is not met
7801 (Andres Freund, Tom Lane)
7807 Support <function>Assert()</> in client-side code (Andrew Dunstan)
7813 Add decoration to inform the C compiler that some <function>ereport()</>
7814 and <function>elog()</> calls do not return (Peter Eisentraut,
7815 Andres Freund, Tom Lane, Heikki Linnakangas)
7821 Allow options to be passed to the regression
7822 test output comparison utility via <link
7823 linkend="regress-evaluation"><envar>PG_REGRESS_DIFF_OPTS</></link>
7830 Add isolation tests for <link
7831 linkend="SQL-CREATEINDEX"><command>CREATE INDEX
7832 CONCURRENTLY</></link> (Abhijit Menon-Sen)
7838 Remove typedefs for <type>int2</>/<type>int4</> as they are better
7839 represented as <type>int16</>/<type>int32</> (Peter Eisentraut)
7845 Fix <link linkend="install">install-strip</link> on Mac <productname>OS
7846 X</> (Peter Eisentraut)
7852 Remove <link linkend="configure">configure</link> flag
7853 <option>--disable-shared</>, as it is no longer supported
7860 Rewrite pgindent in <application>Perl</> (Andrew Dunstan)
7866 Provide Emacs macro to set Perl formatting to
7867 match <productname>PostgreSQL</>'s perltidy settings (Peter Eisentraut)
7873 Run tool to check the keyword list whenever the backend grammar is
7880 Change the way <literal>UESCAPE</> is lexed, to significantly reduce
7881 the size of the lexer tables (Heikki Linnakangas)
7887 Centralize <application>flex</> and <application>bison</>
7888 <application>make</> rules (Peter Eisentraut)
7892 This is useful for <application>pgxs</> authors.
7898 Change many internal backend functions to return object <type>OID</>s
7899 rather than void (Dimitri Fontaine)
7903 This is useful for event triggers.
7909 Invent pre-commit/pre-prepare/pre-subcommit events for transaction
7910 callbacks (Tom Lane)
7914 Loadable modules that use transaction callbacks might need modification
7915 to handle these new event types.
7922 linkend="functions-info-catalog-table"><function>pg_identify_object()</></link>
7923 to produce a machine-readable description of a database object
7924 (Álvaro Herrera)
7930 Add post-<command>ALTER</>-object server hooks (KaiGai Kohei)
7936 Implement a generic binary heap and use it for Merge-Append
7937 operations (Abhijit Menon-Sen)
7943 Provide a tool to help detect timezone abbreviation changes when
7944 updating the <filename>src/timezone/data</> files
7951 Add <application>pkg-config</> support for <application>libpq</>
7952 and <application>ecpg</> libraries (Peter Eisentraut)
7958 Remove <filename>src/tool/backend</>, now that the content is on
7959 the <productname>PostgreSQL</> wiki (Bruce Momjian)
7965 Split out <link linkend="wal"><acronym>WAL</></link> reading as
7966 an independent facility (Heikki Linnakangas, Andres Freund)
7972 Use a 64-bit integer to represent <link
7973 linkend="wal"><acronym>WAL</></link> positions
7974 (<structname>XLogRecPtr</>) instead of two 32-bit integers
7975 (Heikki Linnakangas)
7979 Generally, tools that need to read the <acronym>WAL</> format
7980 will need to be adjusted.
7986 Allow <link linkend="plpython">PL/Python</link> to support
7987 platform-specific include directories (Peter Eisentraut)
7993 Allow <link linkend="plpython">PL/Python</link> on <productname>OS
7994 X</> to build against custom versions of <application>Python</>
8004 <title>Additional Modules</title>
8010 Add a <link linkend="postgres-fdw"><productname>Postgres</> foreign
8011 data wrapper</link> contrib module to allow access to
8012 other <productname>Postgres</> servers (Shigeru Hanada)
8016 This foreign data wrapper supports writes.
8022 Add <link linkend="pgxlogdump"><application>pg_xlogdump</></link>
8023 contrib program (Andres Freund)
8029 Add support for indexing of regular-expression searches in
8030 <link linkend="pgtrgm"><productname>pg_trgm</></link>
8031 (Alexander Korotkov)
8037 Improve <link linkend="pgtrgm"><productname>pg_trgm</></link>'s
8038 handling of multibyte characters (Tom Lane)
8042 On a platform that does not have the wcstombs() or towlower() library
8043 functions, this could result in an incompatible change in the contents
8044 of <productname>pg_trgm</> indexes for non-ASCII data. In such cases,
8045 <command>REINDEX</> those indexes to ensure correct search results.
8051 Add a <link linkend="pgstattuple">pgstattuple</link> function to report
8052 the size of the pending-insertions list of a <acronym>GIN</> index
8059 Make <link linkend="oid2name"><application>oid2name</></link>,
8060 <link linkend="pgbench"><application>pgbench</></link>, and
8061 <link linkend="vacuumlo"><application>vacuumlo</></link> set
8062 <varname>fallback_application_name</> (Amit Kapila)
8068 Improve output of <link
8069 linkend="pgtesttiming"><application>pg_test_timing</></link>
8076 Improve output of <link
8077 linkend="pgtestfsync"><application>pg_test_fsync</></link>
8084 Create a dedicated foreign data wrapper, with its own option validator
8085 function, for <link linkend="dblink">dblink</link> (Shigeru Hanada)
8089 When using this FDW to define the target of a <application>dblink</>
8090 connection, instead of using a hard-wired list of connection options,
8091 the underlying <application>libpq</> library is consulted to see what
8092 connection options it supports.
8099 <title><link linkend="pgupgrade"><application>pg_upgrade</></link></title>
8105 Allow <application>pg_upgrade</> to do dumps and restores in
8106 parallel (Bruce Momjian, Andrew Dunstan)
8110 This allows parallel schema dump/restore of databases, as well as
8111 parallel copy/link of data files per tablespace. Use the
8112 <option>--jobs</> option to specify the level of parallelism.
8118 Make <application>pg_upgrade</> create Unix-domain sockets in
8119 the current directory (Bruce Momjian, Tom Lane)
8123 This reduces the possibility that someone will accidentally connect
8130 Make <application>pg_upgrade</> <option>--check</> mode properly
8131 detect the location of non-default socket directories (Bruce
8138 Improve performance of <application>pg_upgrade</> for databases
8139 with many tables (Bruce Momjian)
8145 Improve <application>pg_upgrade</>'s logs by showing
8146 executed commands (Álvaro Herrera)
8152 Improve <application>pg_upgrade</>'s status display during
8153 copy/link (Bruce Momjian)
8162 <title><link linkend="pgbench"><application>pgbench</></link></title>
8168 Add <option>--foreign-keys</> option to <application>pgbench</>
8173 This adds foreign key constraints to the standard tables created by
8174 <application>pgbench</>, for use in foreign key performance testing.
8180 Allow <application>pgbench</> to aggregate performance statistics
8181 and produce output every <option>--aggregate-interval</>
8182 seconds (Tomas Vondra)
8188 Add <application>pgbench</> <option>--sampling-rate</> option
8189 to control the percentage of transactions logged (Tomas Vondra)
8195 Reduce and improve the status message output of
8196 <application>pgbench</>'s initialization mode (Robert Haas,
8203 Add <application>pgbench</> <option>-q</> mode to print one output
8204 line every five seconds (Tomas Vondra)
8210 Output <application>pgbench</> elapsed and estimated remaining
8211 time during initialization (Tomas Vondra)
8217 Allow <application>pgbench</> to use much larger scale factors,
8218 by changing relevant columns from <type>integer</> to <type>bigint</>
8219 when the requested scale factor exceeds 20000
8231 <title>Documentation</title>
8237 Allow <productname>EPUB</>-format documentation to be created
8244 Update <productname>FreeBSD</> kernel configuration documentation
8251 Improve <link linkend="tutorial-window"><literal>WINDOW</>
8252 function</link> documentation (Bruce Momjian, Florian Pflug)
8258 Add <link linkend="docguide-toolsets">instructions</link> for setting
8259 up the documentation tool chain on Mac <productname>OS X</>
8267 linkend="guc-commit-delay"><varname>commit_delay</></link>
8268 documentation (Peter Geoghegan)