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-22</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 Improve detection of system-call failures (Noah Misch)
65 Our replacement implementation of <function>snprintf()</> failed to
66 check for errors reported by the underlying system library calls;
67 the main case that might be missed is out-of-memory situations.
68 In the worst case this might lead to information exposure, due to our
69 code assuming that a buffer had been overwritten when it hadn't been.
70 Also, there were a few places in which security-relevant calls of other
71 system library functions did not check for failure.
75 It remains possible that some calls of the <function>*printf()</>
76 family of functions are vulnerable to information disclosure if an
77 out-of-memory error occurs at just the wrong time. We judge the risk
78 to not be large, but will continue analysis in this area.
85 In <filename>contrib/pgcrypto</>, uniformly report decryption failures
86 as <quote>Wrong key or corrupt data</> (Noah Misch)
90 Previously, some cases of decryption with an incorrect key could report
91 other error message texts. It has been shown that such variance in
92 error reports can aid attackers in recovering keys from other systems.
93 While it's unknown whether <filename>pgcrypto</>'s specific behaviors
94 are likewise exploitable, it seems better to avoid the risk by using a
95 one-size-fits-all message.
102 Protect against wraparound of multixact member IDs
103 (Álvaro Herrera, Robert Haas, Thomas Munro)
107 Under certain usage patterns, the existing defenses against this might
108 be insufficient, allowing <filename>pg_multixact/members</> files to be
109 removed too early, resulting in data loss.
110 The fix for this includes modifying the server to fail transactions
111 that would result in overwriting old multixact member ID data, and
112 improving autovacuum to ensure it will act proactively to prevent
113 multixact member ID wraparound, as it does for transaction ID
120 Fix incorrect declaration of <filename>contrib/citext</>'s
121 <function>regexp_matches()</> functions (Tom Lane)
125 These functions should return <type>setof text[]</>, like the core
126 functions they are wrappers for; but they were incorrectly declared as
127 returning just <type>text[]</>. This mistake had two results: first,
128 if there was no match you got a scalar null result, whereas what you
129 should get is an empty set (zero rows). Second, the <literal>g</> flag
130 was effectively ignored, since you would get only one result array even
131 if there were multiple matches.
135 While the latter behavior is clearly a bug, there might be applications
136 depending on the former behavior; therefore the function declarations
137 will not be changed by default until <productname>PostgreSQL</> 9.5.
138 In pre-9.5 branches, the old behavior exists in version 1.0 of
139 the <literal>citext</> extension, while we have provided corrected
140 declarations in version 1.1 (which is <emphasis>not</> installed by
141 default). To adopt the fix in pre-9.5 branches, execute
142 <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
143 which <literal>citext</> is installed. (You can also <quote>update</>
144 back to 1.0 if you need to undo that.) Be aware that either update
145 direction will require dropping and recreating any views or rules that
146 use <filename>citext</>'s <function>regexp_matches()</> functions.
152 Fix incorrect checking of deferred exclusion constraints after a HOT
157 If a new row that potentially violates a deferred exclusion constraint
158 is HOT-updated (that is, no indexed columns change and the row can be
159 stored back onto the same table page) later in the same transaction,
160 the exclusion constraint would be reported as violated when the check
161 finally occurred, even if the row(s) the new row originally conflicted
162 with had been deleted.
168 Fix planning of star-schema-style queries (Tom Lane)
172 Sometimes, efficient scanning of a large table requires that index
173 parameters be provided from more than one other table (commonly,
174 dimension tables whose keys are needed to index a large fact table).
175 The planner should be able to find such plans, but an overly
176 restrictive search heuristic prevented it.
182 Prevent improper reordering of antijoins (NOT EXISTS joins) versus
183 other outer joins (Tom Lane)
187 This oversight in the planner has been observed to cause <quote>could
188 not find RelOptInfo for given relids</> errors, but it seems possible
189 that sometimes an incorrect query plan might get past that consistency
190 check and result in silently-wrong query output.
196 Fix incorrect matching of subexpressions in outer-join plan nodes
201 Previously, if textually identical non-strict subexpressions were used
202 both above and below an outer join, the planner might try to re-use
203 the value computed below the join, which would be incorrect because the
204 executor would force the value to NULL in case of an unmatched outer row.
210 Fix GEQO planner to cope with failure of its join order heuristic
215 This oversight has been seen to lead to <quote>failed to join all
216 relations together</> errors in queries involving <literal>LATERAL</>,
217 and that might happen in other cases as well.
223 Fix possible deadlock at startup
224 when <literal>max_prepared_transactions</> is too small
231 Don't archive useless preallocated WAL files after a timeline switch
238 Recursively <function>fsync()</> the data directory after a crash
239 (Abhijit Menon-Sen, Robert Haas)
243 This ensures consistency if another crash occurs shortly later. (The
244 second crash would have to be a system-level crash, not just a database
245 crash, for there to be a problem.)
251 Fix autovacuum launcher's possible failure to shut down, if an error
252 occurs after it receives SIGTERM (Álvaro Herrera)
258 Cope with unexpected signals in <function>LockBufferForCleanup()</>
263 This oversight could result in spurious errors about <quote>multiple
264 backends attempting to wait for pincount 1</>.
270 Fix crash when doing <literal>COPY IN</> to a table with check
271 constraints that contain whole-row references (Tom Lane)
275 The known failure case only crashes in 9.4 and up, but there is very
276 similar code in 9.3 and 9.2, so back-patch those branches as well.
282 Avoid waiting for WAL flush or synchronous replication during commit of
283 a transaction that was read-only so far as the user is concerned
288 Previously, a delay could occur at commit in transactions that had
289 written WAL due to HOT page pruning, leading to undesirable effects
290 such as sessions getting stuck at startup if all synchronous replicas
291 are down. Sessions have also been observed to get stuck in catchup
292 interrupt processing when using synchronous replication; this will fix
293 that problem as well.
299 Fix crash when manipulating hash indexes on temporary tables
306 Fix possible failure during hash index bucket split, if other processes
307 are modifying the index concurrently (Tom Lane)
313 Check for interrupts while analyzing index expressions (Jeff Janes)
317 <command>ANALYZE</> executes index expressions many times; if there are
318 slow functions in such an expression, it's desirable to be able to
319 cancel the <command>ANALYZE</> before that loop finishes.
325 Ensure <structfield>tableoid</> of a foreign table is reported
326 correctly when a <literal>READ COMMITTED</> recheck occurs after
327 locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>,
328 or <command>DELETE</> (Etsuro Fujita)
334 Add the name of the target server to object description strings for
335 foreign-server user mappings (Álvaro Herrera)
341 Include the schema name in object identity strings for conversions
342 (Álvaro Herrera)
348 Recommend setting <literal>include_realm</> to 1 when using
349 Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
353 Without this, identically-named users from different realms cannot be
354 distinguished. For the moment this is only a documentation change, but
355 it will become the default setting in <productname>PostgreSQL</> 9.5.
361 Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
362 IPv4-in-IPv6 addresses (Tom Lane)
366 This hack was added in 2003 in response to a report that some Linux
367 kernels of the time would report IPv4 connections as having
368 IPv4-in-IPv6 addresses. However, the logic was accidentally broken in
369 9.0. The lack of any field complaints since then shows that it's not
370 needed anymore. Now we have reports that the broken code causes
371 crashes on some systems, so let's just remove it rather than fix it.
372 (Had we chosen to fix it, that would make for a subtle and potentially
373 security-sensitive change in the effective meaning of
374 IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
375 thing to do in minor releases.)
381 Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</>
382 replication command (Heikki Linnakangas)
386 This avoids a possible startup failure
387 in <application>pg_receivexlog</>.
393 While shutting down service on Windows, periodically send status
394 updates to the Service Control Manager to prevent it from killing the
395 service too soon; and ensure that <application>pg_ctl</> will wait for
396 shutdown (Krystian Bigaj)
402 Reduce risk of network deadlock when using <application>libpq</>'s
403 non-blocking mode (Heikki Linnakangas)
407 When sending large volumes of data, it's important to drain the input
408 buffer every so often, in case the server has sent enough response data
409 to cause it to block on output. (A typical scenario is that the server
410 is sending a stream of NOTICE messages during <literal>COPY FROM
411 STDIN</>.) This worked properly in the normal blocking mode, but not
412 so much in non-blocking mode. We've modified <application>libpq</>
413 to opportunistically drain input when it can, but a full defense
414 against this problem requires application cooperation: the application
415 should watch for socket read-ready as well as write-ready conditions,
416 and be sure to call <function>PQconsumeInput()</> upon read-ready.
422 In <application>libpq</>, fix misparsing of empty values in URI
423 connection strings (Thomas Fanghaenel)
429 Fix array handling in <application>ecpg</> (Michael Meskes)
435 Fix <application>psql</> to sanely handle URIs and conninfo strings as
436 the first parameter to <command>\connect</>
437 (David Fetter, Andrew Dunstan, Álvaro Herrera)
441 This syntax has been accepted (but undocumented) for a long time, but
442 previously some parameters might be taken from the old connection
443 instead of the given string, which was agreed to be undesirable.
449 Suppress incorrect complaints from <application>psql</> on some
450 platforms that it failed to write <filename>~/.psql_history</> at exit
455 This misbehavior was caused by a workaround for a bug in very old
456 (pre-2006) versions of <application>libedit</>. We fixed it by
457 removing the workaround, which will cause a similar failure to appear
458 for anyone still using such versions of <application>libedit</>.
459 Recommendation: upgrade that library, or use <application>libreadline</>.
465 Fix <application>pg_dump</>'s rule for deciding which casts are
466 system-provided casts that should not be dumped (Tom Lane)
472 In <application>pg_dump</>, fix failure to honor <literal>-Z</>
473 compression level option together with <literal>-Fd</>
480 Make <application>pg_dump</> consider foreign key relationships
481 between extension configuration tables while choosing dump order
482 (Gilles Darold, Michael Paquier, Stephen Frost)
486 This oversight could result in producing dumps that fail to reload
487 because foreign key constraints are transiently violated.
493 Avoid possible <application>pg_dump</> failure when concurrent sessions
494 are creating and dropping temporary functions (Tom Lane)
500 Fix dumping of views that are just <literal>VALUES(...)</> but have
501 column aliases (Tom Lane)
507 In <application>pg_upgrade</>, force timeline 1 in the new cluster
512 This change prevents upgrade failures caused by bogus complaints about
513 missing WAL history files.
519 In <application>pg_upgrade</>, check for improperly non-connectable
520 databases before proceeding
527 In <application>pg_upgrade</>, quote directory paths
528 properly in the generated <literal>delete_old_cluster</> script
535 In <application>pg_upgrade</>, preserve database-level freezing info
541 This oversight could cause missing-clog-file errors for tables within
542 the <literal>postgres</> and <literal>template1</> databases.
548 Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
549 restricted privileges on Windows, so that they don't fail when run by
550 an administrator (Muhammad Asif Naeem)
556 Improve handling of <function>readdir()</> failures when scanning
557 directories in <application>initdb</> and <application>pg_basebackup</>
564 Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
570 Fix compile failure on Sparc V8 machines (Rob Rowan)
576 Silence some build warnings on OS X (Tom Lane)
582 Update time zone data files to <application>tzdata</> release 2015d
583 for DST law changes in Egypt, Mongolia, and Palestine, plus historical
584 changes in Canada and Chile. Also adopt revised zone abbreviations for
585 the America/Adak zone (HST/HDT not HAST/HADT).
594 <sect1 id="release-9-3-6">
595 <title>Release 9.3.6</title>
598 <title>Release Date</title>
599 <simpara>2015-02-05</simpara>
603 This release contains a variety of fixes from 9.3.5.
604 For information about new features in the 9.3 major release, see
605 <xref linkend="release-9-3">.
609 <title>Migration to Version 9.3.6</title>
612 A dump/restore is not required for those running 9.3.X.
616 However, if you are a Windows user and are using the <quote>Norwegian
617 (Bokmål)</> locale, manual action is needed after the upgrade to
618 replace any <quote>Norwegian (Bokmål)_Norway</> locale names stored
619 in <productname>PostgreSQL</> system catalogs with the plain-ASCII
620 alias <quote>Norwegian_Norway</>. For details see
621 <ulink url="http://wiki.postgresql.org/wiki/Changes_To_Norwegian_Locale"></>
625 Also, if you are upgrading from a version earlier than 9.3.5,
626 see <xref linkend="release-9-3-5">.
632 <title>Changes</title>
637 Author: Bruce Momjian <bruce@momjian.us>
638 Branch: master [0150ab567] 2015-02-02 10:00:44 -0500
639 Branch: REL9_4_STABLE [1628a0bbf] 2015-02-02 10:00:49 -0500
640 Branch: REL9_3_STABLE [b8b580147] 2015-02-02 10:00:50 -0500
641 Branch: REL9_2_STABLE [5ae3bf1af] 2015-02-02 10:00:50 -0500
642 Branch: REL9_1_STABLE [037529a11] 2015-02-02 10:00:51 -0500
643 Branch: REL9_0_STABLE [611e110aa] 2015-02-02 10:00:52 -0500
644 Author: Bruce Momjian <bruce@momjian.us>
645 Branch: master [9241c84cb] 2015-02-02 10:00:45 -0500
646 Branch: REL9_4_STABLE [56d2bee9d] 2015-02-02 10:00:49 -0500
647 Branch: REL9_3_STABLE [fe2526990] 2015-02-02 10:00:50 -0500
648 Branch: REL9_2_STABLE [e09651e9d] 2015-02-02 10:00:50 -0500
649 Branch: REL9_1_STABLE [2ceb63deb] 2015-02-02 10:00:51 -0500
650 Branch: REL9_0_STABLE [56b970f2e] 2015-02-02 10:00:52 -0500
655 Fix buffer overruns in <function>to_char()</>
660 When <function>to_char()</> processes a numeric formatting template
661 calling for a large number of digits, <productname>PostgreSQL</>
662 would read past the end of a buffer. When processing a crafted
663 timestamp formatting template, <productname>PostgreSQL</> would write
664 past the end of a buffer. Either case could crash the server.
665 We have not ruled out the possibility of attacks that lead to
666 privilege escalation, though they seem unlikely.
672 Author: Bruce Momjian <bruce@momjian.us>
673 Branch: master [29725b3db] 2015-02-02 10:00:45 -0500
674 Branch: REL9_4_STABLE [2ac95c83c] 2015-02-02 10:00:49 -0500
675 Branch: REL9_3_STABLE [bc4d5f2e5] 2015-02-02 10:00:50 -0500
676 Branch: REL9_2_STABLE [c6c6aa288] 2015-02-02 10:00:51 -0500
677 Branch: REL9_1_STABLE [98f2479d8] 2015-02-02 10:00:51 -0500
678 Branch: REL9_0_STABLE [9e05c5063] 2015-02-02 10:00:52 -0500
683 Fix buffer overrun in replacement <function>*printf()</> functions
688 <productname>PostgreSQL</> includes a replacement implementation
689 of <function>printf</> and related functions. This code will overrun
690 a stack buffer when formatting a floating point number (conversion
691 specifiers <literal>e</>, <literal>E</>, <literal>f</>, <literal>F</>,
692 <literal>g</> or <literal>G</>) with requested precision greater than
693 about 500. This will crash the server, and we have not ruled out the
694 possibility of attacks that lead to privilege escalation.
695 A database user can trigger such a buffer overrun through
696 the <function>to_char()</> SQL function. While that is the only
697 affected core <productname>PostgreSQL</> functionality, extension
698 modules that use printf-family functions may be at risk as well.
702 This issue primarily affects <productname>PostgreSQL</> on Windows.
703 <productname>PostgreSQL</> uses the system implementation of these
704 functions where adequate, which it is on other modern platforms.
710 Author: Noah Misch <noah@leadboat.com>
711 Branch: master [1dc755158] 2015-02-02 10:00:45 -0500
712 Branch: REL9_4_STABLE [82806cf4e] 2015-02-02 10:00:49 -0500
713 Branch: REL9_3_STABLE [6994f0790] 2015-02-02 10:00:50 -0500
714 Branch: REL9_2_STABLE [d95ebe0ac] 2015-02-02 10:00:51 -0500
715 Branch: REL9_1_STABLE [11f738a8a] 2015-02-02 10:00:51 -0500
716 Branch: REL9_0_STABLE [ce6f261cd] 2015-02-02 10:00:52 -0500
717 Author: Noah Misch <noah@leadboat.com>
718 Branch: master [8b59672d8] 2015-02-02 10:00:45 -0500
719 Branch: REL9_4_STABLE [258e294db] 2015-02-02 10:00:49 -0500
720 Branch: REL9_3_STABLE [a558ad3a7] 2015-02-02 10:00:50 -0500
721 Branch: REL9_2_STABLE [d1972da8c] 2015-02-02 10:00:51 -0500
722 Branch: REL9_1_STABLE [8d412e02e] 2015-02-02 10:00:52 -0500
723 Branch: REL9_0_STABLE [0a3ee8a5f] 2015-02-02 10:00:52 -0500
728 Fix buffer overruns in <filename>contrib/pgcrypto</>
729 (Marko Tiikkaja, Noah Misch)
733 Errors in memory size tracking within the <filename>pgcrypto</>
734 module permitted stack buffer overruns and improper dependence on the
735 contents of uninitialized memory. The buffer overrun cases can
736 crash the server, and we have not ruled out the possibility of
737 attacks that lead to privilege escalation.
743 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
744 Branch: master [2b3a8b20c] 2015-02-02 17:09:53 +0200
745 Branch: REL9_4_STABLE [57ec87c6b] 2015-02-02 17:09:46 +0200
746 Branch: REL9_3_STABLE [cd19848bd] 2015-02-02 17:09:40 +0200
747 Branch: REL9_2_STABLE [289592b23] 2015-02-02 17:09:35 +0200
748 Branch: REL9_1_STABLE [af9c5c074] 2015-02-02 17:09:31 +0200
749 Branch: REL9_0_STABLE [47ba0fbd7] 2015-02-02 17:09:25 +0200
754 Fix possible loss of frontend/backend protocol synchronization after
760 If any error occurred while the server was in the middle of reading a
761 protocol message from the client, it could lose synchronization and
762 incorrectly try to interpret part of the message's data as a new
763 protocol message. An attacker able to submit crafted binary data
764 within a command parameter might succeed in injecting his own SQL
765 commands this way. Statement timeout and query cancellation are the
766 most likely sources of errors triggering this scenario. Particularly
767 vulnerable are applications that use a timeout and also submit
768 arbitrary user-crafted data as binary query parameters. Disabling
769 statement timeout will reduce, but not eliminate, the risk of
770 exploit. Our thanks to Emil Lenngren for reporting this issue.
776 Author: Stephen Frost <sfrost@snowman.net>
777 Branch: master [804b6b6db] 2015-01-28 12:31:30 -0500
778 Branch: REL9_4_STABLE [3cc74a3d6] 2015-01-28 12:32:06 -0500
779 Branch: REL9_3_STABLE [4b9874216] 2015-01-28 12:32:39 -0500
780 Branch: REL9_2_STABLE [d49f84b08] 2015-01-28 12:32:56 -0500
781 Branch: REL9_1_STABLE [9406884af] 2015-01-28 12:33:15 -0500
782 Branch: REL9_0_STABLE [3a2063369] 2015-01-28 12:33:29 -0500
787 Fix information leak via constraint-violation error messages
792 Some server error messages show the values of columns that violate
793 a constraint, such as a unique constraint. If the user does not have
794 <literal>SELECT</> privilege on all columns of the table, this could
795 mean exposing values that the user should not be able to see. Adjust
796 the code so that values are displayed only when they came from the SQL
797 command or could be selected by the user.
803 Author: Noah Misch <noah@leadboat.com>
804 Branch: master [f6dc6dd5b] 2014-12-17 22:48:40 -0500
805 Branch: REL9_4_STABLE [6b87d423d] 2014-12-17 22:48:45 -0500
806 Branch: REL9_3_STABLE [442dc2c35] 2014-12-17 22:48:46 -0500
807 Branch: REL9_2_STABLE [0046f651d] 2014-12-17 22:48:47 -0500
808 Branch: REL9_1_STABLE [6aa98e957] 2014-12-17 22:48:47 -0500
809 Branch: REL9_0_STABLE [6d45ee572] 2014-12-17 22:48:48 -0500
814 Lock down regression testing's temporary installations on Windows
819 Use SSPI authentication to allow connections only from the OS user
820 who launched the test suite. This closes on Windows the same
821 vulnerability previously closed on other platforms, namely that other
822 users might be able to connect to the test postmaster.
828 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
829 Branch: REL9_3_STABLE [8f80dcf3c] 2014-10-24 19:59:49 +0300
830 Branch: REL9_2_STABLE [d440c4b55] 2014-10-24 19:59:52 +0300
831 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
832 Branch: REL9_3_STABLE [2a1b34959] 2014-10-24 19:36:28 +0300
833 Branch: REL9_2_STABLE [737ae3fc7] 2014-10-24 19:53:27 +0300
834 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
835 Branch: master [aa1d2fc5e] 2015-01-16 13:28:19 +0200
836 Branch: REL9_4_STABLE [2049a7d82] 2015-01-16 13:10:06 +0200
837 Branch: REL9_3_STABLE [1619442a1] 2015-01-16 13:10:15 +0200
838 Branch: REL9_2_STABLE [6bf343c6e] 2015-01-16 13:10:23 +0200
843 Cope with the Windows locale named <quote>Norwegian (Bokmål)</>
848 Non-ASCII locale names are problematic since it's not clear what
849 encoding they should be represented in. Map the troublesome locale
850 name to a plain-ASCII alias, <quote>Norwegian_Norway</>.
855 Author: Tom Lane <tgl@sss.pgh.pa.us>
856 Branch: REL9_3_STABLE [f88300168] 2014-11-04 13:24:14 -0500
857 Branch: REL9_2_STABLE [db72ad02e] 2014-11-04 13:24:17 -0500
858 Branch: REL9_1_STABLE [7c6f55e9e] 2014-11-04 13:24:22 -0500
859 Branch: REL9_0_STABLE [45a607d5c] 2014-11-04 13:24:26 -0500
864 Avoid possible data corruption if <command>ALTER DATABASE SET
865 TABLESPACE</> is used to move a database to a new tablespace and then
866 shortly later move it back to its original tablespace (Tom Lane)
871 Author: Tom Lane <tgl@sss.pgh.pa.us>
872 Branch: REL9_3_STABLE [81f0a5e38] 2014-10-29 18:12:08 -0400
873 Branch: REL9_2_STABLE [40058fbce] 2014-10-29 18:12:11 -0400
874 Branch: REL9_1_STABLE [6ec1c3ef8] 2014-10-29 18:12:17 -0400
875 Branch: REL9_0_STABLE [9d06da58e] 2014-10-29 18:12:20 -0400
876 Author: Tom Lane <tgl@sss.pgh.pa.us>
877 Branch: REL9_3_STABLE [e65b550b3] 2014-10-30 13:03:28 -0400
878 Branch: REL9_2_STABLE [38cb8687a] 2014-10-30 13:03:31 -0400
879 Branch: REL9_1_STABLE [fcf0246b2] 2014-10-30 13:03:34 -0400
880 Branch: REL9_0_STABLE [73f950fc8] 2014-10-30 13:03:39 -0400
885 Avoid corrupting tables when <command>ANALYZE</> inside a transaction
886 is rolled back (Andres Freund, Tom Lane, Michael Paquier)
890 If the failing transaction had earlier removed the last index, rule, or
891 trigger from the table, the table would be left in a corrupted state
892 with the relevant <structname>pg_class</> flags not set though they
898 Author: Andres Freund <andres@anarazel.de>
899 Branch: REL9_3_STABLE [d7624e562] 2014-10-20 23:45:31 +0200
900 Branch: REL9_2_STABLE [fd29810d1] 2014-10-20 23:47:00 +0200
901 Branch: REL9_1_STABLE [d5fef87e9] 2014-10-20 23:47:45 +0200
906 Ensure that unlogged tables are copied correctly
907 during <command>CREATE DATABASE</> or <command>ALTER DATABASE SET
908 TABLESPACE</> (Pavan Deolasee, Andres Freund)
913 Author: Robert Haas <rhaas@postgresql.org>
914 Branch: REL9_3_STABLE [e35db342a] 2014-09-22 16:19:59 -0400
919 Fix incorrect processing
920 of <structname>CreateEventTrigStmt</>.<structfield>eventname</> (Petr
925 This could result in misbehavior if <command>CREATE EVENT TRIGGER</>
926 were executed as a prepared query, or via extended query protocol.
931 Author: Tom Lane <tgl@sss.pgh.pa.us>
932 Branch: REL9_3_STABLE [2a83e0349] 2014-11-11 17:00:21 -0500
933 Branch: REL9_2_STABLE [1c2f9a4f6] 2014-11-11 17:00:25 -0500
934 Branch: REL9_1_STABLE [94d5d57d5] 2014-11-11 17:00:28 -0500
939 Fix <command>DROP</>'s dependency searching to correctly handle the
940 case where a table column is recursively visited before its table
941 (Petr Jelinek, Tom Lane)
945 This case is only known to arise when an extension creates both a
946 datatype and a table using that datatype. The faulty code might
947 refuse a <command>DROP EXTENSION</> unless <literal>CASCADE</> is
948 specified, which should not be required.
953 Author: Tom Lane <tgl@sss.pgh.pa.us>
954 Branch: master [c480cb9d2] 2015-01-15 18:52:58 -0500
955 Branch: REL9_4_STABLE [b75d18bd4] 2015-01-15 18:53:05 -0500
956 Branch: REL9_3_STABLE [34668c8ec] 2015-01-15 18:52:28 -0500
957 Branch: REL9_2_STABLE [0acb32efb] 2015-01-15 18:52:31 -0500
958 Branch: REL9_1_STABLE [450530fce] 2015-01-15 18:52:34 -0500
959 Branch: REL9_0_STABLE [5308e085b] 2015-01-15 18:52:38 -0500
964 Fix use-of-already-freed-memory problem in EvalPlanQual processing
969 In <literal>READ COMMITTED</> mode, queries that lock or update
970 recently-updated rows could crash as a result of this bug.
975 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
976 Branch: master [0e5680f47] 2014-12-26 13:52:27 -0300
977 Branch: REL9_4_STABLE [0e3a1f71d] 2014-12-26 13:52:27 -0300
978 Branch: REL9_3_STABLE [048912386] 2014-12-26 13:52:27 -0300
983 Avoid possible deadlock while trying to acquire tuple locks
984 in EvalPlanQual processing (Álvaro Herrera, Mark Kirkwood)
989 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
990 Branch: master [d5e3d1e96] 2015-01-04 15:48:29 -0300
991 Branch: REL9_4_STABLE [51742063b] 2015-01-04 15:48:29 -0300
992 Branch: REL9_3_STABLE [54a8abc2b] 2015-01-04 15:48:29 -0300
997 Fix failure to wait when a transaction tries to acquire a <literal>FOR
998 NO KEY EXCLUSIVE</> tuple lock, while multiple other transactions
999 currently hold <literal>FOR SHARE</> locks (Álvaro Herrera)
1004 Author: Tom Lane <tgl@sss.pgh.pa.us>
1005 Branch: REL9_3_STABLE [2ae8a01ca] 2014-12-11 21:02:31 -0500
1006 Branch: REL9_2_STABLE [cd63c57e5] 2014-12-11 21:02:34 -0500
1007 Branch: REL9_1_STABLE [bca39b578] 2014-12-11 21:02:38 -0500
1008 Branch: REL9_0_STABLE [662eebdc6] 2014-12-11 21:02:41 -0500
1013 Fix planning of <command>SELECT FOR UPDATE</> when using a partial
1014 index on a child table (Kyotaro Horiguchi)
1018 In <literal>READ COMMITTED</> mode, <command>SELECT FOR UPDATE</> must
1019 also recheck the partial index's <literal>WHERE</> condition when
1020 rechecking a recently-updated row to see if it still satisfies the
1021 query's <literal>WHERE</> condition. This requirement was missed if the
1022 index belonged to an inheritance child table, so that it was possible
1023 to incorrectly return rows that no longer satisfy the query condition.
1028 Author: Tom Lane <tgl@sss.pgh.pa.us>
1029 Branch: REL9_3_STABLE [f14196c35] 2014-12-11 19:37:07 -0500
1030 Branch: REL9_2_STABLE [deadbf4f3] 2014-12-11 19:37:10 -0500
1031 Branch: REL9_1_STABLE [21946ac9b] 2014-12-11 19:37:14 -0500
1032 Branch: REL9_0_STABLE [f5e4e92fb] 2014-12-11 19:37:17 -0500
1037 Fix corner case wherein <command>SELECT FOR UPDATE</> could return a row
1038 twice, and possibly miss returning other rows (Tom Lane)
1042 In <literal>READ COMMITTED</> mode, a <command>SELECT FOR UPDATE</>
1043 that is scanning an inheritance tree could incorrectly return a row
1044 from a prior child table instead of the one it should return from a
1050 Author: Tom Lane <tgl@sss.pgh.pa.us>
1051 Branch: master [a5cd70dcb] 2015-01-15 13:18:12 -0500
1052 Branch: REL9_4_STABLE [d25192892] 2015-01-15 13:18:16 -0500
1053 Branch: REL9_3_STABLE [939f0fb67] 2015-01-15 13:18:19 -0500
1058 Improve performance of <command>EXPLAIN</> with large range tables
1064 Author: Tom Lane <tgl@sss.pgh.pa.us>
1065 Branch: REL9_3_STABLE [7a9c8cefb] 2014-08-09 13:46:42 -0400
1066 Branch: REL9_2_STABLE [b4dacab12] 2014-08-09 13:46:45 -0400
1067 Branch: REL9_1_STABLE [bbe826f21] 2014-08-09 13:46:48 -0400
1068 Branch: REL9_0_STABLE [4ff49746e] 2014-08-09 13:46:52 -0400
1073 Reject duplicate column names in the referenced-columns list of
1074 a <literal>FOREIGN KEY</> declaration (David Rowley)
1078 This restriction is per SQL standard. Previously we did not reject
1079 the case explicitly, but later on the code would fail with
1080 bizarre-looking errors.
1085 Author: Tom Lane <tgl@sss.pgh.pa.us>
1086 Branch: REL9_3_STABLE [6306d0712] 2014-07-22 13:30:14 -0400
1091 Re-enable error for <literal>SELECT ... OFFSET -1</> (Tom Lane)
1095 A negative offset value has been an error since 8.4, but an
1096 optimization added in 9.3 accidentally turned the case into a no-op.
1097 Restore the expected behavior.
1102 Author: Tom Lane <tgl@sss.pgh.pa.us>
1103 Branch: REL9_3_STABLE [8b65e0a33] 2014-08-09 18:40:34 -0400
1104 Branch: REL9_2_STABLE [15026ab97] 2014-08-09 18:40:38 -0400
1109 Restore previous behavior of conversion of domains to JSON
1114 This change causes domains over numeric and boolean to be treated
1115 like their base types for purposes of conversion to JSON. It worked
1116 like that before 9.3.5 and 9.2.9, but was unintentionally changed
1117 while fixing a related problem.
1122 Author: Tom Lane <tgl@sss.pgh.pa.us>
1123 Branch: REL9_3_STABLE [8571ecb24] 2014-12-02 15:02:43 -0500
1128 Fix <function>json_agg()</> to not return extra trailing right
1129 brackets in its result (Tom Lane)
1134 Author: Tom Lane <tgl@sss.pgh.pa.us>
1135 Branch: REL9_3_STABLE [25bf13fe1] 2014-09-11 23:30:57 -0400
1136 Branch: REL9_2_STABLE [228ed4370] 2014-09-11 23:31:00 -0400
1137 Branch: REL9_1_STABLE [cf5c20b06] 2014-09-11 23:31:03 -0400
1138 Branch: REL9_0_STABLE [26f8a4691] 2014-09-11 23:31:06 -0400
1143 Fix bugs in raising a <type>numeric</> value to a large integral power
1148 The previous code could get a wrong answer, or consume excessive
1149 amounts of time and memory before realizing that the answer must
1155 Author: Tom Lane <tgl@sss.pgh.pa.us>
1156 Branch: REL9_3_STABLE [10b81fbdc] 2014-12-01 15:25:08 -0500
1157 Branch: REL9_2_STABLE [e640042e9] 2014-12-01 15:25:12 -0500
1158 Branch: REL9_1_STABLE [2e3cc3955] 2014-12-01 15:25:15 -0500
1159 Branch: REL9_0_STABLE [e6550626c] 2014-12-01 15:25:18 -0500
1164 In <function>numeric_recv()</>, truncate away any fractional digits
1165 that would be hidden according to the value's <literal>dscale</> field
1170 A <type>numeric</> value's display scale (<literal>dscale</>) should
1171 never be less than the number of nonzero fractional digits; but
1172 apparently there's at least one broken client application that
1173 transmits binary <type>numeric</> values in which that's true.
1174 This leads to strange behavior since the extra digits are taken into
1175 account by arithmetic operations even though they aren't printed.
1176 The least risky fix seems to be to truncate away such <quote>hidden</>
1177 digits on receipt, so that the value is indeed what it prints as.
1182 Author: Tom Lane <tgl@sss.pgh.pa.us>
1183 Branch: REL9_3_STABLE [bbfdf5d75] 2014-09-23 20:25:36 -0400
1184 Branch: REL9_2_STABLE [3359a818c] 2014-09-23 20:25:39 -0400
1189 Fix incorrect search for shortest-first regular expression matches
1194 Matching would often fail when the number of allowed iterations is
1195 limited by a <literal>?</> quantifier or a bound expression.
1200 Author: Tom Lane <tgl@sss.pgh.pa.us>
1201 Branch: REL9_3_STABLE [7672bbca0] 2014-07-21 22:41:27 -0400
1202 Branch: REL9_2_STABLE [f54d97c5e] 2014-07-21 22:41:30 -0400
1203 Branch: REL9_1_STABLE [124331b61] 2014-07-21 22:41:33 -0400
1204 Branch: REL9_0_STABLE [6e5a39c9e] 2014-07-21 22:41:36 -0400
1209 Reject out-of-range numeric timezone specifications (Tom Lane)
1213 Simple numeric timezone specifications exceeding +/- 168 hours (one
1214 week) would be accepted, but could then cause null-pointer dereference
1215 crashes in certain operations. There's no use-case for such large UTC
1216 offsets, so reject them.
1221 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1222 Branch: REL9_3_STABLE [1aa526f3f] 2014-10-27 10:51:29 +0200
1223 Branch: REL9_2_STABLE [604d94d4c] 2014-10-27 10:51:33 +0200
1224 Branch: REL9_1_STABLE [4d1c738d1] 2014-10-27 10:51:36 +0200
1225 Branch: REL9_0_STABLE [10059c2da] 2014-10-27 10:51:38 +0200
1230 Fix bugs in <type>tsquery</> <literal>@></> <type>tsquery</>
1231 operator (Heikki Linnakangas)
1235 Two different terms would be considered to match if they had the same
1236 CRC. Also, if the second operand had more terms than the first, it
1237 would be assumed not to be contained in the first; which is wrong
1238 since it might contain duplicate terms.
1243 Author: Tom Lane <tgl@sss.pgh.pa.us>
1244 Branch: REL9_3_STABLE [385f0d98a] 2014-10-23 13:11:34 -0400
1245 Branch: REL9_2_STABLE [f09369da8] 2014-10-23 13:11:37 -0400
1246 Branch: REL9_1_STABLE [94de3a679] 2014-10-23 13:11:41 -0400
1247 Branch: REL9_0_STABLE [21fa26b65] 2014-10-23 13:11:45 -0400
1252 Improve ispell dictionary's defenses against bad affix files (Tom Lane)
1257 Author: Tom Lane <tgl@sss.pgh.pa.us>
1258 Branch: REL9_3_STABLE [5a74ff373] 2014-11-06 20:52:52 -0500
1259 Branch: REL9_2_STABLE [0bb318595] 2014-11-06 20:52:57 -0500
1260 Branch: REL9_1_STABLE [076688084] 2014-11-06 20:53:02 -0500
1261 Branch: REL9_0_STABLE [39493e4d9] 2014-11-06 20:53:07 -0500
1266 Allow more than 64K phrases in a thesaurus dictionary (David Boutin)
1270 The previous coding could crash on an oversize dictionary, so this was
1271 deemed a back-patchable bug fix rather than a feature addition.
1276 Author: Peter Eisentraut <peter_e@gmx.net>
1277 Branch: master [79af9a1d2] 2015-01-06 23:06:13 -0500
1278 Branch: REL9_4_STABLE [6bbf75192] 2015-01-17 22:11:20 -0500
1279 Branch: REL9_3_STABLE [e32cb8d0e] 2015-01-17 22:13:27 -0500
1280 Branch: REL9_2_STABLE [c8ef5b1ac] 2015-01-17 22:14:21 -0500
1281 Branch: REL9_1_STABLE [c975fa471] 2015-01-17 22:37:07 -0500
1282 Branch: REL9_0_STABLE [cebb3f032] 2015-01-17 22:37:32 -0500
1287 Fix namespace handling in <function>xpath()</> (Ali Akbar)
1291 Previously, the <type>xml</> value resulting from
1292 an <function>xpath()</> call would not have namespace declarations if
1293 the namespace declarations were attached to an ancestor element in the
1294 input <type>xml</> value, rather than to the specific element being
1295 returned. Propagate the ancestral declaration so that the result is
1296 correct when considered in isolation.
1301 Author: Tom Lane <tgl@sss.pgh.pa.us>
1302 Branch: REL9_3_STABLE [07ab4ec4c] 2014-11-10 15:21:20 -0500
1303 Branch: REL9_2_STABLE [19ccaf9d4] 2014-11-10 15:21:26 -0500
1308 Ensure that whole-row variables expose nonempty column names
1309 to functions that pay attention to column names within composite
1310 arguments (Tom Lane)
1314 In some contexts, constructs like <literal>row_to_json(tab.*)</> may
1315 not produce the expected column names. This is fixed properly as of
1316 9.4; in older branches, just ensure that we produce some nonempty
1317 name. (In some cases this will be the underlying table's column name
1318 rather than the query-assigned alias that should theoretically be
1324 Author: Tom Lane <tgl@sss.pgh.pa.us>
1325 Branch: REL9_3_STABLE [c57cdc9c1] 2014-11-22 16:01:12 -0500
1326 Branch: REL9_2_STABLE [906599f65] 2014-11-22 16:01:15 -0500
1331 Fix mishandling of system columns,
1332 particularly <structfield>tableoid</>, in FDW queries (Etsuro Fujita)
1337 Author: Tom Lane <tgl@sss.pgh.pa.us>
1338 Branch: master [3d660d33a] 2015-01-30 12:30:59 -0500
1339 Branch: REL9_4_STABLE [b6a164e5c] 2015-01-30 12:31:08 -0500
1340 Branch: REL9_3_STABLE [527ff8baf] 2015-01-30 12:30:43 -0500
1345 Fix assorted oversights in range-operator selectivity estimation
1350 This patch fixes corner-case <quote>unexpected operator NNNN</> planner
1351 errors, and improves the selectivity estimates for some other cases.
1356 Author: Tom Lane <tgl@sss.pgh.pa.us>
1357 Branch: REL9_3_STABLE [f6abf8f08] 2014-10-26 16:12:29 -0400
1358 Branch: REL9_2_STABLE [4586572d7] 2014-10-26 16:12:32 -0400
1363 Avoid doing <literal><replaceable>indexed_column</> = ANY
1364 (<replaceable>array</>)</literal> as an index qualifier if that leads
1365 to an inferior plan (Andrew Gierth)
1369 In some cases, <literal>= ANY</> conditions applied to non-first index
1370 columns would be done as index conditions even though it would be
1371 better to use them as simple filter conditions.
1376 Author: Tom Lane <tgl@sss.pgh.pa.us>
1377 Branch: REL9_3_STABLE [4e54685d0] 2014-10-20 12:23:48 -0400
1382 Fix <quote>variable not found in subplan target list</> planner
1383 failure when an inline-able SQL function taking a composite argument
1384 is used in a <literal>LATERAL</> subselect and the composite argument
1385 is a lateral reference (Tom Lane)
1390 Author: Tom Lane <tgl@sss.pgh.pa.us>
1391 Branch: REL9_3_STABLE [b2b95de61] 2014-10-01 19:30:30 -0400
1392 Branch: REL9_2_STABLE [71b88cf52] 2014-10-01 19:30:34 -0400
1393 Branch: REL9_1_STABLE [477023e94] 2014-10-01 19:30:38 -0400
1394 Branch: REL9_0_STABLE [288f15b7c] 2014-10-01 19:30:41 -0400
1399 Fix planner problems with nested append relations, such as inherited
1400 tables within <literal>UNION ALL</> subqueries (Tom Lane)
1405 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1406 Branch: REL9_3_STABLE [ef8ac584e] 2014-10-03 14:50:29 +0300
1407 Branch: REL9_2_STABLE [8e137b075] 2014-10-03 14:50:40 +0300
1408 Branch: REL9_1_STABLE [f270a1611] 2014-10-03 14:50:46 +0300
1409 Branch: REL9_0_STABLE [f04b112d5] 2014-10-03 14:50:58 +0300
1414 Fail cleanly when a GiST index tuple doesn't fit on a page, rather
1415 than going into infinite recursion (Andrew Gierth)
1420 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
1421 Branch: REL9_3_STABLE [67ed9d531] 2014-10-03 13:01:27 -0300
1422 Branch: REL9_2_STABLE [769d6815e] 2014-10-03 13:01:27 -0300
1423 Branch: REL9_1_STABLE [06646f52e] 2014-10-03 13:01:27 -0300
1424 Branch: REL9_0_STABLE [50a757698] 2014-10-03 13:01:27 -0300
1429 Exempt tables that have per-table <varname>cost_limit</>
1430 and/or <varname>cost_delay</> settings from autovacuum's global cost
1431 balancing rules (Álvaro Herrera)
1435 The previous behavior resulted in basically ignoring these per-table
1436 settings, which was unintended. Now, a table having such settings
1437 will be vacuumed using those settings, independently of what is going
1438 on in other autovacuum workers. This may result in heavier total I/O
1439 load than before, so such settings should be re-examined for sanity.
1444 Author: Tom Lane <tgl@sss.pgh.pa.us>
1445 Branch: REL9_3_STABLE [4cbecdaaa] 2014-07-30 14:41:49 -0400
1446 Branch: REL9_2_STABLE [c83aed34b] 2014-07-30 14:41:53 -0400
1447 Branch: REL9_1_STABLE [f21afe421] 2014-07-30 14:41:58 -0400
1448 Branch: REL9_0_STABLE [91b4a881c] 2014-07-30 14:42:12 -0400
1453 Avoid wholesale autovacuuming when autovacuum is nominally off
1458 Even when autovacuum is nominally off, we will still launch autovacuum
1459 worker processes to vacuum tables that are at risk of XID wraparound.
1460 However, such a worker process then proceeded to vacuum all tables in
1461 the target database, if they met the usual thresholds for
1462 autovacuuming. This is at best pretty unexpected; at worst it delays
1463 response to the wraparound threat. Fix it so that if autovacuum is
1464 turned off, workers <emphasis>only</> do anti-wraparound vacuums and
1470 Author: Andres Freund <andres@anarazel.de>
1471 Branch: REL9_3_STABLE [2c3ebfd1a] 2014-11-15 01:21:07 +0100
1472 Branch: REL9_2_STABLE [ea8b3833e] 2014-11-15 01:21:45 +0100
1473 Branch: REL9_1_STABLE [d85b646d0] 2014-11-15 01:22:32 +0100
1474 Author: Andres Freund <andres@anarazel.de>
1475 Branch: REL9_3_STABLE [672b43e68] 2014-11-15 01:21:02 +0100
1476 Branch: REL9_2_STABLE [c5baa708f] 2014-11-15 01:21:40 +0100
1477 Branch: REL9_1_STABLE [fde9994bc] 2014-11-15 01:22:32 +0100
1478 Author: Andres Freund <andres@anarazel.de>
1479 Branch: REL9_3_STABLE [c7299d32f] 2014-11-15 01:20:29 +0100
1480 Branch: REL9_2_STABLE [86673a44a] 2014-11-15 01:21:30 +0100
1481 Branch: REL9_1_STABLE [b0a48e996] 2014-11-15 01:22:32 +0100
1486 During crash recovery, ensure that unlogged relations are rewritten as
1487 empty and are synced to disk before recovery is considered complete
1488 (Abhijit Menon-Sen, Andres Freund)
1492 This prevents scenarios in which unlogged relations might contain
1493 garbage data following database crash recovery.
1498 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1499 Branch: REL9_3_STABLE [861d3aa43] 2014-11-13 20:01:55 +0200
1500 Branch: REL9_2_STABLE [7eab804c2] 2014-11-13 20:01:18 +0200
1501 Branch: REL9_1_STABLE [5f1d931cf] 2014-11-13 20:01:09 +0200
1502 Branch: REL9_0_STABLE [681dbe7d4] 2014-11-13 20:00:51 +0200
1507 Fix race condition between hot standby queries and replaying a
1508 full-page image (Heikki Linnakangas)
1512 This mistake could result in transient errors in queries being
1513 executed in hot standby.
1518 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1519 Branch: REL9_3_STABLE [a2a718b22] 2014-07-29 11:57:52 +0300
1520 Branch: REL9_2_STABLE [1578d13dc] 2014-07-29 11:58:01 +0300
1521 Branch: REL9_1_STABLE [de88ec6bf] 2014-07-29 11:58:09 +0300
1522 Branch: REL9_0_STABLE [804983961] 2014-07-29 11:58:17 +0300
1527 Fix several cases where recovery logic improperly ignored WAL records
1528 for <literal>COMMIT/ABORT PREPARED</> (Heikki Linnakangas)
1532 The most notable oversight was
1533 that <varname>recovery_min_apply_delay</> failed to delay application
1534 of a two-phase commit.
1539 Author: Fujii Masao <fujii@postgresql.org>
1540 Branch: REL9_3_STABLE [d45cd9e19] 2014-10-23 16:22:46 +0900
1541 Branch: REL9_2_STABLE [f904e9afd] 2014-10-23 16:31:44 +0900
1546 Prevent latest WAL file from being archived a second time at completion
1547 of crash recovery (Fujii Masao)
1552 Author: Fujii Masao <fujii@postgresql.org>
1553 Branch: REL9_3_STABLE [3a3b7e316] 2014-11-06 21:25:18 +0900
1554 Branch: REL9_2_STABLE [38eb5d9e8] 2014-11-06 21:25:45 +0900
1555 Branch: REL9_1_STABLE [4e7468074] 2014-11-06 21:26:15 +0900
1556 Branch: REL9_0_STABLE [83c7bfb9a] 2014-11-06 21:26:21 +0900
1561 Avoid creating unnecessary <filename>.ready</> marker files for
1562 timeline history files (Fujii Masao)
1567 Author: Fujii Masao <fujii@postgresql.org>
1568 Branch: REL9_3_STABLE [52eed3d42] 2014-09-05 02:19:29 +0900
1569 Branch: REL9_2_STABLE [78b1228ef] 2014-09-05 02:19:45 +0900
1570 Branch: REL9_1_STABLE [81bffe63c] 2014-09-05 02:19:50 +0900
1571 Branch: REL9_0_STABLE [857a5d6b5] 2014-09-05 02:19:57 +0900
1576 Fix possible null pointer dereference when an empty prepared statement
1577 is used and the <varname>log_statement</> setting is <literal>mod</>
1578 or <literal>ddl</> (Fujii Masao)
1583 Author: Tom Lane <tgl@sss.pgh.pa.us>
1584 Branch: master [75b48e1ff] 2015-01-19 23:01:33 -0500
1585 Branch: REL9_4_STABLE [3387cbbcb] 2015-01-19 23:01:36 -0500
1586 Branch: REL9_3_STABLE [19794e997] 2015-01-19 23:01:39 -0500
1587 Branch: REL9_2_STABLE [33b723538] 2015-01-19 23:01:41 -0500
1588 Branch: REL9_1_STABLE [b87c1dcef] 2015-01-19 23:01:44 -0500
1589 Branch: REL9_0_STABLE [a1a8d0249] 2015-01-19 23:01:46 -0500
1594 Change <quote>pgstat wait timeout</> warning message to be LOG level,
1595 and rephrase it to be more understandable (Tom Lane)
1599 This message was originally thought to be essentially a can't-happen
1600 case, but it occurs often enough on our slower buildfarm members to be
1601 a nuisance. Reduce it to LOG level, and expend a bit more effort on
1602 the wording: it now reads <quote>using stale statistics instead of
1603 current ones because stats collector is not responding</>.
1608 Author: Andres Freund <andres@anarazel.de>
1609 Branch: REL9_3_STABLE [cbd9619ac] 2014-10-01 14:34:06 +0200
1614 Fix possible corruption of postmaster's list of dynamic background
1615 workers (Andres Freund)
1620 Author: Andres Freund <andres@anarazel.de>
1621 Branch: REL9_3_STABLE [27ef6b653] 2014-09-09 23:37:33 +0200
1622 Branch: REL9_2_STABLE [d0b7ffc0f] 2014-09-09 23:37:50 +0200
1623 Branch: REL9_1_STABLE [5af508f66] 2014-09-09 23:45:07 +0200
1624 Branch: REL9_0_STABLE [f25e89601] 2014-09-09 23:48:03 +0200
1629 Fix SPARC spinlock implementation to ensure correctness if the CPU is
1630 being run in a non-TSO coherency mode, as some non-Solaris kernels do
1636 Author: Noah Misch <noah@leadboat.com>
1637 Branch: master [894459e59] 2015-01-07 22:35:44 -0500
1638 Branch: REL9_4_STABLE [83fb1ca5c] 2015-01-07 22:36:35 -0500
1639 Branch: REL9_3_STABLE [1a366d51e] 2015-01-07 22:40:40 -0500
1640 Branch: REL9_2_STABLE [5ca4e444c] 2015-01-07 22:41:49 -0500
1641 Branch: REL9_1_STABLE [8dc83104e] 2015-01-07 22:42:42 -0500
1642 Branch: REL9_0_STABLE [2e4946169] 2015-01-07 22:46:20 -0500
1647 Warn if OS X's <function>setlocale()</> starts an unwanted extra
1648 thread inside the postmaster (Noah Misch)
1653 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1654 Branch: REL9_3_STABLE [08cd4d9a6] 2014-11-25 17:39:00 +0200
1655 Branch: REL9_2_STABLE [9b468bcec] 2014-11-25 17:39:04 +0200
1656 Branch: REL9_1_STABLE [95be34362] 2014-11-25 17:39:07 +0200
1657 Branch: REL9_0_STABLE [9880fea4f] 2014-11-25 17:39:09 +0200
1662 Fix processing of repeated <literal>dbname</> parameters
1663 in <function>PQconnectdbParams()</> (Alex Shulgin)
1667 Unexpected behavior ensued if the first occurrence
1668 of <literal>dbname</> contained a connection string or URI to be
1674 Author: Tom Lane <tgl@sss.pgh.pa.us>
1675 Branch: REL9_3_STABLE [52ef33f72] 2014-10-22 18:41:51 -0400
1676 Branch: REL9_2_STABLE [6fa31d8d1] 2014-10-22 18:41:54 -0400
1677 Branch: REL9_1_STABLE [98144378c] 2014-10-22 18:41:57 -0400
1678 Branch: REL9_0_STABLE [ac6e87537] 2014-10-22 18:42:01 -0400
1683 Ensure that <application>libpq</> reports a suitable error message on
1684 unexpected socket EOF (Marko Tiikkaja, Tom Lane)
1688 Depending on kernel behavior, <application>libpq</> might return an
1689 empty error string rather than something useful when the server
1690 unexpectedly closed the socket.
1695 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1696 Branch: REL9_3_STABLE [1325b239b] 2014-10-29 14:40:47 +0200
1697 Branch: REL9_2_STABLE [1a27fbd07] 2014-10-29 14:39:10 +0200
1698 Branch: REL9_1_STABLE [8f7bd8e91] 2014-10-29 14:36:19 +0200
1699 Branch: REL9_0_STABLE [49ef4eba2] 2014-10-29 14:35:39 +0200
1704 Clear any old error message during <function>PQreset()</>
1705 (Heikki Linnakangas)
1709 If <function>PQreset()</> is called repeatedly, and the connection
1710 cannot be re-established, error messages from the failed connection
1711 attempts kept accumulating in the <structname>PGconn</>'s error
1717 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1718 Branch: REL9_3_STABLE [d3b162a3d] 2014-11-25 14:10:29 +0200
1719 Branch: REL9_2_STABLE [abcab2a64] 2014-11-25 14:10:43 +0200
1720 Branch: REL9_1_STABLE [5053ad206] 2014-11-25 14:10:48 +0200
1721 Branch: REL9_0_STABLE [1f3517039] 2014-11-25 14:10:54 +0200
1726 Properly handle out-of-memory conditions while parsing connection
1727 options in <application>libpq</> (Alex Shulgin, Heikki Linnakangas)
1732 Author: Tom Lane <tgl@sss.pgh.pa.us>
1733 Branch: REL9_3_STABLE [d3cfe20c6] 2014-10-06 21:23:35 -0400
1734 Branch: REL9_2_STABLE [b513205bc] 2014-10-06 21:23:39 -0400
1735 Branch: REL9_1_STABLE [037b912ec] 2014-10-06 21:23:45 -0400
1736 Branch: REL9_0_STABLE [d9a1e9de5] 2014-10-06 21:23:50 -0400
1741 Fix array overrun in <application>ecpg</>'s version
1742 of <function>ParseDateTime()</> (Michael Paquier)
1747 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
1748 Branch: REL9_3_STABLE [2df66f01a] 2014-12-05 14:31:51 +0200
1749 Branch: REL9_2_STABLE [2b53d583d] 2014-12-05 14:31:45 +0200
1750 Branch: REL9_1_STABLE [729202754] 2014-12-05 14:31:37 +0200
1751 Branch: REL9_0_STABLE [d67be559e] 2014-12-05 14:30:55 +0200
1756 In <application>initdb</>, give a clearer error message if a password
1757 file is specified but is empty (Mats Erik Andersson)
1762 Author: Tom Lane <tgl@sss.pgh.pa.us>
1763 Branch: REL9_3_STABLE [b0fd5c552] 2014-09-08 16:09:52 -0400
1764 Branch: REL9_2_STABLE [886b58b47] 2014-09-08 16:09:56 -0400
1765 Branch: REL9_1_STABLE [440fcc568] 2014-09-08 16:10:01 -0400
1766 Branch: REL9_0_STABLE [44c518328] 2014-09-08 16:10:05 -0400
1771 Fix <application>psql</>'s <command>\s</> command to work nicely with
1772 libedit, and add pager support (Stepan Rutz, Tom Lane)
1776 When using libedit rather than readline, <command>\s</> printed the
1777 command history in a fairly unreadable encoded format, and on recent
1778 libedit versions might fail altogether. Fix that by printing the
1779 history ourselves rather than having the library do it. A pleasant
1780 side-effect is that the pager is used if appropriate.
1784 This patch also fixes a bug that caused newline encoding to be applied
1785 inconsistently when saving the command history with libedit.
1786 Multiline history entries written by older <application>psql</>
1787 versions will be read cleanly with this patch, but perhaps not
1788 vice versa, depending on the exact libedit versions involved.
1793 Author: Tom Lane <tgl@sss.pgh.pa.us>
1794 Branch: master [28551797a] 2014-12-31 12:18:50 -0500
1795 Branch: REL9_4_STABLE [c35249939] 2014-12-31 12:16:57 -0500
1796 Branch: REL9_3_STABLE [7582cce56] 2014-12-31 12:17:00 -0500
1797 Branch: REL9_2_STABLE [64c506535] 2014-12-31 12:17:04 -0500
1798 Branch: REL9_1_STABLE [1773e0702] 2014-12-31 12:17:08 -0500
1799 Branch: REL9_0_STABLE [2600e4436] 2014-12-31 12:17:12 -0500
1804 Improve consistency of parsing of <application>psql</>'s special
1805 variables (Tom Lane)
1809 Allow variant spellings of <literal>on</> and <literal>off</> (such
1810 as <literal>1</>/<literal>0</>) for <literal>ECHO_HIDDEN</>
1811 and <literal>ON_ERROR_ROLLBACK</>. Report a warning for unrecognized
1812 values for <literal>COMP_KEYWORD_CASE</>, <literal>ECHO</>,
1813 <literal>ECHO_HIDDEN</>, <literal>HISTCONTROL</>,
1814 <literal>ON_ERROR_ROLLBACK</>, and <literal>VERBOSITY</>. Recognize
1815 all values for all these variables case-insensitively; previously
1816 there was a mishmash of case-sensitive and case-insensitive behaviors.
1821 Author: Fujii Masao <fujii@postgresql.org>
1822 Branch: REL9_3_STABLE [4b1953079] 2014-11-28 02:44:40 +0900
1827 Make <application>psql</>'s <command>\watch</> command display
1828 nulls as specified by <command>\pset null</> (Fujii Masao)
1833 Author: Stephen Frost <sfrost@snowman.net>
1834 Branch: REL9_3_STABLE [7ec399094] 2014-09-12 11:24:28 -0400
1835 Branch: REL9_2_STABLE [5d63f2159] 2014-09-12 11:24:32 -0400
1836 Branch: REL9_1_STABLE [4d96e93cb] 2014-09-12 11:24:36 -0400
1837 Branch: REL9_0_STABLE [1f89fc218] 2014-09-12 11:24:39 -0400
1842 Fix <application>psql</>'s expanded-mode display to work
1843 consistently when using <literal>border</> = 3
1844 and <literal>linestyle</> = <literal>ascii</> or <literal>unicode</>
1850 Author: Tom Lane <tgl@sss.pgh.pa.us>
1851 Branch: master [adfc157dd] 2015-01-05 19:27:04 -0500
1852 Branch: REL9_4_STABLE [c99e41f68] 2015-01-05 19:27:06 -0500
1853 Branch: REL9_3_STABLE [bb1e2426b] 2015-01-05 19:27:09 -0500
1858 Fix <application>pg_dump</> to handle comments on event triggers
1859 without failing (Tom Lane)
1864 Author: Kevin Grittner <kgrittn@postgresql.org>
1865 Branch: master [cff1bd2a3] 2015-01-30 08:57:24 -0600
1866 Branch: REL9_4_STABLE [cb0168528] 2015-01-30 08:57:53 -0600
1867 Branch: REL9_3_STABLE [cc609c46f] 2015-01-30 09:01:36 -0600
1872 Allow parallel <application>pg_dump</> to
1873 use <option>--serializable-deferrable</> (Kevin Grittner)
1878 Author: Tom Lane <tgl@sss.pgh.pa.us>
1879 Branch: REL9_3_STABLE [51fc61334] 2014-07-25 19:48:48 -0400
1880 Branch: REL9_2_STABLE [a6c567437] 2014-07-25 19:48:51 -0400
1881 Branch: REL9_1_STABLE [40c333c39] 2014-07-25 19:48:54 -0400
1886 Improve performance of <application>pg_dump</> when the database
1887 contains many instances of multiple dependency paths between the same
1888 two objects (Tom Lane)
1893 Author: Tom Lane <tgl@sss.pgh.pa.us>
1894 Branch: REL9_3_STABLE [9fc887121] 2014-11-13 18:19:32 -0500
1895 Branch: REL9_2_STABLE [3c5ce5102] 2014-11-13 18:19:35 -0500
1900 Fix <application>pg_dumpall</> to restore its ability to dump from
1901 pre-8.1 servers (Gilles Darold)
1906 Author: Robert Haas <rhaas@postgresql.org>
1907 Branch: REL9_3_STABLE [d72ecc91c] 2014-09-26 11:23:43 -0400
1908 Branch: REL9_2_STABLE [a97c8c393] 2014-09-26 11:25:57 -0400
1909 Branch: REL9_1_STABLE [d1844c21b] 2014-09-26 11:36:25 -0400
1910 Branch: REL9_0_STABLE [bbe3c069a] 2014-09-26 11:43:56 -0400
1915 Fix possible deadlock during parallel restore of a schema-only dump
1916 (Robert Haas, Tom Lane)
1921 Author: Tom Lane <tgl@sss.pgh.pa.us>
1922 Branch: REL9_3_STABLE [9a540c1ef] 2014-10-17 12:49:06 -0400
1923 Branch: REL9_2_STABLE [787e20bd4] 2014-10-17 12:49:09 -0400
1924 Branch: REL9_1_STABLE [0c9391e52] 2014-10-17 12:49:11 -0400
1925 Branch: REL9_0_STABLE [31021e7ba] 2014-10-17 12:49:15 -0400
1930 Fix core dump in <literal>pg_dump --binary-upgrade</> on zero-column
1931 composite type (Rushabh Lathia)
1936 Author: Andres Freund <andres@anarazel.de>
1937 Branch: REL9_3_STABLE [26a4e0ed7] 2014-11-15 01:21:11 +0100
1942 Fix failure to fsync tables in nondefault tablespaces
1943 during <application>pg_upgrade</> (Abhijit Menon-Sen, Andres Freund)
1947 With an operating system crash and some bad luck, this could result in
1948 data loss during an upgrade.
1953 Author: Bruce Momjian <bruce@momjian.us>
1954 Branch: REL9_3_STABLE [fca9f349b] 2014-08-07 14:56:13 -0400
1959 In <application>pg_upgrade</>, cope with cases where the new cluster
1960 creates a TOAST table for a table that didn't previously have one
1965 Previously this could result in failures due to OID conflicts.
1970 Author: Bruce Momjian <bruce@momjian.us>
1971 Branch: REL9_3_STABLE [24ae44914] 2014-08-04 11:45:45 -0400
1976 In <application>pg_upgrade</>, don't try to
1977 set <literal>autovacuum_multixact_freeze_max_age</> for the old cluster
1982 This could result in failure because not all 9.3.X versions have that
1983 parameter. Fortunately, we don't actually need to set it at all.
1988 Author: Bruce Momjian <bruce@momjian.us>
1989 Branch: REL9_3_STABLE [5724f491d] 2014-09-11 18:39:46 -0400
1994 In <application>pg_upgrade</>, preserve the transaction ID epoch
1999 This oversight did not bother <productname>PostgreSQL</> proper,
2000 but could confuse some external replication tools.
2005 Author: Andres Freund <andres@anarazel.de>
2006 Branch: master [2c0a48589] 2015-01-03 20:54:12 +0100
2007 Branch: REL9_4_STABLE [90e4a2bf9] 2015-01-03 20:54:13 +0100
2008 Branch: REL9_3_STABLE [f6cea4502] 2015-01-03 20:54:13 +0100
2009 Branch: REL9_2_STABLE [f961ad479] 2015-01-03 20:54:13 +0100
2010 Branch: REL9_1_STABLE [2a0bfa4d6] 2015-01-03 20:54:13 +0100
2015 Prevent WAL files created by <literal>pg_basebackup -x/-X</> from
2016 being archived again when the standby is promoted (Andres Freund)
2021 Author: Fujii Masao <fujii@postgresql.org>
2022 Branch: REL9_3_STABLE [9747a9898] 2014-08-02 15:19:45 +0900
2027 Fix memory leak in <application>pg_receivexlog</> (Fujii Masao)
2032 Author: Fujii Masao <fujii@postgresql.org>
2033 Branch: REL9_3_STABLE [39217ce41] 2014-08-02 14:59:10 +0900
2038 Fix unintended suppression of <application>pg_receivexlog</> verbose
2039 messages (Fujii Masao)
2044 Author: Tom Lane <tgl@sss.pgh.pa.us>
2045 Branch: REL9_3_STABLE [9474c9d81] 2014-09-19 13:19:02 -0400
2046 Branch: REL9_2_STABLE [5ff8c2d7d] 2014-09-19 13:19:05 -0400
2051 Fix failure of <filename>contrib/auto_explain</> to print per-node
2052 timing information when doing <command>EXPLAIN ANALYZE</> (Tom Lane)
2057 Author: Tom Lane <tgl@sss.pgh.pa.us>
2058 Branch: REL9_3_STABLE [0ad403c98] 2014-08-28 18:21:14 -0400
2059 Branch: REL9_2_STABLE [f3998521f] 2014-08-28 18:21:17 -0400
2060 Branch: REL9_1_STABLE [9807c8220] 2014-08-28 18:21:20 -0400
2065 Fix upgrade-from-unpackaged script for <filename>contrib/citext</>
2071 Author: Tom Lane <tgl@sss.pgh.pa.us>
2072 Branch: REL9_3_STABLE [f44290b7b] 2014-11-04 16:54:59 -0500
2077 Avoid integer overflow and buffer overrun
2078 in <filename>contrib/hstore</>'s <function>hstore_to_json()</>
2079 (Heikki Linnakangas)
2084 Author: Andrew Dunstan <andrew@dunslane.net>
2085 Branch: REL9_3_STABLE [55c880797] 2014-12-01 11:44:48 -0500
2090 Fix recognition of numbers in <function>hstore_to_json_loose()</>,
2091 so that JSON numbers and strings are correctly distinguished
2097 Author: Tom Lane <tgl@sss.pgh.pa.us>
2098 Branch: REL9_3_STABLE [f59c8eff7] 2014-07-22 11:45:53 -0400
2099 Branch: REL9_2_STABLE [810f0d2a2] 2014-07-22 11:45:57 -0400
2100 Branch: REL9_1_STABLE [3c5232ae8] 2014-07-22 11:46:00 -0400
2101 Branch: REL9_0_STABLE [9dc2a3fd0] 2014-07-22 11:46:04 -0400
2106 Fix block number checking
2107 in <filename>contrib/pageinspect</>'s <function>get_raw_page()</>
2112 The incorrect checking logic could prevent access to some pages in
2113 non-main relation forks.
2118 Author: Tom Lane <tgl@sss.pgh.pa.us>
2119 Branch: REL9_3_STABLE [419de696a] 2014-11-11 17:22:38 -0500
2120 Branch: REL9_2_STABLE [4a9710e6e] 2014-11-11 17:22:44 -0500
2121 Branch: REL9_1_STABLE [4ddd9e72f] 2014-11-11 17:22:51 -0500
2122 Branch: REL9_0_STABLE [ef5a3b957] 2014-11-11 17:22:58 -0500
2127 Fix <filename>contrib/pgcrypto</>'s <function>pgp_sym_decrypt()</>
2128 to not fail on messages whose length is 6 less than a power of 2
2134 Author: Robert Haas <rhaas@postgresql.org>
2135 Branch: REL9_3_STABLE [8cf825974] 2014-11-19 12:14:22 -0500
2136 Branch: REL9_2_STABLE [57ce74661] 2014-11-19 12:20:47 -0500
2137 Branch: REL9_1_STABLE [a855c90a7] 2014-11-19 12:26:06 -0500
2142 Fix file descriptor leak in <filename>contrib/pg_test_fsync</>
2147 This could cause failure to remove temporary files on Windows.
2152 Author: Tom Lane <tgl@sss.pgh.pa.us>
2153 Branch: master [37507962c] 2015-01-29 20:18:33 -0500
2154 Branch: REL9_4_STABLE [202621d04] 2015-01-29 20:18:37 -0500
2155 Branch: REL9_3_STABLE [53ae24692] 2015-01-29 20:18:40 -0500
2156 Branch: REL9_2_STABLE [66cc74680] 2015-01-29 20:18:42 -0500
2157 Branch: REL9_1_STABLE [290c2daad] 2015-01-29 20:18:44 -0500
2158 Branch: REL9_0_STABLE [dc9a506e6] 2015-01-29 20:18:46 -0500
2163 Handle unexpected query results, especially NULLs, safely in
2164 <filename>contrib/tablefunc</>'s <function>connectby()</>
2169 <function>connectby()</> previously crashed if it encountered a NULL
2170 key value. It now prints that row but doesn't recurse further.
2175 Author: Tom Lane <tgl@sss.pgh.pa.us>
2176 Branch: REL9_3_STABLE [c393847a1] 2014-11-27 11:12:51 -0500
2177 Branch: REL9_2_STABLE [a1cd04cd0] 2014-11-27 11:12:55 -0500
2178 Branch: REL9_1_STABLE [168636a99] 2014-11-27 11:12:59 -0500
2179 Branch: REL9_0_STABLE [6a694bbab] 2014-11-27 11:13:03 -0500
2184 Avoid a possible crash in <filename>contrib/xml2</>'s
2185 <function>xslt_process()</> (Mark Simonetti)
2189 <application>libxslt</> seems to have an undocumented dependency on
2190 the order in which resources are freed; reorder our calls to avoid a
2196 Author: Tom Lane <tgl@sss.pgh.pa.us>
2197 Branch: REL9_3_STABLE [0247935c7] 2014-11-05 11:34:19 -0500
2198 Branch: REL9_2_STABLE [0ef754cad] 2014-11-05 11:34:22 -0500
2199 Branch: REL9_1_STABLE [7225abf00] 2014-11-05 11:34:25 -0500
2204 Mark some <filename>contrib</> I/O functions with correct volatility
2205 properties (Tom Lane)
2209 The previous over-conservative marking was immaterial in normal use,
2210 but could cause optimization problems or rejection of valid index
2211 expression definitions. Since the consequences are not large, we've
2212 just adjusted the function definitions in the extension modules'
2213 scripts, without changing version numbers.
2218 Author: Tom Lane <tgl@sss.pgh.pa.us>
2219 Branch: master [a59ee8819] 2015-01-30 13:05:30 -0500
2220 Branch: REL9_4_STABLE [70da7aeba] 2015-01-30 13:04:59 -0500
2221 Branch: REL9_3_STABLE [f08cf8ad9] 2015-01-30 13:05:01 -0500
2222 Branch: REL9_2_STABLE [a97dfdfd9] 2015-01-30 13:05:04 -0500
2223 Branch: REL9_1_STABLE [8f51c432c] 2015-01-30 13:05:07 -0500
2224 Branch: REL9_0_STABLE [7c41a32b3] 2015-01-30 13:05:09 -0500
2225 Author: Tom Lane <tgl@sss.pgh.pa.us>
2226 Branch: REL9_3_STABLE [8824bae87] 2014-11-18 13:28:13 -0500
2227 Author: Robert Haas <rhaas@postgresql.org>
2228 Branch: master [0b49642b9] 2015-01-15 09:26:03 -0500
2229 Branch: REL9_4_STABLE [7b65f194e] 2015-01-15 09:29:41 -0500
2230 Branch: REL9_3_STABLE [ebbef4f39] 2015-01-15 09:29:55 -0500
2231 Branch: REL9_2_STABLE [d452bfd1b] 2015-01-15 09:42:21 -0500
2232 Branch: REL9_1_STABLE [151fb75b0] 2015-01-15 09:42:33 -0500
2233 Branch: REL9_0_STABLE [0a67c0018] 2015-01-15 09:42:47 -0500
2234 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2235 Branch: master [e37d474f9] 2015-01-13 14:33:05 +0200
2236 Branch: REL9_4_STABLE [4ebb3494e] 2015-01-13 16:01:04 +0200
2237 Author: Andres Freund <andres@anarazel.de>
2238 Branch: master [8cadeb792] 2015-01-04 15:44:49 +0100
2239 Branch: REL9_4_STABLE [7ced1b6c5] 2015-01-04 15:52:52 +0100
2240 Branch: REL9_3_STABLE [a68b8aec7] 2015-01-04 15:53:08 +0100
2241 Branch: REL9_2_STABLE [6f9b84a40] 2015-01-04 15:55:00 +0100
2242 Author: Andres Freund <andres@anarazel.de>
2243 Branch: master [58bc4747b] 2015-01-04 15:35:46 +0100
2244 Branch: REL9_4_STABLE [2d8411a0a] 2015-01-04 15:35:46 +0100
2245 Branch: REL9_3_STABLE [d33f36f16] 2015-01-04 15:35:47 +0100
2246 Branch: REL9_2_STABLE [029e41afd] 2015-01-04 15:35:47 +0100
2247 Branch: REL9_1_STABLE [39cdf365a] 2015-01-04 15:35:47 +0100
2248 Branch: REL9_0_STABLE [17797e18d] 2015-01-04 15:35:48 +0100
2249 Author: Andres Freund <andres@anarazel.de>
2250 Branch: master [0398ece4c] 2015-01-04 14:36:21 +0100
2251 Branch: REL9_4_STABLE [ff7d46b85] 2015-01-04 14:36:21 +0100
2252 Branch: REL9_3_STABLE [ec14f1601] 2015-01-04 14:36:22 +0100
2253 Branch: REL9_2_STABLE [f4060db11] 2015-01-04 14:36:22 +0100
2254 Author: Tatsuo Ishii <ishii@postgresql.org>
2255 Branch: master [3b5a89c48] 2014-12-30 20:33:01 +0900
2256 Branch: REL9_4_STABLE [458e8bc65] 2014-12-30 20:27:26 +0900
2257 Branch: REL9_3_STABLE [ed0e03283] 2014-12-30 20:20:56 +0900
2258 Branch: REL9_2_STABLE [4db7eaae0] 2014-12-30 19:59:26 +0900
2259 Branch: REL9_1_STABLE [4c136b0b6] 2014-12-30 19:48:53 +0900
2260 Branch: REL9_0_STABLE [9b74f3574] 2014-12-30 19:37:55 +0900
2261 Author: Tom Lane <tgl@sss.pgh.pa.us>
2262 Branch: master [66709133c] 2014-12-16 15:35:33 -0500
2263 Branch: REL9_4_STABLE [383d224a0] 2014-12-16 15:35:36 -0500
2264 Branch: REL9_3_STABLE [53960e7eb] 2014-12-16 15:35:40 -0500
2265 Branch: REL9_2_STABLE [e92c67ddc] 2014-12-16 15:35:43 -0500
2266 Branch: REL9_1_STABLE [5c784d96a] 2014-12-16 15:35:46 -0500
2267 Branch: REL9_0_STABLE [a2969bd72] 2014-12-16 15:35:49 -0500
2268 Author: Tom Lane <tgl@sss.pgh.pa.us>
2269 Branch: master [d38e8d30c] 2014-12-16 13:31:42 -0500
2270 Branch: REL9_4_STABLE [6c75384ee] 2014-12-16 13:31:57 -0500
2271 Branch: REL9_3_STABLE [3b750ec15] 2014-12-16 13:32:02 -0500
2272 Branch: REL9_2_STABLE [5b2c8f04a] 2014-12-16 13:32:15 -0500
2273 Branch: REL9_1_STABLE [926da211a] 2014-12-16 13:32:25 -0500
2274 Branch: REL9_0_STABLE [961df1853] 2014-12-16 13:32:38 -0500
2275 Author: Tom Lane <tgl@sss.pgh.pa.us>
2276 Branch: master [586dd5d6a] 2015-01-24 13:05:42 -0500
2277 Branch: REL9_4_STABLE [d51d4ff31] 2015-01-24 13:05:45 -0500
2278 Branch: REL9_3_STABLE [7240f9200] 2015-01-24 13:05:49 -0500
2279 Branch: REL9_2_STABLE [502e5f9c3] 2015-01-24 13:05:53 -0500
2280 Branch: REL9_1_STABLE [b00a08859] 2015-01-24 13:05:56 -0500
2281 Branch: REL9_0_STABLE [3a3ee655c] 2015-01-24 13:05:58 -0500
2286 Numerous cleanups of warnings from Coverity static code analyzer
2287 (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier)
2291 These changes are mostly cosmetic but in some cases fix corner-case
2292 bugs, for example a crash rather than a proper error report after an
2293 out-of-memory failure. None are believed to represent security
2299 Author: Robert Haas <rhaas@postgresql.org>
2300 Branch: REL9_3_STABLE [05c0059b3] 2014-07-30 12:10:20 -0400
2305 Fix setup of background workers in EXEC_BACKEND builds, eg Windows
2311 Author: Noah Misch <noah@leadboat.com>
2312 Branch: REL9_3_STABLE [07115248f] 2014-07-22 11:01:41 -0400
2313 Branch: REL9_2_STABLE [cec0c2182] 2014-07-22 11:01:51 -0400
2314 Branch: REL9_1_STABLE [81af4185a] 2014-07-22 11:02:00 -0400
2315 Branch: REL9_0_STABLE [4c6d0abde] 2014-07-22 11:02:25 -0400
2320 Detect incompatible OpenLDAP versions during build (Noah Misch)
2324 With OpenLDAP versions 2.4.24 through 2.4.31,
2325 inclusive, <productname>PostgreSQL</> backends can crash at exit.
2326 Raise a warning during <application>configure</> based on the
2327 compile-time OpenLDAP version number, and test the crashing scenario
2328 in the <filename>contrib/dblink</> regression test.
2333 Author: Noah Misch <noah@leadboat.com>
2334 Branch: REL9_3_STABLE [318fe2321] 2014-08-18 23:01:04 -0400
2335 Branch: REL9_2_STABLE [ebd4d9cdd] 2014-08-18 23:01:09 -0400
2336 Branch: REL9_1_STABLE [ba72fc054] 2014-08-18 23:01:13 -0400
2337 Branch: REL9_0_STABLE [e6841c4d6] 2014-08-18 23:01:23 -0400
2342 In non-MSVC Windows builds, ensure <filename>libpq.dll</> is installed
2343 with execute permissions (Noah Misch)
2348 Author: Tom Lane <tgl@sss.pgh.pa.us>
2349 Branch: master [aa719391d] 2015-01-19 23:44:19 -0500
2350 Branch: REL9_4_STABLE [3de9f22ac] 2015-01-19 23:44:22 -0500
2351 Branch: REL9_3_STABLE [1681e2f74] 2015-01-19 23:44:24 -0500
2352 Branch: REL9_2_STABLE [89b6a19e1] 2015-01-19 23:44:28 -0500
2353 Branch: REL9_1_STABLE [f4f522deb] 2015-01-19 23:44:30 -0500
2354 Branch: REL9_0_STABLE [338ff75fc] 2015-01-19 23:44:33 -0500
2359 Make <application>pg_regress</> remove any temporary installation it
2360 created upon successful exit (Tom Lane)
2364 This results in a very substantial reduction in disk space usage
2365 during <literal>make check-world</>, since that sequence involves
2366 creation of numerous temporary installations.
2371 Author: Tom Lane <tgl@sss.pgh.pa.us>
2372 Branch: REL9_3_STABLE [137e7c164] 2014-10-16 15:22:17 -0400
2373 Branch: REL9_2_STABLE [7c67b9365] 2014-10-16 15:22:20 -0400
2374 Branch: REL9_1_STABLE [2784b68b3] 2014-10-16 15:22:23 -0400
2375 Branch: REL9_0_STABLE [870a980aa] 2014-10-16 15:22:26 -0400
2380 Support time zone abbreviations that change UTC offset from time to
2385 Previously, <productname>PostgreSQL</> assumed that the UTC offset
2386 associated with a time zone abbreviation (such as <literal>EST</>)
2387 never changes in the usage of any particular locale. However this
2388 assumption fails in the real world, so introduce the ability for a
2389 zone abbreviation to represent a UTC offset that sometimes changes.
2390 Update the zone abbreviation definition files to make use of this
2391 feature in timezone locales that have changed the UTC offset of their
2392 abbreviations since 1970 (according to the IANA timezone database).
2393 In such timezones, <productname>PostgreSQL</> will now associate the
2394 correct UTC offset with the abbreviation depending on the given date.
2399 Author: Tom Lane <tgl@sss.pgh.pa.us>
2400 Branch: REL9_3_STABLE [9701f238b] 2014-10-03 17:44:56 -0400
2401 Branch: REL9_2_STABLE [d7d546bbc] 2014-10-03 17:44:59 -0400
2402 Branch: REL9_1_STABLE [252af79d9] 2014-10-03 17:45:03 -0400
2403 Branch: REL9_0_STABLE [cc7bad30c] 2014-10-03 17:45:07 -0400
2404 Author: Tom Lane <tgl@sss.pgh.pa.us>
2405 Branch: REL9_3_STABLE [0190f0a76] 2014-12-24 16:35:40 -0500
2406 Branch: REL9_2_STABLE [5c8665892] 2014-12-24 16:35:44 -0500
2407 Branch: REL9_1_STABLE [310597e31] 2014-12-24 16:35:48 -0500
2408 Branch: REL9_0_STABLE [8b70023af] 2014-12-24 16:35:54 -0500
2413 Update time zone abbreviations lists (Tom Lane)
2417 Add CST (China Standard Time) to our lists.
2418 Remove references to ADT as <quote>Arabia Daylight Time</>, an
2419 abbreviation that's been out of use since 2007; therefore, claiming
2420 there is a conflict with <quote>Atlantic Daylight Time</> doesn't seem
2422 Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, and FJST
2423 (Fiji); we didn't even have them on the proper side of the date line.
2428 Author: Tom Lane <tgl@sss.pgh.pa.us>
2429 Branch: REL9_3_STABLE [8470cd473] 2015-01-30 22:46:05 -0500
2430 Branch: REL9_2_STABLE [c9048d353] 2015-01-30 22:46:12 -0500
2431 Branch: REL9_1_STABLE [cb24cd3f4] 2015-01-30 22:46:17 -0500
2432 Branch: REL9_0_STABLE [3553d9c6e] 2015-01-30 22:46:22 -0500
2433 Author: Tom Lane <tgl@sss.pgh.pa.us>
2434 Branch: REL9_3_STABLE [ab45d907b] 2014-11-17 12:08:25 -0500
2435 Branch: REL9_2_STABLE [b1e996035] 2014-11-17 12:08:32 -0500
2436 Branch: REL9_1_STABLE [b96c47a3d] 2014-11-17 12:08:39 -0500
2437 Branch: REL9_0_STABLE [92979576e] 2014-11-17 12:08:46 -0500
2438 Author: Tom Lane <tgl@sss.pgh.pa.us>
2439 Branch: REL9_3_STABLE [c66199151] 2014-10-04 14:18:33 -0400
2440 Branch: REL9_2_STABLE [8f75d7a25] 2014-10-04 14:18:36 -0400
2441 Branch: REL9_1_STABLE [745723c9e] 2014-10-04 14:18:39 -0400
2442 Branch: REL9_0_STABLE [b6391f587] 2014-10-04 14:18:43 -0400
2447 Update time zone data files to <application>tzdata</> release 2015a.
2451 The IANA timezone database has adopted abbreviations of the form
2452 <literal>A<replaceable>x</>ST</literal>/<literal>A<replaceable>x</>DT</literal>
2453 for all Australian time zones, reflecting what they believe to be
2454 current majority practice Down Under. These names do not conflict
2455 with usage elsewhere (other than ACST for Acre Summer Time, which has
2456 been in disuse since 1994). Accordingly, adopt these names into
2457 our <quote>Default</> timezone abbreviation set.
2458 The <quote>Australia</> abbreviation set now contains only CST, EAST,
2459 EST, SAST, SAT, and WST, all of which are thought to be mostly
2460 historical usage. Note that SAST has also been changed to be South
2461 Africa Standard Time in the <quote>Default</> abbreviation set.
2465 Also, add zone abbreviations SRET (Asia/Srednekolymsk) and XJT
2466 (Asia/Urumqi), and use WSST/WSDT for western Samoa. Also, there were
2467 DST law changes in Chile, Mexico, the Turks & Caicos Islands
2468 (America/Grand_Turk), and Fiji. There is a new zone
2469 Pacific/Bougainville for portions of Papua New Guinea. Also, numerous
2470 corrections for historical (pre-1970) time zone data.
2479 <sect1 id="release-9-3-5">
2480 <title>Release 9.3.5</title>
2483 <title>Release Date</title>
2484 <simpara>2014-07-24</simpara>
2488 This release contains a variety of fixes from 9.3.4.
2489 For information about new features in the 9.3 major release, see
2490 <xref linkend="release-9-3">.
2494 <title>Migration to Version 9.3.5</title>
2497 A dump/restore is not required for those running 9.3.X.
2501 However, this release corrects a logic error
2502 in <application>pg_upgrade</>, as well as an index corruption problem in
2503 some GiST indexes. See the first two changelog entries below to find out
2504 whether your installation has been affected and what steps you should take
2509 Also, if you are upgrading from a version earlier than 9.3.4,
2510 see <xref linkend="release-9-3-4">.
2516 <title>Changes</title>
2521 Author: Bruce Momjian <bruce@momjian.us>
2522 Branch: master [0f7482733] 2014-06-24 16:11:06 -0400
2523 Branch: REL9_4_STABLE [dd5369047] 2014-06-24 16:11:06 -0400
2524 Branch: REL9_3_STABLE [cc5841809] 2014-06-24 16:11:06 -0400
2529 In <application>pg_upgrade</>, remove <filename>pg_multixact</> files
2530 left behind by <application>initdb</> (Bruce Momjian)
2534 If you used a pre-9.3.5 version of <application>pg_upgrade</> to
2535 upgrade a database cluster to 9.3, it might have left behind a file
2536 <filename>$PGDATA/pg_multixact/offsets/0000</> that should not be
2537 there and will eventually cause problems in <command>VACUUM</>.
2538 <emphasis>However, in common cases this file is actually valid and
2539 must not be removed.</emphasis>
2540 To determine whether your installation has this problem, run this
2541 query as superuser, in any database of the cluster:
2543 WITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets'))
2544 SELECT EXISTS (SELECT * FROM list WHERE file = '0000') AND
2545 NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND
2546 NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF') AND
2547 EXISTS (SELECT * FROM list WHERE file != '0000')
2548 AS file_0000_removal_required;
2550 If this query returns <literal>t</>, manually remove the file
2551 <filename>$PGDATA/pg_multixact/offsets/0000</>.
2552 Do nothing if the query returns <literal>f</>.
2557 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2558 Branch: master Release: REL9_4_BR [540ac7cea] 2014-05-13 15:15:13 +0300
2559 Branch: REL9_3_STABLE [d5b912c90] 2014-05-13 15:27:14 +0300
2560 Branch: REL9_2_STABLE [0d8d0d027] 2014-05-13 15:27:21 +0300
2561 Branch: REL9_1_STABLE [1913d0f28] 2014-05-13 15:27:28 +0300
2562 Branch: REL9_0_STABLE [c87c43f08] 2014-05-13 15:27:36 +0300
2563 Branch: REL8_4_STABLE [e31d77c96] 2014-05-13 15:27:43 +0300
2568 Correctly initialize padding bytes in <filename>contrib/btree_gist</>
2569 indexes on <type>bit</> columns (Heikki Linnakangas)
2573 This error could result in incorrect query results due to values that
2574 should compare equal not being seen as equal.
2575 Users with GiST indexes on <type>bit</> or <type>bit varying</>
2576 columns should <command>REINDEX</> those indexes after installing this
2582 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2583 Branch: master Release: REL9_4_BR [4f7bb4b2a] 2014-05-08 14:50:22 +0300
2584 Branch: REL9_3_STABLE [34572920c] 2014-05-08 14:43:04 +0300
2585 Branch: REL9_2_STABLE [31633f992] 2014-05-08 14:43:39 +0300
2586 Branch: REL9_1_STABLE [686a7194e] 2014-05-08 14:43:58 +0300
2587 Branch: REL9_0_STABLE [8b4efe1f3] 2014-05-08 14:44:06 +0300
2588 Branch: REL8_4_STABLE [be7830596] 2014-05-08 14:46:43 +0300
2593 Protect against torn pages when deleting GIN list pages (Heikki
2598 This fix prevents possible index corruption if a system crash occurs
2599 while the page update is being written to disk.
2604 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2605 Branch: master Release: REL9_4_BR [7ca32e255] 2014-04-08 14:51:40 +0300
2606 Branch: REL9_3_STABLE [601c01e08] 2014-04-08 14:51:49 +0300
2607 Branch: REL9_2_STABLE [02b9fd73e] 2014-04-08 14:51:56 +0300
2608 Branch: REL9_1_STABLE [ac0078c1d] 2014-04-08 14:52:01 +0300
2609 Branch: REL9_0_STABLE [d034e9b3b] 2014-04-08 14:52:07 +0300
2614 Don't clear the right-link of a GiST index page while replaying
2615 updates from WAL (Heikki Linnakangas)
2619 This error could lead to transiently wrong answers from GiST index
2620 scans performed in Hot Standby.
2625 Author: Tom Lane <tgl@sss.pgh.pa.us>
2626 Branch: master Release: REL9_4_BR [c170655cc] 2014-06-09 16:31:11 -0400
2627 Branch: REL9_3_STABLE [717c116f1] 2014-06-09 16:31:16 -0400
2628 Branch: REL9_2_STABLE [93328b2df] 2014-06-09 16:30:46 -0400
2633 Fix corner-case infinite loop during insertion into an SP-GiST text
2639 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2640 Branch: master [1264ef31a] 2014-07-16 09:19:06 +0300
2641 Branch: REL9_4_STABLE [9b3ef66af] 2014-07-16 09:20:20 +0300
2642 Branch: REL9_3_STABLE [a4867d041] 2014-07-16 09:20:31 +0300
2647 Fix incorrect answers from SP-GiST index searches
2648 with <literal>-|-</literal> (range adjacency) operator
2649 (Heikki Linnakangas)
2654 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2655 Branch: master Release: REL9_4_BR [b0b263baa] 2014-06-09 15:17:23 -0400
2656 Branch: REL9_3_STABLE [167a2535f] 2014-06-09 15:17:23 -0400
2661 Fix wraparound handling for <filename>pg_multixact/members</>
2662 (Álvaro Herrera)
2667 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2668 Branch: master [f741300c9] 2014-06-27 14:43:53 -0400
2669 Branch: REL9_4_STABLE [56f86bb76] 2014-06-27 14:43:52 -0400
2670 Branch: REL9_3_STABLE [9a28c3752] 2014-06-27 14:43:52 -0400
2675 Truncate <structname>pg_multixact</> during checkpoints, not
2676 during <command>VACUUM</> (Álvaro Herrera)
2680 This change ensures that <structname>pg_multixact</> segments can't be
2681 removed if they'd still be needed during WAL replay after a crash.
2686 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2687 Branch: master Release: REL9_4_BR [2a8e1ac59] 2014-04-17 17:47:50 +0300
2688 Branch: REL9_3_STABLE [95aa823eb] 2014-04-17 17:47:58 +0300
2693 Fix possible inconsistency of all-visible flags after WAL recovery
2694 (Heikki Linnakangas)
2699 Author: Tom Lane <tgl@sss.pgh.pa.us>
2700 Branch: master Release: REL9_4_BR [0f928a85e] 2014-05-05 14:43:39 -0400
2701 Branch: REL9_3_STABLE [4f4ef042f] 2014-05-05 14:43:42 -0400
2702 Branch: REL9_2_STABLE [c8fbeeb45] 2014-05-05 14:43:46 -0400
2703 Branch: REL9_1_STABLE [2f4ee3a2f] 2014-05-05 14:43:49 -0400
2704 Branch: REL9_0_STABLE [7d5b68621] 2014-05-05 14:43:52 -0400
2705 Branch: REL8_4_STABLE [3ada1fab8] 2014-05-05 14:43:55 -0400
2710 Fix possibly-incorrect cache invalidation during nested calls
2711 to <function>ReceiveSharedInvalidMessages</> (Andres Freund)
2716 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2717 Branch: master Release: REL9_4_BR [1a917ae86] 2014-04-24 15:41:55 -0300
2718 Branch: REL9_3_STABLE [c0bd128c8] 2014-04-24 15:41:55 -0300
2723 Fix race condition when updating a tuple concurrently locked by
2724 another process (Andres Freund, Álvaro Herrera)
2729 Author: Tom Lane <tgl@sss.pgh.pa.us>
2730 Branch: REL9_3_STABLE [a2db7b7d0] 2014-06-26 10:41:59 -0700
2731 Branch: REL9_2_STABLE [0cf16686b] 2014-06-26 10:42:03 -0700
2732 Branch: REL9_1_STABLE [555d0b200] 2014-06-26 10:42:08 -0700
2737 Fix <quote>could not find pathkey item to sort</> planner failures
2738 with <literal>UNION ALL</> over subqueries reading from tables with
2739 inheritance children (Tom Lane)
2744 Author: Tom Lane <tgl@sss.pgh.pa.us>
2745 Branch: master [9e2f2d7a0] 2014-07-08 14:03:56 -0400
2746 Branch: REL9_4_STABLE [ac45aa1dd] 2014-07-08 14:03:45 -0400
2747 Branch: REL9_3_STABLE [6d36aee5b] 2014-07-08 14:03:19 -0400
2748 Branch: REL9_2_STABLE [189bd09cb] 2014-07-08 14:03:23 -0400
2749 Branch: REL9_1_STABLE [fa21a760b] 2014-07-08 14:03:26 -0400
2750 Branch: REL9_0_STABLE [2865d5952] 2014-07-08 14:03:30 -0400
2751 Branch: REL8_4_STABLE [2e7469dc8] 2014-07-08 14:03:32 -0400
2756 Don't assume a subquery's output is unique if there's a set-returning
2757 function in its targetlist (David Rowley)
2761 This oversight could lead to misoptimization of constructs
2762 like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP
2768 Author: Tom Lane <tgl@sss.pgh.pa.us>
2769 Branch: master Release: REL9_4_BR [95811032d] 2014-04-29 13:12:46 -0400
2770 Branch: REL9_3_STABLE [150a44e83] 2014-04-29 13:12:29 -0400
2771 Branch: REL9_2_STABLE [0901dbab3] 2014-04-29 13:12:33 -0400
2776 Improve planner to drop constant-NULL inputs
2777 of <literal>AND</>/<literal>OR</> when possible (Tom Lane)
2781 This change fixes some cases where the more aggressive parameter
2782 substitution done by 9.2 and later can lead to a worse plan than
2783 older versions produced.
2788 Author: Tom Lane <tgl@sss.pgh.pa.us>
2789 Branch: master Release: REL9_4_BR [c7b353959] 2014-04-03 22:02:24 -0400
2790 Branch: REL9_3_STABLE [d359f71ac] 2014-04-03 22:02:27 -0400
2795 Ensure that the planner sees equivalent <literal>VARIADIC</> and
2796 non-<literal>VARIADIC</> function calls as equivalent (Tom Lane)
2800 This bug could for example result in failure to use expression indexes
2801 involving variadic functions. It might be necessary to re-create such
2802 indexes, and/or re-create views including variadic function calls that
2803 should match the indexes, for the fix to be effective for existing 9.3
2809 Author: Tom Lane <tgl@sss.pgh.pa.us>
2810 Branch: master [57d8c1270] 2014-06-24 21:22:40 -0700
2811 Branch: REL9_4_STABLE [a331512de] 2014-06-24 21:22:43 -0700
2812 Branch: REL9_3_STABLE [a1fc36495] 2014-06-24 21:22:47 -0700
2817 Fix handling of nested <type>JSON</> objects
2818 in <function>json_populate_recordset()</> and friends
2819 (Michael Paquier, Tom Lane)
2823 A nested <type>JSON</> object could result in previous fields of the
2824 parent object not being shown in the output.
2829 Author: Tom Lane <tgl@sss.pgh.pa.us>
2830 Branch: master Release: REL9_4_BR [0ca6bda8e] 2014-05-09 12:55:31 -0400
2831 Branch: REL9_3_STABLE [13c679995] 2014-05-09 12:55:03 -0400
2832 Branch: REL9_2_STABLE [25c933c5c] 2014-05-09 12:55:06 -0400
2837 Fix identification of input type category in <function>to_json()</>
2838 and friends (Tom Lane)
2842 This is known to have led to inadequate quoting of <type>money</>
2843 fields in the <type>JSON</> result, and there may have been wrong
2844 results for other data types as well.
2849 Author: Tom Lane <tgl@sss.pgh.pa.us>
2850 Branch: master Release: REL9_4_BR [3f8c8e3c6] 2014-05-01 15:19:06 -0400
2851 Branch: REL9_3_STABLE [b72e90bc3] 2014-05-01 15:19:10 -0400
2852 Branch: REL9_2_STABLE [8c43980a1] 2014-05-01 15:19:14 -0400
2853 Branch: REL9_1_STABLE [db1fdc945] 2014-05-01 15:19:17 -0400
2854 Branch: REL9_0_STABLE [7a4f114f3] 2014-05-01 15:19:20 -0400
2855 Branch: REL8_4_STABLE [70debcf09] 2014-05-01 15:19:23 -0400
2860 Fix failure to detoast fields in composite elements of structured
2865 This corrects cases where TOAST pointers could be copied into other
2866 tables without being dereferenced. If the original data is later
2867 deleted, it would lead to errors like <quote>missing chunk number 0
2868 for toast value ...</> when the now-dangling pointer is used.
2873 Author: Tom Lane <tgl@sss.pgh.pa.us>
2874 Branch: master [d68581483] 2014-07-11 19:12:35 -0400
2875 Branch: REL9_4_STABLE [f280eff94] 2014-07-11 19:12:38 -0400
2876 Branch: REL9_3_STABLE [b77e6b959] 2014-07-11 19:12:42 -0400
2877 Branch: REL9_2_STABLE [261f954e7] 2014-07-11 19:12:45 -0400
2878 Branch: REL9_1_STABLE [c45841f9e] 2014-07-11 19:12:48 -0400
2879 Branch: REL9_0_STABLE [cd8ba91a0] 2014-07-11 19:12:51 -0400
2880 Branch: REL8_4_STABLE [a81fbcfb3] 2014-07-11 19:12:56 -0400
2885 Fix <quote>record type has not been registered</> failures with
2886 whole-row references to the output of Append plan nodes (Tom Lane)
2891 Author: Tom Lane <tgl@sss.pgh.pa.us>
2892 Branch: master Release: REL9_4_BR [04e5025be] 2014-05-07 14:25:11 -0400
2893 Branch: REL9_3_STABLE [fc58c39d4] 2014-05-07 14:25:13 -0400
2894 Branch: REL9_2_STABLE [022b5f2b2] 2014-05-07 14:25:17 -0400
2895 Branch: REL9_1_STABLE [229101db4] 2014-05-07 14:25:22 -0400
2896 Branch: REL9_0_STABLE [7f66ade71] 2014-05-07 14:25:25 -0400
2897 Branch: REL8_4_STABLE [2a527baa3] 2014-05-07 14:25:28 -0400
2902 Fix possible crash when invoking a user-defined function while
2903 rewinding a cursor (Tom Lane)
2908 Author: Tom Lane <tgl@sss.pgh.pa.us>
2909 Branch: master [45b0f3572] 2014-06-19 22:14:26 -0400
2910 Branch: REL9_4_STABLE [1044e79a0] 2014-06-19 22:13:44 -0400
2911 Branch: REL9_3_STABLE [c1f8fb9bf] 2014-06-19 22:13:47 -0400
2912 Branch: REL9_2_STABLE [b568d3836] 2014-06-19 22:13:51 -0400
2913 Branch: REL9_1_STABLE [06d5eacbc] 2014-06-19 22:13:54 -0400
2914 Branch: REL9_0_STABLE [83131e634] 2014-06-19 22:13:58 -0400
2915 Branch: REL8_4_STABLE [d297c91d4] 2014-06-19 22:14:00 -0400
2920 Fix query-lifespan memory leak while evaluating the arguments for a
2921 function in <literal>FROM</> (Tom Lane)
2926 Author: Tom Lane <tgl@sss.pgh.pa.us>
2927 Branch: master [1567e659a] 2014-07-18 13:00:27 -0400
2928 Branch: REL9_4_STABLE [4a66f0f2d] 2014-07-18 13:00:39 -0400
2929 Branch: REL9_3_STABLE [5ef588b22] 2014-07-18 13:00:43 -0400
2930 Branch: REL9_2_STABLE [a223b9e36] 2014-07-18 13:00:48 -0400
2931 Branch: REL9_1_STABLE [8a817785a] 2014-07-18 13:00:52 -0400
2932 Branch: REL9_0_STABLE [b8c24f7ab] 2014-07-18 13:00:57 -0400
2933 Branch: REL8_4_STABLE [e0a233744] 2014-07-18 13:01:04 -0400
2938 Fix session-lifespan memory leaks in regular-expression processing
2939 (Tom Lane, Arthur O'Dwyer, Greg Stark)
2944 Author: Tom Lane <tgl@sss.pgh.pa.us>
2945 Branch: master [fd90b5d57] 2014-06-10 22:48:16 -0400
2946 Branch: REL9_4_STABLE [7f9fbb842] 2014-06-10 22:48:31 -0400
2947 Branch: REL9_3_STABLE [87db9534a] 2014-06-10 22:48:39 -0400
2948 Branch: REL9_2_STABLE [802323535] 2014-06-10 22:48:45 -0400
2949 Branch: REL9_1_STABLE [62f134954] 2014-06-10 22:48:52 -0400
2950 Branch: REL9_0_STABLE [4d5ea4290] 2014-06-10 22:48:59 -0400
2951 Branch: REL8_4_STABLE [f3f40434b] 2014-06-10 22:49:08 -0400
2956 Fix data encoding error in <filename>hungarian.stop</> (Tom Lane)
2961 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2962 Branch: master [a87a7dc8b] 2014-06-24 13:27:18 +0300
2963 Branch: REL9_4_STABLE [1818ae0a7] 2014-06-24 13:31:06 +0300
2964 Branch: REL9_3_STABLE [2a7512bc7] 2014-06-24 13:31:00 +0300
2965 Branch: REL9_2_STABLE [1c9f9e888] 2014-06-24 13:30:54 +0300
2966 Branch: REL9_1_STABLE [dd1a5b09b] 2014-06-24 13:30:41 +0300
2971 Prevent foreign tables from being created with OIDS
2972 when <xref linkend="guc-default-with-oids"> is true
2978 Author: Andres Freund <andres@anarazel.de>
2979 Branch: master Release: REL9_4_BR [621a99a66] 2014-06-04 21:36:19 +0200
2980 Branch: REL9_3_STABLE [edde59db1] 2014-06-04 23:26:08 +0200
2981 Branch: REL9_2_STABLE [315442c01] 2014-06-04 23:25:52 +0200
2982 Branch: REL9_1_STABLE [6bf6e528a] 2014-06-04 23:26:30 +0200
2983 Branch: REL9_0_STABLE [037c6fb9f] 2014-06-04 23:27:10 +0200
2984 Branch: REL8_4_STABLE [80d45ae4e] 2014-06-04 23:27:38 +0200
2989 Fix liveness checks for rows that were inserted in the current
2990 transaction and then deleted by a now-rolled-back subtransaction
2995 This could cause problems (at least spurious warnings, and at worst an
2996 infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were
2997 done later in the same transaction.
3002 Author: Tom Lane <tgl@sss.pgh.pa.us>
3003 Branch: master Release: REL9_4_BR [d19bd29f0] 2014-04-24 13:29:48 -0400
3004 Branch: REL9_3_STABLE [12e41a5d7] 2014-04-24 13:29:56 -0400
3005 Branch: REL9_2_STABLE [ea9ac7741] 2014-04-24 13:30:00 -0400
3006 Branch: REL9_1_STABLE [70e7be264] 2014-04-24 13:30:04 -0400
3007 Branch: REL9_0_STABLE [b7a3e1173] 2014-04-24 13:30:08 -0400
3008 Branch: REL8_4_STABLE [82fbd88a7] 2014-04-24 13:30:14 -0400
3013 Clear <structname>pg_stat_activity</>.<structfield>xact_start</>
3014 during <command>PREPARE TRANSACTION</> (Andres Freund)
3018 After the <command>PREPARE</>, the originating session is no longer in
3019 a transaction, so it should not continue to display a transaction
3025 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3026 Branch: master [6bdf4b9c7] 2014-07-15 13:24:07 -0400
3027 Branch: REL9_4_STABLE [e45229bb6] 2014-07-15 13:24:07 -0400
3028 Branch: REL9_3_STABLE [12c5bbdcb] 2014-07-15 13:24:07 -0400
3029 Branch: REL9_2_STABLE [b42f09fc8] 2014-07-15 13:24:07 -0400
3030 Branch: REL9_1_STABLE [a41dc7321] 2014-07-15 13:24:07 -0400
3031 Branch: REL9_0_STABLE [bf08864b8] 2014-07-15 13:24:07 -0400
3032 Branch: REL8_4_STABLE [4b767789d] 2014-07-15 13:24:07 -0400
3037 Fix <command>REASSIGN OWNED</> to not fail for text search objects
3038 (Álvaro Herrera)
3043 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3044 Branch: master [b7e51d9c0] 2014-06-27 14:43:46 -0400
3045 Branch: REL9_4_STABLE [9eecc8a7c] 2014-06-27 14:43:46 -0400
3046 Branch: REL9_3_STABLE [e86cfc4bb] 2014-06-27 14:43:45 -0400
3051 Prevent <structname>pg_class</>.<structfield>relminmxid</> values from
3052 going backwards during <command>VACUUM FULL</> (Álvaro Herrera)
3057 Author: Tom Lane <tgl@sss.pgh.pa.us>
3058 Branch: master Release: REL9_4_BR [41de93c53] 2014-04-30 13:26:26 -0400
3059 Branch: REL9_3_STABLE [0652d77fb] 2014-04-30 13:26:29 -0400
3064 Reduce indentation in rule/view dumps to improve readability and avoid
3065 excessive whitespace (Greg Stark, Tom Lane)
3069 This change reduces the amount of indentation applied to nested
3070 constructs, including some cases that the user probably doesn't think
3071 of as nested, such as UNION lists. Previously, deeply nested
3072 constructs were printed with an amount of whitespace growing as
3073 O(N^2), which created a performance problem and even risk of
3074 out-of-memory failures. Now the indentation is reduced modulo 40,
3075 which is initially odd to look at but seems to preserve readability
3076 better than simply limiting the indentation would do.
3077 Redundant parenthesization of UNION lists has been reduced as well.
3082 Author: Tom Lane <tgl@sss.pgh.pa.us>
3083 Branch: master Release: REL9_4_BR [91e16b980] 2014-05-01 20:22:37 -0400
3084 Branch: REL9_3_STABLE [e31193d49] 2014-05-01 20:22:39 -0400
3089 Fix dumping of rules/views when subsequent addition of a column has
3090 resulted in multiple input columns matching a <literal>USING</>
3091 specification (Tom Lane)
3096 Author: Tom Lane <tgl@sss.pgh.pa.us>
3097 Branch: master [9b35ddce9] 2014-07-19 14:28:52 -0400
3098 Branch: REL9_4_STABLE [f0a497e4c] 2014-07-19 14:29:00 -0400
3099 Branch: REL9_3_STABLE [b978ab5f6] 2014-07-19 14:29:05 -0400
3104 Repair view printing for some cases involving functions
3105 in <literal>FROM</> that return a composite type containing dropped
3111 Author: Tom Lane <tgl@sss.pgh.pa.us>
3112 Branch: master Release: REL9_4_BR [5d8117e1f] 2014-04-05 18:16:08 -0400
3113 Branch: REL9_3_STABLE [21aa47d01] 2014-04-05 18:16:11 -0400
3114 Branch: REL9_2_STABLE [53463e247] 2014-04-05 18:16:14 -0400
3115 Branch: REL9_1_STABLE [093d3da1d] 2014-04-05 18:16:17 -0400
3116 Branch: REL9_0_STABLE [5c26ab659] 2014-04-05 18:16:20 -0400
3117 Branch: REL8_4_STABLE [969735cf1] 2014-04-05 18:16:24 -0400
3122 Block signals during postmaster startup (Tom Lane)
3126 This ensures that the postmaster will properly clean up after itself
3127 if, for example, it receives <systemitem>SIGINT</> while still
3133 Author: Tom Lane <tgl@sss.pgh.pa.us>
3134 Branch: master Release: REL9_4_BR [fc752505a] 2014-04-02 17:11:24 -0400
3135 Branch: REL9_3_STABLE [65183fb78] 2014-04-02 17:11:27 -0400
3136 Branch: REL9_2_STABLE [029decfec] 2014-04-02 17:11:31 -0400
3137 Branch: REL9_1_STABLE [b7a424371] 2014-04-02 17:11:34 -0400
3142 Fix client host name lookup when processing <filename>pg_hba.conf</>
3143 entries that specify host names instead of IP addresses (Tom Lane)
3147 Ensure that reverse-DNS lookup failures are reported, instead of just
3148 silently not matching such entries. Also ensure that we make only
3149 one reverse-DNS lookup attempt per connection, not one per host name
3150 entry, which is what previously happened if the lookup attempts failed.
3155 Author: Tom Lane <tgl@sss.pgh.pa.us>
3156 Branch: master Release: REL9_4_BR [b203c57bb] 2014-04-04 22:03:35 -0400
3157 Branch: REL9_3_STABLE [7d1a0f585] 2014-04-04 22:03:38 -0400
3158 Branch: REL9_2_STABLE [6d25eb314] 2014-04-04 22:03:42 -0400
3163 Allow the root user to use <literal>postgres -C variable</> and
3164 <literal>postgres --describe-config</> (MauMau)
3168 The prohibition on starting the server as root does not need to extend
3169 to these operations, and relaxing it prevents failure
3170 of <application>pg_ctl</> in some scenarios.
3175 Author: Noah Misch <noah@leadboat.com>
3176 Branch: master [be76a6d39] 2014-06-14 09:41:13 -0400
3177 Branch: REL9_4_STABLE [6583a75b2] 2014-06-14 09:41:16 -0400
3178 Branch: REL9_3_STABLE [1442b426e] 2014-06-14 09:41:17 -0400
3179 Branch: REL9_2_STABLE [453a5d91d] 2014-06-14 09:41:17 -0400
3180 Branch: REL9_1_STABLE [481831b43] 2014-06-14 09:41:18 -0400
3181 Branch: REL9_0_STABLE [5f09c583c] 2014-06-14 09:41:18 -0400
3182 Branch: REL8_4_STABLE [95cefd30e] 2014-06-14 09:41:18 -0400
3187 Secure Unix-domain sockets of temporary postmasters started during
3188 <literal>make check</> (Noah Misch)
3192 Any local user able to access the socket file could connect as the
3193 server's bootstrap superuser, then proceed to execute arbitrary code as
3194 the operating-system user running the test, as we previously noted in
3195 CVE-2014-0067. This change defends against that risk by placing the
3196 server's socket in a temporary, mode 0700 subdirectory
3197 of <filename>/tmp</>. The hazard remains however on platforms where
3198 Unix sockets are not supported, notably Windows, because then the
3199 temporary postmaster must accept local TCP connections.
3203 A useful side effect of this change is to simplify
3204 <literal>make check</> testing in builds that
3205 override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values
3206 like <filename>/var/run/postgresql</> are often not writable by the
3207 build user, requiring workarounds that will no longer be necessary.
3212 Author: Tom Lane <tgl@sss.pgh.pa.us>
3213 Branch: master Release: REL9_4_BR [abe075dff] 2014-04-04 23:09:35 -0400
3214 Branch: REL9_3_STABLE [84520f91c] 2014-04-04 23:09:38 -0400
3215 Branch: REL9_2_STABLE [1a496a12b] 2014-04-04 23:09:41 -0400
3216 Branch: REL9_1_STABLE [af7738fe6] 2014-04-04 23:09:45 -0400
3217 Branch: REL9_0_STABLE [634056567] 2014-04-04 23:09:49 -0400
3222 Fix tablespace creation WAL replay to work on Windows (MauMau)
3227 Author: Bruce Momjian <bruce@momjian.us>
3228 Branch: master Release: REL9_4_BR [418093465] 2014-04-16 10:45:48 -0400
3229 Branch: REL9_3_STABLE [f716c3250] 2014-04-16 10:45:48 -0400
3230 Branch: REL9_2_STABLE [966f015b6] 2014-04-16 10:45:48 -0400
3231 Branch: REL9_1_STABLE [bed499ed1] 2014-04-16 10:45:48 -0400
3232 Branch: REL9_0_STABLE [a86b2daff] 2014-04-16 10:45:48 -0400
3237 Fix detection of socket creation failures on Windows (Bruce Momjian)
3242 Author: Tom Lane <tgl@sss.pgh.pa.us>
3243 Branch: master Release: REL9_4_BR [6862ca697] 2014-04-05 12:41:25 -0400
3244 Branch: REL9_3_STABLE [18db2150c] 2014-04-05 12:41:28 -0400
3245 Branch: REL9_2_STABLE [bdc3e95c2] 2014-04-05 12:41:31 -0400
3246 Branch: REL9_1_STABLE [cb11f4d8d] 2014-04-05 12:41:34 -0400
3247 Branch: REL9_0_STABLE [9500d8f89] 2014-04-05 12:41:38 -0400
3248 Branch: REL8_4_STABLE [30e434bdf] 2014-04-05 12:41:40 -0400
3253 On Windows, allow new sessions to absorb values of PGC_BACKEND
3254 parameters (such as <xref linkend="guc-log-connections">) from the
3255 configuration file (Amit Kapila)
3259 Previously, if such a parameter were changed in the file post-startup,
3260 the change would have no effect.
3265 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3266 Branch: master Release: REL9_4_BR [503de5462] 2014-04-30 10:35:52 +0300
3267 Branch: REL9_3_STABLE [8a90a39b4] 2014-04-30 10:35:46 +0300
3268 Branch: REL9_2_STABLE [e2558e016] 2014-04-30 10:36:31 +0300
3269 Branch: REL9_1_STABLE [94095e341] 2014-04-30 10:36:41 +0300
3270 Branch: REL9_0_STABLE [c06b7219a] 2014-04-30 10:38:32 +0300
3271 Branch: REL8_4_STABLE [e3f273ff6] 2014-04-30 10:39:03 +0300
3276 Properly quote executable path names on Windows (Nikhil Deshpande)
3280 This oversight could cause <application>initdb</>
3281 and <application>pg_upgrade</> to fail on Windows, if the installation
3282 path contained both spaces and <literal>@</> signs.
3287 Author: Tom Lane <tgl@sss.pgh.pa.us>
3288 Branch: master Release: REL9_4_BR [20561acf9] 2014-05-30 18:19:06 -0400
3289 Branch: REL9_3_STABLE [4f5f4da79] 2014-05-30 18:19:14 -0400
3290 Branch: REL9_2_STABLE [83ed4598b] 2014-05-30 18:18:20 -0400
3291 Branch: REL9_1_STABLE [a784a39c4] 2014-05-30 18:18:24 -0400
3292 Branch: REL9_0_STABLE [4f725bbc4] 2014-05-30 18:18:28 -0400
3293 Branch: REL8_4_STABLE [ae41bb4be] 2014-05-30 18:18:32 -0400
3298 Fix linking of <application>libpython</> on OS X (Tom Lane)
3302 The method we previously used can fail with the Python library
3303 supplied by Xcode 5.0 and later.
3308 Author: Tom Lane <tgl@sss.pgh.pa.us>
3309 Branch: master Release: REL9_4_BR [2f557167b] 2014-05-07 21:39:13 -0400
3310 Branch: REL9_3_STABLE [b4f9c93ce] 2014-05-07 21:38:38 -0400
3311 Branch: REL9_2_STABLE [f7672c8ce] 2014-05-07 21:38:41 -0400
3312 Branch: REL9_1_STABLE [86888054a] 2014-05-07 21:38:44 -0400
3313 Branch: REL9_0_STABLE [77e662827] 2014-05-07 21:38:47 -0400
3314 Branch: REL8_4_STABLE [664ac3de7] 2014-05-07 21:38:50 -0400
3319 Avoid buffer bloat in <application>libpq</> when the server
3320 consistently sends data faster than the client can absorb it
3321 (Shin-ichi Morita, Tom Lane)
3325 <application>libpq</> could be coerced into enlarging its input buffer
3326 until it runs out of memory (which would be reported misleadingly
3327 as <quote>lost synchronization with server</>). Under ordinary
3328 circumstances it's quite far-fetched that data could be continuously
3329 transmitted more quickly than the <function>recv()</> loop can
3330 absorb it, but this has been observed when the client is artificially
3331 slowed by scheduler constraints.
3336 Author: Magnus Hagander <magnus@hagander.net>
3337 Branch: master Release: REL9_4_BR [585bca393] 2014-04-16 18:58:10 +0200
3338 Branch: REL9_3_STABLE [cc269272c] 2014-04-16 18:58:55 +0200
3339 Branch: REL9_2_STABLE [b764080ee] 2014-04-16 18:59:11 +0200
3340 Branch: REL9_1_STABLE [c4bf15b9c] 2014-04-16 18:59:28 +0200
3341 Branch: REL9_0_STABLE [96752b02d] 2014-04-16 18:59:37 +0200
3342 Branch: REL8_4_STABLE [b4ae2e37d] 2014-04-16 18:59:48 +0200
3347 Ensure that LDAP lookup attempts in <application>libpq</> time out as
3348 intended (Laurenz Albe)
3353 Author: Michael Meskes <meskes@postgresql.org>
3354 Branch: master Release: REL9_4_BR [8d6a07fa0] 2014-05-06 13:09:51 +0200
3355 Branch: REL9_3_STABLE [b4eeb9d58] 2014-05-06 13:04:30 +0200
3356 Branch: REL9_2_STABLE [3a024c110] 2014-05-06 13:14:01 +0200
3357 Branch: REL9_1_STABLE [fb66e88cf] 2014-05-06 13:20:22 +0200
3358 Branch: REL9_0_STABLE [91c8c106f] 2014-05-06 13:24:13 +0200
3360 Author: Michael Meskes <meskes@postgresql.org>
3361 Branch: master Release: REL9_4_BR [f91796853] 2014-04-09 11:23:38 +0200
3362 Branch: REL9_3_STABLE [3b8fda676] 2014-04-09 11:38:40 +0200
3363 Branch: REL9_2_STABLE [2b3136de9] 2014-04-09 11:43:13 +0200
3364 Branch: REL9_1_STABLE [0de106836] 2014-04-09 12:04:33 +0200
3365 Branch: REL9_0_STABLE [0c2eb989e] 2014-04-09 12:12:32 +0200
3370 Fix <application>ecpg</> to do the right thing when an array
3371 of <type>char *</> is the target for a FETCH statement returning more
3372 than one row, as well as some other array-handling fixes
3378 Author: Tom Lane <tgl@sss.pgh.pa.us>
3379 Branch: master Release: REL9_4_BR [62215de29] 2014-03-29 17:34:00 -0400
3380 Branch: REL9_3_STABLE [3080bbaa9] 2014-03-29 17:34:03 -0400
3385 Fix <application>pg_dump</> to cope with a materialized view that
3386 depends on a table's primary key (Tom Lane)
3390 This occurs if the view's query relies on functional dependency to
3391 abbreviate a <literal>GROUP BY</> list. <application>pg_dump</> got
3392 sufficiently confused that it dumped the materialized view as a
3398 Author: Tom Lane <tgl@sss.pgh.pa.us>
3399 Branch: master Release: REL9_4_BR [19f2d6cda] 2014-03-18 10:38:25 -0400
3400 Branch: REL9_3_STABLE [63817f86b] 2014-03-18 10:38:38 -0400
3405 Fix parsing of <application>pg_dumpall</>'s <option>-i</> switch
3411 Author: Tom Lane <tgl@sss.pgh.pa.us>
3412 Branch: master [c81e63d85] 2014-06-12 20:14:32 -0400
3413 Branch: REL9_4_STABLE [c3c1401ca] 2014-06-12 20:14:36 -0400
3414 Branch: REL9_3_STABLE [a11577f47] 2014-06-12 20:14:39 -0400
3415 Branch: REL9_2_STABLE [ce7fc4fbb] 2014-06-12 20:14:46 -0400
3416 Branch: REL9_1_STABLE [294a48985] 2014-06-12 20:14:49 -0400
3417 Branch: REL9_0_STABLE [3fec825f9] 2014-06-12 20:14:52 -0400
3418 Branch: REL8_4_STABLE [6adddac8a] 2014-06-12 20:14:55 -0400
3423 Fix <application>pg_restore</>'s processing of old-style large object
3428 A direct-to-database restore from an archive file generated by a
3429 pre-9.0 version of <application>pg_dump</> would usually fail if the
3430 archive contained more than a few comments for large objects.
3435 Author: Bruce Momjian <bruce@momjian.us>
3436 Branch: master [3088cc370] 2014-07-07 13:24:08 -0400
3437 Branch: REL9_4_STABLE [f64fe2cbe] 2014-07-07 13:24:08 -0400
3438 Branch: REL9_3_STABLE [f1d7ff5bb] 2014-07-07 13:24:08 -0400
3439 Branch: REL9_2_STABLE [759c9fb63] 2014-07-07 13:24:08 -0400
3444 Fix <application>pg_upgrade</> for cases where the new server creates
3445 a TOAST table but the old version did not (Bruce Momjian)
3449 This rare situation would manifest as <quote>relation OID mismatch</>
3455 Author: Bruce Momjian <bruce@momjian.us>
3456 Branch: master [a61daa14d] 2014-07-02 15:29:38 -0400
3457 Branch: REL9_4_STABLE [b446a384b] 2014-07-02 15:29:38 -0400
3458 Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400
3460 Author: Tom Lane <tgl@sss.pgh.pa.us>
3461 Branch: master [78db307bb] 2014-07-21 11:41:53 -0400
3462 Branch: REL9_4_STABLE [d122387d7] 2014-07-21 11:42:00 -0400
3463 Branch: REL9_3_STABLE [e7984cca0] 2014-07-21 11:42:05 -0400
3468 In <application>pg_upgrade</>,
3469 preserve <structname>pg_database</>.<structfield>datminmxid</>
3470 and <structname>pg_class</>.<structfield>relminmxid</> values from the
3471 old cluster, or insert reasonable values when upgrading from pre-9.3;
3472 also defend against unreasonable values in the core server
3473 (Bruce Momjian, Álvaro Herrera, Tom Lane)
3477 These changes prevent scenarios in which autovacuum might insist on
3478 scanning the entire cluster's contents immediately upon starting the
3479 new cluster, or in which tracking of unfrozen MXID values might be
3480 disabled completely.
3485 Author: Tom Lane <tgl@sss.pgh.pa.us>
3486 Branch: master Release: REL9_4_BR [e416830a2] 2014-05-20 12:20:47 -0400
3487 Branch: REL9_3_STABLE [0266a9c78] 2014-05-20 12:20:52 -0400
3488 Branch: REL9_2_STABLE [31f579f09] 2014-05-20 12:20:57 -0400
3493 Prevent <filename>contrib/auto_explain</> from changing the output of
3494 a user's <command>EXPLAIN</> (Tom Lane)
3498 If <filename>auto_explain</> is active, it could cause
3499 an <literal>EXPLAIN (ANALYZE, TIMING OFF)</> command to nonetheless
3500 print timing information.
3505 Author: Joe Conway <mail@joeconway.com>
3506 Branch: master [1dde5782e] 2014-06-20 12:24:59 -0700
3507 Branch: REL9_4_STABLE [9d884a34c] 2014-06-20 12:26:26 -0700
3508 Branch: REL9_3_STABLE [b3a3f3d2f] 2014-06-20 12:26:43 -0700
3509 Branch: REL9_2_STABLE [3e2cfa42f] 2014-06-20 12:27:04 -0700
3514 Fix query-lifespan memory leak in <filename>contrib/dblink</>
3515 (MauMau, Joe Conway)
3520 Author: Bruce Momjian <bruce@momjian.us>
3521 Branch: master Release: REL9_4_BR [9fe55259f] 2014-04-17 12:37:53 -0400
3522 Branch: REL9_3_STABLE [fc72e94a1] 2014-04-17 12:37:53 -0400
3523 Branch: REL9_2_STABLE [ea8725a8b] 2014-04-17 12:37:53 -0400
3524 Branch: REL9_1_STABLE [fc02b87e2] 2014-04-17 12:37:53 -0400
3525 Branch: REL9_0_STABLE [a1b9c4630] 2014-04-17 12:37:53 -0400
3526 Branch: REL8_4_STABLE [df2e62603] 2014-04-17 12:37:53 -0400
3531 In <filename>contrib/pgcrypto</> functions, ensure sensitive
3532 information is cleared from stack variables before returning
3538 Author: Noah Misch <noah@leadboat.com>
3539 Branch: master [9d0826c59] 2014-06-30 16:59:19 -0400
3540 Branch: REL9_4_STABLE [37a4d3d70] 2014-06-30 16:59:44 -0400
3541 Branch: REL9_3_STABLE [f14e40852] 2014-06-30 17:00:22 -0400
3542 Branch: REL9_2_STABLE [f6d6b7b1e] 2014-06-30 17:00:40 -0400
3547 Prevent use of already-freed memory in
3548 <filename>contrib/pgstattuple</>'s <function>pgstat_heap()</>
3554 Author: Tom Lane <tgl@sss.pgh.pa.us>
3555 Branch: master Release: REL9_4_BR [c941aed96] 2014-05-29 13:51:02 -0400
3556 Branch: REL9_3_STABLE [961dd203a] 2014-05-29 13:51:05 -0400
3557 Branch: REL9_2_STABLE [2fb9fb661] 2014-05-29 13:51:09 -0400
3558 Branch: REL9_1_STABLE [3606754da] 2014-05-29 13:51:12 -0400
3559 Branch: REL9_0_STABLE [b2f6754d2] 2014-05-29 13:51:15 -0400
3560 Branch: REL8_4_STABLE [fd785441f] 2014-05-29 13:51:18 -0400
3565 In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID
3566 library across calls (Tom Lane)
3570 This improves the efficiency of UUID generation and reduces the amount
3571 of entropy drawn from <filename>/dev/urandom</>, on platforms that
3577 Author: Tom Lane <tgl@sss.pgh.pa.us>
3578 Branch: master [b1864fabf] 2014-07-19 15:00:50 -0400
3579 Branch: REL9_4_STABLE [e5ea60e80] 2014-07-19 15:01:05 -0400
3580 Branch: REL9_3_STABLE [bd5458f52] 2014-07-19 15:01:12 -0400
3581 Branch: REL9_2_STABLE [7d09e4854] 2014-07-19 15:01:18 -0400
3582 Branch: REL9_1_STABLE [40ccb6530] 2014-07-19 15:01:28 -0400
3583 Branch: REL9_0_STABLE [7659b6913] 2014-07-19 15:01:38 -0400
3584 Branch: REL8_4_STABLE [c51da696b] 2014-07-19 15:01:45 -0400
3589 Update time zone data files to <application>tzdata</> release 2014e
3590 for DST law changes in Crimea, Egypt, and Morocco.
3599 <sect1 id="release-9-3-4">
3600 <title>Release 9.3.4</title>
3603 <title>Release Date</title>
3604 <simpara>2014-03-20</simpara>
3608 This release contains a variety of fixes from 9.3.3.
3609 For information about new features in the 9.3 major release, see
3610 <xref linkend="release-9-3">.
3614 <title>Migration to Version 9.3.4</title>
3617 A dump/restore is not required for those running 9.3.X.
3621 However, the error fixed in the first changelog entry below could have
3622 resulted in corrupt data on standby servers. It may be prudent to
3623 reinitialize standby servers from fresh base backups after installing
3628 Also, if you are upgrading from a version earlier than 9.3.3,
3629 see <xref linkend="release-9-3-3">.
3635 <title>Changes</title>
3640 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3641 Branch: master [6bfa88acd] 2014-02-27 11:13:39 -0300
3642 Branch: REL9_3_STABLE [9a57858f1] 2014-02-27 11:23:24 -0300
3647 Fix WAL replay of locking an already-updated tuple (Andres Freund,
3648 Álvaro Herrera)
3652 This error caused updated rows to not be found by index scans, resulting
3653 in inconsistent query results depending on whether an index scan was
3654 used. Subsequent processing could result in constraint violations,
3655 since the previously updated row would not be found by later index
3656 searches, thus possibly allowing conflicting rows to be inserted.
3657 Since this error is in WAL replay, it would only manifest during crash
3658 recovery or on standby servers. The improperly-replayed case most
3659 commonly arises when a table row that is referenced by a foreign-key
3660 constraint is updated concurrently with creation of a referencing row.
3665 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3666 Branch: master [fecfc2b91] 2014-03-12 10:04:57 +0200
3667 Branch: REL9_3_STABLE [4738cc356] 2014-03-12 10:05:46 +0200
3668 Branch: REL9_2_STABLE [91f932cf4] 2014-03-12 10:07:22 +0200
3669 Branch: REL9_1_STABLE [63e59c259] 2014-03-12 10:09:22 +0200
3670 Branch: REL9_0_STABLE [9954e1f03] 2014-03-12 10:09:43 +0200
3671 Branch: REL8_4_STABLE [e2bccdfcc] 2014-03-12 10:10:04 +0200
3676 Restore GIN metapages unconditionally to avoid torn-page risk
3677 (Heikki Linnakangas)
3681 Although this oversight could theoretically result in a corrupted
3682 index, it is unlikely to have caused any problems in practice, since
3683 the active part of a GIN metapage is smaller than a standard 512-byte
3689 Author: Tom Lane <tgl@sss.pgh.pa.us>
3690 Branch: master [7bae0284e] 2014-03-13 12:02:54 -0400
3691 Branch: REL9_3_STABLE [0d11fed8e] 2014-03-13 12:02:56 -0400
3692 Branch: REL9_2_STABLE [bbe9621a9] 2014-03-13 12:03:00 -0400
3693 Branch: REL9_1_STABLE [7bfdf10f5] 2014-03-13 12:03:03 -0400
3694 Branch: REL9_0_STABLE [7aea1050e] 2014-03-13 12:03:07 -0400
3699 Avoid race condition in checking transaction commit status during
3700 receipt of a <command>NOTIFY</> message (Marko Tiikkaja)
3704 This prevents a scenario wherein a sufficiently fast client might
3705 respond to a notification before database updates made by the
3706 notifier have become visible to the recipient.
3711 Author: Tom Lane <tgl@sss.pgh.pa.us>
3712 Branch: master [bf4052faa] 2014-03-06 11:37:02 -0500
3713 Branch: REL9_3_STABLE [3973034e6] 2014-03-06 11:37:04 -0500
3718 Allow materialized views to be referenced in <command>UPDATE</>
3719 and <command>DELETE</> commands (Michael Paquier)
3723 Previously such queries failed with a complaint about not being able
3724 to lock rows in the materialized view.
3729 Author: Tom Lane <tgl@sss.pgh.pa.us>
3730 Branch: master [9662143f0] 2014-03-01 15:20:56 -0500
3731 Branch: REL9_3_STABLE [f5f21315d] 2014-03-01 15:21:00 -0500
3732 Branch: REL9_2_STABLE [03e6423fc] 2014-03-01 15:21:04 -0500
3733 Branch: REL9_1_STABLE [a9eb4924a] 2014-03-01 15:21:07 -0500
3734 Branch: REL9_0_STABLE [43af0e8c6] 2014-03-01 15:21:11 -0500
3735 Branch: REL8_4_STABLE [b6e143458] 2014-03-01 15:21:13 -0500
3740 Allow regular-expression operators to be terminated early by query
3741 cancel requests (Tom Lane)
3745 This prevents scenarios wherein a pathological regular expression
3746 could lock up a server process uninterruptably for a long time.
3751 Author: Tom Lane <tgl@sss.pgh.pa.us>
3752 Branch: master [a222f7fda] 2014-02-18 12:44:20 -0500
3753 Branch: REL9_3_STABLE [0aaa42241] 2014-02-18 12:44:24 -0500
3754 Branch: REL9_2_STABLE [d7cd6a9d5] 2014-02-18 12:44:27 -0500
3755 Branch: REL9_1_STABLE [e6f7fe983] 2014-02-18 12:44:30 -0500
3756 Branch: REL9_0_STABLE [19d66ab05] 2014-02-18 12:44:33 -0500
3757 Branch: REL8_4_STABLE [dd378dd1e] 2014-02-18 12:44:36 -0500
3762 Remove incorrect code that tried to allow <literal>OVERLAPS</> with
3763 single-element row arguments (Joshua Yanovski)
3767 This code never worked correctly, and since the case is neither
3768 specified by the SQL standard nor documented, it seemed better to
3769 remove it than fix it.
3774 Author: Tom Lane <tgl@sss.pgh.pa.us>
3775 Branch: master [7c3187494] 2014-03-06 19:31:05 -0500
3776 Branch: REL9_3_STABLE [f557826f8] 2014-03-06 19:31:09 -0500
3777 Branch: REL9_2_STABLE [5ec41e345] 2014-03-06 19:31:12 -0500
3778 Branch: REL9_1_STABLE [f3e3f6c5b] 2014-03-06 19:31:16 -0500
3779 Branch: REL9_0_STABLE [bed1259e5] 2014-03-06 19:31:19 -0500
3780 Branch: REL8_4_STABLE [f043bddfe] 2014-03-06 19:31:22 -0500
3785 Avoid getting more than <literal>AccessShareLock</> when de-parsing a
3786 rule or view (Dean Rasheed)
3790 This oversight resulted in <application>pg_dump</> unexpectedly
3791 acquiring <literal>RowExclusiveLock</> locks on tables mentioned as
3792 the targets of <literal>INSERT</>/<literal>UPDATE</>/<literal>DELETE</>
3793 commands in rules. While usually harmless, that could interfere with
3794 concurrent transactions that tried to acquire, for example,
3795 <literal>ShareLock</> on those tables.
3800 Author: Tom Lane <tgl@sss.pgh.pa.us>
3801 Branch: master [fccebe421] 2014-02-25 16:04:06 -0500
3802 Branch: REL9_3_STABLE [4162a55c7] 2014-02-25 16:04:09 -0500
3803 Branch: REL9_2_STABLE [00283cae1] 2014-02-25 16:04:12 -0500
3804 Branch: REL9_1_STABLE [3e2db4c80] 2014-02-25 16:04:16 -0500
3805 Branch: REL9_0_STABLE [1e0fb6a2c] 2014-02-25 16:04:20 -0500
3810 Improve performance of index endpoint probes during planning (Tom Lane)
3814 This change fixes a significant performance problem that occurred
3815 when there were many not-yet-committed rows at the end of the index,
3816 which is a common situation for indexes on sequentially-assigned
3817 values such as timestamps or sequence-generated identifiers.
3822 Author: Tom Lane <tgl@sss.pgh.pa.us>
3823 Branch: master [77585bce0] 2014-02-21 17:10:46 -0500
3824 Branch: REL9_3_STABLE [e8655a77f] 2014-02-21 17:10:49 -0500
3829 Use non-default selectivity estimates for
3830 <literal><replaceable>value</> IN (<replaceable>list</>)</literal> and
3831 <literal><replaceable>value</> <replaceable>operator</> ANY
3832 (<replaceable>array</>)</literal>
3833 expressions when the righthand side is a stable expression (Tom Lane)
3838 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3839 Branch: master [2b4f2ab33] 2014-03-05 13:03:29 -0300
3840 Branch: REL9_3_STABLE [13ea43ab8] 2014-03-05 13:03:29 -0300
3845 Remove the correct per-database statistics file during <command>DROP
3846 DATABASE</> (Tomas Vondra)
3850 This fix prevents a permanent leak of statistics file space.
3851 Users who have done many <command>DROP DATABASE</> commands since
3852 upgrading to <productname>PostgreSQL</> 9.3 may wish to check their
3853 statistics directory and delete statistics files that do not
3854 correspond to any existing database. Please note
3855 that <filename>db_0.stat</> should not be removed.
3860 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3861 Branch: master [94ae6ba74] 2014-03-06 21:38:51 +0200
3862 Branch: REL9_3_STABLE [dcd1131c8] 2014-03-06 21:40:50 +0200
3867 Fix <application>walsender</> ping logic to avoid inappropriate
3868 disconnects under continuous load (Andres Freund, Heikki Linnakangas)
3872 <application>walsender</> failed to send ping messages to the client
3873 if it was constantly busy sending WAL data; but it expected to see
3874 ping responses despite that, and would therefore disconnect
3875 once <xref linkend="guc-wal-sender-timeout"> elapsed.
3880 Author: Fujii Masao <fujii@postgresql.org>
3881 Branch: master [5c6d9fc4b] 2014-03-17 20:37:50 +0900
3882 Branch: REL9_3_STABLE [385723405] 2014-03-17 20:41:12 +0900
3883 Branch: REL9_2_STABLE [7899aa356] 2014-03-17 20:41:52 +0900
3884 Branch: REL9_1_STABLE [65e8dbb18] 2014-03-17 20:42:35 +0900
3889 Fix <application>walsender</>'s failure to shut down cleanly when client
3890 is <application>pg_receivexlog</> (Fujii Masao)
3895 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3896 Branch: master [956685f82] 2014-03-05 14:48:14 +0200
3897 Branch: REL9_3_STABLE [a5363a696] 2014-03-05 14:46:56 +0200
3898 Branch: REL9_2_STABLE [e7ec05562] 2014-03-05 14:45:55 +0200
3903 Check WAL level and hot standby parameters correctly when doing crash
3904 recovery that will be followed by archive recovery (Heikki Linnakangas)
3909 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3910 Branch: master [af246c37c] 2014-03-05 13:51:19 +0200
3911 Branch: REL9_3_STABLE [2cd72ba42] 2014-03-05 13:52:21 +0200
3912 Branch: REL9_2_STABLE [931dc26b0] 2014-03-05 13:57:32 +0200
3913 Branch: REL9_1_STABLE [7552d3d1a] 2014-03-05 13:58:14 +0200
3914 Branch: REL9_0_STABLE [4521cc850] 2014-03-05 13:58:22 +0200
3919 Fix test to see if hot standby connections can be allowed immediately
3920 after a crash (Heikki Linnakangas)
3925 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3926 Branch: REL9_3_STABLE [5a7e75849] 2014-02-20 10:46:54 +0200
3931 Add read-only <xref linkend="guc-data-checksums"> parameter to
3932 display whether page checksums are enabled (Heikki Linnakangas)
3936 Without this parameter, determining the state of checksum
3937 processing was difficult.
3942 Author: Tom Lane <tgl@sss.pgh.pa.us>
3943 Branch: master [6c461cb92] 2014-03-13 20:59:42 -0400
3944 Branch: REL9_3_STABLE [41bd2cf55] 2014-03-13 20:59:45 -0400
3945 Branch: REL9_2_STABLE [7a289bb6d] 2014-03-13 20:59:48 -0400
3946 Branch: REL9_1_STABLE [f16ca9755] 2014-03-13 20:59:51 -0400
3947 Branch: REL9_0_STABLE [dad55e1e9] 2014-03-13 20:59:55 -0400
3948 Branch: REL8_4_STABLE [172c53e92] 2014-03-13 20:59:57 -0400
3953 Prevent interrupts while reporting non-<literal>ERROR</> messages
3958 This guards against rare server-process freezeups due to recursive
3959 entry to <function>syslog()</>, and perhaps other related problems.
3964 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3965 Branch: master [bd1154ede] 2014-03-16 23:22:21 -0300
3966 Branch: REL9_3_STABLE [60829079d] 2014-03-16 23:22:22 -0300
3967 Branch: REL9_2_STABLE [ba5946e86] 2014-03-16 23:22:22 -0300
3968 Branch: REL9_1_STABLE [f84997c7e] 2014-03-16 23:22:22 -0300
3973 Fix memory leak in PL/Perl when returning a composite result, including
3974 multiple-OUT-parameter cases (Alex Hunsaker)
3979 Author: Tom Lane <tgl@sss.pgh.pa.us>
3980 Branch: master [e85a5ffba] 2014-03-10 15:47:40 -0400
3981 Branch: REL9_3_STABLE [f64f4c370] 2014-03-10 15:47:09 -0400
3982 Branch: REL9_2_STABLE [b315b767f] 2014-03-10 15:47:13 -0400
3987 Fix tracking of <application>psql</> script line numbers
3988 during <literal>\copy</> from out-of-line data
3989 (Kumar Rajeev Rastogi, Amit Khandekar)
3993 <literal>\copy ... from</> incremented the script file line number
3994 for each data line, even if the data was not coming from the script
3995 file. This mistake resulted in wrong line numbers being reported for
3996 any errors occurring later in the same script file.
4001 Author: Tom Lane <tgl@sss.pgh.pa.us>
4002 Branch: master [83204e100] 2014-03-07 16:36:40 -0500
4003 Branch: REL9_3_STABLE [73f0483fd] 2014-03-07 16:36:50 -0500
4008 Fix <application>contrib/postgres_fdw</> to handle multiple join
4009 conditions properly (Tom Lane)
4013 This oversight could result in sending <literal>WHERE</> clauses to
4014 the remote server for execution even though the clauses are not known
4015 to have the same semantics on the remote server (for example, clauses
4016 that use non-built-in operators). The query might succeed anyway,
4017 but it could also fail with errors from the remote server, or worse
4018 give silently wrong answers.
4023 Author: Magnus Hagander <magnus@hagander.net>
4024 Branch: master [7f3e17b48] 2014-02-18 14:45:58 +0100
4025 Branch: REL9_3_STABLE [b88ecb002] 2014-02-18 14:49:41 +0100
4026 Branch: REL9_2_STABLE [062deb313] 2014-02-18 14:50:19 +0100
4027 Branch: REL9_1_STABLE [fae12f331] 2014-03-16 11:46:20 +0100
4028 Branch: REL9_0_STABLE [665515539] 2014-03-16 11:47:37 +0100
4033 Prevent intermittent <quote>could not reserve shared memory region</>
4034 failures on recent Windows versions (MauMau)
4039 Author: Tom Lane <tgl@sss.pgh.pa.us>
4040 Branch: master [aba7f5677] 2014-03-15 13:36:07 -0400
4041 Branch: REL9_3_STABLE [b5de16997] 2014-03-15 13:36:24 -0400
4042 Branch: REL9_2_STABLE [f2063b379] 2014-03-15 13:36:32 -0400
4043 Branch: REL9_1_STABLE [2df1bf21c] 2014-03-15 13:36:41 -0400
4044 Branch: REL9_0_STABLE [0033f5324] 2014-03-15 13:36:49 -0400
4045 Branch: REL8_4_STABLE [6e6c2c2e1] 2014-03-15 13:36:57 -0400
4050 Update time zone data files to <application>tzdata</> release 2014a
4051 for DST law changes in Fiji and Turkey, plus historical changes in
4061 <sect1 id="release-9-3-3">
4062 <title>Release 9.3.3</title>
4065 <title>Release Date</title>
4066 <simpara>2014-02-20</simpara>
4070 This release contains a variety of fixes from 9.3.2.
4071 For information about new features in the 9.3 major release, see
4072 <xref linkend="release-9-3">.
4076 <title>Migration to Version 9.3.3</title>
4079 A dump/restore is not required for those running 9.3.X.
4083 However, several of the issues corrected in this release could have
4084 resulted in corruption of foreign-key constraints; that is, there
4085 might now be referencing rows for which there is no matching row in
4086 the referenced table. It may be worthwhile to recheck such
4087 constraints after installing this update. The simplest way to do that
4088 is to drop and recreate each suspect constraint; however, that will
4089 require taking an exclusive lock on both tables, so it is unlikely to
4090 be acceptable in production databases. Alternatively, you can do a
4091 manual join query between the two tables to look for unmatched rows.
4095 Note also the requirement for replication standby servers to be
4096 upgraded before their master server is upgraded.
4100 Also, if you are upgrading from a version earlier than 9.3.2,
4101 see <xref linkend="release-9-3-2">.
4107 <title>Changes</title>
4112 Author: Noah Misch <noah@leadboat.com>
4113 Branch: master [fea164a72] 2014-02-17 09:33:31 -0500
4114 Branch: REL9_3_STABLE [475a1fbc4] 2014-02-17 09:33:32 -0500
4115 Branch: REL9_2_STABLE [15a8f97b9] 2014-02-17 09:33:33 -0500
4116 Branch: REL9_1_STABLE [5d320a16c] 2014-02-17 09:33:33 -0500
4117 Branch: REL9_0_STABLE [789063697] 2014-02-17 09:33:37 -0500
4118 Branch: REL8_4_STABLE [ff35425c8] 2014-02-17 09:33:38 -0500
4123 Shore up <literal>GRANT ... WITH ADMIN OPTION</> restrictions
4128 Granting a role without <literal>ADMIN OPTION</> is supposed to
4129 prevent the grantee from adding or removing members from the granted
4130 role, but this restriction was easily bypassed by doing <literal>SET
4131 ROLE</> first. The security impact is mostly that a role member can
4132 revoke the access of others, contrary to the wishes of his grantor.
4133 Unapproved role member additions are a lesser concern, since an
4134 uncooperative role member could provide most of his rights to others
4135 anyway by creating views or <literal>SECURITY DEFINER</> functions.
4141 Author: Noah Misch <noah@leadboat.com>
4142 Branch: master [537cbd35c] 2014-02-17 09:33:31 -0500
4143 Branch: REL9_3_STABLE [fc4a04a3c] 2014-02-17 09:33:32 -0500
4144 Branch: REL9_2_STABLE [1d701d28a] 2014-02-17 09:33:33 -0500
4145 Branch: REL9_1_STABLE [23b5a85e6] 2014-02-17 09:33:36 -0500
4146 Branch: REL9_0_STABLE [c0ac4c75f] 2014-02-17 09:33:37 -0500
4147 Branch: REL8_4_STABLE [823b9dc25] 2014-02-17 09:33:38 -0500
4152 Prevent privilege escalation via manual calls to PL validator
4153 functions (Andres Freund)
4157 The primary role of PL validator functions is to be called implicitly
4158 during <command>CREATE FUNCTION</>, but they are also normal SQL
4159 functions that a user can call explicitly. Calling a validator on
4160 a function actually written in some other language was not checked
4161 for and could be exploited for privilege-escalation purposes.
4162 The fix involves adding a call to a privilege-checking function in
4163 each validator function. Non-core procedural languages will also
4164 need to make this change to their own validator functions, if any.
4170 Author: Robert Haas <rhaas@postgresql.org>
4171 Branch: master [5f173040e] 2014-02-17 09:33:31 -0500
4172 Branch: REL9_3_STABLE [e1e0a4d79] 2014-02-17 09:33:32 -0500
4173 Branch: REL9_2_STABLE [820ab11fb] 2014-02-17 09:33:33 -0500
4174 Branch: REL9_1_STABLE [b5c574399] 2014-02-17 09:33:36 -0500
4175 Branch: REL9_0_STABLE [43d4e965e] 2014-02-17 09:33:37 -0500
4176 Branch: REL8_4_STABLE [e46476133] 2014-02-17 09:33:38 -0500
4181 Avoid multiple name lookups during table and index DDL
4182 (Robert Haas, Andres Freund)
4186 If the name lookups come to different conclusions due to concurrent
4187 activity, we might perform some parts of the DDL on a different table
4188 than other parts. At least in the case of <command>CREATE INDEX</>,
4189 this can be used to cause the permissions checks to be performed
4190 against a different table than the index creation, allowing for a
4191 privilege escalation attack.
4197 Author: Noah Misch <noah@leadboat.com>
4198 Branch: master [4318daecc] 2014-02-17 09:33:31 -0500
4199 Branch: REL9_3_STABLE [e4a4fa223] 2014-02-17 09:33:32 -0500
4200 Branch: REL9_2_STABLE [f416622be] 2014-02-17 09:33:33 -0500
4201 Branch: REL9_1_STABLE [6a10e57b0] 2014-02-17 09:33:37 -0500
4202 Branch: REL9_0_STABLE [b9c3bb1b3] 2014-02-17 09:33:38 -0500
4203 Branch: REL8_4_STABLE [d0ed1a6c0] 2014-02-17 09:33:39 -0500
4208 Prevent buffer overrun with long datetime strings (Noah Misch)
4212 The <literal>MAXDATELEN</> constant was too small for the longest
4213 possible value of type <type>interval</>, allowing a buffer overrun
4214 in <function>interval_out()</>. Although the datetime input
4215 functions were more careful about avoiding buffer overrun, the limit
4216 was short enough to cause them to reject some valid inputs, such as
4217 input containing a very long timezone name. The <application>ecpg</>
4218 library contained these vulnerabilities along with some of its own.
4224 Author: Noah Misch <noah@leadboat.com>
4225 Branch: master [31400a673] 2014-02-17 09:33:31 -0500
4226 Branch: REL9_3_STABLE [7a362a176] 2014-02-17 09:33:32 -0500
4227 Branch: REL9_2_STABLE [12bbce15d] 2014-02-17 09:33:33 -0500
4228 Branch: REL9_1_STABLE [0b7026d96] 2014-02-17 09:33:37 -0500
4229 Branch: REL9_0_STABLE [2c3203e18] 2014-02-17 09:33:38 -0500
4230 Branch: REL8_4_STABLE [98be8a6ea] 2014-02-17 09:33:39 -0500
4235 Prevent buffer overrun due to integer overflow in size calculations
4236 (Noah Misch, Heikki Linnakangas)
4240 Several functions, mostly type input functions, calculated an
4241 allocation size without checking for overflow. If overflow did
4242 occur, a too-small buffer would be allocated and then written past.
4248 Author: Tom Lane <tgl@sss.pgh.pa.us>
4249 Branch: master [01824385a] 2014-02-17 11:20:21 -0500
4250 Branch: REL9_3_STABLE [e3208fec3] 2014-02-17 11:20:24 -0500
4251 Branch: REL9_2_STABLE [655b665f7] 2014-02-17 11:20:27 -0500
4252 Branch: REL9_1_STABLE [4741e3160] 2014-02-17 11:20:31 -0500
4253 Branch: REL9_0_STABLE [45bf2404a] 2014-02-17 11:20:35 -0500
4254 Branch: REL8_4_STABLE [69d2bc14a] 2014-02-17 11:20:38 -0500
4259 Prevent overruns of fixed-size buffers
4260 (Peter Eisentraut, Jozef Mlich)
4264 Use <function>strlcpy()</> and related functions to provide a clear
4265 guarantee that fixed-size buffers are not overrun. Unlike the
4266 preceding items, it is unclear whether these cases really represent
4267 live issues, since in most cases there appear to be previous
4268 constraints on the size of the input string. Nonetheless it seems
4269 prudent to silence all Coverity warnings of this type.
4275 Author: Tom Lane <tgl@sss.pgh.pa.us>
4276 Branch: master [01824385a] 2014-02-17 11:20:21 -0500
4277 Branch: REL9_3_STABLE [e3208fec3] 2014-02-17 11:20:24 -0500
4278 Branch: REL9_2_STABLE [655b665f7] 2014-02-17 11:20:27 -0500
4279 Branch: REL9_1_STABLE [4741e3160] 2014-02-17 11:20:31 -0500
4280 Branch: REL9_0_STABLE [45bf2404a] 2014-02-17 11:20:35 -0500
4281 Branch: REL8_4_STABLE [69d2bc14a] 2014-02-17 11:20:38 -0500
4286 Avoid crashing if <function>crypt()</> returns NULL (Honza Horak,
4291 There are relatively few scenarios in which <function>crypt()</>
4292 could return NULL, but <filename>contrib/chkpass</> would crash
4293 if it did. One practical case in which this could be an issue is
4294 if <application>libc</> is configured to refuse to execute unapproved
4295 hashing algorithms (e.g., <quote>FIPS mode</>).
4301 Author: Tom Lane <tgl@sss.pgh.pa.us>
4302 Branch: master [6ef325429] 2014-02-17 11:24:32 -0500
4303 Branch: REL9_3_STABLE [1ec5988f3] 2014-02-17 11:24:38 -0500
4304 Branch: REL9_2_STABLE [ff3d533e5] 2014-02-17 11:24:42 -0500
4305 Branch: REL9_1_STABLE [800a3744b] 2014-02-17 11:24:45 -0500
4306 Branch: REL9_0_STABLE [369c229d2] 2014-02-17 11:24:48 -0500
4307 Branch: REL8_4_STABLE [f58663ab1] 2014-02-17 11:24:51 -0500
4312 Document risks of <literal>make check</> in the regression testing
4313 instructions (Noah Misch, Tom Lane)
4317 Since the temporary server started by <literal>make check</>
4318 uses <quote>trust</> authentication, another user on the same machine
4319 could connect to it as database superuser, and then potentially
4320 exploit the privileges of the operating-system user who started the
4321 tests. A future release will probably incorporate changes in the
4322 testing procedure to prevent this risk, but some public discussion is
4323 needed first. So for the moment, just warn people against using
4324 <literal>make check</> when there are untrusted users on the
4331 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4332 Branch: master [3b97e6823] 2013-12-16 11:29:50 -0300
4333 Branch: REL9_3_STABLE [8e9a16ab8] 2013-12-16 11:29:51 -0300
4338 Rework tuple freezing protocol
4339 (Álvaro Herrera, Andres Freund)
4343 The logic for tuple freezing was unable to handle some cases involving
4345 <link linkend="vacuum-for-multixact-wraparound"><firstterm>multixact</>
4346 IDs</link>, with the practical effect that shared row-level locks
4347 might be forgotten once old enough.
4351 Fixing this required changing the WAL record format for tuple
4352 freezing. While this is no issue for standalone servers, when using
4353 replication it means that <emphasis>standby servers must be upgraded
4354 to 9.3.3 or later before their masters are</>. An older standby will
4355 be unable to interpret freeze records generated by a newer master, and
4356 will fail with a PANIC message. (In such a case, upgrading the
4357 standby should be sufficient to let it resume execution.)
4362 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4363 Branch: master [801c2dc72] 2014-02-13 19:36:31 -0300
4364 Branch: REL9_3_STABLE [fb47de2be] 2014-02-13 19:30:30 -0300
4369 Create separate GUC parameters to control multixact freezing
4370 (Álvaro Herrera)
4374 9.3 requires multixact tuple labels to be frozen before
4375 they grow too old, in the same fashion as plain transaction ID labels
4376 have been frozen for some time. Previously, the transaction ID
4377 freezing parameters were used for multixact IDs too; but since
4378 the consumption rates of transaction IDs and multixact IDs can be
4379 quite different, this did not work very well. Introduce new settings
4380 <xref linkend="guc-vacuum-multixact-freeze-min-age">,
4381 <xref linkend="guc-vacuum-multixact-freeze-table-age">, and
4382 <xref linkend="guc-autovacuum-multixact-freeze-max-age">
4383 to control when to freeze multixacts.
4388 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4389 Branch: master [11ac4c73c] 2013-12-18 13:45:51 -0300
4390 Branch: REL9_3_STABLE [db1014bc4] 2013-12-18 13:31:27 -0300
4395 Account for remote row locks propagated by local updates
4396 (Álvaro Herrera)
4400 If a row was locked by transaction A, and transaction B updated it,
4401 the new version of the row created by B would be locked by A, yet
4402 visible only to B. If transaction B then again updated the row, A's
4403 lock wouldn't get checked, thus possibly allowing B to complete when
4404 it shouldn't. This case is new in 9.3 since prior versions did not
4405 have any types of row locking that would permit another transaction
4406 to update the row at all.
4410 This oversight could allow referential integrity checks to give false
4411 positives (for instance, allow deletes that should have been rejected).
4412 Applications using the new commands <literal>SELECT FOR KEY SHARE</>
4413 and <literal>SELECT FOR NO KEY UPDATE</> might also have suffered
4414 locking failures of this kind.
4419 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4420 Branch: master [07aeb1fec] 2013-12-05 12:21:55 -0300
4421 Branch: REL9_3_STABLE [c6cd27e36] 2013-12-05 12:21:55 -0300
4426 Prevent <quote>forgetting</> valid row locks when one of several
4427 holders of a row lock aborts (Álvaro Herrera)
4431 This was yet another mechanism by which a shared row lock could be
4432 lost, thus possibly allowing updates that should have been prevented
4433 by foreign-key constraints.
4438 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4439 Branch: master [312bde3d4] 2013-12-05 17:47:51 -0300
4440 Branch: REL9_3_STABLE [2dcc48c35] 2013-12-05 17:47:51 -0300
4445 Fix incorrect logic during update chain locking
4446 (Álvaro Herrera)
4450 This mistake could result in spurious <quote>could not serialize access
4451 due to concurrent update</> errors in <literal>REPEATABLE READ</>
4452 and <literal>SERIALIZABLE</> transaction isolation modes.
4457 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4458 Branch: master [a50d97625] 2014-01-02 18:17:07 -0300
4459 Branch: REL9_3_STABLE [03db79459] 2014-01-02 18:17:07 -0300
4464 Handle wraparound correctly during extension or truncation
4465 of <filename>pg_multixact/members</>
4466 (Andres Freund, Álvaro Herrera)
4471 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4472 Branch: master [638cf09e7] 2014-01-02 18:17:29 -0300
4473 Branch: REL9_3_STABLE [948a3dfbb] 2014-01-02 18:17:29 -0300
4478 Fix handling of 5-digit filenames in <filename>pg_multixact/members</>
4479 (Álvaro Herrera)
4483 As of 9.3, these names can be more than 4 digits, but the directory
4484 cleanup code ignored such files.
4489 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4490 Branch: master [d881dd623] 2013-12-13 17:16:25 -0300
4491 Branch: REL9_3_STABLE [0bc00363b] 2013-12-13 17:16:25 -0300
4496 Improve performance of multixact cache code
4497 (Álvaro Herrera)
4502 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4503 Branch: master [13aa62443] 2013-12-19 16:53:49 -0300
4504 Branch: REL9_3_STABLE [85d3b3c3a] 2013-12-19 16:39:59 -0300
4509 Optimize updating a row that's already locked by the same transaction
4510 (Andres Freund, Álvaro Herrera)
4514 This fixes a performance regression from pre-9.3 versions when doing
4515 <literal>SELECT FOR UPDATE</> followed by <literal>UPDATE/DELETE</>.
4520 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4521 Branch: master [4d894b41c] 2014-02-14 15:15:09 +0200
4522 Branch: REL9_3_STABLE [762bd379a] 2014-02-14 15:18:34 +0200
4527 During archive recovery, prefer highest timeline number when WAL
4528 segments with the same ID are present in both the archive
4529 and <filename>pg_xlog/</> (Kyotaro Horiguchi)
4533 Previously, not-yet-archived segments could get ignored during
4534 recovery. This reverts an undesirable behavioral change in 9.3.0
4535 back to the way things worked pre-9.3.
4540 Author: Tom Lane <tgl@sss.pgh.pa.us>
4541 Branch: master [6f2aead1f] 2014-02-12 14:52:16 -0500
4542 Branch: REL9_3_STABLE [7190f7a34] 2014-02-12 14:52:20 -0500
4543 Branch: REL9_2_STABLE [bc7ab301a] 2014-02-12 14:52:23 -0500
4544 Branch: REL9_1_STABLE [a69cc9b2c] 2014-02-12 14:52:26 -0500
4545 Branch: REL9_0_STABLE [7fedd79b7] 2014-02-12 14:52:29 -0500
4546 Branch: REL8_4_STABLE [9620fede9] 2014-02-12 14:52:32 -0500
4551 Fix possible mis-replay of WAL records when some segments of a
4552 relation aren't full size (Greg Stark, Tom Lane)
4556 The WAL update could be applied to the wrong page, potentially many
4557 pages past where it should have been. Aside from corrupting data,
4558 this error has been observed to result in significant <quote>bloat</>
4559 of standby servers compared to their masters, due to updates being
4560 applied far beyond where the end-of-file should have been. This
4561 failure mode does not appear to be a significant risk during crash
4562 recovery, only when initially synchronizing a standby created from a
4563 base backup taken from a quickly-changing master.
4568 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4569 Branch: master [d59ff6c11] 2014-01-08 15:03:09 +0200
4570 Branch: REL9_3_STABLE [425bef6ee] 2014-01-08 14:32:22 +0200
4571 Branch: REL9_2_STABLE [82c75f9dd] 2014-01-08 14:28:55 +0200
4572 Branch: REL9_1_STABLE [e56430c62] 2014-01-08 14:33:58 +0200
4573 Branch: REL9_0_STABLE [5301c8395] 2014-01-08 14:34:21 +0200
4578 Fix bug in determining when recovery has reached consistency
4579 (Tomonari Katsumata, Heikki Linnakangas)
4583 In some cases WAL replay would mistakenly conclude that the database
4584 was already consistent at the start of replay, thus possibly allowing
4585 hot-standby queries before the database was really consistent. Other
4586 symptoms such as <quote>PANIC: WAL contains references to invalid
4587 pages</> were also possible.
4592 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4593 Branch: master [a49633d8d] 2013-12-13 14:15:04 +0200
4594 Branch: REL9_3_STABLE [615299cf6] 2013-12-13 14:23:02 +0200
4599 Fix WAL logging of visibility map changes (Heikki Linnakangas)
4604 Author: Tom Lane <tgl@sss.pgh.pa.us>
4605 Branch: master [061b079f8] 2014-01-14 17:35:21 -0500
4606 Branch: REL9_3_STABLE [ebde6c401] 2014-01-14 17:34:51 -0500
4607 Branch: REL9_2_STABLE [ad2e041a3] 2014-01-14 17:34:54 -0500
4608 Branch: REL9_1_STABLE [ab4bb5c47] 2014-01-14 17:34:57 -0500
4609 Branch: REL9_0_STABLE [5d742b9ce] 2014-01-14 17:35:00 -0500
4614 Fix improper locking of btree index pages while replaying
4615 a <literal>VACUUM</> operation in hot-standby mode (Andres Freund,
4616 Heikki Linnakangas, Tom Lane)
4620 This error could result in <quote>PANIC: WAL contains references to
4621 invalid pages</> failures.
4626 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4627 Branch: master [22122c83f] 2013-12-03 23:16:01 +0200
4628 Branch: REL9_3_STABLE [8fd04cb32] 2013-12-03 22:13:16 +0200
4629 Branch: REL9_2_STABLE [06df57ac6] 2013-12-03 22:34:31 +0200
4630 Branch: REL9_1_STABLE [e6acb956a] 2013-12-03 22:34:43 +0200
4631 Branch: REL9_0_STABLE [760606dc5] 2013-12-03 23:01:31 +0200
4632 Branch: REL8_4_STABLE [67fc33d3a] 2013-12-03 22:53:26 +0200
4637 Ensure that insertions into non-leaf GIN index pages write a full-page
4638 WAL record when appropriate (Heikki Linnakangas)
4642 The previous coding risked index corruption in the event of a
4643 partial-page write during a system crash.
4648 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4649 Branch: master [3739e5ab9] 2014-01-08 23:28:52 +0200
4650 Branch: REL9_3_STABLE [3aefff422] 2014-01-08 23:30:46 +0200
4651 Branch: REL9_2_STABLE [3bd8987ef] 2014-01-08 23:30:55 +0200
4652 Branch: REL9_1_STABLE [0402f2441] 2014-01-08 23:31:01 +0200
4657 When <literal>pause_at_recovery_target</>
4658 and <literal>recovery_target_inclusive</> are both set, ensure the
4659 target record is applied before pausing, not after (Heikki
4665 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4666 Branch: master [a472ae1e4] 2014-01-16 23:15:41 +0200
4667 Branch: REL9_3_STABLE [e34acac62] 2014-01-16 23:14:57 +0200
4672 Ensure walreceiver sends hot-standby feedback messages on time even
4673 when there is a continuous stream of data (Andres Freund, Amit
4679 Author: Tom Lane <tgl@sss.pgh.pa.us>
4680 Branch: master [e8312b4f0] 2013-12-13 11:50:15 -0500
4681 Branch: REL9_3_STABLE [478af9b79] 2013-12-13 11:50:25 -0500
4686 Prevent timeout interrupts from taking control away from mainline
4687 code unless <varname>ImmediateInterruptOK</> is set
4688 (Andres Freund, Tom Lane)
4692 This is a serious issue for any application making use of statement
4693 timeouts, as it could cause all manner of strange failures after a
4694 timeout occurred. We have seen reports of <quote>stuck</> spinlocks,
4695 ERRORs being unexpectedly promoted to PANICs, unkillable backends,
4696 and other misbehaviors.
4701 Author: Robert Haas <rhaas@postgresql.org>
4702 Branch: master [d1981719a] 2014-01-31 21:31:08 -0500
4703 Branch: REL9_3_STABLE [5d807a74b] 2014-01-31 21:34:44 -0500
4704 Branch: REL9_2_STABLE [ebe334463] 2014-01-31 21:35:32 -0500
4705 Branch: REL9_1_STABLE [8e6bfc9eb] 2014-01-31 21:36:23 -0500
4706 Branch: REL9_0_STABLE [798243a81] 2014-01-31 21:40:20 -0500
4707 Branch: REL8_4_STABLE [458b20f2d] 2014-01-31 21:41:09 -0500
4712 Fix race conditions during server process exit (Robert Haas)
4716 Ensure that signal handlers don't attempt to use the
4717 process's <varname>MyProc</> pointer after it's no longer valid.
4722 Author: Tom Lane <tgl@sss.pgh.pa.us>
4723 Branch: master [214c7a4f0] 2014-02-01 16:21:23 -0500
4724 Branch: REL9_3_STABLE [6f1a40773] 2014-02-01 16:21:30 -0500
4725 Branch: REL9_2_STABLE [81b116d98] 2014-02-01 16:21:33 -0500
4726 Branch: REL9_1_STABLE [03f06ff38] 2014-02-01 16:21:38 -0500
4731 Fix race conditions in walsender shutdown logic and walreceiver
4732 SIGHUP signal handler (Tom Lane)
4737 Author: Tom Lane <tgl@sss.pgh.pa.us>
4738 Branch: master [571addd72] 2014-01-29 20:04:43 -0500
4739 Branch: REL9_3_STABLE [bf8ee6f15] 2014-01-29 20:04:01 -0500
4740 Branch: REL9_2_STABLE [3e71ce1e9] 2014-01-29 20:04:05 -0500
4741 Branch: REL9_1_STABLE [af259c691] 2014-01-29 20:04:08 -0500
4742 Branch: REL9_0_STABLE [d17a667e8] 2014-01-29 20:04:11 -0500
4743 Branch: REL8_4_STABLE [01b882fd8] 2014-01-29 20:04:14 -0500
4748 Fix unsafe references to <varname>errno</> within error reporting
4749 logic (Christian Kruse)
4753 This would typically lead to odd behaviors such as missing or
4754 inappropriate <literal>HINT</> fields.
4759 Author: Tom Lane <tgl@sss.pgh.pa.us>
4760 Branch: master [910bac595] 2014-01-11 16:36:07 -0500
4761 Branch: REL9_3_STABLE [5bfcc9ec5] 2014-01-11 16:35:30 -0500
4762 Branch: REL9_2_STABLE [2de905186] 2014-01-11 16:35:34 -0500
4763 Branch: REL9_1_STABLE [3f721588a] 2014-01-11 16:35:37 -0500
4764 Branch: REL9_0_STABLE [d9c4442b8] 2014-01-11 16:35:41 -0500
4765 Branch: REL8_4_STABLE [d0070ac81] 2014-01-11 16:35:44 -0500
4770 Fix possible crashes from using <function>ereport()</> too early
4771 during server startup (Tom Lane)
4775 The principal case we've seen in the field is a crash if the server
4776 is started in a directory it doesn't have permission to read.
4781 Author: Tom Lane <tgl@sss.pgh.pa.us>
4782 Branch: master [74242c23c] 2013-12-05 12:48:28 -0500
4783 Branch: REL9_3_STABLE [2a6e1a554] 2013-12-05 12:48:31 -0500
4784 Branch: REL9_2_STABLE [41042970b] 2013-12-05 12:48:35 -0500
4785 Branch: REL9_1_STABLE [ad910ccdc] 2013-12-05 12:48:37 -0500
4786 Branch: REL9_0_STABLE [36352ceb4] 2013-12-05 12:48:41 -0500
4787 Branch: REL8_4_STABLE [7635dae55] 2013-12-05 12:48:44 -0500
4792 Clear retry flags properly in OpenSSL socket write
4793 function (Alexander Kukushkin)
4797 This omission could result in a server lockup after unexpected loss
4798 of an SSL-encrypted connection.
4803 Author: Tom Lane <tgl@sss.pgh.pa.us>
4804 Branch: master [44c216330] 2014-02-13 14:24:42 -0500
4805 Branch: REL9_3_STABLE [ca1c17181] 2014-02-13 14:24:45 -0500
4806 Branch: REL9_2_STABLE [8439ee415] 2014-02-13 14:24:49 -0500
4807 Branch: REL9_1_STABLE [170590261] 2014-02-13 14:24:52 -0500
4808 Branch: REL9_0_STABLE [148052d25] 2014-02-13 14:24:55 -0500
4809 Branch: REL8_4_STABLE [a8a46d846] 2014-02-13 14:24:58 -0500
4814 Fix length checking for Unicode identifiers (<literal>U&"..."</>
4815 syntax) containing escapes (Tom Lane)
4819 A spurious truncation warning would be printed for such identifiers
4820 if the escaped form of the identifier was too long, but the
4821 identifier actually didn't need truncation after de-escaping.
4826 Author: Tom Lane <tgl@sss.pgh.pa.us>
4827 Branch: master [0c2338abb] 2014-02-03 19:47:57 -0500
4828 Branch: REL9_3_STABLE [4c70cb1d3] 2014-02-03 19:48:00 -0500
4833 Fix parsing of Unicode literals and identifiers just before the end
4834 of a command string or function body (Tom Lane)
4839 Author: Stephen Frost <sfrost@snowman.net>
4840 Branch: master [6c36f383d] 2014-01-21 22:49:22 -0500
4841 Branch: REL9_3_STABLE [d1e3070f0] 2014-01-21 22:56:30 -0500
4842 Branch: REL9_2_STABLE [c0e6169e1] 2014-01-21 22:56:34 -0500
4843 Branch: REL9_1_STABLE [cbd850bf6] 2014-01-21 23:00:58 -0500
4844 Branch: REL9_0_STABLE [f2eede9b5] 2014-01-21 23:01:40 -0500
4849 Allow keywords that are type names to be used in lists of roles
4854 A previous patch allowed such keywords to be used without quoting
4855 in places such as role identifiers; but it missed cases where a
4856 list of role identifiers was permitted, such as <literal>DROP ROLE</>.
4861 Author: Tom Lane <tgl@sss.pgh.pa.us>
4862 Branch: master [7ab321404] 2013-12-02 20:28:45 -0500
4863 Branch: REL9_3_STABLE [b44ae4893] 2013-12-02 20:28:49 -0500
4864 Branch: REL9_2_STABLE [6698782f1] 2013-12-02 20:28:53 -0500
4865 Branch: REL9_1_STABLE [f67b8aeab] 2013-12-02 20:28:56 -0500
4870 Fix parser crash for <literal>EXISTS(SELECT * FROM
4871 zero_column_table)</literal> (Tom Lane)
4876 Author: Tom Lane <tgl@sss.pgh.pa.us>
4877 Branch: master [9ec6199d1] 2013-12-10 16:10:17 -0500
4878 Branch: REL9_3_STABLE [9d2e07fec] 2013-12-10 16:10:20 -0500
4879 Branch: REL9_2_STABLE [f5d9fdcc7] 2013-12-10 16:10:24 -0500
4880 Branch: REL9_1_STABLE [48e5cfde8] 2013-12-10 16:10:28 -0500
4881 Branch: REL9_0_STABLE [41e9990cd] 2013-12-10 16:10:31 -0500
4882 Branch: REL8_4_STABLE [884c6384a] 2013-12-10 16:10:36 -0500
4887 Fix possible crash due to invalid plan for nested sub-selects, such
4888 as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
4894 Author: Tom Lane <tgl@sss.pgh.pa.us>
4895 Branch: master [043f6ff05] 2014-01-30 14:51:16 -0500
4896 Branch: REL9_3_STABLE [a4aa854ca] 2014-01-30 14:51:19 -0500
4901 Fix mishandling of <literal>WHERE</> conditions pulled up from
4902 a <literal>LATERAL</> subquery (Tom Lane)
4906 The typical symptom of this bug was a <quote>JOIN qualification
4907 cannot refer to other relations</> error, though subtle logic
4908 errors in created plans seem possible as well.
4913 Author: Tom Lane <tgl@sss.pgh.pa.us>
4914 Branch: master [158b7fa6a] 2014-01-11 19:03:12 -0500
4915 Branch: REL9_3_STABLE [27ff4cfe7] 2014-01-11 19:03:15 -0500
4920 Disallow <literal>LATERAL</> references to the target table of
4921 an <literal>UPDATE/DELETE</> (Tom Lane)
4925 While this might be allowed in some future release, it was
4926 unintentional in 9.3, and didn't work quite right anyway.
4931 Author: Tom Lane <tgl@sss.pgh.pa.us>
4932 Branch: master [c03ad5602] 2013-12-14 17:33:53 -0500
4933 Branch: REL9_3_STABLE [324577f39] 2013-12-14 17:33:56 -0500
4934 Branch: REL9_2_STABLE [5d545b7ed] 2013-12-14 17:34:00 -0500
4939 Fix <literal>UPDATE/DELETE</> of an inherited target table
4940 that has <literal>UNION ALL</> subqueries (Tom Lane)
4944 Without this fix, <literal>UNION ALL</> subqueries aren't correctly
4945 inserted into the update plans for inheritance child tables after the
4946 first one, typically resulting in no update happening for those child
4952 Author: Tom Lane <tgl@sss.pgh.pa.us>
4953 Branch: master [4eeda92d8] 2013-12-23 22:18:48 -0500
4954 Branch: REL9_3_STABLE [663f8419b] 2013-12-23 22:18:23 -0500
4959 Fix <command>ANALYZE</> to not fail on a column that's a domain over
4960 a range type (Tom Lane)
4965 Author: Tom Lane <tgl@sss.pgh.pa.us>
4966 Branch: master [628652620] 2014-01-11 13:42:42 -0500
4967 Branch: REL9_3_STABLE [36785a21b] 2014-01-11 13:41:51 -0500
4968 Branch: REL9_2_STABLE [f0381680f] 2014-01-11 13:41:56 -0500
4969 Branch: REL9_1_STABLE [9387f4e1b] 2014-01-11 13:42:00 -0500
4970 Branch: REL9_0_STABLE [2d76d75d9] 2014-01-11 13:42:05 -0500
4971 Branch: REL8_4_STABLE [00b77771a] 2014-01-11 13:42:11 -0500
4976 Ensure that <command>ANALYZE</> creates statistics for a table column
4977 even when all the values in it are <quote>too wide</> (Tom Lane)
4981 <command>ANALYZE</> intentionally omits very wide values from its
4982 histogram and most-common-values calculations, but it neglected to do
4983 something sane in the case that all the sampled entries are too wide.
4988 Author: Stephen Frost <sfrost@snowman.net>
4989 Branch: master [6f25c62d7] 2014-01-18 18:41:52 -0500
4990 Branch: REL9_3_STABLE [86e58ae02] 2014-01-18 18:49:08 -0500
4991 Branch: REL9_2_STABLE [1fe06595a] 2014-01-18 18:49:41 -0500
4992 Branch: REL9_1_STABLE [d2636486b] 2014-01-18 18:50:09 -0500
4993 Branch: REL9_0_STABLE [e70c42821] 2014-01-18 18:50:29 -0500
4994 Branch: REL8_4_STABLE [0fb4e3ceb] 2014-01-18 18:50:47 -0500
4999 In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
5000 default tablespace to be used without a permissions check
5005 <literal>CREATE TABLE</> has always allowed such usage,
5006 but <literal>ALTER TABLE</> didn't get the memo.
5011 Author: Tom Lane <tgl@sss.pgh.pa.us>
5012 Branch: master [c01bc51f8] 2013-12-30 14:00:02 -0500
5013 Branch: REL9_3_STABLE [9a6e2b150] 2013-12-30 14:00:05 -0500
5018 Fix support for extensions containing event triggers (Tom Lane)
5023 Author: Tom Lane <tgl@sss.pgh.pa.us>
5024 Branch: master [080b7db72] 2014-01-08 20:18:58 -0500
5025 Branch: REL9_3_STABLE [47ac4473a] 2014-01-08 20:18:10 -0500
5026 Branch: REL9_2_STABLE [97a39f295] 2014-01-08 20:18:13 -0500
5027 Branch: REL9_1_STABLE [6c6c53d0b] 2014-01-08 20:18:17 -0500
5028 Branch: REL9_0_STABLE [6ca712fb9] 2014-01-08 20:18:20 -0500
5029 Branch: REL8_4_STABLE [57ac7d8a7] 2014-01-08 20:18:24 -0500
5034 Fix <quote>cannot accept a set</> error when some arms of
5035 a <literal>CASE</> return a set and others don't (Tom Lane)
5040 Author: Andrew Dunstan <andrew@dunslane.net>
5041 Branch: master [d3ee45152] 2014-02-03 10:40:12 -0500
5042 Branch: REL9_3_STABLE [cdfbb78f0] 2014-02-03 10:39:13 -0500
5047 Fix memory leakage in JSON functions (Craig Ringer)
5052 Author: Andrew Dunstan <andrew@dunslane.net>
5053 Branch: master [29dcf7ded] 2013-12-27 17:04:00 -0500
5054 Branch: REL9_3_STABLE [7dfd9f6f5] 2013-12-27 17:21:04 -0500
5055 Branch: REL9_2_STABLE [4825a9e95] 2013-12-27 17:21:27 -0500
5060 Properly distinguish numbers from non-numbers when generating JSON
5061 output (Andrew Dunstan)
5066 Author: Kevin Grittner <kgrittn@postgresql.org>
5067 Branch: master [a133bf703] 2013-12-27 15:26:24 -0600
5068 Branch: REL9_3_STABLE [28b60aa23] 2013-12-27 15:40:51 -0600
5069 Branch: REL9_2_STABLE [150a30e19] 2013-12-27 15:41:02 -0600
5070 Branch: REL9_1_STABLE [1f069d21d] 2013-12-27 15:41:18 -0600
5071 Branch: REL9_0_STABLE [918d74a07] 2013-12-27 15:41:32 -0600
5072 Branch: REL8_4_STABLE [b2d80147d] 2013-12-27 15:41:46 -0600
5077 Fix checks for all-zero client addresses in pgstat functions (Kevin
5083 Author: Tom Lane <tgl@sss.pgh.pa.us>
5084 Branch: master [082c0dfa1] 2014-02-01 18:27:34 -0500
5085 Branch: REL9_3_STABLE [9beffdcc3] 2014-02-01 18:27:40 -0500
5086 Branch: REL9_2_STABLE [8be095cea] 2014-02-01 18:27:44 -0500
5087 Branch: REL9_1_STABLE [399d23e19] 2014-02-01 18:27:48 -0500
5088 Branch: REL9_0_STABLE [3c7b4ef70] 2014-02-01 18:27:54 -0500
5089 Branch: REL8_4_STABLE [56f5d3424] 2014-02-01 18:27:12 -0500
5094 Fix possible misclassification of multibyte characters by the text
5095 search parser (Tom Lane)
5099 Non-ASCII characters could be misclassified when using C locale with
5100 a multibyte encoding. On Cygwin, non-C locales could fail as well.
5105 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5106 Branch: master [6c2744f1d] 2014-02-10 09:57:59 +0200
5107 Branch: REL9_3_STABLE [928aec71c] 2014-02-10 09:59:49 +0200
5108 Branch: REL9_2_STABLE [f3807106b] 2014-02-10 10:00:04 +0200
5109 Branch: REL9_1_STABLE [5f778e644] 2014-02-10 10:00:23 +0200
5110 Branch: REL9_0_STABLE [fe8a6f53e] 2014-02-10 10:00:36 +0200
5111 Branch: REL8_4_STABLE [6141983fb] 2014-02-10 10:00:50 +0200
5116 Fix possible misbehavior in <function>plainto_tsquery()</>
5117 (Heikki Linnakangas)
5121 Use <function>memmove()</> not <function>memcpy()</> for copying
5122 overlapping memory regions. There have been no field reports of
5123 this actually causing trouble, but it's certainly risky.
5128 Author: Magnus Hagander <magnus@hagander.net>
5129 Branch: master [9544cc0d6] 2014-01-07 17:50:56 +0100
5130 Branch: REL9_3_STABLE [91c2755fc] 2014-01-07 17:51:02 +0100
5131 Branch: REL9_2_STABLE [61d4d14ee] 2014-01-07 17:53:00 +0100
5132 Branch: REL9_1_STABLE [026a91f86] 2014-01-07 18:00:36 +0100
5137 Fix placement of permissions checks in <function>pg_start_backup()</>
5138 and <function>pg_stop_backup()</> (Andres Freund, Magnus Hagander)
5142 The previous coding might attempt to do catalog access when it
5148 Author: Tatsuo Ishii <ishii@postgresql.org>
5149 Branch: master [1f0626ee4] 2013-12-15 11:09:05 +0900
5150 Branch: REL9_3_STABLE [8122e6f85] 2013-12-15 11:10:41 +0900
5151 Branch: REL9_2_STABLE [0c07ef1ad] 2013-12-15 11:10:49 +0900
5152 Branch: REL9_1_STABLE [035226c61] 2013-12-15 11:10:56 +0900
5153 Branch: REL9_0_STABLE [7016d970d] 2013-12-15 11:11:02 +0900
5154 Branch: REL8_4_STABLE [69f77d756] 2013-12-15 11:11:11 +0900
5159 Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
5160 purposes (Tatsuo Ishii)
5165 Author: Tom Lane <tgl@sss.pgh.pa.us>
5166 Branch: master [0def2573c] 2014-02-03 14:47:17 -0500
5167 Branch: REL9_3_STABLE [641c08041] 2014-02-03 14:46:54 -0500
5168 Branch: REL9_2_STABLE [888b56570] 2014-02-03 14:46:57 -0500
5173 Fix <literal>*</>-qualification of named parameters in SQL-language
5174 functions (Tom Lane)
5178 Given a composite-type parameter
5179 named <literal>foo</>, <literal>$1.*</> worked fine,
5180 but <literal>foo.*</> not so much.
5185 Author: Fujii Masao <fujii@postgresql.org>
5186 Branch: master [77035fa8a] 2014-01-23 22:58:58 +0900
5187 Branch: REL9_3_STABLE [be5d49974] 2014-01-23 23:00:30 +0900
5188 Branch: REL9_2_STABLE [ea311bfdf] 2014-01-23 23:01:06 +0900
5189 Branch: REL9_1_STABLE [1b384aff1] 2014-01-23 23:01:34 +0900
5190 Branch: REL9_0_STABLE [996b21cbf] 2014-01-23 23:02:03 +0900
5191 Branch: REL8_4_STABLE [5525529db] 2014-01-23 23:02:30 +0900
5196 Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
5200 It should return <literal>localhost</> if no host has been specified.
5205 Author: Tom Lane <tgl@sss.pgh.pa.us>
5206 Branch: master [b8f00a46b] 2014-02-13 18:45:58 -0500
5207 Branch: REL9_3_STABLE [f208fb436] 2014-02-13 18:46:03 -0500
5208 Branch: REL9_2_STABLE [2573f08a1] 2014-02-13 18:45:20 -0500
5209 Branch: REL9_1_STABLE [7182bd239] 2014-02-13 18:45:23 -0500
5210 Branch: REL9_0_STABLE [218dd205b] 2014-02-13 18:45:27 -0500
5211 Branch: REL8_4_STABLE [7644a7bd8] 2014-02-13 18:45:32 -0500
5216 Improve error handling in <application>libpq</> and <application>psql</>
5217 for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
5221 In particular this fixes an infinite loop that could occur in 9.2 and
5222 up if the server connection was lost during <literal>COPY FROM
5223 STDIN</>. Variants of that scenario might be possible in older
5224 versions, or with other client applications.
5229 Author: Tom Lane <tgl@sss.pgh.pa.us>
5230 Branch: master [92459e7a7] 2014-01-04 16:05:16 -0500
5231 Branch: REL9_3_STABLE [341f0bc49] 2014-01-04 16:05:20 -0500
5232 Branch: REL9_2_STABLE [fa28f9cba] 2014-01-04 16:05:23 -0500
5237 Fix incorrect translation handling in
5238 some <application>psql</> <literal>\d</> commands
5239 (Peter Eisentraut, Tom Lane)
5244 Author: Magnus Hagander <magnus@hagander.net>
5245 Branch: master [63ab2befe] 2014-02-12 18:45:18 +0100
5246 Branch: REL9_3_STABLE [c90204c60] 2014-02-12 18:46:04 +0100
5247 Branch: REL9_2_STABLE [0ae288d2d] 2014-02-12 14:51:00 +0100
5252 Ensure <application>pg_basebackup</>'s background process is killed
5253 when exiting its foreground process (Magnus Hagander)
5258 Author: Magnus Hagander <magnus@hagander.net>
5259 Branch: master [01025d80a] 2014-02-09 12:05:14 +0100
5260 Branch: REL9_3_STABLE [680baa8d2] 2014-02-09 12:09:18 +0100
5261 Branch: REL9_2_STABLE [165aa1da5] 2014-02-09 12:09:39 +0100
5262 Branch: REL9_1_STABLE [c6e5c4dd1] 2014-02-09 12:09:55 +0100
5267 Fix possible incorrect printing of filenames
5268 in <application>pg_basebackup</>'s verbose mode (Magnus Hagander)
5273 Author: Magnus Hagander <magnus@hagander.net>
5274 Branch: master [b168c5ef2] 2014-01-07 17:11:32 +0100
5275 Branch: REL9_3_STABLE [0463b9419] 2014-01-07 17:11:51 +0100
5276 Branch: REL9_2_STABLE [2edf3e82c] 2014-01-07 17:22:36 +0100
5277 Branch: REL9_1_STABLE [773e4d5e4] 2014-01-07 17:18:02 +0100
5282 Avoid including tablespaces inside PGDATA twice in base backups
5283 (Dimitri Fontaine, Magnus Hagander)
5288 Author: Michael Meskes <meskes@postgresql.org>
5289 Branch: master [d685e2424] 2014-01-09 16:20:19 +0100
5290 Branch: REL9_3_STABLE [28fff0ef8] 2014-01-09 15:41:51 +0100
5291 Branch: REL9_2_STABLE [799728b0b] 2014-01-09 15:50:51 +0100
5292 Branch: REL9_1_STABLE [9f5b3a1a1] 2014-01-09 15:51:11 +0100
5293 Branch: REL9_0_STABLE [a29b6c342] 2014-01-09 15:51:23 +0100
5294 Branch: REL8_4_STABLE [d68a65b01] 2014-01-09 15:58:37 +0100
5299 Fix misaligned descriptors in <application>ecpg</> (MauMau)
5304 Author: Michael Meskes <meskes@postgresql.org>
5305 Branch: master [7c957ec83] 2014-01-01 12:39:31 +0100
5306 Branch: REL9_3_STABLE [8404037d8] 2014-01-01 12:40:28 +0100
5307 Branch: REL9_2_STABLE [119a59879] 2014-01-01 12:40:42 +0100
5308 Branch: REL9_1_STABLE [948498274] 2014-01-01 12:44:15 +0100
5309 Branch: REL9_0_STABLE [17bcdd01f] 2014-01-01 12:44:44 +0100
5310 Branch: REL8_4_STABLE [96de4939c] 2014-01-01 12:44:58 +0100
5315 In <application>ecpg</>, handle lack of a hostname in the connection
5316 parameters properly (Michael Meskes)
5321 Author: Joe Conway <mail@joeconway.com>
5322 Branch: master [d6ca510d9] 2013-12-07 17:00:26 -0800
5323 Branch: REL9_3_STABLE [0ec530625] 2013-12-07 17:00:10 -0800
5324 Branch: REL9_2_STABLE [7f4ef622f] 2013-12-07 16:59:35 -0800
5325 Branch: REL9_1_STABLE [70165f25b] 2013-12-07 16:59:16 -0800
5326 Branch: REL9_0_STABLE [9057adc23] 2013-12-07 16:58:41 -0800
5327 Branch: REL8_4_STABLE [6c8b16e30] 2013-12-07 16:56:34 -0800
5332 Fix performance regression in <filename>contrib/dblink</> connection
5333 startup (Joe Conway)
5337 Avoid an unnecessary round trip when client and server encodings match.
5342 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5343 Branch: master [866a1f092] 2014-01-13 15:43:29 +0200
5344 Branch: REL9_3_STABLE [50c5770ec] 2014-01-13 15:43:59 +0200
5345 Branch: REL9_2_STABLE [f6d6b42f2] 2014-01-13 15:44:02 +0200
5346 Branch: REL9_1_STABLE [5143dfd57] 2014-01-13 15:44:04 +0200
5347 Branch: REL9_0_STABLE [6c3f040be] 2014-01-13 15:44:12 +0200
5348 Branch: REL8_4_STABLE [492b68541] 2014-01-13 15:44:14 +0200
5353 In <filename>contrib/isn</>, fix incorrect calculation of the check
5354 digit for ISMN values (Fabien Coelho)
5359 Author: Tatsuo Ishii <ishii@postgresql.org>
5360 Branch: master [841a65482] 2013-12-12 19:10:35 +0900
5361 Branch: REL9_3_STABLE [27902bc91] 2013-12-12 19:07:53 +0900
5366 Fix <filename>contrib/pgbench</>'s progress logging to avoid overflow
5367 when the scale factor is large (Tatsuo Ishii)
5372 Author: Tom Lane <tgl@sss.pgh.pa.us>
5373 Branch: master [69c7a9838] 2014-01-21 16:34:28 -0500
5374 Branch: REL9_3_STABLE [0950d67ee] 2014-01-21 16:34:31 -0500
5375 Branch: REL9_2_STABLE [27ab1eb7e] 2014-01-21 16:34:35 -0500
5380 Fix <filename>contrib/pg_stat_statement</>'s handling
5381 of <literal>CURRENT_DATE</> and related constructs (Kyotaro
5387 Author: Tom Lane <tgl@sss.pgh.pa.us>
5388 Branch: master [00d4f2af8] 2014-02-03 21:30:20 -0500
5389 Branch: REL9_3_STABLE [eb3d350db] 2014-02-03 21:30:28 -0500
5394 Improve lost-connection error handling
5395 in <filename>contrib/postgres_fdw</> (Tom Lane)
5400 Author: Peter Eisentraut <peter_e@gmx.net>
5401 Branch: master [ad6bf0291] 2014-01-17 23:08:22 -0500
5402 Branch: REL9_3_STABLE [586bea612] 2014-01-17 23:11:02 -0500
5403 Branch: REL9_2_STABLE [526e38751] 2014-01-17 23:12:50 -0500
5404 Branch: REL9_1_STABLE [6d969b000] 2014-01-17 23:14:21 -0500
5405 Branch: REL9_0_STABLE [2346c383a] 2014-01-17 23:15:00 -0500
5406 Branch: REL8_4_STABLE [15699d9bf] 2014-01-17 23:17:59 -0500
5411 Ensure client-code-only installation procedure works as documented
5417 Author: Andrew Dunstan <andrew@dunslane.net>
5418 Branch: master [d587298b8] 2014-02-01 15:11:13 -0500
5419 Branch: REL9_3_STABLE [1e9876c3b] 2014-02-01 15:16:06 -0500
5420 Branch: REL9_2_STABLE [6e96d4db8] 2014-02-01 15:16:18 -0500
5421 Branch: REL9_1_STABLE [dfb4a1a21] 2014-02-01 15:16:29 -0500
5422 Branch: REL9_0_STABLE [59d64e7f3] 2014-02-01 15:16:40 -0500
5423 Branch: REL8_4_STABLE [ae3c98b9b] 2014-02-01 15:16:52 -0500
5428 In Mingw and Cygwin builds, install the <application>libpq</> DLL
5429 in the <filename>bin</> directory (Andrew Dunstan)
5433 This duplicates what the MSVC build has long done. It should fix
5434 problems with programs like <application>psql</> failing to start
5435 because they can't find the DLL.
5440 Author: Andrew Dunstan <andrew@dunslane.net>
5441 Branch: master [7e1531a45] 2014-02-01 16:08:33 -0500
5442 Branch: REL9_3_STABLE [27942baf4] 2014-02-01 16:13:32 -0500
5443 Branch: REL9_2_STABLE [fad443753] 2014-02-01 16:13:46 -0500
5444 Branch: REL9_1_STABLE [e5c22c15d] 2014-02-01 16:14:01 -0500
5445 Branch: REL9_0_STABLE [1c0bf372f] 2014-02-01 16:14:15 -0500
5450 Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
5456 Author: Andrew Dunstan <andrew@dunslane.net>
5457 Branch: master [cec8394b5] 2014-01-26 09:49:10 -0500
5458 Branch: REL9_3_STABLE [56c08df55] 2014-01-26 09:45:43 -0500
5463 Enable building with Visual Studio 2013 (Brar Piening)
5468 Author: Tom Lane <tgl@sss.pgh.pa.us>
5469 Branch: master [289541520] 2014-02-10 20:48:04 -0500
5470 Branch: REL9_3_STABLE [f1e522696] 2014-02-10 20:48:12 -0500
5471 Branch: REL9_2_STABLE [dd5605104] 2014-02-10 20:48:20 -0500
5472 Branch: REL9_1_STABLE [3bf5c16f1] 2014-02-10 20:48:23 -0500
5473 Branch: REL9_0_STABLE [e1e7642bd] 2014-02-10 20:48:27 -0500
5474 Branch: REL8_4_STABLE [432735cbf] 2014-02-10 20:48:30 -0500
5479 Don't generate plain-text <filename>HISTORY</>
5480 and <filename>src/test/regress/README</> files anymore (Tom Lane)
5484 These text files duplicated the main HTML and PDF documentation
5485 formats. The trouble involved in maintaining them greatly outweighs
5486 the likely audience for plain-text format. Distribution tarballs
5487 will still contain files by these names, but they'll just be stubs
5488 directing the reader to consult the main documentation.
5489 The plain-text <filename>INSTALL</> file will still be maintained, as
5490 there is arguably a use-case for that.
5495 Author: Tom Lane <tgl@sss.pgh.pa.us>
5496 Branch: master [e04641f4b] 2014-02-14 21:59:13 -0500
5497 Branch: REL9_3_STABLE [46cbcd50e] 2014-02-14 21:59:37 -0500
5498 Branch: REL9_2_STABLE [4f975b68b] 2014-02-14 21:59:42 -0500
5499 Branch: REL9_1_STABLE [3212ba534] 2014-02-14 21:59:46 -0500
5500 Branch: REL9_0_STABLE [cb84fddd9] 2014-02-14 21:59:50 -0500
5501 Branch: REL8_4_STABLE [c0c2d62ac] 2014-02-14 21:59:56 -0500
5506 Update time zone data files to <application>tzdata</> release 2013i
5507 for DST law changes in Jordan and historical changes in Cuba.
5511 In addition, the zones <literal>Asia/Riyadh87</>,
5512 <literal>Asia/Riyadh88</>, and <literal>Asia/Riyadh89</> have been
5513 removed, as they are no longer maintained by IANA, and never
5514 represented actual civil timekeeping practice.
5523 <sect1 id="release-9-3-2">
5524 <title>Release 9.3.2</title>
5527 <title>Release Date</title>
5528 <simpara>2013-12-05</simpara>
5532 This release contains a variety of fixes from 9.3.1.
5533 For information about new features in the 9.3 major release, see
5534 <xref linkend="release-9-3">.
5538 <title>Migration to Version 9.3.2</title>
5541 A dump/restore is not required for those running 9.3.X.
5545 However, this release corrects a number of potential data corruption
5546 issues. See the first three changelog entries below to find out whether
5547 your installation has been affected and what steps you can take if so.
5551 Also, if you are upgrading from a version earlier than 9.3.1,
5552 see <xref linkend="release-9-3-1">.
5558 <title>Changes</title>
5564 Fix <command>VACUUM</>'s tests to see whether it can
5565 update <structfield>relfrozenxid</> (Andres Freund)
5569 In some cases <command>VACUUM</> (either manual or autovacuum) could
5570 incorrectly advance a table's <structfield>relfrozenxid</> value,
5571 allowing tuples to escape freezing, causing those rows to become
5572 invisible once 2^31 transactions have elapsed. The probability of
5573 data loss is fairly low since multiple incorrect advancements would
5574 need to happen before actual loss occurs, but it's not zero. In 9.2.0
5575 and later, the probability of loss is higher, and it's also possible
5576 to get <quote>could not access status of transaction</> errors as a
5577 consequence of this bug. Users upgrading from releases 9.0.4 or 8.4.8
5578 or earlier are not affected, but all later versions contain the bug.
5582 The issue can be ameliorated by, after upgrading, vacuuming all tables
5583 in all databases while having <link
5584 linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
5585 set to zero. This will fix any latent corruption but will not be able
5586 to fix all pre-existing data errors. However, an installation can be
5587 presumed safe after performing this vacuuming if it has executed fewer
5588 than 2^31 update transactions in its lifetime (check this with
5589 <literal>SELECT txid_current() < 2^31</>).
5595 Fix multiple bugs in MultiXactId freezing (Andres Freund,
5596 Álvaro Herrera)
5600 These bugs could lead to <quote>could not access status of
5601 transaction</> errors, or to duplicate or vanishing rows.
5602 Users upgrading from releases prior to 9.3.0 are not affected.
5606 The issue can be ameliorated by, after upgrading, vacuuming all tables
5607 in all databases while having <link
5608 linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
5609 set to zero. This will fix latent corruption but will not be able to
5610 fix all pre-existing data errors.
5614 As a separate issue, these bugs can also cause standby servers to get
5615 out of sync with the primary, thus exhibiting data errors that are not
5616 in the primary. Therefore, it's recommended that 9.3.0 and 9.3.1
5617 standby servers be re-cloned from the primary (e.g., with a new base
5618 backup) after upgrading.
5624 Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
5625 during hot standby startup (Andres Freund, Heikki Linnakangas)
5629 This bug can cause data loss on standby servers at the moment they
5630 start to accept hot-standby queries, by marking committed transactions
5631 as uncommitted. The likelihood of such corruption is small unless, at
5632 the time of standby startup, the primary server has executed many
5633 updating transactions since its last checkpoint. Symptoms include
5634 missing rows, rows that should have been deleted being still visible,
5635 and obsolete versions of updated rows being still visible alongside
5636 their newer versions.
5640 This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
5641 Standby servers that have only been running earlier releases are not
5642 at risk. It's recommended that standby servers that have ever run any
5643 of the buggy releases be re-cloned from the primary (e.g., with a new
5644 base backup) after upgrading.
5650 Fix multiple bugs in update chain traversal (Andres Freund,
5651 Álvaro Herrera)
5655 These bugs could result in incorrect behavior, such as locking or even
5656 updating the wrong row, in the presence of concurrent updates.
5657 Spurious <quote>unable to fetch updated version of tuple</> errors
5664 Fix dangling-pointer problem in fast-path locking (Tom Lane)
5668 This could lead to corruption of the lock data structures in shared
5669 memory, causing <quote>lock already held</> and other odd errors.
5675 Fix assorted race conditions in timeout management (Tom Lane)
5679 These errors could result in a server process becoming unresponsive
5680 because it had blocked SIGALRM and/or SIGINT.
5686 Truncate <filename>pg_multixact</> contents during WAL replay
5691 This avoids ever-increasing disk space consumption in standby servers.
5697 Ensure an anti-wraparound <command>VACUUM</> counts a page as scanned
5698 when it's only verified that no tuples need freezing (Sergey
5699 Burladyan, Jeff Janes)
5703 This bug could result in failing to
5704 advance <structfield>relfrozenxid</>, so that the table would still be
5705 thought to need another anti-wraparound vacuum. In the worst case the
5706 database might even shut down to prevent wraparound.
5712 Fix full-table-vacuum request mechanism for MultiXactIds (Andres Freund)
5716 This bug could result in large amounts of useless autovacuum activity.
5722 Fix race condition in GIN index posting tree page deletion (Heikki
5727 This could lead to transient wrong answers or query failures.
5733 Fix <quote>unexpected spgdoinsert() failure</> error during SP-GiST
5734 index creation (Teodor Sigaev)
5740 Fix assorted bugs in materialized views (Kevin Grittner, Andres Freund)
5746 Re-allow duplicate table aliases if they're within aliased JOINs
5751 Historically <productname>PostgreSQL</> has accepted queries like
5753 SELECT ... FROM tab1 x CROSS JOIN (tab2 x CROSS JOIN tab3 y) z
5755 although a strict reading of the SQL standard would forbid the
5756 duplicate usage of table alias <literal>x</>. A misguided change in
5757 9.3.0 caused it to reject some such cases that were formerly accepted.
5758 Restore the previous behavior.
5764 Avoid flattening a subquery whose <literal>SELECT</> list contains a
5765 volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
5769 This avoids unexpected results due to extra evaluations of the
5776 Fix planner's processing of non-simple-variable subquery outputs
5777 nested within outer joins (Tom Lane)
5781 This error could lead to incorrect plans for queries involving
5782 multiple levels of subqueries within <literal>JOIN</> syntax.
5788 Fix incorrect planning in cases where the same non-strict expression
5789 appears in multiple <literal>WHERE</> and outer <literal>JOIN</>
5790 equality clauses (Tom Lane)
5796 Fix planner crash with whole-row reference to a subquery (Tom Lane)
5802 Fix incorrect generation of optimized MIN()/MAX() plans for
5803 inheritance trees (Tom Lane)
5807 The planner could fail in cases where the MIN()/MAX() argument was an
5808 expression rather than a simple variable.
5814 Fix premature deletion of temporary files (Andres Freund)
5820 Prevent intra-transaction memory leak when printing range values
5825 This fix actually cures transient memory leaks in any datatype output
5826 function, but range types are the only ones known to have had a
5827 significant problem.
5833 Fix memory leaks when reloading configuration files (Heikki
5834 Linnakangas, Hari Babu)
5840 Prevent incorrect display of dropped columns in NOT NULL and CHECK
5841 constraint violation messages (Michael Paquier and Tom Lane)
5847 Allow default arguments and named-argument notation for window
5848 functions (Tom Lane)
5852 Previously, these cases were likely to crash.
5858 Suppress trailing whitespace on each line when pretty-printing rules
5859 and views (Tom Lane)
5863 9.3.0 generated such whitespace in many more cases than previous
5864 versions did. To reduce unexpected behavioral changes, suppress
5865 unnecessary whitespace in all cases.
5871 Fix possible read past end of memory in rule printing (Peter Eisentraut)
5877 Fix array slicing of <type>int2vector</> and <type>oidvector</> values
5882 Expressions of this kind are now implicitly promoted to
5883 regular <type>int2</> or <type>oid</> arrays.
5889 Return a valid JSON value when converting an empty <type>hstore</> value
5897 Fix incorrect behaviors when using a SQL-standard, simple GMT offset
5902 In some cases, the system would use the simple GMT offset value when
5903 it should have used the regular timezone setting that had prevailed
5904 before the simple offset was selected. This change also causes
5905 the <function>timeofday</> function to honor the simple GMT offset
5912 Prevent possible misbehavior when logging translations of Windows
5913 error codes (Tom Lane)
5919 Properly quote generated command lines in <application>pg_ctl</>
5920 (Naoya Anzai and Tom Lane)
5924 This fix applies only to Windows.
5930 Fix <application>pg_dumpall</> to work when a source database
5932 linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
5933 via <command>ALTER DATABASE SET</> (Kevin Grittner)
5937 Previously, the generated script would fail during restore.
5943 Fix <application>pg_isready</> to handle its <option>-d</> option
5944 properly (Fabrízio de Royes Mello and Fujii Masao)
5950 Fix parsing of WAL file names in <application>pg_receivexlog</>
5951 (Heikki Linnakangas)
5955 This error made <application>pg_receivexlog</> unable to restart
5956 streaming after stopping, once at least 4 GB of WAL had been written.
5962 Report out-of-disk-space failures properly
5963 in <application>pg_upgrade</> (Peter Eisentraut)
5969 Make <application>ecpg</> search for quoted cursor names
5970 case-sensitively (Zoltán Böszörményi)
5976 Fix <application>ecpg</>'s processing of lists of variables
5977 declared <type>varchar</> (Zoltán Böszörményi)
5983 Make <filename>contrib/lo</> defend against incorrect trigger definitions
5990 Update time zone data files to <application>tzdata</> release 2013h
5991 for DST law changes in Argentina, Brazil, Jordan, Libya,
5992 Liechtenstein, Morocco, and Palestine. Also, new timezone
5993 abbreviations WIB, WIT, WITA for Indonesia.
6002 <sect1 id="release-9-3-1">
6003 <title>Release 9.3.1</title>
6006 <title>Release Date</title>
6007 <simpara>2013-10-10</simpara>
6011 This release contains a variety of fixes from 9.3.0.
6012 For information about new features in the 9.3 major release, see
6013 <xref linkend="release-9-3">.
6017 <title>Migration to Version 9.3.1</title>
6020 A dump/restore is not required for those running 9.3.X.
6024 However, if you use the <literal>hstore</> extension, see the
6025 first changelog entry.
6031 <title>Changes</title>
6037 Ensure new-in-9.3 JSON functionality is added to the <literal>hstore</>
6038 extension during an update (Andrew Dunstan)
6042 Users who upgraded a pre-9.3 database containing <literal>hstore</>
6045 ALTER EXTENSION hstore UPDATE;
6047 after installing 9.3.1, to add two new JSON functions and a cast.
6048 (If <literal>hstore</> is already up to date, this command does
6055 Fix memory leak when creating B-tree indexes on range columns
6056 (Heikki Linnakangas)
6062 Fix memory leak caused by <function>lo_open()</function> failure
6063 (Heikki Linnakangas)
6069 Serializable snapshot fixes (Kevin Grittner, Heikki Linnakangas)
6075 Fix deadlock bug in libpq when using SSL (Stephen Frost)
6081 Fix timeline handling bugs in <application>pg_receivexlog</>
6082 (Heikki Linnakangas, Andrew Gierth)
6088 Prevent <command>CREATE FUNCTION</> from checking <command>SET</>
6089 variables unless function body checking is enabled (Tom Lane)
6095 Remove rare inaccurate warning during vacuum of index-less tables
6096 (Heikki Linnakangas)
6105 <sect1 id="release-9-3">
6106 <title>Release 9.3</title>
6109 <title>Release Date</title>
6110 <simpara>2013-09-09</simpara>
6114 <title>Overview</title>
6117 Major enhancements in <productname>PostgreSQL</> 9.3 include:
6120 <!-- This list duplicates items below, but without authors or details-->
6126 Add <link linkend="SQL-CREATEMATERIALIZEDVIEW">materialized
6133 Make simple views <link
6134 linkend="SQL-CREATEVIEW-updatable-views">auto-updatable</link>
6140 Add many features for the <type>JSON</> data type,
6141 including <link linkend="functions-json">operators and functions</link>
6142 to extract elements from <type>JSON</> values
6148 Implement <acronym>SQL</>-standard <link
6149 linkend="queries-lateral"><literal>LATERAL</></link> option for
6150 <literal>FROM</>-clause subqueries and function calls
6156 Allow <link linkend="SQL-CREATEFOREIGNDATAWRAPPER">foreign data
6157 wrappers</link> to support writes (inserts/updates/deletes) on foreign
6164 Add a <link linkend="postgres-fdw"><productname>Postgres</> foreign
6165 data wrapper</link> to allow access to
6166 other <productname>Postgres</> servers
6172 Add support for <link linkend="event-triggers">event triggers</link>
6178 Add optional ability to <link
6179 linkend="app-initdb-data-checksums">checksum</link> data pages and
6186 Prevent non-key-field row updates from blocking foreign key checks
6192 Greatly reduce System V <link linkend="sysvipc">shared
6193 memory</link> requirements
6200 The above items are explained in more detail in the sections below.
6207 <title>Migration to Version 9.3</title>
6210 A dump/restore using <link
6211 linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link>, or use
6212 of <link linkend="pgupgrade"><application>pg_upgrade</></link>, is
6213 required for those wishing to migrate data from any previous release.
6217 Version 9.3 contains a number of changes that may affect compatibility
6218 with previous releases. Observe the following incompatibilities:
6222 <title>Server Settings</title>
6228 Rename <varname>replication_timeout</> to <link
6229 linkend="guc-wal-sender-timeout"><varname>wal_sender_timeout</></link>
6234 This setting controls the <link
6235 linkend="wal"><acronym>WAL</></link> sender timeout.
6241 Require superuser privileges to set <link
6242 linkend="guc-commit-delay"><varname>commit_delay</></link>
6243 because it can now potentially delay other sessions (Simon Riggs)
6249 Allow in-memory sorts to use their full memory allocation (Jeff Janes)
6253 Users who have set <link
6254 linkend="guc-work-mem"><varname>work_mem</></link> based on the
6255 previous behavior may need to revisit that setting.
6264 <title>Other</title>
6270 Throw an error if a tuple to be updated or deleted has already been
6271 updated or deleted by a <literal>BEFORE</> trigger (Kevin Grittner)
6275 Formerly, the originally-intended update was silently skipped,
6276 resulting in logical inconsistency since the trigger might have
6277 propagated data to other places based on the intended update.
6278 Now an error is thrown to prevent the inconsistent results from being
6279 committed. If this change affects your application, the best solution
6280 is usually to move the data-propagation actions to
6281 an <literal>AFTER</> trigger.
6285 This error will also be thrown if a query invokes a volatile function
6286 that modifies rows that are later modified by the query itself.
6287 Such cases likewise previously resulted in silently skipping updates.
6293 Change multicolumn <link linkend="SQL-CREATETABLE"><literal>ON UPDATE
6294 SET NULL/SET DEFAULT</></link> foreign key actions to affect
6295 all columns of the constraint, not just those changed in the
6296 <command>UPDATE</> (Tom Lane)
6300 Previously, we would set only those referencing columns that
6301 correspond to referenced columns that were changed by
6302 the <command>UPDATE</>. This was what was required by SQL-92,
6303 but more recent editions of the SQL standard specify the new behavior.
6309 Force cached plans to be replanned if the <link
6310 linkend="guc-search-path"><varname>search_path</></link> changes
6315 Previously, cached plans already generated in the current session were
6316 not redone if the query was re-executed with a
6317 new <varname>search_path</> setting, resulting in surprising behavior.
6324 linkend="functions-formatting-table"><function>to_number()</></link>
6325 to properly handle a period used as a thousands separator (Tom Lane)
6329 Previously, a period was considered to be a decimal point even when
6330 the locale says it isn't and the <literal>D</> format code is used to
6331 specify use of the locale-specific decimal point. This resulted in
6332 wrong answers if <literal>FM</> format was also used.
6338 Fix <literal>STRICT</> non-set-returning functions that have
6339 set-returning functions in their arguments to properly return null
6344 A null value passed to the strict function should result in a null
6345 output, but instead, that output row was suppressed entirely.
6351 Store <link linkend="wal"><acronym>WAL</></link> in a continuous
6352 stream, rather than skipping the last 16MB segment every 4GB
6353 (Heikki Linnakangas)
6357 Previously, <acronym>WAL</> files with names ending in <literal>FF</>
6358 were not used because of this skipping. If you have <acronym>WAL</>
6359 backup or restore scripts that took this behavior into account, they
6360 will need to be adjusted.
6367 linkend="catalog-pg-constraint"><structname>pg_constraint.confmatchtype</></link>,
6368 store the default foreign key match type (non-<literal>FULL</>,
6369 non-<literal>PARTIAL</>) as <literal>s</> for <quote>simple</>
6374 Previously this case was represented by <literal>u</>
6375 for <quote>unspecified</>.
6386 <title>Changes</title>
6389 Below you will find a detailed account of the changes between
6390 <productname>PostgreSQL</productname> 9.3 and the previous major
6395 <title>Server</title>
6398 <title>Locking</title>
6404 Prevent non-key-field row updates from blocking foreign key checks
6405 (Álvaro Herrera, Noah Misch, Andres Freund, Alexander
6406 Shulgin, Marti Raudsepp, Alexander Shulgin)
6410 This change improves concurrency and reduces the probability of
6411 deadlocks when updating tables involved in a foreign-key constraint.
6412 <command>UPDATE</>s that do not change any columns referenced in a
6413 foreign key now take the new <literal>NO KEY UPDATE</> lock mode on
6414 the row, while foreign key checks use the new <literal>KEY SHARE</>
6415 lock mode, which does not conflict with <literal>NO KEY UPDATE</>.
6416 So there is no blocking unless a foreign-key column is changed.
6422 Add configuration variable <link
6423 linkend="guc-lock-timeout"><varname>lock_timeout</></link> to
6424 allow limiting how long a session will wait to acquire any one lock
6425 (Zoltán Böszörményi)
6434 <title>Indexes</title>
6440 Add <link linkend="rangetypes-indexing"><acronym>SP-GiST</></link>
6441 support for range data types (Alexander Korotkov)
6447 Allow <link linkend="GiST"><acronym>GiST</></link> indexes to be
6448 unlogged (Jeevan Chalke)
6454 Improve performance of <acronym>GiST</> index insertion by randomizing
6455 the choice of which page to descend to when there are multiple equally
6456 good alternatives (Heikki Linnakangas)
6462 Improve concurrency of hash index operations (Robert Haas)
6471 <title>Optimizer</title>
6477 Collect and use histograms of upper and lower bounds, as well as range
6478 lengths, for <link linkend="rangetypes">range types</link>
6479 (Alexander Korotkov)
6485 Improve optimizer's cost estimation for index access (Tom Lane)
6491 Improve optimizer's hash table size estimate for
6492 doing <literal>DISTINCT</> via hash aggregation (Tom Lane)
6498 Suppress no-op Result and Limit plan nodes
6499 (Kyotaro Horiguchi, Amit Kapila, Tom Lane)
6505 Reduce optimizer overhead by not keeping plans on the basis of cheap
6506 startup cost when the optimizer only cares about total cost overall
6516 <title>General Performance</title>
6522 Add <link linkend="SQL-COPY"><command>COPY FREEZE</></link>
6523 option to avoid the overhead of marking tuples as frozen later
6524 (Simon Riggs, Jeff Davis)
6530 Improve performance of <link
6531 linkend="datatype-numeric"><type>NUMERIC</></link> calculations
6538 Improve synchronization of sessions waiting for <link
6539 linkend="guc-commit-delay"><varname>commit_delay</></link>
6544 This greatly improves the usefulness of <varname>commit_delay</>.
6550 Improve performance of the <link
6551 linkend="SQL-CREATETABLE"><command>CREATE TEMPORARY TABLE ... ON
6552 COMMIT DELETE ROWS</></link> option by not truncating such temporary
6553 tables in transactions that haven't touched any temporary tables
6554 (Heikki Linnakangas)
6560 Make vacuum recheck visibility after it has removed expired tuples
6565 This increases the chance of a page being marked as all-visible.
6571 Add per-resource-owner lock caches (Jeff Janes)
6575 This speeds up lock bookkeeping at statement completion in
6576 multi-statement transactions that hold many locks; it is particularly
6577 useful for <application>pg_dump</>.
6583 Avoid scanning the entire relation cache at commit of a transaction
6584 that creates a new relation (Jeff Janes)
6588 This speeds up sessions that create many tables in successive
6589 small transactions, such as a <application>pg_restore</> run.
6595 Improve performance of transactions that drop many relations
6605 <title>Monitoring</title>
6611 Add optional ability to <link
6612 linkend="app-initdb-data-checksums">checksum</link> data pages and
6613 report corruption (Simon Riggs, Jeff Davis, Greg Smith, Ants Aasma)
6617 The checksum option can be set during <link
6618 linkend="APP-INITDB">initdb</link>.
6624 Split the <link linkend="monitoring-stats">statistics collector's</link>
6625 data file into separate global and per-database files (Tomas Vondra)
6629 This reduces the I/O required for statistics tracking.
6635 Fix the statistics collector to operate properly in cases where the
6636 system clock goes backwards (Tom Lane)
6640 Previously, statistics collection would stop until the time again
6641 reached the latest time previously recorded.
6647 Emit an informative message to postmaster standard error when we
6648 are about to stop logging there
6653 This should help reduce user confusion about where to look for log
6654 output in common configurations that log to standard error only during
6664 <title>Authentication</title>
6670 When an authentication failure occurs, log the relevant
6671 <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</></link>
6672 line, to ease debugging of unintended failures
6679 Improve <link linkend="auth-ldap"><acronym>LDAP</></link> error
6680 reporting and documentation (Peter Eisentraut)
6686 Add support for specifying <acronym>LDAP</> authentication parameters
6687 in <acronym>URL</> format, per RFC 4516 (Peter Eisentraut)
6694 linkend="guc-ssl-ciphers"><varname>ssl_ciphers</></link> parameter
6695 to start with <literal>DEFAULT</>, rather than <literal>ALL</>,
6696 then remove insecure ciphers (Magnus Hagander)
6700 This should yield a more appropriate SSL cipher set.
6706 Parse and load <link
6707 linkend="auth-username-maps"><filename>pg_ident.conf</></link>
6708 once, not during each connection (Amit Kapila)
6712 This is similar to how <filename>pg_hba.conf</> is processed.
6721 <title>Server Settings</title>
6727 Greatly reduce System V <link linkend="sysvipc">shared
6728 memory</link> requirements (Robert Haas)
6732 On Unix-like systems, <function>mmap()</> is now used for most
6733 of <productname>PostgreSQL</>'s shared memory. For most users, this
6734 will eliminate any need to adjust kernel parameters for shared memory.
6740 Allow the postmaster to listen on multiple Unix-domain sockets
6741 (Honza Horák)
6745 The configuration parameter
6746 <varname>unix_socket_directory</> is replaced by <link
6747 linkend="guc-unix-socket-directories"><varname>unix_socket_directories</></link>,
6748 which accepts a list of directories.
6754 Allow a directory of configuration files to be processed (Magnus
6755 Hagander, Greg Smith, Selena Deckelmann)
6759 Such a directory is specified with <link
6760 linkend="config-includes"><varname>include_dir</></link> in the server
6767 Increase the maximum <link
6768 linkend="APP-INITDB">initdb</link>-configured value for <link
6769 linkend="guc-shared-buffers"><varname>shared_buffers</></link>
6770 to 128MB (Robert Haas)
6774 This is the maximum value that initdb will attempt to set in <link
6775 linkend="config-setting-configuration-file"><filename>postgresql.conf</></link>;
6776 the previous maximum was 32MB.
6782 Remove the <link linkend="guc-external-pid-file">external
6783 <acronym>PID</> file</link>, if any, on postmaster exit
6795 <title>Replication and Recovery</title>
6801 Allow a streaming replication standby to <link
6802 linkend="protocol-replication">follow a timeline switch</link>
6803 (Heikki Linnakangas)
6807 This allows streaming standby servers to receive WAL data from a slave
6808 newly promoted to master status. Previously, other standbys would
6809 require a resync to begin following the new master.
6815 Add <acronym>SQL</> functions <link
6816 linkend="functions-admin-backup"><function>pg_is_in_backup()</></link>
6818 linkend="functions-admin-backup"><function>pg_backup_start_time()</></link>
6823 These functions report the status of base backups.
6829 Improve performance of streaming log shipping with <link
6830 linkend="guc-synchronous-commit"><varname>synchronous_commit</></link>
6831 disabled (Andres Freund)
6837 Allow much faster promotion of a streaming standby to primary (Simon
6838 Riggs, Kyotaro Horiguchi)
6844 Add the last checkpoint's redo location to <link
6845 linkend="APP-PGCONTROLDATA"><application>pg_controldata</></link>'s
6846 output (Fujii Masao)
6850 This information is useful for determining which <acronym>WAL</>
6851 files are needed for restore.
6857 Allow tools like <link
6858 linkend="app-pgreceivexlog"><application>pg_receivexlog</></link>
6859 to run on computers with different architectures (Heikki
6864 WAL files can still only be replayed on servers with the same
6865 architecture as the primary; but they can now be transmitted to and
6866 stored on machines of any architecture, since the
6867 streaming replication protocol is now machine-independent.
6874 linkend="app-pgbasebackup"><application>pg_basebackup</></link>
6875 <option>--write-recovery-conf</> output a
6876 minimal <filename>recovery.conf</> file (Zoltán
6877 Böszörményi, Magnus Hagander)
6881 This simplifies setting up a standby server.
6888 linkend="app-pgreceivexlog"><application>pg_receivexlog</></link>
6890 linkend="app-pgbasebackup"><application>pg_basebackup</></link>
6891 <option>--xlog-method</> to handle streaming timeline switches
6892 (Heikki Linnakangas)
6899 linkend="guc-wal-receiver-timeout"><varname>wal_receiver_timeout</></link>
6900 parameter to control the <acronym>WAL</> receiver's timeout
6905 This allows more rapid detection of connection failure.
6911 Change the <link linkend="wal"><acronym>WAL</></link> record format to
6912 allow splitting the record header across pages (Heikki Linnakangas)
6916 The new format is slightly more compact, and is more efficient to
6926 <title>Queries</title>
6932 Implement <acronym>SQL</>-standard <link
6933 linkend="queries-lateral"><literal>LATERAL</></link> option for
6934 <literal>FROM</>-clause subqueries and function calls (Tom Lane)
6938 This feature allows subqueries and functions in <literal>FROM</> to
6939 reference columns from other tables in the <literal>FROM</>
6940 clause. The <literal>LATERAL</> keyword is optional for functions.
6946 Add support for piping <link
6947 linkend="SQL-COPY"><command>COPY</></link> and <link
6948 linkend="APP-PSQL"><application>psql</></link> <command>\copy</>
6949 data to/from an external program (Etsuro Fujita)
6955 Allow a multirow <link
6956 linkend="SQL-VALUES"><literal>VALUES</></link> clause in a rule
6957 to reference <literal>OLD</>/<literal>NEW</> (Tom Lane)
6966 <title>Object Manipulation</title>
6972 Add support for <link linkend="event-triggers">event triggers</link>
6973 (Dimitri Fontaine, Robert Haas, Álvaro Herrera)
6977 This allows server-side functions written in event-enabled
6978 languages to be called when DDL commands are run.
6984 Allow <link linkend="SQL-CREATEFOREIGNDATAWRAPPER">foreign data
6985 wrappers</link> to support writes (inserts/updates/deletes) on foreign
6986 tables (KaiGai Kohei)
6992 Add <link linkend="SQL-CREATESCHEMA"><command>CREATE SCHEMA ... IF
6993 NOT EXISTS</></link> clause (Fabrízio de Royes Mello)
6999 Make <link linkend="SQL-REASSIGN-OWNED"><command>REASSIGN
7000 OWNED</></link> also change ownership of shared objects
7001 (Álvaro Herrera)
7007 Make <link linkend="sql-createaggregate"><command>CREATE
7008 AGGREGATE</></link> complain if the given initial value string is not
7009 valid input for the transition datatype (Tom Lane)
7015 Suppress <link linkend="SQL-CREATETABLE"><command>CREATE
7016 TABLE</></link>'s messages about implicit index and sequence creation
7021 These messages now appear at <literal>DEBUG1</> verbosity, so that
7022 they will not be shown by default.
7028 Allow <link linkend="SQL-DROPTABLE"><command>DROP TABLE IF
7029 EXISTS</></link> to succeed when a non-existent schema is specified
7030 in the table name (Bruce Momjian)
7034 Previously, it threw an error if the schema did not exist.
7040 Provide clients with <link
7041 linkend="libpq-pqresulterrorfield">constraint violation details</link>
7042 as separate fields (Pavel Stehule)
7046 This allows clients to retrieve table, column, data type, or
7047 constraint name error details. Previously such information had to be
7048 extracted from error strings. Client library support is required to
7049 access these fields.
7056 <title><command>ALTER</></title>
7062 Support <literal>IF NOT EXISTS</> option in <link
7063 linkend="SQL-ALTERTYPE"><command>ALTER TYPE ... ADD VALUE</></link>
7068 This is useful for conditionally adding values to enumerated types.
7074 Add <link linkend="SQL-ALTERROLE"><command>ALTER ROLE ALL
7075 SET</></link> to establish settings for all users (Peter Eisentraut)
7079 This allows settings to apply to all users in all databases. <link
7080 linkend="SQL-ALTERDATABASE"><command>ALTER DATABASE SET</></link>
7081 already allowed addition of settings for all users in a single
7082 database. <filename>postgresql.conf</> has a similar effect.
7088 Add support for <link linkend="SQL-ALTERRULE"><command>ALTER RULE
7089 ... RENAME</></link> (Ali Dar)
7098 <title><link linkend="rules-views"><command>VIEWs</></link></title>
7104 Add <link linkend="SQL-CREATEMATERIALIZEDVIEW">materialized
7105 views</link> (Kevin Grittner)
7109 Unlike ordinary views, where the base tables are read on every access,
7110 materialized views create physical tables at creation or refresh time.
7111 Access to the materialized view then reads from its physical
7112 table. There is not yet any facility for incrementally refreshing
7113 materialized views or auto-accessing them via base table access.
7119 Make simple views <link
7120 linkend="SQL-CREATEVIEW-updatable-views">auto-updatable</link>
7125 Simple views that reference some or all columns from a
7126 single base table are now updatable by default. More
7127 complex views can be made updatable using <link
7128 linkend="SQL-CREATETRIGGER"><literal>INSTEAD OF</></link> triggers
7129 or <link linkend="SQL-CREATERULE"><literal>INSTEAD</></link> rules.
7135 Add <link linkend="SQL-CREATEVIEW"><command>CREATE RECURSIVE
7136 VIEW</></link> syntax (Peter Eisentraut)
7140 Internally this is translated into <command>CREATE VIEW ... WITH
7147 Improve view/rule printing code to handle cases where referenced
7148 tables are renamed, or columns are renamed, added, or dropped
7153 Table and column renamings can produce cases where, if we merely
7154 substitute the new name into the original text of a rule or view, the
7155 result is ambiguous. This change fixes the rule-dumping code to insert
7156 manufactured table and column aliases when needed to preserve the
7168 <title>Data Types</title>
7174 Increase the maximum size of <link linkend="largeObjects">large
7175 objects</link> from 2GB to 4TB (Nozomi Anzai, Yugo Nagata)
7179 This change includes adding 64-bit-capable large object access
7180 functions, both in the server and in libpq.
7186 Allow text <link linkend="datatype-timezones">timezone
7187 designations</link>, e.g. <quote>America/Chicago</>, in the
7188 <quote>T</> field of <acronym>ISO</>-format <type>timestamptz</type>
7189 input (Bruce Momjian)
7196 <title><link linkend="datatype-json"><type>JSON</></link></title>
7202 Add <link linkend="functions-json">operators and functions</link>
7203 to extract elements from <type>JSON</> values (Andrew Dunstan)
7209 Allow <type>JSON</> values to be <link
7210 linkend="functions-json">converted into records</link>
7217 Add <link linkend="functions-json">functions</link> to convert
7218 scalars, records, and <type>hstore</> values to <type>JSON</> (Andrew
7231 <title>Functions</title>
7238 linkend="array-functions-table"><function>array_remove()</></link>
7240 linkend="array-functions-table"><function>array_replace()</></link>
7241 functions (Marco Nenciarini, Gabriele Bartolini)
7248 linkend="functions-string-other"><function>concat()</></link>
7250 linkend="functions-string-format"><function>format()</></link>
7251 to properly expand <literal>VARIADIC</>-labeled arguments
7259 linkend="functions-string-format"><function>format()</></link>
7260 to provide field width and left/right alignment options (Pavel Stehule)
7267 linkend="functions-formatting-table"><function>to_char()</></link>,
7269 linkend="functions-formatting-table"><function>to_date()</></link>,
7271 linkend="functions-formatting-table"><function>to_timestamp()</></link>
7272 handle negative (BC) century values properly
7277 Previously the behavior was either wrong or inconsistent
7278 with positive/<acronym>AD</> handling, e.g. with the format mask
7279 <quote>IYYY-IW-DY</>.
7286 linkend="functions-formatting-table"><function>to_date()</></link>
7288 linkend="functions-formatting-table"><function>to_timestamp()</></link>
7289 return proper results when mixing <acronym>ISO</> and Gregorian
7290 week/day designations (Bruce Momjian)
7297 linkend="functions-info-catalog-table"><function>pg_get_viewdef()</></link>
7298 to start a new line by default after each <literal>SELECT</> target
7299 list entry and <literal>FROM</> entry (Marko Tiikkaja)
7303 This reduces line length in view printing, for instance in <link
7304 linkend="APP-PGDUMP"><application>pg_dump</></link> output.
7310 Fix <function>map_sql_value_to_xml_value()</> to print values of
7311 domain types the same way their base type would be printed
7316 There are special formatting rules for certain built-in types such as
7317 <type>boolean</>; these rules now also apply to domains over these
7327 <title>Server-Side Languages</title>
7330 <title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
7336 Allow PL/pgSQL to use <literal>RETURN</> with a composite-type
7337 expression (Asif Rehman)
7341 Previously, in a function returning a composite type,
7342 <literal>RETURN</> could only reference a variable of that type.
7348 Allow PL/pgSQL to access <link
7349 linkend="plpgsql-exception-diagnostics">constraint violation
7350 details</link> as separate fields (Pavel Stehule)
7356 Allow PL/pgSQL to access the number of rows processed by
7357 <link linkend="SQL-COPY"><command>COPY</></link> (Pavel Stehule)
7361 A <command>COPY</> executed in a PL/pgSQL function now updates the
7362 value retrieved by <link
7363 linkend="plpgsql-statements-diagnostics"><command>GET DIAGNOSTICS
7364 x = ROW_COUNT</></link>.
7370 Allow unreserved keywords to be used as identifiers everywhere in
7375 In certain places in the PL/pgSQL grammar, keywords had to be quoted
7376 to be used as identifiers, even if they were nominally unreserved.
7385 <title><link linkend="plpython">PL/Python</link> Server-Side Language</title>
7391 Add PL/Python result object string handler (Peter Eisentraut)
7395 This allows <literal>plpy.debug(rv)</literal> to output something reasonable.
7401 Make PL/Python convert OID values to a proper Python numeric type
7408 Handle <link linkend="spi"><acronym>SPI</></link> errors raised
7409 explicitly (with PL/Python's <literal>RAISE</>) the same as
7410 internal <acronym>SPI</> errors (Oskari Saarenmaa and Jan Urbanski)
7421 <title>Server Programming Interface (<link linkend="spi">SPI</link>)</title>
7427 Prevent leakage of <acronym>SPI</> tuple tables during subtransaction
7432 At the end of any failed subtransaction, the core SPI code now
7433 releases any SPI tuple tables that were created during that
7434 subtransaction. This avoids the need for SPI-using code to keep track
7435 of such tuple tables and release them manually in error-recovery code.
7436 Failure to do so caused a number of transaction-lifespan memory leakage
7437 issues in PL/pgSQL and perhaps other SPI clients. <link
7438 linkend="spi-spi-freetupletable"><function>SPI_freetuptable()</></link>
7439 now protects itself against multiple freeing requests, so any existing
7440 code that did take care to clean up shouldn't be broken by this change.
7446 Allow <acronym>SPI</> functions to access the number of rows processed
7447 by <link linkend="SQL-COPY"><command>COPY</></link> (Pavel Stehule)
7456 <title>Client Applications</title>
7462 Add command-line utility <link
7463 linkend="app-pg-isready"><application>pg_isready</></link> to
7464 check if the server is ready to accept connections (Phil Sorber)
7470 Support multiple <option>--table</> arguments for <link
7471 linkend="APP-PGRESTORE"><application>pg_restore</></link>,
7472 <link linkend="APP-CLUSTERDB"><application>clusterdb</></link>,
7473 <link linkend="APP-REINDEXDB"><application>reindexdb</></link>,
7474 and <link linkend="APP-VACUUMDB"><application>vacuumdb</></link>
7479 This is similar to the way <link
7480 linkend="APP-PGDUMP"><application>pg_dump</></link>'s
7481 <option>--table</> option works.
7487 Add <option>--dbname</> option to <link
7488 linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link>, <link
7489 linkend="app-pgbasebackup"><application>pg_basebackup</></link>, and
7491 linkend="app-pgreceivexlog"><application>pg_receivexlog</></link>
7492 to allow specifying a connection string (Amit Kapila)
7498 Add libpq function <link
7499 linkend="libpq-pqconninfo"><function>PQconninfo()</></link>
7500 to return connection information (Zoltán
7501 Böszörményi, Magnus Hagander)
7508 <title><link linkend="APP-PSQL"><application>psql</></link></title>
7514 Adjust function cost settings so <application>psql</> tab
7515 completion and pattern searching are more efficient (Tom Lane)
7521 Improve <application>psql</>'s tab completion coverage (Jeff Janes,
7522 Dean Rasheed, Peter Eisentraut, Magnus Hagander)
7528 Allow the <application>psql</> <option>--single-transaction</>
7529 mode to work when reading from standard input (Fabien Coelho,
7534 Previously this option only worked when reading from a file.
7540 Remove <application>psql</> warning when connecting to an older
7541 server (Peter Eisentraut)
7545 A warning is still issued when connecting to a server of a newer major
7546 version than <application>psql</>'s.
7553 <title><link linkend="APP-PSQL-meta-commands">Backslash Commands</link></title>
7559 Add <application>psql</> command <command>\watch</> to repeatedly
7560 execute a SQL command (Will Leinweber)
7566 Add <application>psql</> command <command>\gset</> to store query
7567 results in <application>psql</> variables (Pavel Stehule)
7573 Add <acronym>SSL</> information to <application>psql</>'s
7574 <command>\conninfo</> command (Alastair Turner)
7580 Add <quote>Security</> column to <application>psql</>'s
7581 <command>\df+</> output (Jon Erdman)
7587 Allow <application>psql</> command <command>\l</> to accept a database
7588 name pattern (Peter Eisentraut)
7594 In <application>psql</>, do not allow <command>\connect</> to
7595 use defaults if there is no active connection (Bruce Momjian)
7599 This might be the case if the server had crashed.
7605 Properly reset state after failure of a SQL command executed with
7606 <application>psql</>'s <literal>\g</> <replaceable>file</>
7611 Previously, the output from subsequent SQL commands would unexpectedly
7612 continue to go to the same file.
7621 <title>Output</title>
7627 Add a <literal>latex-longtable</> output format to
7628 <application>psql</> (Bruce Momjian)
7632 This format allows tables to span multiple pages.
7638 Add a <literal>border=3</> output mode to the <application>psql</>
7639 <literal>latex</> format (Bruce Momjian)
7645 In <application>psql</>'s tuples-only and expanded output modes, no
7646 longer emit <quote>(No rows)</> for zero rows (Peter Eisentraut)
7652 In <application>psql</>'s unaligned, expanded output mode, no longer
7653 print an empty line for zero rows (Peter Eisentraut)
7664 <title><link linkend="APP-PGDUMP"><application>pg_dump</></link></title>
7670 Add <application>pg_dump</> <option>--jobs</> option to dump tables in
7671 parallel (Joachim Wieland)
7677 Make <application>pg_dump</> output functions in a more predictable
7678 order (Joel Jacobson)
7684 Fix tar files emitted by <application>pg_dump</>
7685 to be <acronym>POSIX</> conformant (Brian Weaver, Tom Lane)
7691 Add <option>--dbname</> option to <application>pg_dump</>, for
7692 consistency with other client commands (Heikki Linnakangas)
7696 The database name could already be supplied last without a flag.
7705 <title><link linkend="APP-INITDB"><application>initdb</></link></title>
7711 Make initdb fsync the newly created data directory (Jeff Davis)
7715 This insures data integrity in event of a system crash shortly after
7716 initdb. This can be disabled by using <option>--nosync</>.
7722 Add initdb <option>--sync-only</> option to sync the data directory to durable
7723 storage (Bruce Momjian)
7727 This is used by <link
7728 linkend="pgupgrade"><application>pg_upgrade</></link>.
7734 Make initdb issue a warning about placing the data directory at the
7735 top of a file system mount point (Bruce Momjian)
7746 <title>Source Code</title>
7752 Add infrastructure to allow plug-in <link
7753 linkend="bgworker">background worker processes</link>
7754 (Álvaro Herrera)
7760 Create a centralized timeout <acronym>API</> (Zoltán
7761 Böszörményi)
7767 Create libpgcommon and move <function>pg_malloc()</> and other
7768 functions there (Álvaro Herrera, Andres Freund)
7772 This allows libpgport to be used solely for portability-related code.
7778 Add support for list links embedded in larger structs (Andres Freund)
7784 Use <literal>SA_RESTART</> for all signals,
7785 including <literal>SIGALRM</> (Tom Lane)
7791 Ensure that the correct text domain is used when
7792 translating <function>errcontext()</> messages
7793 (Heikki Linnakangas)
7799 Standardize naming of client-side memory allocation functions (Tom Lane)
7805 Provide support for <quote>static assertions</> that will fail at
7806 compile time if some compile-time-constant condition is not met
7807 (Andres Freund, Tom Lane)
7813 Support <function>Assert()</> in client-side code (Andrew Dunstan)
7819 Add decoration to inform the C compiler that some <function>ereport()</>
7820 and <function>elog()</> calls do not return (Peter Eisentraut,
7821 Andres Freund, Tom Lane, Heikki Linnakangas)
7827 Allow options to be passed to the regression
7828 test output comparison utility via <link
7829 linkend="regress-evaluation"><envar>PG_REGRESS_DIFF_OPTS</></link>
7836 Add isolation tests for <link
7837 linkend="SQL-CREATEINDEX"><command>CREATE INDEX
7838 CONCURRENTLY</></link> (Abhijit Menon-Sen)
7844 Remove typedefs for <type>int2</>/<type>int4</> as they are better
7845 represented as <type>int16</>/<type>int32</> (Peter Eisentraut)
7851 Fix <link linkend="install">install-strip</link> on Mac <productname>OS
7852 X</> (Peter Eisentraut)
7858 Remove <link linkend="configure">configure</link> flag
7859 <option>--disable-shared</>, as it is no longer supported
7866 Rewrite pgindent in <application>Perl</> (Andrew Dunstan)
7872 Provide Emacs macro to set Perl formatting to
7873 match <productname>PostgreSQL</>'s perltidy settings (Peter Eisentraut)
7879 Run tool to check the keyword list whenever the backend grammar is
7886 Change the way <literal>UESCAPE</> is lexed, to significantly reduce
7887 the size of the lexer tables (Heikki Linnakangas)
7893 Centralize <application>flex</> and <application>bison</>
7894 <application>make</> rules (Peter Eisentraut)
7898 This is useful for <application>pgxs</> authors.
7904 Change many internal backend functions to return object <type>OID</>s
7905 rather than void (Dimitri Fontaine)
7909 This is useful for event triggers.
7915 Invent pre-commit/pre-prepare/pre-subcommit events for transaction
7916 callbacks (Tom Lane)
7920 Loadable modules that use transaction callbacks might need modification
7921 to handle these new event types.
7928 linkend="functions-info-catalog-table"><function>pg_identify_object()</></link>
7929 to produce a machine-readable description of a database object
7930 (Álvaro Herrera)
7936 Add post-<command>ALTER</>-object server hooks (KaiGai Kohei)
7942 Implement a generic binary heap and use it for Merge-Append
7943 operations (Abhijit Menon-Sen)
7949 Provide a tool to help detect timezone abbreviation changes when
7950 updating the <filename>src/timezone/data</> files
7957 Add <application>pkg-config</> support for <application>libpq</>
7958 and <application>ecpg</> libraries (Peter Eisentraut)
7964 Remove <filename>src/tool/backend</>, now that the content is on
7965 the <productname>PostgreSQL</> wiki (Bruce Momjian)
7971 Split out <link linkend="wal"><acronym>WAL</></link> reading as
7972 an independent facility (Heikki Linnakangas, Andres Freund)
7978 Use a 64-bit integer to represent <link
7979 linkend="wal"><acronym>WAL</></link> positions
7980 (<structname>XLogRecPtr</>) instead of two 32-bit integers
7981 (Heikki Linnakangas)
7985 Generally, tools that need to read the <acronym>WAL</> format
7986 will need to be adjusted.
7992 Allow <link linkend="plpython">PL/Python</link> to support
7993 platform-specific include directories (Peter Eisentraut)
7999 Allow <link linkend="plpython">PL/Python</link> on <productname>OS
8000 X</> to build against custom versions of <application>Python</>
8010 <title>Additional Modules</title>
8016 Add a <link linkend="postgres-fdw"><productname>Postgres</> foreign
8017 data wrapper</link> contrib module to allow access to
8018 other <productname>Postgres</> servers (Shigeru Hanada)
8022 This foreign data wrapper supports writes.
8028 Add <link linkend="pgxlogdump"><application>pg_xlogdump</></link>
8029 contrib program (Andres Freund)
8035 Add support for indexing of regular-expression searches in
8036 <link linkend="pgtrgm"><productname>pg_trgm</></link>
8037 (Alexander Korotkov)
8043 Improve <link linkend="pgtrgm"><productname>pg_trgm</></link>'s
8044 handling of multibyte characters (Tom Lane)
8048 On a platform that does not have the wcstombs() or towlower() library
8049 functions, this could result in an incompatible change in the contents
8050 of <productname>pg_trgm</> indexes for non-ASCII data. In such cases,
8051 <command>REINDEX</> those indexes to ensure correct search results.
8057 Add a <link linkend="pgstattuple">pgstattuple</link> function to report
8058 the size of the pending-insertions list of a <acronym>GIN</> index
8065 Make <link linkend="oid2name"><application>oid2name</></link>,
8066 <link linkend="pgbench"><application>pgbench</></link>, and
8067 <link linkend="vacuumlo"><application>vacuumlo</></link> set
8068 <varname>fallback_application_name</> (Amit Kapila)
8074 Improve output of <link
8075 linkend="pgtesttiming"><application>pg_test_timing</></link>
8082 Improve output of <link
8083 linkend="pgtestfsync"><application>pg_test_fsync</></link>
8090 Create a dedicated foreign data wrapper, with its own option validator
8091 function, for <link linkend="dblink">dblink</link> (Shigeru Hanada)
8095 When using this FDW to define the target of a <application>dblink</>
8096 connection, instead of using a hard-wired list of connection options,
8097 the underlying <application>libpq</> library is consulted to see what
8098 connection options it supports.
8105 <title><link linkend="pgupgrade"><application>pg_upgrade</></link></title>
8111 Allow <application>pg_upgrade</> to do dumps and restores in
8112 parallel (Bruce Momjian, Andrew Dunstan)
8116 This allows parallel schema dump/restore of databases, as well as
8117 parallel copy/link of data files per tablespace. Use the
8118 <option>--jobs</> option to specify the level of parallelism.
8124 Make <application>pg_upgrade</> create Unix-domain sockets in
8125 the current directory (Bruce Momjian, Tom Lane)
8129 This reduces the possibility that someone will accidentally connect
8136 Make <application>pg_upgrade</> <option>--check</> mode properly
8137 detect the location of non-default socket directories (Bruce
8144 Improve performance of <application>pg_upgrade</> for databases
8145 with many tables (Bruce Momjian)
8151 Improve <application>pg_upgrade</>'s logs by showing
8152 executed commands (Álvaro Herrera)
8158 Improve <application>pg_upgrade</>'s status display during
8159 copy/link (Bruce Momjian)
8168 <title><link linkend="pgbench"><application>pgbench</></link></title>
8174 Add <option>--foreign-keys</> option to <application>pgbench</>
8179 This adds foreign key constraints to the standard tables created by
8180 <application>pgbench</>, for use in foreign key performance testing.
8186 Allow <application>pgbench</> to aggregate performance statistics
8187 and produce output every <option>--aggregate-interval</>
8188 seconds (Tomas Vondra)
8194 Add <application>pgbench</> <option>--sampling-rate</> option
8195 to control the percentage of transactions logged (Tomas Vondra)
8201 Reduce and improve the status message output of
8202 <application>pgbench</>'s initialization mode (Robert Haas,
8209 Add <application>pgbench</> <option>-q</> mode to print one output
8210 line every five seconds (Tomas Vondra)
8216 Output <application>pgbench</> elapsed and estimated remaining
8217 time during initialization (Tomas Vondra)
8223 Allow <application>pgbench</> to use much larger scale factors,
8224 by changing relevant columns from <type>integer</> to <type>bigint</>
8225 when the requested scale factor exceeds 20000
8237 <title>Documentation</title>
8243 Allow <productname>EPUB</>-format documentation to be created
8250 Update <productname>FreeBSD</> kernel configuration documentation
8257 Improve <link linkend="tutorial-window"><literal>WINDOW</>
8258 function</link> documentation (Bruce Momjian, Florian Pflug)
8264 Add <link linkend="docguide-toolsets">instructions</link> for setting
8265 up the documentation tool chain on Mac <productname>OS X</>
8273 linkend="guc-commit-delay"><varname>commit_delay</></link>
8274 documentation (Peter Geoghegan)