1 <!-- doc/src/sgml/release-9.4.sgml -->
2 <!-- See header comment in release.sgml about typical markup -->
4 <sect1 id="release-9-4-12">
5 <title>Release 9.4.12</title>
8 <title>Release Date</title>
9 <simpara>2017-05-11</simpara>
13 This release contains a variety of fixes from 9.4.11.
14 For information about new features in the 9.4 major release, see
15 <xref linkend="release-9-4">.
19 <title>Migration to Version 9.4.12</title>
22 A dump/restore is not required for those running 9.4.X.
26 However, if you are using third-party replication tools that depend
27 on <quote>logical decoding</>, see the first changelog entry below.
31 Also, if you are upgrading from a version earlier than 9.4.11,
32 see <xref linkend="release-9-4-11">.
37 <title>Changes</title>
43 Fix possibly-invalid initial snapshot during logical decoding
44 (Petr Jelinek, Andres Freund)
48 The initial snapshot created for a logical decoding replication slot
49 was potentially incorrect. This could cause third-party tools that
50 use logical decoding to copy incomplete/inconsistent initial data.
51 This was more likely to happen if the source server was busy at the
52 time of slot creation, or if another logical slot already existed.
56 If you are using a replication tool that depends on logical decoding,
57 and it should have copied a nonempty data set at the start of
58 replication, it is advisable to recreate the replica after
59 installing this update, or to verify its contents against the source
66 Fix possible corruption of <quote>init forks</> of unlogged indexes
67 (Robert Haas, Michael Paquier)
71 This could result in an unlogged index being set to an invalid state
72 after a crash and restart. Such a problem would persist until the
73 index was dropped and rebuilt.
79 Fix incorrect reconstruction of <structname>pg_subtrans</> entries
80 when a standby server replays a prepared but uncommitted two-phase
81 transaction (Tom Lane)
85 In most cases this turned out to have no visible ill effects, but in
86 corner cases it could result in circular references
87 in <structname>pg_subtrans</>, potentially causing infinite loops
88 in queries that examine rows modified by the two-phase transaction.
94 Avoid possible crash in <application>walsender</> due to failure
95 to initialize a string buffer (Stas Kelvich, Fujii Masao)
101 Fix postmaster's handling of <function>fork()</> failure for a
102 background worker process (Tom Lane)
106 Previously, the postmaster updated portions of its state as though
107 the process had been launched successfully, resulting in subsequent
114 Ensure parsing of queries in extension scripts sees the results of
115 immediately-preceding DDL (Julien Rouhaud, Tom Lane)
119 Due to lack of a cache flush step between commands in an extension
120 script file, non-utility queries might not see the effects of an
121 immediately preceding catalog change, such as <command>ALTER TABLE
128 Skip tablespace privilege checks when <command>ALTER TABLE ... ALTER
129 COLUMN TYPE</> rebuilds an existing index (Noah Misch)
133 The command failed if the calling user did not currently have
134 <literal>CREATE</> privilege for the tablespace containing the index.
135 That behavior seems unhelpful, so skip the check, allowing the
136 index to be rebuilt where it is.
142 Fix <command>ALTER TABLE ... VALIDATE CONSTRAINT</> to not recurse
143 to child tables when the constraint is marked <literal>NO INHERIT</>
148 This fix prevents unwanted <quote>constraint does not exist</> failures
149 when no matching constraint is present in the child tables.
155 Fix <command>VACUUM</> to account properly for pages that could not
156 be scanned due to conflicting page pins (Andrew Gierth)
160 This tended to lead to underestimation of the number of tuples in
161 the table. In the worst case of a small heavily-contended
162 table, <command>VACUUM</> could incorrectly report that the table
163 contained no tuples, leading to very bad planning choices.
169 Ensure that bulk-tuple-transfer loops within a hash join are
170 interruptible by query cancel requests (Tom Lane, Thomas Munro)
176 Fix integer-overflow problems in <type>interval</> comparison (Kyotaro
181 The comparison operators for type <type>interval</> could yield wrong
182 answers for intervals larger than about 296000 years. Indexes on
183 columns containing such large values should be reindexed, since they
190 Fix <function>cursor_to_xml()</> to produce valid output
191 with <replaceable>tableforest</> = false
192 (Thomas Munro, Peter Eisentraut)
196 Previously it failed to produce a wrapping <literal><table></>
203 Fix roundoff problems in <function>float8_timestamptz()</>
204 and <function>make_interval()</> (Tom Lane)
208 These functions truncated, rather than rounded, when converting a
209 floating-point value to integer microseconds; that could cause
210 unexpectedly off-by-one results.
216 Improve performance of <structname>pg_timezone_names</> view
217 (Tom Lane, David Rowley)
223 Reduce memory management overhead for contexts containing many large
230 Fix sloppy handling of corner-case errors from <function>lseek()</>
231 and <function>close()</> (Tom Lane)
235 Neither of these system calls are likely to fail in typical situations,
236 but if they did, <filename>fd.c</> could get quite confused.
242 Fix incorrect check for whether postmaster is running as a Windows
243 service (Michael Paquier)
247 This could result in attempting to write to the event log when that
248 isn't accessible, so that no logging happens at all.
254 Fix <application>ecpg</> to support <command>COMMIT PREPARED</>
255 and <command>ROLLBACK PREPARED</> (Masahiko Sawada)
261 Fix a double-free error when processing dollar-quoted string literals
262 in <application>ecpg</> (Michael Meskes)
268 In <application>pg_dump</>, fix incorrect schema and owner marking for
269 comments and security labels of some types of database objects
270 (Giuseppe Broccolo, Tom Lane)
274 In simple cases this caused no ill effects; but for example, a
275 schema-selective restore might omit comments it should include, because
276 they were not marked as belonging to the schema of their associated
283 Avoid emitting an invalid list file in <literal>pg_restore -l</>
284 when SQL object names contain newlines (Tom Lane)
288 Replace newlines by spaces, which is sufficient to make the output
289 valid for <literal>pg_restore -L</>'s purposes.
295 Fix <application>pg_upgrade</> to transfer comments and security labels
296 attached to <quote>large objects</> (blobs) (Stephen Frost)
300 Previously, blobs were correctly transferred to the new database, but
301 any comments or security labels attached to them were lost.
307 Improve error handling
308 in <filename>contrib/adminpack</>'s <function>pg_file_write()</>
309 function (Noah Misch)
313 Notably, it failed to detect errors reported
314 by <function>fclose()</>.
320 In <filename>contrib/dblink</>, avoid leaking the previous unnamed
321 connection when establishing a new unnamed connection (Joe Conway)
327 Fix <filename>contrib/pg_trgm</>'s extraction of trigrams from regular
328 expressions (Tom Lane)
332 In some cases it would produce a broken data structure that could never
333 match anything, leading to GIN or GiST indexscans that use a trigram
334 index not finding any matches to the regular expression.
340 In <filename>contrib/postgres_fdw</>,
341 transmit query cancellation requests to the remote server
342 (Michael Paquier, Etsuro Fujita)
346 Previously, a local query cancellation request did not cause an
347 already-sent remote query to terminate early. This is a back-patch
348 of work originally done for 9.6.
354 Author: Tom Lane <tgl@sss.pgh.pa.us>
355 Branch: REL9_4_STABLE [bb132cddf] 2017-04-15 20:16:03 -0400
356 Branch: REL9_3_STABLE [fbfeceb25] 2017-04-17 12:51:40 -0400
357 Branch: REL9_2_STABLE [58384149b] 2017-04-17 12:51:40 -0400
358 Branch: REL9_3_STABLE [4e91330da] 2017-04-17 13:52:42 -0400
359 Branch: REL9_2_STABLE [fb50c38e9] 2017-04-17 13:52:42 -0400
362 Support OpenSSL 1.1.0 (Heikki Linnakangas, Andreas Karlsson, Tom Lane)
366 This is a back-patch of work previously done in newer branches;
367 it's needed since many platforms are adopting newer OpenSSL versions.
373 Support Tcl 8.6 in MSVC builds (Álvaro Herrera)
379 Sync our copy of the timezone library with IANA release tzcode2017b
384 This fixes a bug affecting some DST transitions in January 2038.
390 Update time zone data files to <application>tzdata</> release 2017b
391 for DST law changes in Chile, Haiti, and Mongolia, plus historical
392 corrections for Ecuador, Kazakhstan, Liberia, and Spain.
393 Switch to numeric abbreviations for numerous time zones in South
394 America, the Pacific and Indian oceans, and some Asian and Middle
399 The IANA time zone database previously provided textual abbreviations
400 for all time zones, sometimes making up abbreviations that have little
401 or no currency among the local population. They are in process of
402 reversing that policy in favor of using numeric UTC offsets in zones
403 where there is no evidence of real-world use of an English
404 abbreviation. At least for the time being, <productname>PostgreSQL</>
405 will continue to accept such removed abbreviations for timestamp input.
406 But they will not be shown in the <structname>pg_timezone_names</>
407 view nor used for output.
413 Use correct daylight-savings rules for POSIX-style time zone names
414 in MSVC builds (David Rowley)
418 The Microsoft MSVC build scripts neglected to install
419 the <filename>posixrules</> file in the timezone directory tree.
420 This resulted in the timezone code falling back to its built-in
421 rule about what DST behavior to assume for a POSIX-style time zone
422 name. For historical reasons that still corresponds to the DST rules
423 the USA was using before 2007 (i.e., change on first Sunday in April
424 and last Sunday in October). With this fix, a POSIX-style zone name
425 will use the current and historical DST transition dates of
426 the <literal>US/Eastern</> zone. If you don't want that, remove
427 the <filename>posixrules</> file, or replace it with a copy of some
428 other zone file (see <xref linkend="datatype-timezones">). Note that
429 due to caching, you may need to restart the server to get such changes
439 <sect1 id="release-9-4-11">
440 <title>Release 9.4.11</title>
443 <title>Release Date</title>
444 <simpara>2017-02-09</simpara>
448 This release contains a variety of fixes from 9.4.10.
449 For information about new features in the 9.4 major release, see
450 <xref linkend="release-9-4">.
454 <title>Migration to Version 9.4.11</title>
457 A dump/restore is not required for those running 9.4.X.
461 However, if your installation has been affected by the bug described in
462 the first changelog entry below, then after updating you may need
463 to take action to repair corrupted indexes.
467 Also, if you are upgrading from a version earlier than 9.4.10,
468 see <xref linkend="release-9-4-10">.
473 <title>Changes</title>
479 Fix a race condition that could cause indexes built
480 with <command>CREATE INDEX CONCURRENTLY</> to be corrupt
481 (Pavan Deolasee, Tom Lane)
485 If <command>CREATE INDEX CONCURRENTLY</> was used to build an index
486 that depends on a column not previously indexed, then rows
487 updated by transactions that ran concurrently with
488 the <command>CREATE INDEX</> command could have received incorrect
489 index entries. If you suspect this may have happened, the most
490 reliable solution is to rebuild affected indexes after installing
497 Ensure that the special snapshot used for catalog scans is not
498 invalidated by premature data pruning (Tom Lane)
502 Backends failed to account for this snapshot when advertising their
503 oldest xmin, potentially allowing concurrent vacuuming operations to
504 remove data that was still needed. This led to transient failures
505 along the lines of <quote>cache lookup failed for relation 1255</>.
511 Unconditionally WAL-log creation of the <quote>init fork</> for an
512 unlogged table (Michael Paquier)
516 Previously, this was skipped when <xref linkend="guc-wal-level">
517 = <literal>minimal</>, but actually it's necessary even in that case
518 to ensure that the unlogged table is properly reset to empty after a
525 Reduce interlocking on standby servers during the replay of btree
526 index vacuuming operations (Simon Riggs)
530 This change avoids substantial replication delays that sometimes
531 occurred while replaying such operations.
537 If the stats collector dies during hot standby, restart it (Takayuki
544 Ensure that hot standby feedback works correctly when it's enabled at
545 standby server start (Ants Aasma, Craig Ringer)
551 Check for interrupts while hot standby is waiting for a conflicting
558 Avoid constantly respawning the autovacuum launcher in a corner case
563 This fix avoids problems when autovacuum is nominally off and there
564 are some tables that require freezing, but all such tables are
565 already being processed by autovacuum workers.
571 Fix check for when an extension member object can be dropped (Tom Lane)
575 Extension upgrade scripts should be able to drop member objects,
576 but this was disallowed for serial-column sequences, and possibly
583 Make sure <command>ALTER TABLE</> preserves index tablespace
584 assignments when rebuilding indexes (Tom Lane, Michael Paquier)
588 Previously, non-default settings
589 of <xref linkend="guc-default-tablespace"> could result in broken
596 Fix incorrect updating of trigger function properties when changing a
597 foreign-key constraint's deferrability properties with <command>ALTER
598 TABLE ... ALTER CONSTRAINT</> (Tom Lane)
602 This led to odd failures during subsequent exercise of the foreign
603 key, as the triggers were fired at the wrong times.
609 Prevent dropping a foreign-key constraint if there are pending
610 trigger events for the referenced relation (Tom Lane)
614 This avoids <quote>could not find trigger <replaceable>NNN</></quote>
615 or <quote>relation <replaceable>NNN</> has no triggers</quote> errors.
621 Fix processing of OID column when a table with OIDs is associated to
622 a parent with OIDs via <command>ALTER TABLE ... INHERIT</> (Amit
627 The OID column should be treated the same as regular user columns in
628 this case, but it wasn't, leading to odd behavior in later
635 Fix <command>CREATE OR REPLACE VIEW</> to update the view query
636 before attempting to apply the new view options (Dean Rasheed)
640 Previously the command would fail if the new options were
641 inconsistent with the old view definition.
647 Report correct object identity during <command>ALTER TEXT SEARCH
648 CONFIGURATION</> (Artur Zakirov)
652 The wrong catalog OID was reported to extensions such as logical
659 Check for serializability conflicts before reporting
660 constraint-violation failures (Thomas Munro)
664 When using serializable transaction isolation, it is desirable
665 that any error due to concurrent transactions should manifest
666 as a serialization failure, thereby cueing the application that
667 a retry might succeed. Unfortunately, this does not reliably
668 happen for duplicate-key failures caused by concurrent insertions.
669 This change ensures that such an error will be reported as a
670 serialization error if the application explicitly checked for
671 the presence of a conflicting key (and did not find it) earlier
678 Prevent multicolumn expansion of <replaceable>foo</><literal>.*</> in
679 an <command>UPDATE</> source expression (Tom Lane)
683 This led to <quote>UPDATE target count mismatch --- internal
684 error</>. Now the syntax is understood as a whole-row variable,
685 as it would be in other contexts.
691 Ensure that column typmods are determined accurately for
692 multi-row <literal>VALUES</> constructs (Tom Lane)
696 This fixes problems occurring when the first value in a column has a
697 determinable typmod (e.g., length for a <type>varchar</> value) but
698 later values don't share the same limit.
704 Throw error for an unfinished Unicode surrogate pair at the end of a
705 Unicode string (Tom Lane)
709 Normally, a Unicode surrogate leading character must be followed by a
710 Unicode surrogate trailing character, but the check for this was
711 missed if the leading character was the last character in a Unicode
712 string literal (<literal>U&'...'</>) or Unicode identifier
713 (<literal>U&"..."</>).
719 Ensure that a purely negative text search query, such
720 as <literal>!foo</>, matches empty <type>tsvector</>s (Tom Dunstan)
724 Such matches were found by GIN index searches, but not by sequential
725 scans or GiST index searches.
731 Prevent crash when <function>ts_rewrite()</> replaces a non-top-level
732 subtree with an empty query (Artur Zakirov)
738 Fix performance problems in <function>ts_rewrite()</> (Tom Lane)
744 Fix <function>ts_rewrite()</>'s handling of nested NOT operators
751 Fix <function>array_fill()</> to handle empty arrays properly (Tom Lane)
757 Fix one-byte buffer overrun in <function>quote_literal_cstr()</>
762 The overrun occurred only if the input consisted entirely of single
763 quotes and/or backslashes.
769 Prevent multiple calls of <function>pg_start_backup()</>
770 and <function>pg_stop_backup()</> from running concurrently (Michael
775 This avoids an assertion failure, and possibly worse things, if
776 someone tries to run these functions in parallel.
782 Avoid discarding <type>interval</>-to-<type>interval</> casts
783 that aren't really no-ops (Tom Lane)
787 In some cases, a cast that should result in zeroing out
788 low-order <type>interval</> fields was mistakenly deemed to be a
789 no-op and discarded. An example is that casting from <type>INTERVAL
790 MONTH</> to <type>INTERVAL YEAR</> failed to clear the months field.
796 Ensure that cached plans are invalidated by changes in foreign-table
797 options (Amit Langote, Etsuro Fujita, Ashutosh Bapat)
803 Fix <application>pg_dump</> to dump user-defined casts and transforms
804 that use built-in functions (Stephen Frost)
810 Fix <application>pg_restore</> with <option>--create --if-exists</>
811 to behave more sanely if an archive contains
812 unrecognized <command>DROP</> commands (Tom Lane)
816 This doesn't fix any live bug, but it may improve the behavior in
817 future if <application>pg_restore</> is used with an archive
818 generated by a later <application>pg_dump</> version.
824 Fix <application>pg_basebackup</>'s rate limiting in the presence of
825 slow I/O (Antonin Houska)
829 If disk I/O was transiently much slower than the specified rate
830 limit, the calculation overflowed, effectively disabling the rate
831 limit for the rest of the run.
837 Fix <application>pg_basebackup</>'s handling of
838 symlinked <filename>pg_stat_tmp</> and <filename>pg_replslot</>
839 subdirectories (Magnus Hagander, Michael Paquier)
845 Fix possible <application>pg_basebackup</> failure on standby
846 server when including WAL files (Amit Kapila, Robert Haas)
852 Ensure that the Python exception objects we create for PL/Python are
853 properly reference-counted (Rafa de la Torre, Tom Lane)
857 This avoids failures if the objects are used after a Python garbage
858 collection cycle has occurred.
864 Fix PL/Tcl to support triggers on tables that have <literal>.tupno</>
865 as a column name (Tom Lane)
869 This matches the (previously undocumented) behavior of
870 PL/Tcl's <command>spi_exec</> and <command>spi_execp</> commands,
871 namely that a magic <literal>.tupno</> column is inserted only if
872 there isn't a real column named that.
878 Allow DOS-style line endings in <filename>~/.pgpass</> files,
879 even on Unix (Vik Fearing)
883 This change simplifies use of the same password file across Unix and
890 Fix one-byte buffer overrun if <application>ecpg</> is given a file
891 name that ends with a dot (Takayuki Tsunakawa)
897 Fix <application>psql</>'s tab completion for <command>ALTER DEFAULT
898 PRIVILEGES</> (Gilles Darold, Stephen Frost)
904 In <application>psql</>, treat an empty or all-blank setting of
905 the <envar>PAGER</> environment variable as meaning <quote>no
910 Previously, such a setting caused output intended for the pager to
917 Improve <filename>contrib/dblink</>'s reporting of
918 low-level <application>libpq</> errors, such as out-of-memory
925 Teach <filename>contrib/dblink</> to ignore irrelevant server options
926 when it uses a <filename>contrib/postgres_fdw</> foreign server as
927 the source of connection options (Corey Huinker)
931 Previously, if the foreign server object had options that were not
932 also <application>libpq</> connection options, an error occurred.
938 On Windows, ensure that environment variable changes are propagated
939 to DLLs built with debug options (Christian Ullrich)
945 Sync our copy of the timezone library with IANA release tzcode2016j
950 This fixes various issues, most notably that timezone data
951 installation failed if the target directory didn't support hard
958 Update time zone data files to <application>tzdata</> release 2016j
959 for DST law changes in northern Cyprus (adding a new zone
960 Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga,
961 and Antarctica/Casey.
962 Historical corrections for Italy, Kazakhstan, Malta, and Palestine.
963 Switch to preferring numeric zone abbreviations for Tonga.
972 <sect1 id="release-9-4-10">
973 <title>Release 9.4.10</title>
976 <title>Release Date</title>
977 <simpara>2016-10-27</simpara>
981 This release contains a variety of fixes from 9.4.9.
982 For information about new features in the 9.4 major release, see
983 <xref linkend="release-9-4">.
987 <title>Migration to Version 9.4.10</title>
990 A dump/restore is not required for those running 9.4.X.
994 However, if your installation has been affected by the bug described in
995 the first changelog entry below, then after updating you may need
996 to take action to repair corrupted free space maps.
1000 Also, if you are upgrading from a version earlier than 9.4.6,
1001 see <xref linkend="release-9-4-6">.
1006 <title>Changes</title>
1012 Fix WAL-logging of truncation of relation free space maps and
1013 visibility maps (Pavan Deolasee, Heikki Linnakangas)
1017 It was possible for these files to not be correctly restored during
1018 crash recovery, or to be written incorrectly on a standby server.
1019 Bogus entries in a free space map could lead to attempts to access
1020 pages that have been truncated away from the relation itself, typically
1021 producing errors like <quote>could not read block <replaceable>XXX</>:
1022 read only 0 of 8192 bytes</quote>. Checksum failures in the
1023 visibility map are also possible, if checksumming is enabled.
1027 Procedures for determining whether there is a problem and repairing it
1028 if so are discussed at
1029 <ulink url="https://wiki.postgresql.org/wiki/Free_Space_Map_Problems"></>.
1035 Fix incorrect creation of GIN index WAL records on big-endian machines
1040 The typical symptom was <quote>unexpected GIN leaf action</> errors
1047 Fix <command>SELECT FOR UPDATE/SHARE</> to correctly lock tuples that
1048 have been updated by a subsequently-aborted transaction
1049 (Álvaro Herrera)
1053 In 9.5 and later, the <command>SELECT</> would sometimes fail to
1054 return such tuples at all. A failure has not been proven to occur in
1055 earlier releases, but might be possible with concurrent updates.
1061 Fix EvalPlanQual rechecks involving CTE scans (Tom Lane)
1065 The recheck would always see the CTE as returning no rows, typically
1066 leading to failure to update rows that were recently updated.
1072 Fix improper repetition of previous results from hashed aggregation in
1073 a subquery (Andrew Gierth)
1077 The test to see if we can reuse a previously-computed hash table of
1078 the aggregate state values neglected the possibility of an outer query
1079 reference appearing in an aggregate argument expression. A change in
1080 the value of such a reference should lead to recalculating the hash
1087 Fix query-lifespan memory leak in a bulk <command>UPDATE</> on a table
1088 with a <literal>PRIMARY KEY</> or <literal>REPLICA IDENTITY</> index
1095 Fix <command>EXPLAIN</> to emit valid XML when
1096 <xref linkend="guc-track-io-timing"> is on (Markus Winand)
1100 Previously the XML output-format option produced syntactically invalid
1101 tags such as <literal><I/O-Read-Time></>. That is now
1102 rendered as <literal><I-O-Read-Time></>.
1108 Suppress printing of zeroes for unmeasured times
1109 in <command>EXPLAIN</> (Maksim Milyutin)
1113 Certain option combinations resulted in printing zero values for times
1114 that actually aren't ever measured in that combination. Our general
1115 policy in <command>EXPLAIN</> is not to print such fields at all, so
1116 do that consistently in all cases.
1122 Fix timeout length when <command>VACUUM</> is waiting for exclusive
1123 table lock so that it can truncate the table (Simon Riggs)
1127 The timeout was meant to be 50 milliseconds, but it was actually only
1128 50 microseconds, causing <command>VACUUM</> to give up on truncation
1129 much more easily than intended. Set it to the intended value.
1135 Fix bugs in merging inherited <literal>CHECK</> constraints while
1136 creating or altering a table (Tom Lane, Amit Langote)
1140 Allow identical <literal>CHECK</> constraints to be added to a parent
1141 and child table in either order. Prevent merging of a valid
1142 constraint from the parent table with a <literal>NOT VALID</>
1143 constraint on the child. Likewise, prevent merging of a <literal>NO
1144 INHERIT</> child constraint with an inherited constraint.
1150 Remove artificial restrictions on the values accepted
1151 by <function>numeric_in()</> and <function>numeric_recv()</>
1156 We allow numeric values up to the limit of the storage format (more
1157 than <literal>1e100000</>), so it seems fairly pointless
1158 that <function>numeric_in()</> rejected scientific-notation exponents
1159 above 1000. Likewise, it was silly for <function>numeric_recv()</> to
1160 reject more than 1000 digits in an input value.
1166 Avoid very-low-probability data corruption due to testing tuple
1167 visibility without holding buffer lock (Thomas Munro, Peter Geoghegan,
1174 Fix logical WAL decoding to work properly when a subtransaction's WAL
1175 output is large enough to spill to disk (Andres Freund)
1181 Author: Tom Lane <tgl@sss.pgh.pa.us>
1182 Branch: REL9_4_STABLE [10ad15f48] 2016-09-01 11:45:16 -0400
1185 Fix buffer overread in logical WAL decoding (Tom Lane)
1189 Logical decoding of a tuple update record read 23 bytes too many,
1190 which was usually harmless but with very bad luck could result in a
1197 Fix file descriptor leakage when truncating a temporary relation of
1198 more than 1GB (Andres Freund)
1204 Disallow starting a standalone backend with <literal>standby_mode</>
1205 turned on (Michael Paquier)
1209 This can't do anything useful, since there will be no WAL receiver
1210 process to fetch more WAL data; and it could result in misbehavior
1211 in code that wasn't designed with this situation in mind.
1217 Properly initialize replication slot state when recycling a
1218 previously-used slot (Michael Paquier)
1222 This failure to reset all of the fields of the slot could
1223 prevent <command>VACUUM</> from removing dead tuples.
1229 Round shared-memory allocation request to a multiple of the actual
1230 huge page size when attempting to use huge pages on Linux (Tom Lane)
1234 This avoids possible failures during <function>munmap()</> on systems
1235 with atypical default huge page sizes. Except in crash-recovery
1236 cases, there were no ill effects other than a log message.
1242 Use a more random value for the dynamic shared memory control
1243 segment's ID (Robert Haas, Tom Lane)
1247 Previously, the same value would be chosen every time, because it was
1248 derived from <function>random()</> but <function>srandom()</> had not
1249 yet been called. While relatively harmless, this was not the intended
1256 On Windows, retry creation of the dynamic shared memory control
1257 segment after an access-denied error (Kyotaro Horiguchi, Amit Kapila)
1261 Windows sometimes returns <literal>ERROR_ACCESS_DENIED</> rather
1262 than <literal>ERROR_ALREADY_EXISTS</> when there is an existing
1263 segment. This led to postmaster startup failure due to believing that
1264 the former was an unrecoverable error.
1270 Don't try to share SSL contexts across multiple connections
1271 in <application>libpq</> (Heikki Linnakangas)
1275 This led to assorted corner-case bugs, particularly when trying to use
1276 different SSL parameters for different connections.
1282 Avoid corner-case memory leak in <application>libpq</> (Tom Lane)
1286 The reported problem involved leaking an error report
1287 during <function>PQreset()</>, but there might be related cases.
1293 Make <application>ecpg</>'s <option>--help</> and <option>--version</>
1294 options work consistently with our other executables (Haribabu Kommi)
1300 Fix <application>pgbench</>'s calculation of average latency
1305 The calculation was incorrect when there were <literal>\sleep</>
1306 commands in the script, or when the test duration was specified in
1307 number of transactions rather than total time.
1313 In <application>pg_dump</>, never dump range constructor functions
1318 This oversight led to <application>pg_upgrade</> failures with
1319 extensions containing range types, due to duplicate creation of the
1320 constructor functions.
1326 In <application>pg_xlogdump</>, retry opening new WAL segments when
1327 using <option>--follow</> option (Magnus Hagander)
1331 This allows for a possible delay in the server's creation of the next
1338 Fix <application>pg_xlogdump</> to cope with a WAL file that begins
1339 with a continuation record spanning more than one page (Pavan
1346 Fix <filename>contrib/pg_buffercache</> to work
1347 when <varname>shared_buffers</> exceeds 256GB (KaiGai Kohei)
1353 Fix <filename>contrib/intarray/bench/bench.pl</> to print the results
1354 of the <command>EXPLAIN</> it does when given the <option>-e</> option
1361 Install TAP test infrastructure so that it's available for extension
1362 testing (Craig Ringer)
1366 When <productname>PostgreSQL</> has been configured
1367 with <option>--enable-tap-tests</>, <quote>make install</> will now
1368 install the Perl support files for TAP testing where PGXS can find
1369 them. This allows non-core extensions to
1370 use <literal>$(prove_check)</> without extra tests.
1376 In MSVC builds, include <application>pg_recvlogical</> in a
1377 client-only installation (MauMau)
1383 Update Windows time zone mapping to recognize some time zone names
1384 added in recent Windows versions (Michael Paquier)
1390 Prevent failure of obsolete dynamic time zone abbreviations (Tom Lane)
1394 If a dynamic time zone abbreviation does not match any entry in the
1395 referenced time zone, treat it as equivalent to the time zone name.
1396 This avoids unexpected failures when IANA removes abbreviations from
1397 their time zone database, as they did in <application>tzdata</>
1398 release 2016f and seem likely to do again in the future. The
1399 consequences were not limited to not recognizing the individual
1400 abbreviation; any mismatch caused
1401 the <structname>pg_timezone_abbrevs</> view to fail altogether.
1407 Update time zone data files to <application>tzdata</> release 2016h
1408 for DST law changes in Palestine and Turkey, plus historical
1409 corrections for Turkey and some regions of Russia.
1410 Switch to numeric abbreviations for some time zones in Antarctica,
1411 the former Soviet Union, and Sri Lanka.
1415 The IANA time zone database previously provided textual abbreviations
1416 for all time zones, sometimes making up abbreviations that have little
1417 or no currency among the local population. They are in process of
1418 reversing that policy in favor of using numeric UTC offsets in zones
1419 where there is no evidence of real-world use of an English
1420 abbreviation. At least for the time being, <productname>PostgreSQL</>
1421 will continue to accept such removed abbreviations for timestamp input.
1422 But they will not be shown in the <structname>pg_timezone_names</>
1423 view nor used for output.
1427 In this update, <literal>AMT</> is no longer shown as being in use to
1428 mean Armenia Time. Therefore, we have changed the <literal>Default</>
1429 abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
1438 <sect1 id="release-9-4-9">
1439 <title>Release 9.4.9</title>
1442 <title>Release Date</title>
1443 <simpara>2016-08-11</simpara>
1447 This release contains a variety of fixes from 9.4.8.
1448 For information about new features in the 9.4 major release, see
1449 <xref linkend="release-9-4">.
1453 <title>Migration to Version 9.4.9</title>
1456 A dump/restore is not required for those running 9.4.X.
1460 However, if you are upgrading from a version earlier than 9.4.6,
1461 see <xref linkend="release-9-4-6">.
1466 <title>Changes</title>
1472 Fix possible mis-evaluation of
1473 nested <literal>CASE</>-<literal>WHEN</> expressions (Heikki
1474 Linnakangas, Michael Paquier, Tom Lane)
1478 A <literal>CASE</> expression appearing within the test value
1479 subexpression of another <literal>CASE</> could become confused about
1480 whether its own test value was null or not. Also, inlining of a SQL
1481 function implementing the equality operator used by
1482 a <literal>CASE</> expression could result in passing the wrong test
1483 value to functions called within a <literal>CASE</> expression in the
1484 SQL function's body. If the test values were of different data
1485 types, a crash might result; moreover such situations could be abused
1486 to allow disclosure of portions of server memory. (CVE-2016-5423)
1492 Fix client programs' handling of special characters in database and
1493 role names (Noah Misch, Nathan Bossart, Michael Paquier)
1497 Numerous places in <application>vacuumdb</> and other client programs
1498 could become confused by database and role names containing double
1499 quotes or backslashes. Tighten up quoting rules to make that safe.
1500 Also, ensure that when a conninfo string is used as a database name
1501 parameter to these programs, it is correctly treated as such throughout.
1505 Fix handling of paired double quotes
1506 in <application>psql</>'s <command>\connect</>
1507 and <command>\password</> commands to match the documentation.
1511 Introduce a new <option>-reuse-previous</> option
1512 in <application>psql</>'s <command>\connect</> command to allow
1513 explicit control of whether to re-use connection parameters from a
1514 previous connection. (Without this, the choice is based on whether
1515 the database name looks like a conninfo string, as before.) This
1516 allows secure handling of database names containing special
1517 characters in <application>pg_dumpall</> scripts.
1521 <application>pg_dumpall</> now refuses to deal with database and role
1522 names containing carriage returns or newlines, as it seems impractical
1523 to quote those characters safely on Windows. In future we may reject
1524 such names on the server side, but that step has not been taken yet.
1528 These are considered security fixes because crafted object names
1529 containing special characters could have been used to execute
1530 commands with superuser privileges the next time a superuser
1531 executes <application>pg_dumpall</> or other routine maintenance
1532 operations. (CVE-2016-5424)
1538 Fix corner-case misbehaviors for <literal>IS NULL</>/<literal>IS NOT
1539 NULL</> applied to nested composite values (Andrew Gierth, Tom Lane)
1543 The SQL standard specifies that <literal>IS NULL</> should return
1544 TRUE for a row of all null values (thus <literal>ROW(NULL,NULL) IS
1545 NULL</> yields TRUE), but this is not meant to apply recursively
1546 (thus <literal>ROW(NULL, ROW(NULL,NULL)) IS NULL</> yields FALSE).
1547 The core executor got this right, but certain planner optimizations
1548 treated the test as recursive (thus producing TRUE in both cases),
1549 and <filename>contrib/postgres_fdw</> could produce remote queries
1550 that misbehaved similarly.
1556 Make the <type>inet</> and <type>cidr</> data types properly reject
1557 IPv6 addresses with too many colon-separated fields (Tom Lane)
1563 Prevent crash in <function>close_ps()</>
1564 (the <type>point</> <literal>##</> <type>lseg</> operator)
1565 for NaN input coordinates (Tom Lane)
1569 Make it return NULL instead of crashing.
1575 Avoid possible crash in <function>pg_get_expr()</> when inconsistent
1576 values are passed to it (Michael Paquier, Thomas Munro)
1582 Fix several one-byte buffer over-reads in <function>to_number()</>
1587 In several cases the <function>to_number()</> function would read one
1588 more character than it should from the input string. There is a
1589 small chance of a crash, if the input happens to be adjacent to the
1596 Do not run the planner on the query contained in <literal>CREATE
1597 MATERIALIZED VIEW</> or <literal>CREATE TABLE AS</>
1598 when <literal>WITH NO DATA</> is specified (Michael Paquier,
1603 This avoids some unnecessary failure conditions, for example if a
1604 stable function invoked by the materialized view depends on a table
1605 that doesn't exist yet.
1611 Avoid unsafe intermediate state during expensive paths
1612 through <function>heap_update()</> (Masahiko Sawada, Andres Freund)
1616 Previously, these cases locked the target tuple (by setting its XMAX)
1617 but did not WAL-log that action, thus risking data integrity problems
1618 if the page were spilled to disk and then a database crash occurred
1619 before the tuple update could be completed.
1625 Fix hint bit update during WAL replay of row locking operations
1630 The only known consequence of this problem is that row locks held by
1631 a prepared, but uncommitted, transaction might fail to be enforced
1632 after a crash and restart.
1638 Avoid unnecessary <quote>could not serialize access</> errors when
1639 acquiring <literal>FOR KEY SHARE</> row locks in serializable mode
1640 (Álvaro Herrera)
1646 Avoid crash in <literal>postgres -C</> when the specified variable
1647 has a null string value (Michael Paquier)
1653 Fix possible loss of large subtransactions in logical decoding
1654 (Petru-Florin Mihancea)
1660 Fix failure of logical decoding when a subtransaction contains no
1661 actual changes (Marko Tiikkaja, Andrew Gierth)
1667 Ensure that backends see up-to-date statistics for shared catalogs
1672 The statistics collector failed to update the statistics file for
1673 shared catalogs after a request from a regular backend. This problem
1674 was partially masked because the autovacuum launcher regularly makes
1675 requests that did cause such updates; however, it became obvious with
1676 autovacuum disabled.
1682 Avoid redundant writes of the statistics files when multiple
1683 backends request updates close together (Tom Lane, Tomas Vondra)
1689 Avoid consuming a transaction ID during <command>VACUUM</>
1690 (Alexander Korotkov)
1694 Some cases in <command>VACUUM</> unnecessarily caused an XID to be
1695 assigned to the current transaction. Normally this is negligible,
1696 but if one is up against the XID wraparound limit, consuming more
1697 XIDs during anti-wraparound vacuums is a very bad thing.
1703 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
1704 Branch: REL9_4_STABLE [7a0f09da7] 2016-05-25 19:39:49 -0400
1705 Branch: REL9_3_STABLE [6537a48c5] 2016-05-25 19:39:49 -0400
1706 Branch: REL9_2_STABLE [294509ea9] 2016-05-25 19:39:49 -0400
1707 Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400
1710 Avoid canceling hot-standby queries during <command>VACUUM FREEZE</>
1711 (Simon Riggs, Álvaro Herrera)
1715 <command>VACUUM FREEZE</> on an otherwise-idle master server could
1716 result in unnecessary cancellations of queries on its standby
1723 Prevent possible failure when vacuuming multixact IDs in an
1724 installation that has been pg_upgrade'd from pre-9.3 (Andrew Gierth,
1725 Álvaro Herrera)
1729 The usual symptom of this bug is errors
1730 like <quote>MultiXactId <replaceable>NNN</> has not been created
1731 yet -- apparent wraparound</quote>.
1737 When a manual <command>ANALYZE</> specifies a column list, don't
1738 reset the table's <literal>changes_since_analyze</> counter
1743 If we're only analyzing some columns, we should not prevent routine
1744 auto-analyze from happening for the other columns.
1750 Fix <command>ANALYZE</>'s overestimation of <literal>n_distinct</>
1751 for a unique or nearly-unique column with many null entries (Tom
1756 The nulls could get counted as though they were themselves distinct
1757 values, leading to serious planner misestimates in some types of
1764 Prevent autovacuum from starting multiple workers for the same shared
1765 catalog (Álvaro Herrera)
1769 Normally this isn't much of a problem because the vacuum doesn't take
1770 long anyway; but in the case of a severely bloated catalog, it could
1771 result in all but one worker uselessly waiting instead of doing
1772 useful work on other tables.
1778 Avoid duplicate buffer lock release when abandoning a b-tree index
1779 page deletion attempt (Tom Lane)
1783 This mistake prevented <command>VACUUM</> from completing in some
1784 cases involving corrupt b-tree indexes.
1790 Prevent infinite loop in GiST index build for geometric columns
1791 containing NaN component values (Tom Lane)
1797 Fix <filename>contrib/btree_gin</> to handle the smallest
1798 possible <type>bigint</> value correctly (Peter Eisentraut)
1804 Teach libpq to correctly decode server version from future servers
1809 It's planned to switch to two-part instead of three-part server
1810 version numbers for releases after 9.6. Make sure
1811 that <function>PQserverVersion()</> returns the correct value for
1818 Fix <application>ecpg</>'s code for <literal>unsigned long long</>
1819 array elements (Michael Meskes)
1825 In <application>pg_dump</> with both <option>-c</> and <option>-C</>
1826 options, avoid emitting an unwanted <literal>CREATE SCHEMA public</>
1827 command (David Johnston, Tom Lane)
1833 Improve handling of <systemitem>SIGTERM</>/control-C in
1834 parallel <application>pg_dump</> and <application>pg_restore</> (Tom
1839 Make sure that the worker processes will exit promptly, and also arrange
1840 to send query-cancel requests to the connected backends, in case they
1841 are doing something long-running such as a <command>CREATE INDEX</>.
1847 Fix error reporting in parallel <application>pg_dump</>
1848 and <application>pg_restore</> (Tom Lane)
1852 Previously, errors reported by <application>pg_dump</>
1853 or <application>pg_restore</> worker processes might never make it to
1854 the user's console, because the messages went through the master
1855 process, and there were various deadlock scenarios that would prevent
1856 the master process from passing on the messages. Instead, just print
1857 everything to <literal>stderr</>. In some cases this will result in
1858 duplicate messages (for instance, if all the workers report a server
1859 shutdown), but that seems better than no message.
1865 Ensure that parallel <application>pg_dump</>
1866 or <application>pg_restore</> on Windows will shut down properly
1867 after an error (Kyotaro Horiguchi)
1871 Previously, it would report the error, but then just sit until
1872 manually stopped by the user.
1878 Make <application>pg_dump</> behave better when built without zlib
1879 support (Kyotaro Horiguchi)
1883 It didn't work right for parallel dumps, and emitted some rather
1884 pointless warnings in other cases.
1890 Make <application>pg_basebackup</> accept <literal>-Z 0</> as
1891 specifying no compression (Fujii Masao)
1897 Fix makefiles' rule for building AIX shared libraries to be safe for
1898 parallel make (Noah Misch)
1904 Fix TAP tests and MSVC scripts to work when build directory's path
1905 name contains spaces (Michael Paquier, Kyotaro Horiguchi)
1911 Be more predictable about reporting <quote>statement timeout</>
1912 versus <quote>lock timeout</> (Tom Lane)
1916 On heavily loaded machines, the regression tests sometimes failed due
1917 to reporting <quote>lock timeout</> even though the statement timeout
1918 should have occurred first.
1924 Make regression tests safe for Danish and Welsh locales (Jeff Janes,
1929 Change some test data that triggered the unusual sorting rules of
1936 Update our copy of the timezone code to match
1937 IANA's <application>tzcode</> release 2016c (Tom Lane)
1941 This is needed to cope with anticipated future changes in the time
1942 zone data files. It also fixes some corner-case bugs in coping with
1949 Update time zone data files to <application>tzdata</> release 2016f
1950 for DST law changes in Kemerovo and Novosibirsk, plus historical
1951 corrections for Azerbaijan, Belarus, and Morocco.
1960 <sect1 id="release-9-4-8">
1961 <title>Release 9.4.8</title>
1964 <title>Release Date</title>
1965 <simpara>2016-05-12</simpara>
1969 This release contains a variety of fixes from 9.4.7.
1970 For information about new features in the 9.4 major release, see
1971 <xref linkend="release-9-4">.
1975 <title>Migration to Version 9.4.8</title>
1978 A dump/restore is not required for those running 9.4.X.
1982 However, if you are upgrading from a version earlier than 9.4.6,
1983 see <xref linkend="release-9-4-6">.
1988 <title>Changes</title>
1994 Clear the OpenSSL error queue before OpenSSL calls, rather than
1995 assuming it's clear already; and make sure we leave it clear
1996 afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)
2000 This change prevents problems when there are multiple connections
2001 using OpenSSL within a single process and not all the code involved
2002 follows the same rules for when to clear the error queue.
2003 Failures have been reported specifically when a client application
2004 uses SSL connections in <application>libpq</> concurrently with
2005 SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL.
2006 It's possible for similar problems to arise within the server as well,
2007 if an extension module establishes an outgoing SSL connection.
2013 Fix <quote>failed to build any <replaceable>N</>-way joins</quote>
2014 planner error with a full join enclosed in the right-hand side of a
2015 left join (Tom Lane)
2021 Fix incorrect handling of equivalence-class tests in multilevel
2022 nestloop plans (Tom Lane)
2026 Given a three-or-more-way equivalence class of variables, such
2027 as <literal>X.X = Y.Y = Z.Z</>, it was possible for the planner to omit
2028 some of the tests needed to enforce that all the variables are actually
2029 equal, leading to join rows being output that didn't satisfy
2030 the <literal>WHERE</> clauses. For various reasons, erroneous plans
2031 were seldom selected in practice, so that this bug has gone undetected
2038 Fix query-lifespan memory leak in GIN index scans (Julien Rouhaud)
2044 Fix query-lifespan memory leak and potential index corruption hazard in
2045 GIN index insertion (Tom Lane)
2049 The memory leak would typically not amount to much in simple queries,
2050 but it could be very substantial during a large GIN index build with
2051 high <varname>maintenance_work_mem</>.
2057 Fix possible misbehavior of <literal>TH</>, <literal>th</>,
2058 and <literal>Y,YYY</> format codes in <function>to_timestamp()</>
2063 These could advance off the end of the input string, causing subsequent
2064 format codes to read garbage.
2070 Fix dumping of rules and views in which the <replaceable>array</>
2071 argument of a <literal><replaceable>value</> <replaceable>operator</>
2072 ANY (<replaceable>array</>)</literal> construct is a sub-SELECT
2079 Disallow newlines in <command>ALTER SYSTEM</> parameter values
2084 The configuration-file parser doesn't support embedded newlines in
2085 string literals, so we mustn't allow them in values to be inserted
2086 by <command>ALTER SYSTEM</>.
2092 Fix <command>ALTER TABLE ... REPLICA IDENTITY USING INDEX</> to
2093 work properly if an index on OID is selected (David Rowley)
2099 Fix crash in logical decoding on alignment-picky platforms (Tom Lane,
2104 The failure occurred only with a transaction large enough to spill to
2105 disk and a primary-key change within that transaction.
2111 Avoid repeated requests for feedback from receiver while shutting down
2112 walsender (Nick Cleaton)
2118 Make <application>pg_regress</> use a startup timeout from the
2119 <envar>PGCTLTIMEOUT</> environment variable, if that's set (Tom Lane)
2123 This is for consistency with a behavior recently added
2124 to <application>pg_ctl</>; it eases automated testing on slow machines.
2130 Fix <application>pg_upgrade</> to correctly restore extension
2131 membership for operator families containing only one operator class
2136 In such a case, the operator family was restored into the new database,
2137 but it was no longer marked as part of the extension. This had no
2138 immediate ill effects, but would cause later <application>pg_dump</>
2139 runs to emit output that would cause (harmless) errors on restore.
2145 Fix <application>pg_upgrade</> to not fail when new-cluster TOAST rules
2146 differ from old (Tom Lane)
2150 <application>pg_upgrade</> had special-case code to handle the
2151 situation where the new <productname>PostgreSQL</> version thinks that
2152 a table should have a TOAST table while the old version did not. That
2153 code was broken, so remove it, and instead do nothing in such cases;
2154 there seems no reason to believe that we can't get along fine without
2155 a TOAST table if that was okay according to the old version's rules.
2161 Reduce the number of SysV semaphores used by a build configured with
2162 <option>--disable-spinlocks</> (Tom Lane)
2168 Rename internal function <function>strtoi()</>
2169 to <function>strtoint()</> to avoid conflict with a NetBSD library
2170 function (Thomas Munro)
2176 Fix reporting of errors from <function>bind()</>
2177 and <function>listen()</> system calls on Windows (Tom Lane)
2183 Reduce verbosity of compiler output when building with Microsoft Visual
2184 Studio (Christian Ullrich)
2190 Fix <function>putenv()</> to work properly with Visual Studio 2013
2197 Avoid possibly-unsafe use of Windows' <function>FormatMessage()</>
2198 function (Christian Ullrich)
2202 Use the <literal>FORMAT_MESSAGE_IGNORE_INSERTS</> flag where
2203 appropriate. No live bug is known to exist here, but it seems like a
2204 good idea to be careful.
2210 Update time zone data files to <application>tzdata</> release 2016d
2211 for DST law changes in Russia and Venezuela. There are new zone
2212 names <literal>Europe/Kirov</> and <literal>Asia/Tomsk</> to reflect
2213 the fact that these regions now have different time zone histories from
2223 <sect1 id="release-9-4-7">
2224 <title>Release 9.4.7</title>
2227 <title>Release Date</title>
2228 <simpara>2016-03-31</simpara>
2232 This release contains a variety of fixes from 9.4.6.
2233 For information about new features in the 9.4 major release, see
2234 <xref linkend="release-9-4">.
2238 <title>Migration to Version 9.4.7</title>
2241 A dump/restore is not required for those running 9.4.X.
2245 However, if you are upgrading from a version earlier than 9.4.6,
2246 see <xref linkend="release-9-4-6">.
2251 <title>Changes</title>
2257 Fix incorrect handling of NULL index entries in
2258 indexed <literal>ROW()</> comparisons (Tom Lane)
2262 An index search using a row comparison such as <literal>ROW(a, b) >
2263 ROW('x', 'y')</> would stop upon reaching a NULL entry in
2264 the <structfield>b</> column, ignoring the fact that there might be
2265 non-NULL <structfield>b</> values associated with later values
2266 of <structfield>a</>.
2272 Avoid unlikely data-loss scenarios due to renaming files without
2273 adequate <function>fsync()</> calls before and after (Michael Paquier,
2274 Tomas Vondra, Andres Freund)
2280 Fix bug in <function>json_to_record()</> when a field of its input
2281 object contains a sub-object with a field name matching one of the
2282 requested output column names (Tom Lane)
2288 Fix misformatting of negative time zone offsets
2289 by <function>to_char()</>'s <literal>OF</> format code
2290 (Thomas Munro, Tom Lane)
2296 Ignore <xref linkend="recovery-min-apply-delay"> parameter until
2297 recovery has reached a consistent state (Michael Paquier)
2301 Previously, standby servers would delay application of WAL records in
2302 response to <varname>recovery_min_apply_delay</> even while replaying
2303 the initial portion of WAL needed to make their database state valid.
2304 Since the standby is useless until it's reached a consistent database
2305 state, this was deemed unhelpful.
2311 Correctly handle cases where <literal>pg_subtrans</> is close to XID
2312 wraparound during server startup (Jeff Janes)
2318 Fix assorted bugs in logical decoding (Andres Freund)
2322 Trouble cases included tuples larger than one page when replica
2323 identity is <literal>FULL</>, <command>UPDATE</>s that change a
2324 primary key within a transaction large enough to be spooled to disk,
2325 incorrect reports of <quote>subxact logged without previous toplevel
2326 record</>, and incorrect reporting of a transaction's commit time.
2332 Fix planner error with nested security barrier views when the outer
2333 view has a <literal>WHERE</> clause containing a correlated subquery
2340 Fix corner-case crash due to trying to free <function>localeconv()</>
2341 output strings more than once (Tom Lane)
2347 Fix parsing of affix files for <literal>ispell</> dictionaries
2352 The code could go wrong if the affix file contained any characters
2353 whose byte length changes during case-folding, for
2354 example <literal>I</> in Turkish UTF8 locales.
2360 Avoid use of <function>sscanf()</> to parse <literal>ispell</>
2361 dictionary files (Artur Zakirov)
2365 This dodges a portability problem on FreeBSD-derived platforms
2372 Avoid a crash on old Windows versions (before 7SP1/2008R2SP1) with an
2373 AVX2-capable CPU and a Postgres build done with Visual Studio 2013
2378 This is a workaround for a bug in Visual Studio 2013's runtime
2379 library, which Microsoft have stated they will not fix in that
2386 Fix <application>psql</>'s tab completion logic to handle multibyte
2387 characters properly (Kyotaro Horiguchi, Robert Haas)
2393 Fix <application>psql</>'s tab completion for
2394 <literal>SECURITY LABEL</> (Tom Lane)
2398 Pressing TAB after <literal>SECURITY LABEL</> might cause a crash
2399 or offering of inappropriate keywords.
2405 Make <application>pg_ctl</> accept a wait timeout from the
2406 <envar>PGCTLTIMEOUT</> environment variable, if none is specified on
2407 the command line (Noah Misch)
2411 This eases testing of slower buildfarm members by allowing them
2412 to globally specify a longer-than-normal timeout for postmaster
2413 startup and shutdown.
2419 Fix incorrect test for Windows service status
2420 in <application>pg_ctl</> (Manuel Mathar)
2424 The previous set of minor releases attempted to
2425 fix <application>pg_ctl</> to properly determine whether to send log
2426 messages to Window's Event Log, but got the test backwards.
2432 Fix <application>pgbench</> to correctly handle the combination
2433 of <literal>-C</> and <literal>-M prepared</> options (Tom Lane)
2439 In <application>pg_upgrade</>, skip creating a deletion script when
2440 the new data directory is inside the old data directory (Bruce
2445 Blind application of the script in such cases would result in loss of
2446 the new data directory.
2452 In PL/Perl, properly translate empty Postgres arrays into empty Perl
2453 arrays (Alex Hunsaker)
2459 Make PL/Python cope with function names that aren't valid Python
2460 identifiers (Jim Nasby)
2466 Fix multiple mistakes in the statistics returned
2467 by <filename>contrib/pgstattuple</>'s <function>pgstatindex()</>
2474 Remove dependency on <literal>psed</> in MSVC builds, since it's no
2475 longer provided by core Perl (Michael Paquier, Andrew Dunstan)
2481 Update time zone data files to <application>tzdata</> release 2016c
2482 for DST law changes in Azerbaijan, Chile, Haiti, Palestine, and Russia
2483 (Altai, Astrakhan, Kirov, Sakhalin, Ulyanovsk regions), plus
2484 historical corrections for Lithuania, Moldova, and Russia
2485 (Kaliningrad, Samara, Volgograd).
2494 <sect1 id="release-9-4-6">
2495 <title>Release 9.4.6</title>
2498 <title>Release Date</title>
2499 <simpara>2016-02-11</simpara>
2503 This release contains a variety of fixes from 9.4.5.
2504 For information about new features in the 9.4 major release, see
2505 <xref linkend="release-9-4">.
2509 <title>Migration to Version 9.4.6</title>
2512 A dump/restore is not required for those running 9.4.X.
2516 However, if you are upgrading an installation that contains any GIN
2517 indexes that use the (non-default) <literal>jsonb_path_ops</> operator
2518 class, see the first changelog entry below.
2522 Also, if you are upgrading from a version earlier than 9.4.4,
2523 see <xref linkend="release-9-4-4">.
2528 <title>Changes</title>
2533 Author: Tom Lane <tgl@sss.pgh.pa.us>
2534 Branch: master [b23af4587] 2015-11-05 18:15:48 -0500
2535 Branch: REL9_5_STABLE Release: REL9_5_0 [4d867458f] 2015-11-05 18:15:48 -0500
2536 Branch: REL9_4_STABLE [788e35ac0] 2015-11-05 18:15:48 -0500
2541 Fix inconsistent hash calculations in <literal>jsonb_path_ops</> GIN
2546 When processing <type>jsonb</> values that contain both scalars and
2547 sub-objects at the same nesting level, for example an array containing
2548 both scalars and sub-arrays, key hash values could be calculated
2549 differently than they would be for the same key in a different context.
2550 This could result in queries not finding entries that they should find.
2551 Fixing this means that existing indexes may now be inconsistent with the
2552 new hash calculation code. Users
2553 should <command>REINDEX</> <literal>jsonb_path_ops</> GIN indexes after
2554 installing this update to make sure that all searches work as expected.
2560 Fix infinite loops and buffer-overrun problems in regular expressions
2565 Very large character ranges in bracket expressions could cause
2566 infinite loops in some cases, and memory overwrites in other cases.
2572 Author: Tom Lane <tgl@sss.pgh.pa.us>
2573 Branch: master [7e2a18a91] 2015-10-06 17:15:52 -0400
2574 Branch: REL9_5_STABLE Release: REL9_5_0 [02580df6c] 2015-10-06 17:15:27 -0400
2575 Branch: REL9_4_STABLE [3d701277f] 2015-10-06 17:15:27 -0400
2576 Branch: REL9_3_STABLE [31bc563b9] 2015-10-06 17:15:27 -0400
2577 Branch: REL9_2_STABLE [3d10f3970] 2015-10-06 17:15:27 -0400
2578 Branch: REL9_1_STABLE [dea6da132] 2015-10-06 17:15:27 -0400
2583 Perform an immediate shutdown if the <filename>postmaster.pid</> file
2584 is removed (Tom Lane)
2588 The postmaster now checks every minute or so
2589 that <filename>postmaster.pid</> is still there and still contains its
2590 own PID. If not, it performs an immediate shutdown, as though it had
2591 received <systemitem>SIGQUIT</>. The main motivation for this change
2592 is to ensure that failed buildfarm runs will get cleaned up without
2593 manual intervention; but it also serves to limit the bad effects if a
2594 DBA forcibly removes <filename>postmaster.pid</> and then starts a new
2600 Author: Kevin Grittner <kgrittn@postgresql.org>
2601 Branch: master [585e2a3b1] 2015-10-31 14:43:34 -0500
2602 Branch: REL9_5_STABLE Release: REL9_5_0 [50ca917d9] 2015-10-31 14:42:46 -0500
2603 Branch: REL9_4_STABLE [1d95617f7] 2015-10-31 14:45:15 -0500
2604 Branch: REL9_3_STABLE [18479293c] 2015-10-31 14:46:57 -0500
2605 Branch: REL9_2_STABLE [caff7fc3f] 2015-10-31 14:36:37 -0500
2606 Branch: REL9_1_STABLE [08322daed] 2015-10-31 14:36:58 -0500
2611 In <literal>SERIALIZABLE</> transaction isolation mode, serialization
2612 anomalies could be missed due to race conditions during insertions
2613 (Kevin Grittner, Thomas Munro)
2618 Author: Andres Freund <andres@anarazel.de>
2619 Branch: master [f54d0629e] 2015-12-12 14:17:39 +0100
2620 Branch: REL9_5_STABLE Release: REL9_5_0 [ada9c09ae] 2015-12-12 14:19:19 +0100
2621 Branch: REL9_4_STABLE [d638aeef6] 2015-12-12 14:19:23 +0100
2622 Branch: REL9_3_STABLE [9037bdc88] 2015-12-12 14:19:25 +0100
2623 Branch: REL9_2_STABLE [a15ad6708] 2015-12-12 14:19:51 +0100
2624 Branch: REL9_1_STABLE [5f9a86b35] 2015-12-12 14:19:29 +0100
2629 Fix failure to emit appropriate WAL records when doing <literal>ALTER
2630 TABLE ... SET TABLESPACE</> for unlogged relations (Michael Paquier,
2635 Even though the relation's data is unlogged, the move must be logged or
2636 the relation will be inaccessible after a standby is promoted to master.
2641 Author: Andres Freund <andres@anarazel.de>
2642 Branch: master [e3f4cfc7a] 2015-12-10 16:29:26 +0100
2643 Branch: REL9_5_STABLE Release: REL9_5_0 [5b51805fe] 2015-12-10 16:39:25 +0100
2644 Branch: REL9_4_STABLE [c6a67bbc7] 2015-12-10 16:29:26 +0100
2645 Branch: REL9_3_STABLE [b19405a44] 2015-12-10 16:29:27 +0100
2646 Branch: REL9_2_STABLE [2de281da2] 2015-12-10 16:29:27 +0100
2647 Branch: REL9_1_STABLE [3199c13fc] 2015-12-10 16:29:27 +0100
2652 Fix possible misinitialization of unlogged relations at the end of
2653 crash recovery (Andres Freund, Michael Paquier)
2658 Author: Magnus Hagander <magnus@hagander.net>
2659 Branch: master [263c19572] 2015-12-13 16:46:56 +0100
2660 Branch: REL9_5_STABLE Release: REL9_5_0 [a9c56ff0e] 2015-12-13 16:43:35 +0100
2661 Branch: REL9_4_STABLE [61c7bee21] 2015-12-13 16:43:52 +0100
2662 Branch: REL9_3_STABLE [a1fb84990] 2015-12-13 16:44:04 +0100
2667 Ensure walsender slots are fully re-initialized when being re-used
2673 Author: Tom Lane <tgl@sss.pgh.pa.us>
2674 Branch: master [074c5cfbf] 2015-11-20 14:55:47 -0500
2675 Branch: REL9_5_STABLE Release: REL9_5_0 [a35c5b7c1] 2015-11-20 14:55:28 -0500
2676 Branch: REL9_4_STABLE [47ea4614e] 2015-11-20 14:55:28 -0500
2677 Branch: REL9_3_STABLE [64349f1d2] 2015-11-20 14:55:29 -0500
2678 Branch: REL9_2_STABLE [c49279dfd] 2015-11-20 14:55:29 -0500
2679 Branch: REL9_1_STABLE [60ba32cb5] 2015-11-20 14:55:29 -0500
2684 Fix <command>ALTER COLUMN TYPE</> to reconstruct inherited check
2685 constraints properly (Tom Lane)
2690 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2691 Branch: REL9_4_STABLE [d07afa42d] 2015-12-21 19:49:15 -0300
2692 Branch: REL9_3_STABLE [bc72c3b3f] 2015-12-21 19:49:15 -0300
2693 Branch: REL9_2_STABLE [f9643d0d6] 2015-12-21 19:49:15 -0300
2694 Branch: REL9_1_STABLE [7e29e7f55] 2015-12-21 19:49:15 -0300
2699 Fix <command>REASSIGN OWNED</> to change ownership of composite types
2700 properly (Álvaro Herrera)
2705 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2706 Branch: REL9_4_STABLE [2c8ae6442] 2015-12-21 19:16:15 -0300
2707 Branch: REL9_3_STABLE [62e6eba8d] 2015-12-21 19:16:15 -0300
2708 Branch: REL9_2_STABLE [7af3dd540] 2015-12-21 19:16:15 -0300
2709 Branch: REL9_1_STABLE [ab14c1383] 2015-12-21 19:16:15 -0300
2714 Fix <command>REASSIGN OWNED</> and <command>ALTER OWNER</> to correctly
2715 update granted-permissions lists when changing owners of data types,
2716 foreign data wrappers, or foreign servers (Bruce Momjian,
2717 Álvaro Herrera)
2722 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2723 Branch: master [8c1615531] 2015-12-11 18:39:09 -0300
2724 Branch: REL9_5_STABLE Release: REL9_5_0 [31f88a12a] 2015-12-11 18:39:09 -0300
2725 Branch: REL9_4_STABLE [1f8757ad8] 2015-12-11 18:39:09 -0300
2726 Branch: REL9_3_STABLE [4626245bc] 2015-12-11 18:39:09 -0300
2727 Branch: REL9_2_STABLE [629842a8e] 2015-12-11 18:39:09 -0300
2728 Branch: REL9_1_STABLE [f44c5203b] 2015-12-11 18:39:09 -0300
2733 Fix <command>REASSIGN OWNED</> to ignore foreign user mappings,
2734 rather than fail (Álvaro Herrera)
2739 Author: Stephen Frost <sfrost@snowman.net>
2740 Branch: master [6f8cb1e23] 2015-12-21 10:34:14 -0500
2741 Branch: REL9_5_STABLE Release: REL9_5_0 [496943ec2] 2015-12-21 10:34:20 -0500
2742 Branch: REL9_4_STABLE [f02137da8] 2015-12-21 10:34:23 -0500
2743 Branch: REL9_3_STABLE [4271ed386] 2015-12-21 10:34:28 -0500
2748 Fix possible crash after doing query rewrite for an updatable view
2754 Author: Tom Lane <tgl@sss.pgh.pa.us>
2755 Branch: master [acfcd45ca] 2015-12-11 14:22:20 -0500
2756 Branch: REL9_5_STABLE Release: REL9_5_0 [564c19e86] 2015-12-11 14:22:20 -0500
2757 Branch: REL9_4_STABLE [7ad696066] 2015-12-11 14:22:20 -0500
2758 Branch: REL9_3_STABLE [260590e6b] 2015-12-11 14:22:20 -0500
2759 Branch: master [7e19db0c0] 2015-12-07 17:42:11 -0500
2760 Branch: REL9_5_STABLE Release: REL9_5_0 [25517ee14] 2015-12-07 17:41:45 -0500
2761 Branch: REL9_4_STABLE [0901d68ba] 2015-12-07 17:41:45 -0500
2762 Branch: REL9_3_STABLE [0a34ff7e9] 2015-12-07 17:41:45 -0500
2767 Fix planner's handling of <literal>LATERAL</> references (Tom
2772 This fixes some corner cases that led to <quote>failed to build any
2773 N-way joins</> or <quote>could not devise a query plan</> planner
2779 Author: Tom Lane <tgl@sss.pgh.pa.us>
2780 Branch: master [3c93a60f6] 2016-01-01 13:42:21 -0500
2781 Branch: REL9_5_STABLE Release: REL9_5_0 [d932391fd] 2016-01-01 13:42:30 -0500
2782 Branch: REL9_4_STABLE [76eccf07b] 2016-01-01 13:42:35 -0500
2783 Branch: REL9_3_STABLE [94114469f] 2016-01-01 13:42:39 -0500
2784 Branch: REL9_2_STABLE [8e79b24c5] 2016-01-01 13:42:43 -0500
2785 Branch: REL9_1_STABLE [60f8cc91d] 2016-01-01 13:42:48 -0500
2790 Add more defenses against bad planner cost estimates for GIN index
2791 scans when the index's internal statistics are very out-of-date
2797 Author: Tom Lane <tgl@sss.pgh.pa.us>
2798 Branch: master [7fb008c5e] 2015-12-01 16:24:34 -0500
2799 Branch: REL9_5_STABLE Release: REL9_5_0 [e9986a811] 2015-12-01 16:24:34 -0500
2800 Branch: REL9_4_STABLE [ab14e0e4c] 2015-12-01 16:24:34 -0500
2801 Branch: REL9_3_STABLE [52774e52d] 2015-12-01 16:24:34 -0500
2802 Branch: REL9_2_STABLE [3d4bdd2f9] 2015-12-01 16:24:35 -0500
2803 Branch: REL9_1_STABLE [7882143dc] 2015-12-01 16:24:35 -0500
2808 Make planner cope with hypothetical GIN indexes suggested by an index
2809 advisor plug-in (Julien Rouhaud)
2814 Author: Tom Lane <tgl@sss.pgh.pa.us>
2815 Branch: master [8004953b5] 2015-11-16 13:45:17 -0500
2816 Branch: REL9_5_STABLE Release: REL9_5_0 [34d4f49bb] 2015-11-16 13:45:17 -0500
2817 Branch: REL9_4_STABLE [a6c4c07fc] 2015-11-16 13:45:17 -0500
2818 Branch: REL9_3_STABLE [faf18a905] 2015-11-16 13:45:17 -0500
2823 Speed up generation of unique table aliases in <command>EXPLAIN</> and
2824 rule dumping, and ensure that generated aliases do not
2825 exceed <literal>NAMEDATALEN</> (Tom Lane)
2830 Author: Tom Lane <tgl@sss.pgh.pa.us>
2831 Branch: master [7745bc352] 2015-11-15 14:41:09 -0500
2832 Branch: REL9_5_STABLE Release: REL9_5_0 [0489a048d] 2015-11-15 14:41:09 -0500
2833 Branch: REL9_4_STABLE [d33ab56b0] 2015-11-15 14:41:09 -0500
2834 Branch: REL9_3_STABLE [7d0e87208] 2015-11-15 14:41:09 -0500
2835 Branch: REL9_2_STABLE [ed824cf80] 2015-11-15 14:41:09 -0500
2836 Branch: REL9_1_STABLE [7b21d1bca] 2015-11-15 14:41:09 -0500
2841 Fix dumping of whole-row Vars in <literal>ROW()</>
2842 and <literal>VALUES()</> lists (Tom Lane)
2847 Author: Tom Lane <tgl@sss.pgh.pa.us>
2848 Branch: master [d43554258] 2015-10-20 11:07:04 -0700
2849 Branch: REL9_5_STABLE Release: REL9_5_0 [5fb20a5ba] 2015-10-20 11:07:05 -0700
2850 Branch: REL9_4_STABLE [4f33572ee] 2015-10-20 11:06:24 -0700
2855 Translation of minus-infinity dates and timestamps to <type>json</>
2856 or <type>jsonb</> incorrectly rendered them as plus-infinity (Tom Lane)
2861 Author: Tom Lane <tgl@sss.pgh.pa.us>
2862 Branch: master [5f10b7a60] 2015-11-17 15:46:47 -0500
2863 Branch: REL9_5_STABLE Release: REL9_5_0 [80be41979] 2015-11-17 15:46:54 -0500
2864 Branch: REL9_4_STABLE [cc95595e0] 2015-11-17 15:46:59 -0500
2865 Branch: REL9_3_STABLE [7df6dc405] 2015-11-17 15:47:03 -0500
2866 Branch: REL9_2_STABLE [c47bdb372] 2015-11-17 15:47:08 -0500
2867 Branch: REL9_1_STABLE [728a2ac21] 2015-11-17 15:47:12 -0500
2872 Fix possible internal overflow in <type>numeric</> division
2878 Author: Tom Lane <tgl@sss.pgh.pa.us>
2879 Branch: master [a43b4ab11] 2015-11-07 12:43:24 -0500
2880 Branch: REL9_5_STABLE Release: REL9_5_0 [44fc25153] 2015-11-07 12:43:24 -0500
2881 Branch: REL9_4_STABLE [f69c01f2c] 2015-11-07 12:43:24 -0500
2882 Branch: REL9_3_STABLE [8db652359] 2015-11-07 12:43:24 -0500
2883 Branch: REL9_2_STABLE [bfb10db81] 2015-11-07 12:43:24 -0500
2884 Branch: REL9_1_STABLE [03ee6591d] 2015-11-07 12:43:24 -0500
2889 Fix enforcement of restrictions inside parentheses within regular
2890 expression lookahead constraints (Tom Lane)
2894 Lookahead constraints aren't allowed to contain backrefs, and
2895 parentheses within them are always considered non-capturing, according
2896 to the manual. However, the code failed to handle these cases properly
2897 inside a parenthesized subexpression, and would give unexpected
2903 Author: Tom Lane <tgl@sss.pgh.pa.us>
2904 Branch: master [9f1e642d5] 2015-10-19 13:54:53 -0700
2905 Branch: REL9_5_STABLE Release: REL9_5_0 [43e36f8dd] 2015-10-19 13:54:53 -0700
2906 Branch: REL9_4_STABLE [52f21c588] 2015-10-19 13:54:53 -0700
2907 Branch: REL9_3_STABLE [e69d4756e] 2015-10-19 13:54:54 -0700
2908 Branch: REL9_2_STABLE [05e62ff59] 2015-10-19 13:54:54 -0700
2909 Branch: REL9_1_STABLE [0ce829caf] 2015-10-19 13:54:54 -0700
2914 Conversion of regular expressions to indexscan bounds could produce
2915 incorrect bounds from regexps containing lookahead constraints
2921 Author: Tom Lane <tgl@sss.pgh.pa.us>
2922 Branch: master [48789c5d2] 2015-10-16 15:55:58 -0400
2923 Branch: REL9_5_STABLE Release: REL9_5_0 [0889e1857] 2015-10-16 15:56:00 -0400
2924 Branch: REL9_4_STABLE [b6eb5fc40] 2015-10-16 14:14:41 -0400
2925 Branch: REL9_3_STABLE [6e4dda796] 2015-10-16 14:14:41 -0400
2926 Branch: REL9_2_STABLE [83c34825e] 2015-10-16 14:14:41 -0400
2927 Branch: REL9_1_STABLE [d394f12c0] 2015-10-16 14:14:41 -0400
2932 Fix regular-expression compiler to handle loops of constraint arcs
2937 The code added for CVE-2007-4772 was both incomplete, in that it didn't
2938 handle loops involving more than one state, and incorrect, in that it
2939 could cause assertion failures (though there seem to be no bad
2940 consequences of that in a non-assert build). Multi-state loops would
2941 cause the compiler to run until the query was canceled or it reached
2942 the too-many-states error condition.
2947 Author: Tom Lane <tgl@sss.pgh.pa.us>
2948 Branch: master [538b3b8b3] 2015-10-16 15:55:59 -0400
2949 Branch: REL9_5_STABLE Release: REL9_5_0 [e91cfdead] 2015-10-16 15:56:00 -0400
2950 Branch: REL9_4_STABLE [0ecf4a9e5] 2015-10-16 15:36:17 -0400
2951 Branch: REL9_3_STABLE [ad5e5a62a] 2015-10-16 15:36:17 -0400
2952 Branch: REL9_2_STABLE [4e4610a8a] 2015-10-16 15:36:17 -0400
2953 Branch: REL9_1_STABLE [b94c2b6a6] 2015-10-16 15:36:17 -0400
2958 Improve memory-usage accounting in regular-expression compiler
2963 This causes the code to emit <quote>regular expression is too
2964 complex</> errors in some cases that previously used unreasonable
2965 amounts of time and memory.
2970 Author: Tom Lane <tgl@sss.pgh.pa.us>
2971 Branch: master [6a7153661] 2015-10-16 15:55:59 -0400
2972 Branch: REL9_5_STABLE Release: REL9_5_0 [1bb0fbca3] 2015-10-16 15:56:00 -0400
2973 Branch: REL9_4_STABLE [9774fda86] 2015-10-16 15:11:49 -0400
2974 Branch: REL9_3_STABLE [2a8d6e4d0] 2015-10-16 15:11:49 -0400
2975 Branch: REL9_2_STABLE [a257b808a] 2015-10-16 15:11:49 -0400
2976 Branch: REL9_1_STABLE [067f96fe3] 2015-10-16 15:11:49 -0400
2977 Branch: master [f5b7d103b] 2015-10-16 15:55:59 -0400
2978 Branch: REL9_5_STABLE Release: REL9_5_0 [e9cf3dc30] 2015-10-16 15:56:00 -0400
2979 Branch: REL9_4_STABLE [8cf4eed0b] 2015-10-16 14:58:11 -0400
2980 Branch: REL9_3_STABLE [677e64cb8] 2015-10-16 14:58:11 -0400
2981 Branch: REL9_2_STABLE [18b032f8f] 2015-10-16 14:58:11 -0400
2982 Branch: REL9_1_STABLE [5503e6e0f] 2015-10-16 14:58:11 -0400
2983 Branch: master [579840ca0] 2015-10-16 15:55:59 -0400
2984 Branch: REL9_5_STABLE Release: REL9_5_0 [cff9e0659] 2015-10-16 15:56:00 -0400
2985 Branch: REL9_4_STABLE [bdde29e1c] 2015-10-16 14:43:18 -0400
2986 Branch: REL9_3_STABLE [296241635] 2015-10-16 14:43:18 -0400
2987 Branch: REL9_2_STABLE [a2ad467ae] 2015-10-16 14:43:18 -0400
2988 Branch: REL9_1_STABLE [b00c79b5b] 2015-10-16 14:43:18 -0400
2993 Improve performance of regular-expression compiler (Tom Lane)
2999 Make <literal>%h</> and <literal>%r</> escapes
3000 in <varname>log_line_prefix</> work for messages emitted due
3001 to <varname>log_connections</> (Tom Lane)
3005 Previously, <literal>%h</>/<literal>%r</> started to work just after a
3006 new session had emitted the <quote>connection received</> log message;
3007 now they work for that message too.
3012 Author: Tom Lane <tgl@sss.pgh.pa.us>
3013 Branch: master [869f693a3] 2015-10-13 11:21:33 -0400
3014 Branch: REL9_5_STABLE Release: REL9_5_0 [39ac29394] 2015-10-13 11:21:33 -0400
3015 Branch: REL9_4_STABLE [44a6e24fb] 2015-10-13 11:21:33 -0400
3016 Branch: REL9_3_STABLE [bc6b03bb8] 2015-10-13 11:21:33 -0400
3017 Branch: REL9_2_STABLE [39cd1bdb8] 2015-10-13 11:21:33 -0400
3018 Branch: REL9_1_STABLE [b0d858359] 2015-10-13 11:21:33 -0400
3023 On Windows, ensure the shared-memory mapping handle gets closed in
3024 child processes that don't need it (Tom Lane, Amit Kapila)
3028 This oversight resulted in failure to recover from crashes
3029 whenever <varname>logging_collector</> is turned on.
3034 Author: Tom Lane <tgl@sss.pgh.pa.us>
3035 Branch: REL9_4_STABLE [add6d821b] 2016-01-04 17:41:33 -0500
3036 Branch: REL9_3_STABLE [0f527f73b] 2016-01-04 17:41:33 -0500
3037 Branch: REL9_2_STABLE [9b2eacba7] 2016-01-04 17:41:33 -0500
3038 Branch: REL9_1_STABLE [d05103b77] 2016-01-04 17:41:33 -0500
3043 Fix possible failure to detect socket EOF in non-blocking mode on
3048 It's not entirely clear whether this problem can happen in pre-9.5
3049 branches, but if it did, the symptom would be that a walsender process
3050 would wait indefinitely rather than noticing a loss of connection.
3056 Avoid leaking a token handle during SSPI authentication
3062 Author: Tom Lane <tgl@sss.pgh.pa.us>
3063 Branch: master [2ec477dc8] 2015-12-16 16:59:35 -0500
3064 Branch: REL9_5_STABLE Release: REL9_5_0 [f1c152866] 2015-12-16 16:58:55 -0500
3065 Branch: REL9_4_STABLE [e168dfef6] 2015-12-16 16:58:55 -0500
3066 Branch: REL9_3_STABLE [9afe392dc] 2015-12-16 16:58:56 -0500
3067 Branch: REL9_2_STABLE [bcce4a5e3] 2015-12-16 16:58:56 -0500
3068 Branch: REL9_1_STABLE [03b138e90] 2015-12-16 16:58:56 -0500
3069 Branch: master [aee7705be] 2015-12-17 16:55:23 -0500
3070 Branch: REL9_5_STABLE Release: REL9_5_0 [5ec0aad01] 2015-12-17 16:55:33 -0500
3071 Branch: REL9_4_STABLE [acb6c64f4] 2015-12-17 16:55:39 -0500
3072 Branch: REL9_3_STABLE [09b7abc27] 2015-12-17 16:55:43 -0500
3073 Branch: REL9_2_STABLE [b41777988] 2015-12-17 16:55:47 -0500
3074 Branch: REL9_1_STABLE [db462a44e] 2015-12-17 16:55:51 -0500
3079 In <application>psql</>, ensure that <application>libreadline</>'s idea
3080 of the screen size is updated when the terminal window size changes
3085 Previously, <application>libreadline</> did not notice if the window
3086 was resized during query output, leading to strange behavior during
3087 later input of multiline queries.
3093 Fix <application>psql</>'s <literal>\det</> command to interpret its
3094 pattern argument the same way as other <literal>\d</> commands with
3095 potentially schema-qualified patterns do (Reece Hart)
3100 Author: Tom Lane <tgl@sss.pgh.pa.us>
3101 Branch: master [c5ef8ce53] 2015-11-25 17:31:53 -0500
3102 Branch: REL9_5_STABLE Release: REL9_5_0 [55a2cc844] 2015-11-25 17:31:53 -0500
3103 Branch: REL9_4_STABLE [3d357b48f] 2015-11-25 17:31:53 -0500
3104 Branch: REL9_3_STABLE [64b7079e5] 2015-11-25 17:31:53 -0500
3105 Branch: REL9_2_STABLE [d44b4deaa] 2015-11-25 17:31:54 -0500
3106 Branch: REL9_1_STABLE [6430a11fa] 2015-11-25 17:31:54 -0500
3111 Avoid possible crash in <application>psql</>'s <literal>\c</> command
3112 when previous connection was via Unix socket and command specifies a
3113 new hostname and same username (Tom Lane)
3118 Author: Tom Lane <tgl@sss.pgh.pa.us>
3119 Branch: master [6bcce2580] 2015-10-12 18:30:36 -0400
3120 Branch: REL9_5_STABLE Release: REL9_5_0 [a151a5c38] 2015-10-12 18:30:36 -0400
3121 Branch: REL9_4_STABLE [57f54b5e4] 2015-10-12 18:30:36 -0400
3122 Branch: REL9_3_STABLE [dfe572de0] 2015-10-12 18:30:37 -0400
3123 Branch: REL9_2_STABLE [250108b6f] 2015-10-12 18:30:37 -0400
3124 Branch: REL9_1_STABLE [c869a7d5b] 2015-10-12 18:30:37 -0400
3129 In <literal>pg_ctl start -w</>, test child process status directly
3130 rather than relying on heuristics (Tom Lane, Michael Paquier)
3134 Previously, <application>pg_ctl</> relied on an assumption that the new
3135 postmaster would always create <filename>postmaster.pid</> within five
3136 seconds. But that can fail on heavily-loaded systems,
3137 causing <application>pg_ctl</> to report incorrectly that the
3138 postmaster failed to start.
3142 Except on Windows, this change also means that a <literal>pg_ctl start
3143 -w</> done immediately after another such command will now reliably
3144 fail, whereas previously it would report success if done within two
3145 seconds of the first command.
3150 Author: Noah Misch <noah@leadboat.com>
3151 Branch: master [fed19f312] 2015-11-08 17:28:53 -0500
3152 Branch: REL9_5_STABLE Release: REL9_5_0 [bdb42bac3] 2015-11-08 17:29:47 -0500
3153 Branch: REL9_4_STABLE [24379a45c] 2015-11-08 17:31:21 -0500
3154 Branch: REL9_3_STABLE [34725292d] 2015-11-08 17:31:22 -0500
3155 Branch: REL9_2_STABLE [99027350e] 2015-11-08 17:31:23 -0500
3156 Branch: REL9_1_STABLE [87deb55a4] 2015-11-08 17:31:24 -0500
3161 In <literal>pg_ctl start -w</>, don't attempt to use a wildcard listen
3162 address to connect to the postmaster (Kondo Yuta)
3166 On Windows, <application>pg_ctl</> would fail to detect postmaster
3167 startup if <varname>listen_addresses</> is set to <literal>0.0.0.0</>
3168 or <literal>::</>, because it would try to use that value verbatim as
3169 the address to connect to, which doesn't work. Instead assume
3170 that <literal>127.0.0.1</> or <literal>::1</>, respectively, is the
3177 In <application>pg_ctl</> on Windows, check service status to decide
3178 where to send output, rather than checking if standard output is a
3179 terminal (Michael Paquier)
3184 Author: Tom Lane <tgl@sss.pgh.pa.us>
3185 Branch: master [00cdd8352] 2015-11-21 20:21:31 -0500
3186 Branch: REL9_5_STABLE Release: REL9_5_0 [5f5e68b08] 2015-11-21 20:21:32 -0500
3187 Branch: REL9_4_STABLE [7acad9546] 2015-11-21 20:22:39 -0500
3188 Branch: REL9_3_STABLE [0e6185283] 2015-11-21 20:21:32 -0500
3189 Branch: REL9_2_STABLE [b054ca031] 2015-11-21 20:21:32 -0500
3190 Branch: REL9_1_STABLE [8f1559aa5] 2015-11-21 20:21:32 -0500
3191 Branch: REL9_2_STABLE [05c9bc063] 2015-11-23 00:32:01 -0500
3192 Branch: REL9_1_STABLE [6df62ef43] 2015-11-23 00:32:01 -0500
3197 In <application>pg_dump</> and <application>pg_basebackup</>, adopt
3198 the GNU convention for handling tar-archive members exceeding 8GB
3203 The POSIX standard for <literal>tar</> file format does not allow
3204 archive member files to exceed 8GB, but most modern implementations
3205 of <application>tar</> support an extension that fixes that. Adopt
3206 this extension so that <application>pg_dump</> with <option>-Ft</> no
3207 longer fails on tables with more than 8GB of data, and so
3208 that <application>pg_basebackup</> can handle files larger than 8GB.
3209 In addition, fix some portability issues that could cause failures for
3210 members between 4GB and 8GB on some platforms. Potentially these
3211 problems could cause unrecoverable data loss due to unreadable backup
3218 Fix assorted corner-case bugs in <application>pg_dump</>'s processing
3219 of extension member objects (Tom Lane)
3225 Make <application>pg_dump</> mark a view's triggers as needing to be
3226 processed after its rule, to prevent possible failure during
3227 parallel <application>pg_restore</> (Tom Lane)
3232 Author: Tom Lane <tgl@sss.pgh.pa.us>
3233 Branch: master [c7e27becd] 2016-01-01 15:27:53 -0500
3234 Branch: REL9_5_STABLE Release: REL9_5_0 [404c45bac] 2016-01-01 15:27:53 -0500
3235 Branch: REL9_4_STABLE [f9b3b3fec] 2016-01-01 15:27:53 -0500
3236 Branch: REL9_3_STABLE [babf38e88] 2016-01-01 15:27:53 -0500
3237 Branch: REL9_2_STABLE [69cfe15b5] 2016-01-01 15:27:53 -0500
3238 Branch: REL9_1_STABLE [85dbc46bd] 2016-01-01 15:27:53 -0500
3239 Branch: master [b416c0bb6] 2016-01-02 19:04:45 -0500
3240 Branch: REL9_5_STABLE Release: REL9_5_0 [b01828e97] 2016-01-02 19:04:45 -0500
3241 Branch: REL9_4_STABLE [aab4b73bd] 2016-01-02 19:04:45 -0500
3242 Branch: REL9_3_STABLE [6a0d63d35] 2016-01-02 19:04:45 -0500
3243 Branch: REL9_2_STABLE [1eb515ad7] 2016-01-02 19:04:45 -0500
3244 Branch: REL9_1_STABLE [e4959fb5c] 2016-01-02 19:04:45 -0500
3249 Ensure that relation option values are properly quoted
3250 in <application>pg_dump</> (Kouhei Sutou, Tom Lane)
3254 A reloption value that isn't a simple identifier or number could lead
3255 to dump/reload failures due to syntax errors in CREATE statements
3256 issued by <application>pg_dump</>. This is not an issue with any
3257 reloption currently supported by core <productname>PostgreSQL</>, but
3258 extensions could allow reloptions that cause the problem.
3263 Author: Tom Lane <tgl@sss.pgh.pa.us>
3264 Branch: master [1aa41e3ea] 2015-12-23 14:25:53 -0500
3265 Branch: REL9_5_STABLE Release: REL9_5_0 [a21994c1b] 2015-12-23 14:25:31 -0500
3266 Branch: REL9_4_STABLE [f56802a2d] 2015-12-23 14:25:31 -0500
3267 Branch: REL9_3_STABLE [534a4159c] 2015-12-23 14:25:31 -0500
3272 Avoid repeated password prompts during parallel <application>pg_dump</>
3278 Author: Bruce Momjian <bruce@momjian.us>
3279 Branch: master [025106e31] 2015-11-14 11:47:12 -0500
3280 Branch: REL9_5_STABLE Release: REL9_5_0 [fae58d5be] 2015-11-14 11:47:11 -0500
3281 Branch: REL9_4_STABLE [87cdfeb18] 2015-11-14 11:47:11 -0500
3282 Branch: REL9_3_STABLE [a75efb483] 2015-11-14 11:47:11 -0500
3283 Branch: REL9_2_STABLE [b4c4220ed] 2015-11-14 11:47:11 -0500
3284 Branch: REL9_1_STABLE [bdcbc2b47] 2015-11-14 11:47:11 -0500
3285 Branch: master [13b30c16f] 2015-11-24 17:18:28 -0500
3286 Branch: REL9_5_STABLE Release: REL9_5_0 [b17dbf262] 2015-11-24 17:18:28 -0500
3287 Branch: REL9_4_STABLE [f91c4e326] 2015-11-24 17:18:28 -0500
3288 Branch: REL9_3_STABLE [6638c9aaf] 2015-11-24 17:18:27 -0500
3289 Branch: REL9_2_STABLE [0ca3c51e5] 2015-11-24 17:18:27 -0500
3290 Branch: REL9_1_STABLE [c36064e43] 2015-11-24 17:18:27 -0500
3295 Fix <application>pg_upgrade</>'s file-copying code to handle errors
3296 properly on Windows (Bruce Momjian)
3302 Install guards in <application>pgbench</> against corner-case overflow
3303 conditions during evaluation of script-specified division or modulo
3304 operators (Fabien Coelho, Michael Paquier)
3309 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3310 Branch: master [fc995bfdb] 2015-12-28 10:50:35 -0300
3311 Branch: REL9_5_STABLE Release: REL9_5_0 [c3e068b26] 2015-12-28 10:50:35 -0300
3312 Branch: REL9_4_STABLE [f98bc20dd] 2015-12-28 10:50:35 -0300
3313 Branch: REL9_3_STABLE [7533d5d35] 2015-12-28 10:50:35 -0300
3314 Branch: REL9_2_STABLE [4fb9e6109] 2015-12-28 10:50:35 -0300
3319 Fix failure to localize messages emitted
3320 by <application>pg_receivexlog</> and <application>pg_recvlogical</>
3327 Avoid dump/reload problems when using both <application>plpython2</>
3328 and <application>plpython3</> (Tom Lane)
3332 In principle, both versions of <application>PL/Python</> can be used in
3333 the same database, though not in the same session (because the two
3334 versions of <application>libpython</> cannot safely be used concurrently).
3335 However, <application>pg_restore</> and <application>pg_upgrade</> both
3336 do things that can fall foul of the same-session restriction. Work
3337 around that by changing the timing of the check.
3343 Fix <application>PL/Python</> regression tests to pass with Python 3.5
3349 Author: Tom Lane <tgl@sss.pgh.pa.us>
3350 Branch: master [c40591885] 2015-11-12 13:03:52 -0500
3351 Branch: REL9_5_STABLE Release: REL9_5_0 [747854f01] 2015-11-12 13:03:52 -0500
3352 Branch: REL9_4_STABLE [40879a92b] 2015-11-12 13:03:52 -0500
3353 Branch: REL9_3_STABLE [db6e8e162] 2015-11-12 13:03:53 -0500
3358 Fix premature clearing of <application>libpq</>'s input buffer when
3359 socket EOF is seen (Tom Lane)
3363 This mistake caused <application>libpq</> to sometimes not report the
3364 backend's final error message before reporting <quote>server closed the
3365 connection unexpectedly</>.
3371 Prevent certain <application>PL/Java</> parameters from being set by
3372 non-superusers (Noah Misch)
3376 This change mitigates a <application>PL/Java</> security bug
3377 (CVE-2016-0766), which was fixed in <application>PL/Java</> by marking
3378 these parameters as superuser-only. To fix the security hazard for
3379 sites that update <productname>PostgreSQL</> more frequently
3380 than <application>PL/Java</>, make the core code aware of them also.
3385 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3386 Branch: master [7b96bf445] 2015-12-14 18:19:10 +0200
3387 Branch: REL9_5_STABLE Release: REL9_5_0 [34d136f92] 2015-12-14 18:24:58 +0200
3388 Branch: REL9_4_STABLE [affae5e98] 2015-12-14 18:40:51 +0200
3389 Branch: REL9_3_STABLE [dee1ed54f] 2015-12-14 18:52:29 +0200
3390 Branch: REL9_2_STABLE [1e23caae3] 2015-12-14 18:41:11 +0200
3391 Branch: REL9_1_STABLE [4b58ded74] 2015-12-14 18:48:49 +0200
3396 Improve <application>libpq</>'s handling of out-of-memory situations
3397 (Michael Paquier, Amit Kapila, Heikki Linnakangas)
3402 Author: Michael Meskes <meskes@postgresql.org>
3403 Branch: REL9_5_STABLE Release: REL9_5_0 [937261454] 2015-10-18 10:15:18 +0200
3404 Branch: REL9_4_STABLE [a850d7136] 2015-10-18 10:16:36 +0200
3405 Branch: REL9_3_STABLE [defd2ecf4] 2015-10-18 10:16:49 +0200
3406 Branch: REL9_2_STABLE [8f67643be] 2015-10-18 10:17:01 +0200
3407 Branch: REL9_1_STABLE [a9bcd8370] 2015-10-18 10:17:12 +0200
3412 Fix order of arguments
3413 in <application>ecpg</>-generated <literal>typedef</> statements
3419 Author: Tom Lane <tgl@sss.pgh.pa.us>
3420 Branch: master [db4a5cfc7] 2015-12-01 11:42:25 -0500
3421 Branch: REL9_5_STABLE Release: REL9_5_0 [c79bdc990] 2015-12-01 11:42:35 -0500
3422 Branch: REL9_4_STABLE [346cc2f01] 2015-12-01 11:42:39 -0500
3423 Branch: REL9_3_STABLE [3e6e98c5a] 2015-12-01 11:42:43 -0500
3424 Branch: REL9_2_STABLE [74cf6defa] 2015-12-01 11:42:47 -0500
3425 Branch: REL9_1_STABLE [84387496f] 2015-12-01 11:42:52 -0500
3430 Use <literal>%g</> not <literal>%f</> format
3431 in <application>ecpg</>'s <function>PGTYPESnumeric_from_double()</>
3438 Fix <application>ecpg</>-supplied header files to not contain comments
3439 continued from a preprocessor directive line onto the next line
3444 Such a comment is rejected by <application>ecpg</>. It's not yet clear
3445 whether <application>ecpg</> itself should be changed.
3451 Fix <function>hstore_to_json_loose()</>'s test for whether
3452 an <type>hstore</> value can be converted to a JSON number (Tom Lane)
3456 Previously this function could be fooled by non-alphanumeric trailing
3457 characters, leading to emitting syntactically-invalid JSON.
3462 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
3463 Branch: master [743229a67] 2015-12-27 13:03:19 -0300
3464 Branch: REL9_5_STABLE Release: REL9_5_0 [c886c30cc] 2015-12-27 13:03:19 -0300
3465 Branch: REL9_4_STABLE [0a29cf693] 2015-12-27 13:03:19 -0300
3466 Branch: REL9_3_STABLE [0244677cf] 2015-12-27 13:03:19 -0300
3467 Branch: REL9_2_STABLE [51dd54ba7] 2015-12-27 13:03:19 -0300
3468 Branch: REL9_1_STABLE [1b6102eb7] 2015-12-27 13:03:19 -0300
3473 Ensure that <filename>contrib/pgcrypto</>'s <function>crypt()</>
3474 function can be interrupted by query cancel (Andreas Karlsson)
3480 In <filename>contrib/postgres_fdw</>, fix bugs triggered by use
3481 of <literal>tableoid</> in data-modifying commands (Etsuro Fujita,
3487 Author: Tom Lane <tgl@sss.pgh.pa.us>
3488 Branch: master [32f15d05c] 2015-11-18 17:45:05 -0500
3489 Branch: REL9_5_STABLE Release: REL9_5_0 [659d47292] 2015-11-18 17:45:05 -0500
3490 Branch: REL9_4_STABLE [d5bb7c6f6] 2015-11-18 17:45:05 -0500
3491 Branch: REL9_3_STABLE [ae81d4fb1] 2015-11-18 17:45:05 -0500
3492 Branch: REL9_2_STABLE [6e1d26f1f] 2015-11-18 17:45:06 -0500
3493 Branch: REL9_1_STABLE [b4afc39f7] 2015-11-18 17:45:06 -0500
3494 Branch: master [9c779c49e] 2015-12-10 10:19:13 -0500
3495 Branch: REL9_5_STABLE Release: REL9_5_0 [2355faae0] 2015-12-10 10:19:18 -0500
3496 Branch: REL9_4_STABLE [ee0df4d77] 2015-12-10 10:19:22 -0500
3497 Branch: REL9_3_STABLE [b3e377a00] 2015-12-10 10:19:27 -0500
3498 Branch: REL9_2_STABLE [7f94a5c10] 2015-12-10 10:19:31 -0500
3503 Accept <application>flex</> versions later than 2.5.x
3504 (Tom Lane, Michael Paquier)
3508 Now that flex 2.6.0 has been released, the version checks in our build
3509 scripts needed to be adjusted.
3515 Improve reproducibility of build output by ensuring filenames are given
3516 to the linker in a fixed order (Christoph Berg)
3520 This avoids possible bitwise differences in the produced executable
3521 files from one build to the next.
3526 Author: Tom Lane <tgl@sss.pgh.pa.us>
3527 Branch: master [dccf8e9e6] 2015-12-11 16:15:05 -0500
3528 Branch: REL9_5_STABLE Release: REL9_5_0 [6061aa8ed] 2015-12-11 16:15:06 -0500
3529 Branch: REL9_4_STABLE [423697e3d] 2015-12-11 16:14:36 -0500
3530 Branch: REL9_3_STABLE [1ebe75a2c] 2015-12-11 16:14:40 -0500
3531 Branch: REL9_2_STABLE [98467b35d] 2015-12-11 16:14:44 -0500
3532 Branch: REL9_1_STABLE [2a37a103b] 2015-12-11 16:14:48 -0500
3537 Install our <filename>missing</> script where PGXS builds can find it
3542 This allows sane behavior in a PGXS build done on a machine where build
3543 tools such as <application>bison</> are missing.
3549 Ensure that <filename>dynloader.h</> is included in the installed
3550 header files in MSVC builds (Bruce Momjian, Michael Paquier)
3555 Author: Tom Lane <tgl@sss.pgh.pa.us>
3556 Branch: master [085423e3e] 2015-12-11 19:09:04 -0500
3557 Branch: REL9_5_STABLE Release: REL9_5_0 [ea7f7d8b3] 2015-12-11 19:08:40 -0500
3558 Branch: REL9_4_STABLE [09824cd99] 2015-12-11 19:08:40 -0500
3559 Branch: REL9_3_STABLE [fee485815] 2015-12-11 19:08:40 -0500
3560 Branch: REL9_2_STABLE [f5eebea8d] 2015-12-11 19:08:40 -0500
3561 Branch: REL9_1_STABLE [386dcd539] 2015-12-11 19:08:40 -0500
3566 Add variant regression test expected-output file to match behavior of
3567 current <application>libxml2</> (Tom Lane)
3571 The fix for <application>libxml2</>'s CVE-2015-7499 causes it not to
3572 output error context reports in some cases where it used to do so.
3573 This seems to be a bug, but we'll probably have to live with it for
3574 some time, so work around it.
3580 Update time zone data files to <application>tzdata</> release 2016a for
3581 DST law changes in Cayman Islands, Metlakatla, and Trans-Baikal
3582 Territory (Zabaykalsky Krai), plus historical corrections for Pakistan.
3591 <sect1 id="release-9-4-5">
3592 <title>Release 9.4.5</title>
3595 <title>Release Date</title>
3596 <simpara>2015-10-08</simpara>
3600 This release contains a variety of fixes from 9.4.4.
3601 For information about new features in the 9.4 major release, see
3602 <xref linkend="release-9-4">.
3606 <title>Migration to Version 9.4.5</title>
3609 A dump/restore is not required for those running 9.4.X.
3613 However, if you are upgrading from a version earlier than 9.4.4,
3614 see <xref linkend="release-9-4-4">.
3619 <title>Changes</title>
3624 Author: Noah Misch <noah@leadboat.com>
3625 Branch: master [08fa47c48] 2015-10-05 10:06:29 -0400
3626 Branch: REL9_5_STABLE [98f30d2e5] 2015-10-05 10:06:33 -0400
3627 Branch: REL9_4_STABLE [16d58b5b5] 2015-10-05 10:06:34 -0400
3628 Branch: REL9_3_STABLE [f8862172e] 2015-10-05 10:06:34 -0400
3633 Guard against stack overflows in <type>json</> parsing
3638 If an application constructs PostgreSQL <type>json</>
3639 or <type>jsonb</> values from arbitrary user input, the application's
3640 users can reliably crash the PostgreSQL server, causing momentary
3641 denial of service. (CVE-2015-5289)
3646 Author: Noah Misch <noah@leadboat.com>
3647 Branch: master [1d812c8b0] 2015-10-05 10:06:29 -0400
3648 Branch: REL9_5_STABLE [4d6752277] 2015-10-05 10:06:33 -0400
3649 Branch: REL9_4_STABLE [4d95419e8] 2015-10-05 10:06:34 -0400
3650 Branch: REL9_3_STABLE [cc1210f0a] 2015-10-05 10:06:34 -0400
3651 Branch: REL9_2_STABLE [56232f987] 2015-10-05 10:06:35 -0400
3652 Branch: REL9_1_STABLE [48f6310bc] 2015-10-05 10:06:35 -0400
3653 Branch: REL9_0_STABLE [188e081ef] 2015-10-05 10:06:36 -0400
3658 Fix <filename>contrib/pgcrypto</> to detect and report
3659 too-short <function>crypt()</> salts (Josh Kupershmidt)
3663 Certain invalid salt arguments crashed the server or disclosed a few
3664 bytes of server memory. We have not ruled out the viability of
3665 attacks that arrange for presence of confidential information in the
3666 disclosed bytes, but they seem unlikely. (CVE-2015-5288)
3671 Author: Tom Lane <tgl@sss.pgh.pa.us>
3672 Branch: master [c5454f99c] 2015-09-04 13:37:14 -0400
3673 Branch: REL9_5_STABLE [a2538da89] 2015-09-04 13:37:16 -0400
3674 Branch: REL9_4_STABLE [37d10c524] 2015-09-04 13:37:17 -0400
3675 Branch: REL9_3_STABLE [9e9b310d8] 2015-09-04 13:36:50 -0400
3676 Branch: REL9_2_STABLE [39ebb6466] 2015-09-04 13:36:50 -0400
3677 Branch: REL9_1_STABLE [dae1c9480] 2015-09-04 13:36:50 -0400
3678 Branch: REL9_0_STABLE [81ee435c4] 2015-09-04 13:36:50 -0400
3683 Fix subtransaction cleanup after a portal (cursor) belonging to an
3684 outer subtransaction fails (Tom Lane, Michael Paquier)
3688 A function executed in an outer-subtransaction cursor could cause an
3689 assertion failure or crash by referencing a relation created within an
3690 inner subtransaction.
3695 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
3696 Branch: master [358cde320] 2015-08-02 20:08:10 +0300
3697 Branch: REL9_5_STABLE [54f23a45f] 2015-08-02 20:08:50 +0300
3698 Branch: REL9_4_STABLE [bab959906] 2015-08-02 20:09:05 +0300
3703 Fix possible deadlock during WAL insertion
3704 when <varname>commit_delay</> is set (Heikki Linnakangas)
3709 Author: Stephen Frost <sfrost@snowman.net>
3710 Branch: master [c3e0ddd40] 2015-09-08 17:02:49 -0400
3711 Branch: REL9_5_STABLE [9801bae21] 2015-09-08 17:02:53 -0400
3712 Branch: REL9_4_STABLE [83d004904] 2015-09-08 17:02:56 -0400
3713 Branch: REL9_3_STABLE [cb1b9b959] 2015-09-08 17:02:59 -0400
3718 Ensure all relations referred to by an updatable view are properly
3719 locked during an update statement (Dean Rasheed)
3724 Author: Tom Lane <tgl@sss.pgh.pa.us>
3725 Branch: master Release: REL9_5_BR [5d1ff6bd5] 2015-06-25 14:39:05 -0400
3726 Branch: REL9_4_STABLE [e118555cf] 2015-06-25 14:39:05 -0400
3727 Branch: REL9_3_STABLE [834aa56ea] 2015-06-25 14:39:05 -0400
3728 Branch: REL9_2_STABLE [88fab18a4] 2015-06-25 14:39:05 -0400
3729 Branch: REL9_1_STABLE [a9b7bf82f] 2015-06-25 14:39:06 -0400
3730 Branch: REL9_0_STABLE [45c69178b] 2015-06-25 14:39:06 -0400
3735 Fix insertion of relations into the relation cache <quote>init file</>
3740 An oversight in a patch in the most recent minor releases
3741 caused <structname>pg_trigger_tgrelid_tgname_index</> to be omitted
3742 from the init file. Subsequent sessions detected this, then deemed the
3743 init file to be broken and silently ignored it, resulting in a
3744 significant degradation in session startup time. In addition to fixing
3745 the bug, install some guards so that any similar future mistake will be
3751 Author: Tom Lane <tgl@sss.pgh.pa.us>
3752 Branch: master [6e5d9f278] 2015-08-21 20:32:11 -0400
3753 Branch: REL9_5_STABLE [68a14ca74] 2015-08-21 20:32:17 -0400
3754 Branch: REL9_4_STABLE [fe939d950] 2015-08-21 20:32:26 -0400
3755 Branch: REL9_3_STABLE [ea9892444] 2015-08-21 20:32:29 -0400
3756 Branch: REL9_2_STABLE [d951d6065] 2015-08-21 20:32:33 -0400
3757 Branch: REL9_1_STABLE [87b8c9e12] 2015-08-21 20:32:37 -0400
3758 Branch: REL9_0_STABLE [7c57449fc] 2015-08-21 20:32:41 -0400
3763 Avoid O(N^2) behavior when inserting many tuples into a SPI query
3764 result (Neil Conway)
3769 Author: Tom Lane <tgl@sss.pgh.pa.us>
3770 Branch: master [07e4d03fb] 2015-09-30 23:32:43 -0400
3771 Branch: REL9_5_STABLE [8c8a834b1] 2015-09-30 23:32:23 -0400
3772 Branch: REL9_4_STABLE [03f9b63e2] 2015-09-30 23:32:23 -0400
3773 Branch: REL9_3_STABLE [aad86c518] 2015-09-30 23:32:23 -0400
3774 Branch: REL9_2_STABLE [e4c00750a] 2015-09-30 23:32:23 -0400
3775 Branch: REL9_1_STABLE [2bbe8a684] 2015-09-30 23:32:23 -0400
3776 Branch: REL9_0_STABLE [2d4336cf8] 2015-09-30 23:32:23 -0400
3781 Improve <command>LISTEN</> startup time when there are many unread
3782 notifications (Matt Newell)
3787 Author: Tom Lane <tgl@sss.pgh.pa.us>
3788 Branch: master [2abfd9d5e] 2015-09-25 13:16:30 -0400
3789 Branch: REL9_5_STABLE [c9645f757] 2015-09-25 13:16:30 -0400
3790 Branch: REL9_4_STABLE [67d0f7a37] 2015-09-25 13:16:30 -0400
3791 Branch: REL9_3_STABLE [1bcc9e60a] 2015-09-25 13:16:31 -0400
3796 Fix performance problem when a session alters large numbers of foreign
3797 key constraints (Jan Wieck, Tom Lane)
3801 This was seen primarily when restoring <application>pg_dump</> output
3802 for databases with many thousands of tables.
3807 Author: Andres Freund <andres@anarazel.de>
3808 Branch: REL9_4_STABLE [ab6084782] 2015-07-28 22:06:31 +0200
3809 Branch: REL9_3_STABLE [48d23c72d] 2015-07-28 22:06:31 +0200
3810 Branch: REL9_2_STABLE [2f91e7bb5] 2015-07-28 22:06:31 +0200
3811 Branch: REL9_1_STABLE [624a3c9be] 2015-07-28 22:06:32 +0200
3812 Branch: REL9_0_STABLE [444b2ebee] 2015-07-28 22:06:32 +0200
3817 Disable SSL renegotiation by default (Michael Paquier, Andres Freund)
3821 While use of SSL renegotiation is a good idea in theory, we have seen
3822 too many bugs in practice, both in the underlying OpenSSL library and
3823 in our usage of it. Renegotiation will be removed entirely in 9.5 and
3824 later. In the older branches, just change the default value
3825 of <varname>ssl_renegotiation_limit</> to zero (disabled).
3830 Author: Andres Freund <andres@anarazel.de>
3831 Branch: master [020235a57] 2015-09-24 14:53:32 +0200
3832 Branch: REL9_5_STABLE [ef4fccd2b] 2015-09-24 14:53:33 +0200
3833 Branch: REL9_4_STABLE [4ff753c91] 2015-09-24 14:53:33 +0200
3834 Branch: REL9_3_STABLE [fee2275ae] 2015-09-24 14:53:33 +0200
3835 Branch: REL9_2_STABLE [f12932dd4] 2015-09-24 14:53:33 +0200
3836 Branch: REL9_1_STABLE [ff090bbb7] 2015-09-24 14:53:33 +0200
3837 Branch: REL9_0_STABLE [078d471a9] 2015-09-24 14:53:33 +0200
3838 Branch: master [2596d705b] 2015-10-05 11:53:43 +0200
3839 Branch: REL9_5_STABLE [0577821b5] 2015-10-05 11:56:58 +0200
3840 Branch: REL9_4_STABLE [13ac4c035] 2015-10-05 11:57:07 +0200
3841 Branch: REL9_3_STABLE [393341714] 2015-10-05 11:57:11 +0200
3842 Branch: REL9_2_STABLE [e07cfef34] 2015-10-05 11:57:15 +0200
3843 Branch: REL9_1_STABLE [7116a3e98] 2015-10-05 11:57:20 +0200
3844 Branch: REL9_0_STABLE [eeb0b7830] 2015-10-05 11:57:25 +0200
3849 Lower the minimum values of the <literal>*_freeze_max_age</> parameters
3854 This is mainly to make tests of related behavior less time-consuming,
3855 but it may also be of value for installations with limited disk space.
3860 Author: Robert Haas <rhaas@postgresql.org>
3861 Branch: master [369342cf7] 2015-08-04 12:58:54 -0400
3862 Branch: REL9_5_STABLE [cd52e4a2b] 2015-08-04 13:05:43 -0400
3863 Branch: REL9_4_STABLE [3a35ca5ad] 2015-08-04 13:05:48 -0400
3864 Branch: REL9_3_STABLE [11ed4bab5] 2015-08-04 13:05:52 -0400
3865 Branch: REL9_2_STABLE [5ef8e1114] 2015-08-04 13:05:58 -0400
3866 Branch: REL9_1_STABLE [4e51ea8fd] 2015-08-04 13:06:03 -0400
3867 Branch: REL9_0_STABLE [b09446ed7] 2015-08-04 13:12:03 -0400
3872 Limit the maximum value of <varname>wal_buffers</> to 2GB to avoid
3873 server crashes (Josh Berkus)
3878 Author: Tom Lane <tgl@sss.pgh.pa.us>
3879 Branch: REL9_4_STABLE [1afc1fe9c] 2015-06-28 18:38:06 -0400
3880 Branch: REL9_3_STABLE [5a56c2545] 2015-06-28 18:38:06 -0400
3885 Avoid logging complaints when a parameter that can only be set at
3886 server start appears multiple times in <filename>postgresql.conf</>,
3887 and fix counting of line numbers after an <literal>include_dir</>
3888 directive (Tom Lane)
3893 Author: Tom Lane <tgl@sss.pgh.pa.us>
3894 Branch: master [246693e5a] 2015-09-21 12:11:32 -0400
3895 Branch: REL9_5_STABLE [3dfffac70] 2015-09-21 12:11:45 -0400
3896 Branch: REL9_4_STABLE [fa9fc3a1b] 2015-09-21 12:11:49 -0400
3897 Branch: REL9_3_STABLE [8b75e489a] 2015-09-21 12:11:58 -0400
3898 Branch: REL9_2_STABLE [844486216] 2015-09-21 12:12:04 -0400
3899 Branch: REL9_1_STABLE [5f79730ec] 2015-09-21 12:12:10 -0400
3900 Branch: REL9_0_STABLE [a89781e34] 2015-09-21 12:12:16 -0400
3905 Fix rare internal overflow in multiplication of <type>numeric</> values
3911 Author: Noah Misch <noah@leadboat.com>
3912 Branch: master [30cb12881] 2015-10-05 10:06:29 -0400
3913 Branch: REL9_5_STABLE [acf0da1e6] 2015-10-05 10:06:33 -0400
3914 Branch: REL9_4_STABLE [a0c02ed5b] 2015-10-05 10:06:34 -0400
3915 Branch: REL9_3_STABLE [9286ff78f] 2015-10-05 10:06:34 -0400
3916 Branch: REL9_2_STABLE [5e43130b5] 2015-10-05 10:06:35 -0400
3917 Branch: REL9_1_STABLE [9581e2699] 2015-10-05 10:06:35 -0400
3918 Branch: REL9_0_STABLE [0398e071a] 2015-10-05 10:06:36 -0400
3919 Branch: master [5976097c0] 2015-10-05 10:06:30 -0400
3920 Branch: REL9_5_STABLE [7bed97d48] 2015-10-05 10:06:33 -0400
3921 Branch: REL9_4_STABLE [bed3f6d03] 2015-10-05 10:06:34 -0400
3922 Branch: REL9_3_STABLE [28dea9485] 2015-10-05 10:06:34 -0400
3923 Branch: REL9_2_STABLE [ea68c221f] 2015-10-05 10:06:35 -0400
3924 Branch: REL9_1_STABLE [879877b00] 2015-10-05 10:06:35 -0400
3925 Branch: REL9_0_STABLE [682a25d41] 2015-10-05 10:06:36 -0400
3926 Branch: REL9_2_STABLE [8dacb29ca] 2015-10-05 10:06:35 -0400
3931 Guard against hard-to-reach stack overflows involving record types,
3932 range types, <type>json</>, <type>jsonb</>, <type>tsquery</>,
3933 <type>ltxtquery</> and <type>query_int</> (Noah Misch)
3938 Author: Greg Stark <stark@mit.edu>
3939 Branch: master [258ee1b63] 2015-09-06 03:35:56 +0100
3940 Branch: REL9_5_STABLE [c11100d0f] 2015-09-06 04:05:46 +0100
3941 Branch: REL9_4_STABLE [b17ce6208] 2015-09-06 03:56:59 +0100
3942 Branch: REL9_3_STABLE [dd04d43bf] 2015-09-06 03:58:27 +0100
3943 Branch: REL9_2_STABLE [f4afbe065] 2015-09-06 03:58:32 +0100
3944 Branch: REL9_1_STABLE [07cef3eb8] 2015-09-06 04:02:57 +0100
3945 Branch: REL9_0_STABLE [530d0c504] 2015-09-06 04:05:20 +0100
3946 Branch: master [37239ef8c] 2015-09-07 20:41:29 +0100
3947 Branch: REL9_5_STABLE [a12424028] 2015-09-07 20:47:41 +0100
3948 Branch: REL9_4_STABLE [0198a8d82] 2015-09-07 20:47:37 +0100
3949 Branch: REL9_3_STABLE [fde40e53f] 2015-09-07 20:47:33 +0100
3950 Branch: REL9_2_STABLE [af9d9e59c] 2015-09-07 20:47:29 +0100
3951 Branch: REL9_1_STABLE [0252d7777] 2015-09-07 20:47:19 +0100
3952 Branch: REL9_0_STABLE [92d956f51] 2015-09-07 20:47:06 +0100
3957 Fix handling of <literal>DOW</> and <literal>DOY</> in datetime input
3962 These tokens aren't meant to be used in datetime values, but previously
3963 they resulted in opaque internal error messages rather
3964 than <quote>invalid input syntax</>.
3969 Author: Tom Lane <tgl@sss.pgh.pa.us>
3970 Branch: master [9fe8fe9c9] 2015-10-02 13:45:39 -0400
3971 Branch: REL9_5_STABLE [bb704a781] 2015-10-02 13:45:39 -0400
3972 Branch: REL9_4_STABLE [109def032] 2015-10-02 13:45:39 -0400
3973 Branch: REL9_3_STABLE [384ce1b75] 2015-10-02 13:45:39 -0400
3974 Branch: REL9_2_STABLE [2d51f55ff] 2015-10-02 13:45:39 -0400
3975 Branch: REL9_1_STABLE [da8ff2920] 2015-10-02 13:45:39 -0400
3976 Branch: REL9_0_STABLE [d4f6488ec] 2015-10-02 13:45:39 -0400
3981 Add more query-cancel checks to regular expression matching (Tom Lane)
3986 Author: Tom Lane <tgl@sss.pgh.pa.us>
3987 Branch: master [b63fc2877] 2015-10-02 14:51:58 -0400
3988 Branch: REL9_5_STABLE [20c627707] 2015-10-02 14:51:58 -0400
3989 Branch: REL9_4_STABLE [c5e38b93c] 2015-10-02 14:51:58 -0400
3990 Branch: REL9_3_STABLE [9ed207ae9] 2015-10-02 14:51:58 -0400
3991 Branch: REL9_2_STABLE [a0c089f33] 2015-10-02 14:51:58 -0400
3992 Branch: REL9_1_STABLE [e7de1bc09] 2015-10-02 14:51:59 -0400
3993 Branch: REL9_0_STABLE [54b116d83] 2015-10-02 14:51:59 -0400
3994 Branch: master [2e8cfcf4e] 2015-10-02 15:00:51 -0400
3995 Branch: REL9_5_STABLE [bdc5d95b6] 2015-10-02 15:00:52 -0400
3996 Branch: REL9_4_STABLE [bb1d97961] 2015-10-02 15:00:52 -0400
3997 Branch: REL9_3_STABLE [4175cc604] 2015-10-02 15:00:52 -0400
3998 Branch: REL9_2_STABLE [57bf7b548] 2015-10-02 15:00:52 -0400
3999 Branch: REL9_1_STABLE [f80af0117] 2015-10-02 15:00:52 -0400
4000 Branch: REL9_0_STABLE [b875ca09f] 2015-10-02 15:00:52 -0400
4005 Add recursion depth protections to regular expression, <literal>SIMILAR
4006 TO</>, and <literal>LIKE</> matching (Tom Lane)
4010 Suitable search patterns and a low stack depth limit could lead to
4011 stack-overrun crashes.
4016 Author: Tom Lane <tgl@sss.pgh.pa.us>
4017 Branch: master [f2c4ffc33] 2015-10-02 14:26:36 -0400
4018 Branch: REL9_5_STABLE [51f235931] 2015-10-02 14:26:36 -0400
4019 Branch: REL9_4_STABLE [c0215b2cf] 2015-10-02 14:26:36 -0400
4020 Branch: REL9_3_STABLE [6b3810d0a] 2015-10-02 14:26:36 -0400
4021 Branch: REL9_2_STABLE [483bbc9fe] 2015-10-02 14:26:36 -0400
4022 Branch: REL9_1_STABLE [630154955] 2015-10-02 14:26:36 -0400
4023 Branch: REL9_0_STABLE [2a8878289] 2015-10-02 14:26:36 -0400
4028 Fix potential infinite loop in regular expression execution (Tom Lane)
4032 A search pattern that can apparently match a zero-length string, but
4033 actually doesn't match because of a back reference, could lead to an
4039 Author: Tom Lane <tgl@sss.pgh.pa.us>
4040 Branch: master [f2c4ffc33] 2015-10-02 14:26:36 -0400
4041 Branch: REL9_5_STABLE [51f235931] 2015-10-02 14:26:36 -0400
4042 Branch: REL9_4_STABLE [c0215b2cf] 2015-10-02 14:26:36 -0400
4043 Branch: REL9_3_STABLE [6b3810d0a] 2015-10-02 14:26:36 -0400
4044 Branch: REL9_2_STABLE [483bbc9fe] 2015-10-02 14:26:36 -0400
4049 In regular expression execution, correctly record match data for
4050 capturing parentheses within a quantifier even when the match is
4051 zero-length (Tom Lane)
4056 Author: Tom Lane <tgl@sss.pgh.pa.us>
4057 Branch: master [8a0258c31] 2015-08-12 00:48:11 -0400
4058 Branch: REL9_5_STABLE [c5bfcc18a] 2015-08-12 00:48:28 -0400
4059 Branch: REL9_4_STABLE [a35a527f2] 2015-08-12 00:48:34 -0400
4060 Branch: REL9_3_STABLE [a54875602] 2015-08-12 00:48:39 -0400
4061 Branch: REL9_2_STABLE [234205a2e] 2015-08-12 00:48:44 -0400
4062 Branch: REL9_1_STABLE [7a801ba8c] 2015-08-12 00:48:48 -0400
4063 Branch: REL9_0_STABLE [7e23b63bd] 2015-08-12 00:48:54 -0400
4068 Fix low-memory failures in regular expression compilation
4069 (Andreas Seltenreich)
4074 Author: Tom Lane <tgl@sss.pgh.pa.us>
4075 Branch: master [d9c0c728a] 2015-09-18 13:55:17 -0400
4076 Branch: REL9_5_STABLE [a39331fa5] 2015-09-18 13:55:17 -0400
4077 Branch: REL9_4_STABLE [f7d896ab9] 2015-09-18 13:55:17 -0400
4078 Branch: REL9_3_STABLE [b84310808] 2015-09-18 13:55:17 -0400
4079 Branch: REL9_2_STABLE [dc4e8c101] 2015-09-18 13:55:17 -0400
4080 Branch: REL9_1_STABLE [28c396134] 2015-09-18 13:55:17 -0400
4081 Branch: REL9_0_STABLE [ba9eb293f] 2015-09-18 13:55:17 -0400
4086 Fix low-probability memory leak during regular expression execution
4092 Author: Tom Lane <tgl@sss.pgh.pa.us>
4093 Branch: master [ba51774d8] 2015-09-20 16:48:44 -0400
4094 Branch: REL9_5_STABLE [3d3bc2905] 2015-09-20 16:48:44 -0400
4095 Branch: REL9_4_STABLE [e32c5f118] 2015-09-20 16:48:44 -0400
4096 Branch: REL9_3_STABLE [7e6e3bdd3] 2015-09-20 16:48:44 -0400
4097 Branch: REL9_2_STABLE [ac0c71228] 2015-09-20 16:48:44 -0400
4098 Branch: REL9_1_STABLE [553ce7e9a] 2015-09-20 16:48:44 -0400
4099 Branch: REL9_0_STABLE [eed5bbc48] 2015-09-20 16:48:44 -0400
4104 Fix rare low-memory failure in lock cleanup during transaction abort
4110 Author: Tom Lane <tgl@sss.pgh.pa.us>
4111 Branch: master [8ea3e7a75] 2015-08-04 18:18:46 -0400
4112 Branch: REL9_5_STABLE [e2035dc9a] 2015-08-04 18:18:46 -0400
4113 Branch: REL9_4_STABLE [118c9bb8d] 2015-08-04 18:18:46 -0400
4114 Branch: REL9_3_STABLE [8bd45a394] 2015-08-04 18:18:46 -0400
4115 Branch: REL9_2_STABLE [b6659a3b9] 2015-08-04 18:18:46 -0400
4116 Branch: REL9_1_STABLE [9965aff1c] 2015-08-04 18:18:47 -0400
4117 Branch: REL9_0_STABLE [bd327627f] 2015-08-04 18:18:47 -0400
4122 Fix <quote>unexpected out-of-memory situation during sort</> errors
4123 when using tuplestores with small <varname>work_mem</> settings (Tom
4129 Author: Tom Lane <tgl@sss.pgh.pa.us>
4130 Branch: master [9d6077abf] 2015-07-16 22:57:46 -0400
4131 Branch: REL9_5_STABLE [fd415ffc9] 2015-07-16 22:57:46 -0400
4132 Branch: REL9_4_STABLE [b8f368276] 2015-07-16 22:57:46 -0400
4133 Branch: REL9_3_STABLE [730089d87] 2015-07-16 22:57:46 -0400
4134 Branch: REL9_2_STABLE [15ca2b6cd] 2015-07-16 22:57:46 -0400
4135 Branch: REL9_1_STABLE [faef3dc28] 2015-07-16 22:57:46 -0400
4136 Branch: REL9_0_STABLE [36522d627] 2015-07-16 22:57:46 -0400
4141 Fix very-low-probability stack overrun in <function>qsort</> (Tom Lane)
4146 Author: Tom Lane <tgl@sss.pgh.pa.us>
4147 Branch: REL9_4_STABLE [ff4cbc1ff] 2015-10-04 14:16:59 -0400
4148 Branch: REL9_3_STABLE [45dd7cdba] 2015-10-04 14:17:14 -0400
4149 Branch: REL9_2_STABLE [fd3e3cf50] 2015-10-04 14:17:20 -0400
4150 Branch: REL9_1_STABLE [a8168fbcb] 2015-10-04 14:17:24 -0400
4151 Branch: REL9_0_STABLE [2647b245d] 2015-10-04 14:17:28 -0400
4152 Branch: master [f2fc98fb8] 2015-10-04 15:55:07 -0400
4153 Branch: REL9_5_STABLE [e5c94c7bb] 2015-10-04 15:55:07 -0400
4154 Branch: REL9_4_STABLE [4075fc4b9] 2015-10-04 15:55:07 -0400
4155 Branch: REL9_3_STABLE [0867e0ad5] 2015-10-04 15:55:07 -0400
4156 Branch: REL9_2_STABLE [ebc7d928a] 2015-10-04 15:55:07 -0400
4157 Branch: REL9_1_STABLE [d84cc40e4] 2015-10-04 15:55:07 -0400
4158 Branch: REL9_0_STABLE [d637a899c] 2015-10-04 15:55:07 -0400
4163 Fix <quote>invalid memory alloc request size</> failure in hash joins
4164 with large <varname>work_mem</> settings (Tomas Vondra, Tom Lane)
4169 Author: Tom Lane <tgl@sss.pgh.pa.us>
4170 Branch: master [8693ebe37] 2015-07-30 12:11:23 -0400
4171 Branch: REL9_5_STABLE [e91a1643a] 2015-07-30 12:11:23 -0400
4172 Branch: REL9_4_STABLE [3b4a9dbfa] 2015-07-30 12:11:23 -0400
4173 Branch: REL9_3_STABLE [caae9f764] 2015-07-30 12:11:23 -0400
4174 Branch: REL9_2_STABLE [c7d171251] 2015-07-30 12:11:23 -0400
4175 Branch: REL9_1_STABLE [ea6e28649] 2015-07-30 12:11:23 -0400
4176 Branch: REL9_0_STABLE [54833c5e7] 2015-07-30 12:11:23 -0400
4177 Branch: master [a6492ff89] 2015-07-31 19:26:33 -0400
4178 Branch: REL9_5_STABLE [edf26ed03] 2015-07-31 19:26:33 -0400
4179 Branch: REL9_4_STABLE [216977a7d] 2015-07-31 19:26:33 -0400
4180 Branch: REL9_3_STABLE [a4df781c9] 2015-07-31 19:26:33 -0400
4181 Branch: master [f69b4b949] 2015-08-01 20:57:41 -0400
4182 Branch: REL9_5_STABLE [7968238eb] 2015-08-01 20:57:41 -0400
4183 Branch: REL9_4_STABLE [e39a3b2ef] 2015-08-01 20:57:41 -0400
4184 Branch: REL9_3_STABLE [1044541dc] 2015-08-01 20:57:41 -0400
4185 Branch: REL9_2_STABLE [44618f92b] 2015-08-01 20:57:41 -0400
4186 Branch: REL9_1_STABLE [b9dfa07e8] 2015-08-01 20:57:41 -0400
4187 Branch: REL9_0_STABLE [44679965f] 2015-08-01 20:57:41 -0400
4188 Branch: master [85e5e222b] 2015-08-04 14:55:50 -0400
4189 Branch: REL9_5_STABLE [a6f43986b] 2015-08-04 14:55:52 -0400
4190 Branch: REL9_4_STABLE [b58e8caf0] 2015-08-04 14:55:53 -0400
4191 Branch: REL9_3_STABLE [33afbdd02] 2015-08-04 14:55:54 -0400
4192 Branch: REL9_2_STABLE [359016d2e] 2015-08-04 14:55:55 -0400
4193 Branch: master [6af9ee4c8] 2015-08-05 14:39:29 -0400
4194 Branch: REL9_5_STABLE [06663971b] 2015-08-05 14:39:07 -0400
4195 Branch: REL9_4_STABLE [4d94b5f1f] 2015-08-05 14:39:07 -0400
4196 Branch: REL9_3_STABLE [9bc4d5927] 2015-08-05 14:39:07 -0400
4197 Branch: REL9_2_STABLE [08dee567e] 2015-08-05 14:39:07 -0400
4198 Branch: REL9_1_STABLE [48d4f1e39] 2015-08-05 14:39:07 -0400
4199 Branch: REL9_0_STABLE [c084f613e] 2015-08-05 14:39:07 -0400
4200 Branch: master [8703059c6] 2015-08-06 15:35:46 -0400
4201 Branch: REL9_5_STABLE [df3b0f47b] 2015-08-06 15:35:47 -0400
4202 Branch: REL9_4_STABLE [7ef507ad7] 2015-08-06 15:35:48 -0400
4203 Branch: REL9_3_STABLE [3e79144a8] 2015-08-06 15:35:27 -0400
4204 Branch: REL9_2_STABLE [754ece936] 2015-08-06 15:35:27 -0400
4205 Branch: REL9_1_STABLE [656b1e8cf] 2015-08-06 15:35:27 -0400
4206 Branch: REL9_0_STABLE [d860ba43f] 2015-08-06 15:35:28 -0400
4207 Branch: master [cde35cf4a] 2015-08-06 20:14:53 -0400
4208 Branch: REL9_5_STABLE [a8725c2ba] 2015-08-06 20:14:54 -0400
4209 Branch: REL9_4_STABLE [d31e79415] 2015-08-06 20:14:37 -0400
4210 Branch: REL9_3_STABLE [0d4913509] 2015-08-06 20:14:37 -0400
4211 Branch: master [bab163e12] 2015-08-06 22:14:27 -0400
4212 Branch: REL9_5_STABLE [de0227d8a] 2015-08-06 22:14:28 -0400
4213 Branch: REL9_4_STABLE [8c7bb0240] 2015-08-06 22:14:07 -0400
4214 Branch: REL9_3_STABLE [de5edc660] 2015-08-06 22:14:07 -0400
4215 Branch: master [89db83922] 2015-08-07 14:13:50 -0400
4216 Branch: REL9_5_STABLE [085338822] 2015-08-07 14:13:51 -0400
4217 Branch: REL9_4_STABLE [30b4ccdab] 2015-08-07 14:13:52 -0400
4218 Branch: REL9_3_STABLE [868bfd1f3] 2015-08-07 14:13:39 -0400
4219 Branch: master [4200a9286] 2015-08-10 17:18:17 -0400
4220 Branch: REL9_5_STABLE [fda25b220] 2015-08-10 17:18:17 -0400
4221 Branch: REL9_4_STABLE [7371ab74f] 2015-08-10 17:18:17 -0400
4222 Branch: REL9_3_STABLE [f6d7a79f4] 2015-08-10 17:18:17 -0400
4223 Branch: REL9_2_STABLE [54cea765c] 2015-08-10 17:18:17 -0400
4224 Branch: master [cfe30a72f] 2015-08-12 21:19:03 -0400
4225 Branch: REL9_5_STABLE [ec94bc147] 2015-08-12 21:19:04 -0400
4226 Branch: REL9_4_STABLE [8cd3a7ada] 2015-08-12 21:19:05 -0400
4227 Branch: REL9_3_STABLE [7950657a9] 2015-08-12 21:19:06 -0400
4228 Branch: REL9_2_STABLE [866197d82] 2015-08-12 21:19:07 -0400
4229 Branch: REL9_1_STABLE [4390ba7bf] 2015-08-12 21:19:09 -0400
4230 Branch: REL9_0_STABLE [7b4b57fc4] 2015-08-12 21:19:10 -0400
4235 Fix assorted planner bugs (Tom Lane)
4239 These mistakes could lead to incorrect query plans that would give wrong
4240 answers, or to assertion failures in assert-enabled builds, or to odd
4241 planner errors such as <quote>could not devise a query plan for the
4242 given query</>, <quote>could not find pathkey item to
4243 sort</>, <quote>plan should not reference subplan's variable</>,
4244 or <quote>failed to assign all NestLoopParams to plan nodes</>.
4245 Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz
4246 testing that exposed these problems.
4251 Author: Tom Lane <tgl@sss.pgh.pa.us>
4252 Branch: master Release: REL9_5_BR [2cb9ec1bc] 2015-06-22 18:53:27 -0400
4253 Branch: REL9_4_STABLE [d8f9ab776] 2015-06-22 18:53:27 -0400
4254 Branch: REL9_3_STABLE [673068588] 2015-06-22 18:53:27 -0400
4255 Branch: REL9_2_STABLE [e538e510e] 2015-06-22 18:53:27 -0400
4260 Improve planner's performance for <command>UPDATE</>/<command>DELETE</>
4261 on large inheritance sets (Tom Lane, Dean Rasheed)
4266 Author: Fujii Masao <fujii@postgresql.org>
4267 Branch: master [96f6a0cb4] 2015-09-09 22:51:44 +0900
4268 Branch: REL9_5_STABLE [65f37b3e9] 2015-09-09 22:52:28 +0900
4269 Branch: REL9_4_STABLE [2244c0652] 2015-09-09 22:52:35 +0900
4270 Branch: REL9_3_STABLE [47387732b] 2015-09-09 22:52:40 +0900
4271 Branch: REL9_2_STABLE [67518a141] 2015-09-09 23:01:10 +0900
4272 Branch: REL9_1_STABLE [60fe73b79] 2015-09-09 23:03:17 +0900
4277 Ensure standby promotion trigger files are removed at postmaster
4278 startup (Michael Paquier, Fujii Masao)
4282 This prevents unwanted promotion from occurring if these files appear
4283 in a database backup that is used to initialize a new standby server.
4288 Author: Tom Lane <tgl@sss.pgh.pa.us>
4289 Branch: master [d73d14c27] 2015-08-02 14:55:03 -0400
4290 Branch: REL9_5_STABLE [72697d2ba] 2015-08-02 14:55:04 -0400
4291 Branch: REL9_4_STABLE [c6d901292] 2015-08-02 14:55:05 -0400
4292 Branch: REL9_3_STABLE [fad824a88] 2015-08-02 14:54:44 -0400
4293 Branch: REL9_2_STABLE [20d1878b6] 2015-08-02 14:54:44 -0400
4294 Branch: REL9_1_STABLE [f1e84d3eb] 2015-08-02 14:54:44 -0400
4295 Branch: REL9_0_STABLE [8b53c087d] 2015-08-02 14:54:44 -0400
4300 During postmaster shutdown, ensure that per-socket lock files are
4301 removed and listen sockets are closed before we remove
4302 the <filename>postmaster.pid</> file (Tom Lane)
4306 This avoids race-condition failures if an external script attempts to
4307 start a new postmaster as soon as <literal>pg_ctl stop</> returns.
4312 Author: Tom Lane <tgl@sss.pgh.pa.us>
4313 Branch: master Release: REL9_5_BR [48913db88] 2015-06-19 14:23:39 -0400
4314 Branch: REL9_4_STABLE [29722d79b] 2015-06-19 14:23:39 -0400
4319 Ensure that the postmaster does not exit until all its child processes
4320 are gone, even in an immediate shutdown (Tom Lane)
4324 Like the previous item, this avoids possible race conditions against a
4325 subsequently-started postmaster.
4330 Author: Tom Lane <tgl@sss.pgh.pa.us>
4331 Branch: master [45811be94] 2015-07-09 13:22:22 -0400
4332 Branch: REL9_5_STABLE [193e02707] 2015-07-09 13:22:23 -0400
4333 Branch: REL9_4_STABLE [0d01c5b93] 2015-07-09 13:22:23 -0400
4334 Branch: REL9_3_STABLE [9c39d7ae0] 2015-07-09 13:22:23 -0400
4335 Branch: REL9_2_STABLE [97122b8a8] 2015-07-09 13:22:23 -0400
4336 Branch: REL9_1_STABLE [da1e7eb72] 2015-07-09 13:22:23 -0400
4337 Branch: REL9_0_STABLE [6718f07a0] 2015-07-09 13:22:23 -0400
4342 Fix postmaster's handling of a startup-process crash during crash
4347 If, during a crash recovery cycle, the startup process crashes without
4348 having restored database consistency, we'd try to launch a new startup
4349 process, which typically would just crash again, leading to an infinite
4355 Author: Andres Freund <andres@anarazel.de>
4356 Branch: master Release: REL9_5_BR [667912aee] 2015-06-21 18:57:28 +0200
4357 Branch: REL9_4_STABLE [ec1408155] 2015-06-21 19:00:30 +0200
4358 Branch: REL9_3_STABLE [203193144] 2015-06-21 19:00:40 +0200
4363 Make emergency autovacuuming for multixact wraparound more robust
4369 Author: Tom Lane <tgl@sss.pgh.pa.us>
4370 Branch: master [d8f15c95b] 2015-07-28 17:34:23 -0400
4371 Branch: REL9_5_STABLE [116be6c17] 2015-07-28 17:34:00 -0400
4372 Branch: REL9_4_STABLE [082d4283b] 2015-07-28 17:34:00 -0400
4373 Branch: REL9_3_STABLE [47ee27521] 2015-07-28 17:34:00 -0400
4374 Branch: REL9_2_STABLE [1a2f95630] 2015-07-28 17:34:00 -0400
4375 Branch: REL9_1_STABLE [3f12041e7] 2015-07-28 17:34:00 -0400
4376 Branch: REL9_0_STABLE [f527c0a2a] 2015-07-28 17:34:00 -0400
4381 Do not print a <literal>WARNING</> when an autovacuum worker is already
4382 gone when we attempt to signal it, and reduce log verbosity for such
4388 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4389 Branch: master Release: REL9_5_BR [da1a9d0f5] 2015-06-19 12:44:36 -0300
4390 Branch: REL9_4_STABLE [cf733760e] 2015-06-19 12:44:35 -0300
4391 Branch: REL9_3_STABLE [5ac77a276] 2015-06-19 12:44:34 -0300
4392 Branch: REL9_2_STABLE [41acde2df] 2015-06-19 12:44:34 -0300
4393 Branch: REL9_1_STABLE [2fed5731a] 2015-06-19 12:44:33 -0300
4394 Branch: REL9_0_STABLE [d68df5e40] 2015-06-19 12:44:33 -0300
4399 Prevent autovacuum launcher from sleeping unduly long if the server
4400 clock is moved backwards a large amount (Álvaro Herrera)
4405 Author: Teodor Sigaev <teodor@sigaev.ru>
4406 Branch: master [e26692248] 2015-09-07 17:16:29 +0300
4407 Branch: REL9_5_STABLE [d592a8745] 2015-09-07 17:17:15 +0300
4408 Branch: REL9_4_STABLE [b6e367373] 2015-09-07 17:17:42 +0300
4409 Branch: REL9_3_STABLE [cd6f4248f] 2015-09-07 17:18:10 +0300
4410 Branch: REL9_2_STABLE [3ffbc4994] 2015-09-07 17:18:26 +0300
4411 Branch: REL9_1_STABLE [364c02357] 2015-09-07 17:18:45 +0300
4412 Branch: REL9_0_STABLE [a7496aee6] 2015-09-07 17:20:44 +0300
4417 Ensure that cleanup of a GIN index's pending-insertions list is
4418 interruptable by cancel requests (Jeff Janes)
4423 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4424 Branch: master [334445179] 2015-07-27 12:30:26 +0300
4425 Branch: REL9_5_STABLE [202aea62a] 2015-07-27 12:31:05 +0300
4426 Branch: REL9_4_STABLE [746e7f1c1] 2015-07-27 12:32:08 +0300
4427 Branch: REL9_3_STABLE [bafe3b007] 2015-07-27 12:32:30 +0300
4428 Branch: REL9_2_STABLE [7658368cf] 2015-07-27 12:32:48 +0300
4429 Branch: REL9_1_STABLE [a471700e3] 2015-07-27 12:33:13 +0300
4430 Branch: REL9_0_STABLE [f87bf8480] 2015-07-27 12:33:18 +0300
4435 Allow all-zeroes pages in GIN indexes to be reused (Heikki Linnakangas)
4439 Such a page might be left behind after a crash.
4444 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4445 Branch: master [023430abf] 2015-07-27 12:28:21 +0300
4446 Branch: REL9_5_STABLE [2fa8ba348] 2015-07-27 12:31:05 +0300
4447 Branch: REL9_4_STABLE [579b9f97c] 2015-07-27 12:32:08 +0300
4448 Branch: REL9_3_STABLE [863af3a37] 2015-07-27 12:32:30 +0300
4449 Branch: REL9_2_STABLE [f4297f8c5] 2015-07-27 12:32:48 +0300
4454 Fix handling of all-zeroes pages in SP-GiST indexes (Heikki
4459 <command>VACUUM</> attempted to recycle such pages, but did so in a
4460 way that wasn't crash-safe.
4465 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4466 Branch: master [766dcfb16] 2015-07-23 01:29:59 +0300
4467 Branch: REL9_5_STABLE [a9b3a22aa] 2015-07-23 01:30:07 +0300
4468 Branch: REL9_4_STABLE [b7551339d] 2015-07-23 01:30:09 +0300
4469 Branch: REL9_3_STABLE [6ae9a0218] 2015-07-23 01:30:11 +0300
4470 Branch: REL9_2_STABLE [84330d0c1] 2015-07-23 01:30:15 +0300
4471 Branch: REL9_1_STABLE [e54e17aca] 2015-07-23 01:30:17 +0300
4472 Branch: REL9_0_STABLE [40ad78220] 2015-07-23 01:30:19 +0300
4477 Fix off-by-one error that led to otherwise-harmless warnings
4478 about <quote>apparent wraparound</> in subtrans/multixact truncation
4484 Author: Tom Lane <tgl@sss.pgh.pa.us>
4485 Branch: master [2edb94911] 2015-08-18 19:22:37 -0400
4486 Branch: REL9_5_STABLE [4c3754ffe] 2015-08-18 19:22:37 -0400
4487 Branch: REL9_4_STABLE [928d0226e] 2015-08-18 19:22:38 -0400
4488 Branch: REL9_3_STABLE [8992e1acd] 2015-08-18 19:22:38 -0400
4489 Branch: REL9_2_STABLE [fb41bf4b5] 2015-08-18 19:22:38 -0400
4490 Branch: REL9_1_STABLE [17aa3c2d1] 2015-08-18 19:22:38 -0400
4491 Branch: REL9_0_STABLE [e41718fa1] 2015-08-18 19:22:38 -0400
4496 Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
4497 types in <application>PL/pgSQL</>'s error context messages
4498 (Pavel Stehule, Tom Lane)
4503 Author: Tom Lane <tgl@sss.pgh.pa.us>
4504 Branch: master [b631a46ed] 2015-09-29 10:52:22 -0400
4505 Branch: REL9_5_STABLE [a16b9b193] 2015-09-29 10:52:22 -0400
4506 Branch: REL9_4_STABLE [b62c870ff] 2015-09-29 10:52:22 -0400
4507 Branch: REL9_3_STABLE [f60b2e2d4] 2015-09-29 10:52:22 -0400
4508 Branch: REL9_2_STABLE [aae40cf13] 2015-09-29 10:52:22 -0400
4509 Branch: REL9_1_STABLE [ca6c2f863] 2015-09-29 10:52:22 -0400
4514 Fix <application>PL/Perl</> to handle non-<acronym>ASCII</> error
4515 message texts correctly (Alex Hunsaker)
4520 Author: Tom Lane <tgl@sss.pgh.pa.us>
4521 Branch: master [09b3d2725] 2015-08-21 11:19:33 -0400
4522 Branch: REL9_5_STABLE [20bef3fe2] 2015-08-21 11:19:40 -0400
4523 Branch: REL9_4_STABLE [f7ed465e0] 2015-08-21 11:19:44 -0400
4524 Branch: REL9_3_STABLE [461235bda] 2015-08-21 11:19:49 -0400
4525 Branch: REL9_2_STABLE [2f1d558bc] 2015-08-21 11:19:54 -0400
4526 Branch: REL9_1_STABLE [f2ae044ba] 2015-08-21 11:19:58 -0400
4527 Branch: master [f469f634a] 2015-08-21 12:21:37 -0400
4528 Branch: REL9_5_STABLE [19446280f] 2015-08-21 12:21:37 -0400
4529 Branch: REL9_4_STABLE [22b9ce798] 2015-08-21 12:21:37 -0400
4530 Branch: REL9_3_STABLE [59592efcf] 2015-08-21 12:21:37 -0400
4531 Branch: REL9_2_STABLE [dadef8af2] 2015-08-21 12:21:37 -0400
4532 Branch: REL9_1_STABLE [1d190d095] 2015-08-21 12:21:37 -0400
4537 Fix <application>PL/Python</> crash when returning the string
4538 representation of a <type>record</> result (Tom Lane)
4543 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4544 Branch: master [f8d67ca8d] 2015-07-20 14:10:07 +0200
4545 Branch: REL9_5_STABLE [b0b6f8d71] 2015-07-20 14:18:08 +0200
4546 Branch: REL9_4_STABLE [49c300040] 2015-07-20 14:18:08 +0200
4547 Branch: REL9_3_STABLE [b2efbb71d] 2015-07-20 14:18:08 +0200
4548 Branch: REL9_2_STABLE [3cb6ef998] 2015-07-20 14:18:08 +0200
4549 Branch: REL9_1_STABLE [14ade020f] 2015-07-20 14:18:08 +0200
4550 Branch: REL9_0_STABLE [4c11967e7] 2015-07-20 14:18:08 +0200
4555 Fix some places in <application>PL/Tcl</> that neglected to check for
4556 failure of <function>malloc()</> calls (Michael Paquier, Álvaro
4562 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4563 Branch: master [cb3384a0c] 2015-08-02 22:12:33 +0300
4564 Branch: REL9_5_STABLE [ea8385df6] 2015-08-02 22:12:38 +0300
4565 Branch: REL9_4_STABLE [d7d4bd2c3] 2015-08-02 22:12:41 +0300
4566 Branch: REL9_3_STABLE [9d04a9824] 2015-08-02 22:12:45 +0300
4567 Branch: REL9_2_STABLE [56187c6fb] 2015-08-02 22:12:48 +0300
4568 Branch: REL9_1_STABLE [2d19a0e97] 2015-08-02 22:12:51 +0300
4573 In <filename>contrib/isn</>, fix output of ISBN-13 numbers that begin
4574 with 979 (Fabien Coelho)
4578 EANs beginning with 979 (but not 9790) are considered ISBNs, but they
4579 must be printed in the new 13-digit format, not the 10-digit format.
4584 Author: Tom Lane <tgl@sss.pgh.pa.us>
4585 Branch: master [8bbe4cbd9] 2015-10-04 17:58:42 -0400
4586 Branch: REL9_5_STABLE [39a716d93] 2015-10-04 17:58:30 -0400
4587 Branch: REL9_4_STABLE [93840f96c] 2015-10-04 17:58:30 -0400
4592 Improve <filename>contrib/pg_stat_statements</>' handling of
4593 query-text garbage collection (Peter Geoghegan)
4597 The external file containing query texts could bloat to very large
4598 sizes; once it got past 1GB attempts to trim it would fail, soon
4599 leading to situations where the file could not be read at all.
4604 Author: Tom Lane <tgl@sss.pgh.pa.us>
4605 Branch: master [76f965ff1] 2015-09-24 12:47:29 -0400
4606 Branch: REL9_5_STABLE [59d765b65] 2015-09-24 12:47:30 -0400
4607 Branch: REL9_4_STABLE [0da864c53] 2015-09-24 12:47:30 -0400
4608 Branch: REL9_3_STABLE [b7dcb2dd4] 2015-09-24 12:47:30 -0400
4613 Improve <filename>contrib/postgres_fdw</>'s handling of
4614 collation-related decisions (Tom Lane)
4618 The main user-visible effect is expected to be that comparisons
4619 involving <type>varchar</> columns will be sent to the remote server
4620 for execution in more cases than before.
4625 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4626 Branch: master [414bef30b] 2015-07-07 18:44:59 +0300
4627 Branch: REL9_5_STABLE [28c38396e] 2015-07-07 18:47:25 +0300
4628 Branch: REL9_4_STABLE [992c6f0d2] 2015-07-07 18:45:17 +0300
4629 Branch: REL9_3_STABLE [fcdac5614] 2015-07-07 18:45:22 +0300
4630 Branch: REL9_2_STABLE [6d88c1fc5] 2015-07-07 18:45:24 +0300
4631 Branch: REL9_1_STABLE [dcbaf4b37] 2015-07-07 18:45:28 +0300
4632 Branch: REL9_0_STABLE [2b189c7ec] 2015-07-07 18:45:31 +0300
4637 Improve <application>libpq</>'s handling of out-of-memory conditions
4638 (Michael Paquier, Heikki Linnakangas)
4643 Author: Michael Meskes <meskes@postgresql.org>
4644 Branch: master Release: REL9_5_BR [82be1bf50] 2015-06-12 14:50:47 +0200
4645 Branch: REL9_4_STABLE [70767ac26] 2015-06-13 11:05:06 +0200
4646 Branch: REL9_3_STABLE [d65e5f832] 2015-06-13 11:08:16 +0200
4647 Branch: REL9_2_STABLE [1ea539ae3] 2015-06-13 11:13:59 +0200
4648 Branch: REL9_1_STABLE [866e7f591] 2015-06-13 11:15:09 +0200
4649 Branch: REL9_0_STABLE [4678be617] 2015-06-13 11:18:31 +0200
4650 Branch: master Release: REL9_5_BR [96ad72d1c] 2015-06-12 14:52:55 +0200
4651 Branch: REL9_4_STABLE [4f60d6658] 2015-06-13 11:04:58 +0200
4652 Branch: REL9_3_STABLE [31c06d4b6] 2015-06-13 11:13:16 +0200
4653 Branch: REL9_2_STABLE [ec311b1d8] 2015-06-13 11:14:07 +0200
4654 Branch: REL9_1_STABLE [a5238ced6] 2015-06-13 11:17:42 +0200
4655 Branch: REL9_0_STABLE [235bd4ccb] 2015-06-13 11:20:31 +0200
4656 Branch: master Release: REL9_5_BR [af0b49fc9] 2015-06-15 14:20:09 +0200
4657 Branch: REL9_4_STABLE [853222ce0] 2015-06-15 14:22:18 +0200
4658 Branch: REL9_3_STABLE [3e2a17eec] 2015-06-15 14:22:50 +0200
4659 Branch: REL9_2_STABLE [fd1ff4a13] 2015-06-15 14:23:04 +0200
4660 Branch: REL9_1_STABLE [a38f08bb9] 2015-06-15 14:23:17 +0200
4661 Branch: REL9_0_STABLE [abf92840a] 2015-06-15 14:23:30 +0200
4662 Branch: master Release: REL9_5_BR [94a484222] 2015-06-15 14:21:03 +0200
4663 Branch: REL9_4_STABLE [2a781b5bb] 2015-06-15 14:22:24 +0200
4664 Branch: REL9_3_STABLE [4130b2c1f] 2015-06-15 14:22:54 +0200
4665 Branch: REL9_2_STABLE [711cbaadd] 2015-06-15 14:23:07 +0200
4666 Branch: REL9_1_STABLE [6ab1a53dd] 2015-06-15 14:23:21 +0200
4667 Branch: REL9_0_STABLE [d278ff3b2] 2015-06-15 14:27:39 +0200
4672 Fix memory leaks and missing out-of-memory checks
4673 in <application>ecpg</> (Michael Paquier)
4678 Author: Tom Lane <tgl@sss.pgh.pa.us>
4679 Branch: master [4778a0bda] 2015-09-24 23:01:04 -0400
4680 Branch: REL9_5_STABLE [f1ee153dc] 2015-09-24 23:01:04 -0400
4681 Branch: REL9_4_STABLE [348dd2847] 2015-09-24 23:01:04 -0400
4682 Branch: REL9_3_STABLE [7e327ecd2] 2015-09-24 23:01:04 -0400
4683 Branch: REL9_2_STABLE [596c9e9ef] 2015-09-24 23:01:04 -0400
4684 Branch: REL9_1_STABLE [7ddadacec] 2015-09-24 23:01:04 -0400
4685 Branch: REL9_0_STABLE [c2d6ef14e] 2015-09-24 23:01:04 -0400
4686 Branch: master [6325527d8] 2015-09-25 00:00:33 -0400
4687 Branch: REL9_5_STABLE [da4af91ce] 2015-09-25 00:00:43 -0400
4688 Branch: REL9_4_STABLE [49917edad] 2015-09-25 00:00:51 -0400
4689 Branch: REL9_3_STABLE [9c547c939] 2015-09-25 00:00:58 -0400
4690 Branch: REL9_2_STABLE [60617d7d6] 2015-09-25 00:01:08 -0400
4691 Branch: REL9_1_STABLE [c48623d8d] 2015-09-25 00:01:14 -0400
4692 Branch: REL9_0_STABLE [71763ecff] 2015-09-25 00:01:20 -0400
4693 Branch: master [77130fc14] 2015-09-25 12:20:45 -0400
4694 Branch: REL9_5_STABLE [5eb702437] 2015-09-25 12:20:45 -0400
4695 Branch: REL9_4_STABLE [c961f401b] 2015-09-25 12:20:45 -0400
4696 Branch: REL9_3_STABLE [b7d17eca5] 2015-09-25 12:20:46 -0400
4697 Branch: REL9_2_STABLE [80fa54210] 2015-09-25 12:20:46 -0400
4698 Branch: REL9_1_STABLE [f88643476] 2015-09-25 12:20:46 -0400
4699 Branch: REL9_0_STABLE [98d8c75f9] 2015-09-25 12:20:46 -0400
4704 Fix <application>psql</>'s code for locale-aware formatting of numeric
4709 The formatting code invoked by <literal>\pset numericlocale on</>
4710 did the wrong thing for some uncommon cases such as numbers with an
4711 exponent but no decimal point. It could also mangle already-localized
4712 output from the <type>money</> data type.
4717 Author: Noah Misch <noah@leadboat.com>
4718 Branch: master [e135c3d99] 2015-07-08 20:44:21 -0400
4719 Branch: REL9_5_STABLE [fb990ce6c] 2015-07-08 20:44:25 -0400
4720 Branch: REL9_4_STABLE [eb1525e89] 2015-07-08 20:44:26 -0400
4721 Branch: REL9_3_STABLE [49008d645] 2015-07-08 20:44:26 -0400
4722 Branch: REL9_2_STABLE [458ccbf2b] 2015-07-08 20:44:27 -0400
4723 Branch: REL9_1_STABLE [5f173a9f2] 2015-07-08 20:44:27 -0400
4724 Branch: REL9_0_STABLE [6087bf1a1] 2015-07-08 20:44:27 -0400
4729 Prevent crash in <application>psql</>'s <command>\c</> command when
4730 there is no current connection (Noah Misch)
4735 Author: Tom Lane <tgl@sss.pgh.pa.us>
4736 Branch: master [8ab4a6bd3] 2015-10-01 16:20:13 -0400
4737 Branch: REL9_5_STABLE [5ea47e8f2] 2015-10-01 16:20:15 -0400
4738 Branch: REL9_4_STABLE [35435af38] 2015-10-01 16:19:49 -0400
4739 Branch: REL9_3_STABLE [7e1e1c9d1] 2015-10-01 16:19:49 -0400
4740 Branch: REL9_2_STABLE [3756c65a0] 2015-10-01 16:19:49 -0400
4745 Make <application>pg_dump</> handle inherited <literal>NOT VALID</>
4746 check constraints correctly (Tom Lane)
4751 Author: Andrew Dunstan <andrew@dunslane.net>
4752 Branch: master [caef94d59] 2015-07-25 17:14:36 -0400
4753 Branch: REL9_5_STABLE [08012455c] 2015-07-25 17:15:32 -0400
4754 Branch: REL9_4_STABLE [41ed5bb9a] 2015-07-25 17:15:48 -0400
4755 Branch: REL9_3_STABLE [84bf6ece1] 2015-07-25 17:16:03 -0400
4756 Branch: REL9_2_STABLE [aa1266d5f] 2015-07-25 17:16:14 -0400
4757 Branch: REL9_1_STABLE [af225551e] 2015-07-25 17:16:39 -0400
4762 Fix selection of default <application>zlib</> compression level
4763 in <application>pg_dump</>'s directory output format (Andrew Dunstan)
4768 Author: Noah Misch <noah@leadboat.com>
4769 Branch: master [8346218c0] 2015-09-20 20:42:27 -0400
4770 Branch: REL9_5_STABLE [1be9d65e1] 2015-09-20 20:42:44 -0400
4771 Branch: REL9_4_STABLE [7496aba80] 2015-09-20 20:42:50 -0400
4772 Branch: REL9_3_STABLE [ea218a2ba] 2015-09-20 20:42:55 -0400
4773 Branch: REL9_2_STABLE [c94b65f67] 2015-09-20 20:43:47 -0400
4774 Branch: REL9_1_STABLE [5dc49efe9] 2015-09-20 20:44:23 -0400
4775 Branch: REL9_0_STABLE [24aed2124] 2015-09-20 20:44:34 -0400
4780 Ensure that temporary files created during a <application>pg_dump</>
4781 run with <acronym>tar</>-format output are not world-readable (Michael
4787 Author: Bruce Momjian <bruce@momjian.us>
4788 Branch: master [7f8d090b8] 2015-09-11 15:51:11 -0400
4789 Branch: REL9_5_STABLE [3243fce88] 2015-09-11 15:51:11 -0400
4790 Branch: REL9_4_STABLE [35d2fc1f2] 2015-09-11 15:51:11 -0400
4791 Branch: REL9_3_STABLE [ca445043e] 2015-09-11 15:51:10 -0400
4792 Branch: REL9_2_STABLE [befc63e84] 2015-09-11 15:51:10 -0400
4793 Branch: REL9_1_STABLE [c5391e933] 2015-09-11 15:51:10 -0400
4794 Branch: REL9_0_STABLE [52b07779d] 2015-09-11 15:51:10 -0400
4799 Fix <application>pg_dump</> and <application>pg_upgrade</> to support
4800 cases where the <literal>postgres</> or <literal>template1</> database
4801 is in a non-default tablespace (Marti Raudsepp, Bruce Momjian)
4806 Author: Tom Lane <tgl@sss.pgh.pa.us>
4807 Branch: master [b861678f5] 2015-08-10 20:10:15 -0400
4808 Branch: REL9_5_STABLE [1cd468516] 2015-08-10 20:10:15 -0400
4809 Branch: REL9_4_STABLE [3352c23a6] 2015-08-10 20:10:16 -0400
4810 Branch: REL9_3_STABLE [75d02d787] 2015-08-10 20:10:16 -0400
4811 Branch: REL9_2_STABLE [be9ef396c] 2015-08-10 20:10:16 -0400
4812 Branch: REL9_1_STABLE [34f1a85e5] 2015-08-10 20:10:16 -0400
4813 Branch: REL9_0_STABLE [298d1f808] 2015-08-10 20:10:16 -0400
4818 Fix <application>pg_dump</> to handle object privileges sanely when
4819 dumping from a server too old to have a particular privilege type
4824 When dumping data types from pre-9.2 servers, and when dumping
4825 functions or procedural languages from pre-7.3
4826 servers, <application>pg_dump</> would
4827 produce <command>GRANT</>/<command>REVOKE</> commands that revoked the
4828 owner's grantable privileges and instead granted all privileges
4829 to <literal>PUBLIC</>. Since the privileges involved are
4830 just <literal>USAGE</> and <literal>EXECUTE</>, this isn't a security
4831 problem, but it's certainly a surprising representation of the older
4832 systems' behavior. Fix it to leave the default privilege state alone
4838 Author: Tom Lane <tgl@sss.pgh.pa.us>
4839 Branch: master [3bdd7f90f] 2015-08-04 19:34:12 -0400
4840 Branch: REL9_5_STABLE [1f507c7e9] 2015-08-04 19:34:12 -0400
4841 Branch: REL9_4_STABLE [fa6e785fd] 2015-08-04 19:34:12 -0400
4842 Branch: REL9_3_STABLE [5da713f31] 2015-08-04 19:34:12 -0400
4843 Branch: REL9_2_STABLE [dae6e4601] 2015-08-04 19:34:12 -0400
4844 Branch: REL9_1_STABLE [270a877cc] 2015-08-04 19:34:12 -0400
4845 Branch: REL9_0_STABLE [5d175be17] 2015-08-04 19:34:12 -0400
4850 Fix <application>pg_dump</> to dump shell types (Tom Lane)
4854 Shell types (that is, not-yet-fully-defined types) aren't useful for
4855 much, but nonetheless <application>pg_dump</> should dump them.
4860 Author: Tom Lane <tgl@sss.pgh.pa.us>
4861 Branch: master [bcc87b6b0] 2015-07-12 16:26:08 -0400
4862 Branch: REL9_5_STABLE [0e78a610f] 2015-07-12 16:26:18 -0400
4863 Branch: REL9_4_STABLE [1ed549387] 2015-07-12 16:25:51 -0400
4864 Branch: REL9_3_STABLE [faf686b54] 2015-07-12 16:25:52 -0400
4865 Branch: REL9_2_STABLE [a24ceea4b] 2015-07-12 16:25:52 -0400
4866 Branch: REL9_1_STABLE [e9a859b54] 2015-07-12 16:25:52 -0400
4871 Fix assorted minor memory leaks in <application>pg_dump</> and other
4872 client-side programs (Michael Paquier)
4877 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
4878 Branch: master [9031ff91a] 2015-07-03 11:12:34 +0300
4879 Branch: REL9_5_STABLE [5174ca17a] 2015-07-03 11:15:55 +0300
4880 Branch: REL9_4_STABLE [9d6352aaa] 2015-07-03 11:15:27 +0300
4885 Fix <application>pgbench</>'s progress-report behavior when a query,
4886 or <application>pgbench</> itself, gets stuck (Fabien Coelho)
4891 Author: Tom Lane <tgl@sss.pgh.pa.us>
4892 Branch: REL9_4_STABLE [747ca6697] 2015-08-29 16:34:30 -0400
4897 Fix spinlock assembly code for Alpha hardware (Tom Lane)
4902 Author: Tom Lane <tgl@sss.pgh.pa.us>
4903 Branch: master [c41a1215f] 2015-08-29 16:09:25 -0400
4904 Branch: REL9_5_STABLE [ffbc387bf] 2015-08-29 16:09:25 -0400
4905 Branch: REL9_4_STABLE [3da9c060f] 2015-08-29 16:09:25 -0400
4906 Branch: REL9_3_STABLE [c355df54e] 2015-08-29 16:09:25 -0400
4907 Branch: REL9_2_STABLE [472680c57] 2015-08-29 16:09:25 -0400
4908 Branch: REL9_1_STABLE [14b497cfb] 2015-08-29 16:09:25 -0400
4909 Branch: REL9_0_STABLE [b5a22d8bb] 2015-08-29 16:09:25 -0400
4914 Fix spinlock assembly code for PPC hardware to be compatible
4915 with <acronym>AIX</>'s native assembler (Tom Lane)
4919 Building with <application>gcc</> didn't work if <application>gcc</>
4920 had been configured to use the native assembler, which is becoming more
4926 Author: Noah Misch <noah@leadboat.com>
4927 Branch: master [43d89a23d] 2015-07-17 03:01:14 -0400
4928 Branch: REL9_5_STABLE [eb3b93b53] 2015-07-17 03:01:29 -0400
4929 Branch: REL9_4_STABLE [f3f037e18] 2015-07-17 03:01:35 -0400
4930 Branch: REL9_3_STABLE [7319c0524] 2015-07-17 03:02:03 -0400
4931 Branch: REL9_2_STABLE [12073b9aa] 2015-07-17 03:02:18 -0400
4932 Branch: REL9_1_STABLE [76fa354c5] 2015-07-17 03:02:23 -0400
4933 Branch: REL9_0_STABLE [cdf596b1c] 2015-07-17 03:02:46 -0400
4938 On <acronym>AIX</>, test the <literal>-qlonglong</> compiler option
4939 rather than just assuming it's safe to use (Noah Misch)
4944 Author: Noah Misch <noah@leadboat.com>
4945 Branch: master [bcd7c4120] 2015-07-15 21:00:26 -0400
4946 Branch: REL9_5_STABLE [c2b824e34] 2015-07-15 21:00:30 -0400
4947 Branch: REL9_4_STABLE [2405107b4] 2015-07-15 21:00:30 -0400
4948 Branch: REL9_3_STABLE [dc5075fed] 2015-07-15 21:00:30 -0400
4949 Branch: REL9_2_STABLE [690bec26c] 2015-07-15 21:00:31 -0400
4950 Branch: REL9_1_STABLE [1dd2b6b68] 2015-07-15 21:00:31 -0400
4951 Branch: REL9_0_STABLE [7803d5720] 2015-07-15 21:00:31 -0400
4956 On <acronym>AIX</>, use <literal>-Wl,-brtllib</> link option to allow
4957 symbols to be resolved at runtime (Noah Misch)
4961 Perl relies on this ability in 5.8.0 and later.
4966 Author: Noah Misch <noah@leadboat.com>
4967 Branch: master [c53f73879] 2015-07-29 22:49:48 -0400
4968 Branch: REL9_5_STABLE [a664d4790] 2015-07-29 22:52:43 -0400
4969 Branch: REL9_4_STABLE [76cf5f195] 2015-07-29 22:53:09 -0400
4970 Branch: REL9_3_STABLE [23e7ee962] 2015-07-29 22:53:40 -0400
4971 Branch: REL9_2_STABLE [0a89f3bc6] 2015-07-29 22:53:58 -0400
4972 Branch: REL9_1_STABLE [d20327a4f] 2015-07-29 22:54:03 -0400
4973 Branch: REL9_0_STABLE [2d8c136e7] 2015-07-29 22:54:08 -0400
4978 Avoid use of inline functions when compiling with
4979 32-bit <application>xlc</>, due to compiler bugs (Noah Misch)
4984 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
4985 Branch: master Release: REL9_5_BR [ab93f90cd] 2015-06-30 14:20:38 -0300
4986 Branch: REL9_4_STABLE [ef704ec06] 2015-06-30 14:20:38 -0300
4987 Branch: REL9_3_STABLE [c085e072f] 2015-06-30 14:20:38 -0300
4988 Branch: REL9_2_STABLE [c538d7363] 2015-06-30 14:20:38 -0300
4989 Branch: REL9_1_STABLE [a9f886f41] 2015-06-30 14:20:38 -0300
4990 Branch: REL9_0_STABLE [b185c42c1] 2015-06-30 14:20:37 -0300
4995 Use <filename>librt</> for <function>sched_yield()</> when necessary,
4996 which it is on some Solaris versions (Oskari Saarenmaa)
5001 Author: Noah Misch <noah@leadboat.com>
5002 Branch: master [ec79978dd] 2015-08-14 20:23:13 -0400
5003 Branch: REL9_5_STABLE [f19ad6fbe] 2015-08-14 20:23:35 -0400
5004 Branch: REL9_4_STABLE [a0104e080] 2015-08-14 20:23:42 -0400
5009 Translate encoding <literal>UHC</> as Windows code page 949
5014 This fixes presentation of non-ASCII log messages from processes that
5015 are not attached to any particular database, such as the postmaster.
5020 Author: Noah Misch <noah@leadboat.com>
5021 Branch: master [43adc7a71] 2015-08-14 20:23:09 -0400
5022 Branch: REL9_5_STABLE [92516bf19] 2015-08-14 20:23:34 -0400
5023 Branch: REL9_4_STABLE [f988da953] 2015-08-14 20:23:41 -0400
5028 On Windows, avoid failure when doing encoding conversion to UTF16
5029 outside a transaction, such as for log messages (Noah Misch)
5034 Author: Noah Misch <noah@leadboat.com>
5035 Branch: master Release: REL9_5_BR [f0a264a36] 2015-06-20 12:09:29 -0400
5036 Branch: REL9_4_STABLE [b2ed1682d] 2015-06-20 12:10:56 -0400
5041 Fix postmaster startup failure due to not
5042 copying <function>setlocale()</>'s return value (Noah Misch)
5046 This has been reported on Windows systems with the ANSI code page set
5047 to CP936 (<quote>Chinese (Simplified, PRC)</>), and may occur with
5048 other multibyte code pages.
5053 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5054 Branch: master [6c534fd68] 2015-07-06 22:18:26 +0300
5055 Branch: REL9_5_STABLE [e5460aa02] 2015-07-07 16:33:10 +0300
5056 Branch: REL9_4_STABLE [4dac5651b] 2015-07-07 16:31:52 +0300
5057 Branch: REL9_3_STABLE [880365a3c] 2015-07-07 16:37:16 +0300
5058 Branch: REL9_2_STABLE [a5273ef37] 2015-07-07 16:37:34 +0300
5059 Branch: REL9_1_STABLE [3b7cf4367] 2015-07-07 16:38:24 +0300
5060 Branch: REL9_0_STABLE [341b877d3] 2015-07-07 16:39:25 +0300
5065 Fix Windows <filename>install.bat</> script to handle target directory
5066 names that contain spaces (Heikki Linnakangas)
5071 Author: Tom Lane <tgl@sss.pgh.pa.us>
5072 Branch: master [a5d489ccb] 2015-07-02 17:24:36 -0400
5073 Branch: REL9_5_STABLE [d1fec374f] 2015-07-05 12:01:01 -0400
5074 Branch: REL9_4_STABLE [60c38e62c] 2015-07-05 12:01:01 -0400
5075 Branch: REL9_3_STABLE [544e75814] 2015-07-05 12:01:01 -0400
5076 Branch: REL9_2_STABLE [89b8cf47b] 2015-07-05 12:01:01 -0400
5077 Branch: REL9_1_STABLE [9b00885d0] 2015-07-05 12:01:01 -0400
5078 Branch: REL9_0_STABLE [29ff43adf] 2015-07-05 12:01:02 -0400
5083 Make the numeric form of the <productname>PostgreSQL</> version number
5084 (e.g., <literal>90405</>) readily available to extension Makefiles,
5085 as a variable named <varname>VERSION_NUM</> (Michael Paquier)
5090 Author: Tom Lane <tgl@sss.pgh.pa.us>
5091 Branch: master [241e6844a] 2015-10-02 19:15:39 -0400
5092 Branch: REL9_5_STABLE [19b06cc66] 2015-10-02 19:15:49 -0400
5093 Branch: REL9_4_STABLE [8e45497a2] 2015-10-02 19:15:57 -0400
5094 Branch: REL9_3_STABLE [0f6a046b6] 2015-10-02 19:16:06 -0400
5095 Branch: REL9_2_STABLE [fd519c170] 2015-10-02 19:16:18 -0400
5096 Branch: REL9_1_STABLE [3a68e0a10] 2015-10-02 19:16:29 -0400
5097 Branch: REL9_0_STABLE [47ac95f37] 2015-10-02 19:16:37 -0400
5102 Update time zone data files to <application>tzdata</> release 2015g for
5103 DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk
5104 Island, North Korea, Turkey, and Uruguay. There is a new zone name
5105 <literal>America/Fort_Nelson</> for the Canadian Northern Rockies.
5114 <sect1 id="release-9-4-4">
5115 <title>Release 9.4.4</title>
5118 <title>Release Date</title>
5119 <simpara>2015-06-12</simpara>
5123 This release contains a small number of fixes from 9.4.3.
5124 For information about new features in the 9.4 major release, see
5125 <xref linkend="release-9-4">.
5129 <title>Migration to Version 9.4.4</title>
5132 A dump/restore is not required for those running 9.4.X.
5136 However, if you are upgrading an installation that was previously
5137 upgraded using a <application>pg_upgrade</> version between 9.3.0 and
5138 9.3.4 inclusive, see the first changelog entry below.
5142 Also, if you are upgrading from a version earlier than 9.4.2,
5143 see <xref linkend="release-9-4-2">.
5148 <title>Changes</title>
5153 Author: Robert Haas <rhaas@postgresql.org>
5154 Branch: master [068cfadf9] 2015-06-05 09:31:57 -0400
5155 Branch: REL9_4_STABLE [b6a3444fa] 2015-06-05 09:33:52 -0400
5156 Branch: REL9_3_STABLE [2a9b01928] 2015-06-05 09:34:15 -0400
5161 Fix possible failure to recover from an inconsistent database state
5166 Recent <productname>PostgreSQL</> releases introduced mechanisms to
5167 protect against multixact wraparound, but some of that code did not
5168 account for the possibility that it would need to run during crash
5169 recovery, when the database may not be in a consistent state. This
5170 could result in failure to restart after a crash, or failure to start
5171 up a secondary server. The lingering effects of a previously-fixed
5172 bug in <application>pg_upgrade</> could also cause such a failure, in
5173 installations that had used <application>pg_upgrade</> versions
5174 between 9.3.0 and 9.3.4.
5178 The <application>pg_upgrade</> bug in question was that it would
5179 set <literal>oldestMultiXid</> to 1 in <filename>pg_control</> even
5180 if the true value should be higher. With the fixes introduced in
5181 this release, such a situation will result in immediate emergency
5182 autovacuuming until a correct <literal>oldestMultiXid</> value can
5183 be determined. If that would pose a hardship, users can avoid it by
5184 doing manual vacuuming <emphasis>before</> upgrading to this release.
5190 Check whether <application>pg_controldata</> reports <quote>Latest
5191 checkpoint's oldestMultiXid</> to be 1. If not, there's nothing
5197 Look in <filename>PGDATA/pg_multixact/offsets</> to see if there's a
5198 file named <filename>0000</>. If there is, there's nothing to do.
5203 Otherwise, for each table that has
5204 <structname>pg_class</>.<structfield>relminmxid</> equal to 1,
5205 <command>VACUUM</> that table with
5206 both <xref linkend="guc-vacuum-multixact-freeze-min-age">
5207 and <xref linkend="guc-vacuum-multixact-freeze-table-age"> set to
5208 zero. (You can use the vacuum cost delay parameters described
5209 in <xref linkend="runtime-config-resource-vacuum-cost"> to reduce
5210 the performance consequences for concurrent sessions.)
5218 Author: Tom Lane <tgl@sss.pgh.pa.us>
5219 Branch: master [f3b5565dd] 2015-06-07 15:32:09 -0400
5220 Branch: REL9_4_STABLE [be25a08a9] 2015-06-07 15:32:09 -0400
5221 Branch: REL9_3_STABLE [4f2458dd7] 2015-06-07 15:32:09 -0400
5222 Branch: REL9_2_STABLE [3e69a73b9] 2015-06-07 15:32:09 -0400
5223 Branch: REL9_1_STABLE [e06e56212] 2015-06-07 15:32:09 -0400
5224 Branch: REL9_0_STABLE [2fe1939b0] 2015-06-07 15:32:09 -0400
5229 Fix rare failure to invalidate relation cache init file (Tom Lane)
5233 With just the wrong timing of concurrent activity, a <command>VACUUM
5234 FULL</> on a system catalog might fail to update the <quote>init file</>
5235 that's used to avoid cache-loading work for new sessions. This would
5236 result in later sessions being unable to access that catalog at all.
5237 This is a very ancient bug, but it's so hard to trigger that no
5238 reproducible case had been seen until recently.
5243 Author: Tom Lane <tgl@sss.pgh.pa.us>
5244 Branch: master [ac23b711d] 2015-06-05 13:22:27 -0400
5245 Branch: REL9_4_STABLE [247263dc3] 2015-06-05 13:22:27 -0400
5246 Branch: REL9_3_STABLE [ac86eda63] 2015-06-05 13:22:27 -0400
5247 Branch: REL9_2_STABLE [04358dab2] 2015-06-05 13:22:27 -0400
5248 Branch: REL9_1_STABLE [002e7d144] 2015-06-05 13:22:27 -0400
5249 Branch: REL9_0_STABLE [dbd99c7f0] 2015-06-05 13:22:27 -0400
5254 Avoid deadlock between incoming sessions and <literal>CREATE/DROP
5255 DATABASE</> (Tom Lane)
5259 A new session starting in a database that is the target of
5260 a <command>DROP DATABASE</> command, or is the template for
5261 a <command>CREATE DATABASE</> command, could cause the command to wait
5262 for five seconds and then fail, even if the new session would have
5268 Author: Tom Lane <tgl@sss.pgh.pa.us>
5269 Branch: master [3f59be836] 2015-06-03 11:59:10 -0400
5270 Branch: REL9_4_STABLE [f0a8515c4] 2015-06-03 11:58:47 -0400
5271 Branch: REL9_3_STABLE [d3fdec6ae] 2015-06-03 11:58:47 -0400
5276 Improve planner's cost estimates for semi-joins and anti-joins with
5277 inner indexscans (Tom Lane, Tomas Vondra)
5281 This type of plan is quite cheap when all the join clauses are used
5282 as index scan conditions, even if the inner scan would nominally
5283 fetch many rows, because the executor will stop after obtaining one
5284 row. The planner only partially accounted for that effect, and would
5285 therefore overestimate the cost, leading it to possibly choose some
5286 other much less efficient plan type.
5295 <sect1 id="release-9-4-3">
5296 <title>Release 9.4.3</title>
5299 <title>Release Date</title>
5300 <simpara>2015-06-04</simpara>
5304 This release contains a small number of fixes from 9.4.2.
5305 For information about new features in the 9.4 major release, see
5306 <xref linkend="release-9-4">.
5310 <title>Migration to Version 9.4.3</title>
5313 A dump/restore is not required for those running 9.4.X.
5317 However, if you are upgrading from a version earlier than 9.4.2,
5318 see <xref linkend="release-9-4-2">.
5323 <title>Changes</title>
5328 Author: Tom Lane <tgl@sss.pgh.pa.us>
5329 Branch: master [d8179b001] 2015-05-28 17:33:03 -0400
5330 Branch: REL9_4_STABLE [a3ae3db43] 2015-05-28 17:33:03 -0400
5331 Branch: REL9_3_STABLE [81f3d3b7c] 2015-05-28 17:33:03 -0400
5332 Branch: REL9_2_STABLE [aa8377e64] 2015-05-28 17:33:03 -0400
5333 Branch: REL9_1_STABLE [cb867853a] 2015-05-28 17:33:03 -0400
5334 Branch: REL9_0_STABLE [e4a04e5a4] 2015-05-28 17:33:03 -0400
5335 Author: Tom Lane <tgl@sss.pgh.pa.us>
5336 Branch: master [c07d8c963] 2015-05-29 13:05:16 -0400
5337 Branch: REL9_4_STABLE [dbde225b1] 2015-05-29 13:05:16 -0400
5338 Branch: REL9_3_STABLE [52fc94844] 2015-05-29 13:05:16 -0400
5339 Author: Tom Lane <tgl@sss.pgh.pa.us>
5340 Branch: master [57e1138bc] 2015-05-29 15:11:36 -0400
5341 Branch: REL9_4_STABLE [70a4519b8] 2015-05-29 15:11:36 -0400
5342 Branch: REL9_3_STABLE [35dd1b51f] 2015-05-29 15:11:36 -0400
5343 Branch: REL9_2_STABLE [77642a819] 2015-05-29 15:11:36 -0400
5344 Branch: REL9_1_STABLE [9e79ca326] 2015-05-29 15:11:36 -0400
5345 Branch: REL9_0_STABLE [bf2f20c08] 2015-05-29 15:11:36 -0400
5346 Author: Tom Lane <tgl@sss.pgh.pa.us>
5347 Branch: master [1943c000b] 2015-05-29 17:02:58 -0400
5348 Branch: REL9_4_STABLE [99f50dd72] 2015-05-29 17:02:58 -0400
5349 Branch: REL9_3_STABLE [c2b68b1f7] 2015-05-29 17:02:58 -0400
5354 Avoid failures while <function>fsync</>'ing data directory during
5355 crash restart (Abhijit Menon-Sen, Tom Lane)
5359 In the previous minor releases we added a patch to <function>fsync</>
5360 everything in the data directory after a crash. Unfortunately its
5361 response to any error condition was to fail, thereby preventing the
5362 server from starting up, even when the problem was quite harmless.
5363 An example is that an unwritable file in the data directory would
5364 prevent restart on some platforms; but it is common to make SSL
5365 certificate files unwritable by the server. Revise this behavior so
5366 that permissions failures are ignored altogether, and other types of
5367 failures are logged but do not prevent continuing.
5371 Also apply the same rules in <literal>initdb --sync-only</>.
5372 This case is less critical but it should act similarly.
5377 Author: Tom Lane <tgl@sss.pgh.pa.us>
5378 Branch: master [f46edf479] 2015-05-28 11:24:37 -0400
5379 Branch: REL9_4_STABLE [d4a9f5519] 2015-05-28 11:24:37 -0400
5380 Branch: REL9_3_STABLE [27bae8d96] 2015-05-28 11:24:37 -0400
5381 Branch: REL9_2_STABLE [f3c67aad4] 2015-05-28 11:24:37 -0400
5386 Fix <function>pg_get_functiondef()</> to show
5387 functions' <literal>LEAKPROOF</> property, if set (Jeevan Chalke)
5392 Author: Andrew Dunstan <andrew@dunslane.net>
5393 Branch: master [5302760a5] 2015-05-22 10:21:41 -0400
5394 Branch: REL9_4_STABLE [9b74f32cd] 2015-05-22 10:31:29 -0400
5399 Fix <function>pushJsonbValue()</> to unpack <type>jbvBinary</>
5400 objects (Andrew Dunstan)
5404 This change does not affect any behavior in the core code as of 9.4,
5405 but it avoids a corner case for possible third-party callers.
5410 Author: Tom Lane <tgl@sss.pgh.pa.us>
5411 Branch: master [86832eb89] 2015-05-26 22:14:59 -0400
5412 Branch: REL9_4_STABLE [79f0f7cab] 2015-05-26 22:14:59 -0400
5413 Branch: REL9_3_STABLE [9e980e7d0] 2015-05-26 22:14:59 -0400
5414 Branch: REL9_2_STABLE [1b1457120] 2015-05-26 22:14:59 -0400
5415 Branch: REL9_1_STABLE [5585cc707] 2015-05-26 22:14:59 -0400
5416 Branch: REL9_0_STABLE [b06649b7f] 2015-05-26 22:15:00 -0400
5421 Remove <application>configure</>'s check prohibiting linking to a
5422 threaded <application>libpython</>
5423 on <systemitem class="osname">OpenBSD</> (Tom Lane)
5427 The failure this restriction was meant to prevent seems to not be a
5428 problem anymore on current <systemitem class="osname">OpenBSD</>
5438 <sect1 id="release-9-4-2">
5439 <title>Release 9.4.2</title>
5442 <title>Release Date</title>
5443 <simpara>2015-05-22</simpara>
5447 This release contains a variety of fixes from 9.4.1.
5448 For information about new features in the 9.4 major release, see
5449 <xref linkend="release-9-4">.
5453 <title>Migration to Version 9.4.2</title>
5456 A dump/restore is not required for those running 9.4.X.
5460 However, if you use <filename>contrib/citext</>'s
5461 <function>regexp_matches()</> functions, see the changelog entry below
5466 Also, if you are upgrading from a version earlier than 9.4.1,
5467 see <xref linkend="release-9-4-1">.
5472 <title>Changes</title>
5477 Author: Noah Misch <noah@leadboat.com>
5478 Branch: master [b0ce38503] 2015-05-18 10:02:31 -0400
5479 Branch: REL9_4_STABLE [7a0d48ac7] 2015-05-18 10:02:35 -0400
5480 Branch: REL9_3_STABLE [f4c12b415] 2015-05-18 10:02:36 -0400
5481 Branch: REL9_2_STABLE [439ff9b6b] 2015-05-18 10:02:37 -0400
5482 Branch: REL9_1_STABLE [6675ab595] 2015-05-18 10:02:38 -0400
5483 Branch: REL9_0_STABLE [648e41a6e] 2015-05-18 10:02:38 -0400
5488 Avoid possible crash when client disconnects just before the
5489 authentication timeout expires (Benkocs Norbert Attila)
5493 If the timeout interrupt fired partway through the session shutdown
5494 sequence, SSL-related state would be freed twice, typically causing a
5495 crash and hence denial of service to other sessions. Experimentation
5496 shows that an unauthenticated remote attacker could trigger the bug
5497 somewhat consistently, hence treat as security issue.
5503 Author: Noah Misch <noah@leadboat.com>
5504 Branch: master [cac18a76b] 2015-05-18 10:02:31 -0400
5505 Branch: REL9_4_STABLE [f7c4fe7d9] 2015-05-18 10:02:35 -0400
5506 Branch: REL9_3_STABLE [d5abbd114] 2015-05-18 10:02:36 -0400
5507 Branch: REL9_2_STABLE [1e6652aea] 2015-05-18 10:02:37 -0400
5508 Branch: REL9_1_STABLE [b544dcdad] 2015-05-18 10:02:38 -0400
5509 Branch: REL9_0_STABLE [19f7adc01] 2015-05-18 10:02:38 -0400
5510 Author: Noah Misch <noah@leadboat.com>
5511 Branch: master [16304a013] 2015-05-18 10:02:31 -0400
5512 Branch: REL9_4_STABLE [2e3bd0665] 2015-05-18 10:02:35 -0400
5513 Branch: REL9_3_STABLE [34d21e770] 2015-05-18 10:02:36 -0400
5514 Branch: REL9_2_STABLE [82b7393eb] 2015-05-18 10:02:37 -0400
5515 Branch: REL9_1_STABLE [e58f042d9] 2015-05-18 10:02:38 -0400
5516 Branch: REL9_0_STABLE [b08c7aff7] 2015-05-18 10:02:38 -0400
5517 Author: Noah Misch <noah@leadboat.com>
5518 Branch: master [fd97bd411] 2015-05-18 10:02:31 -0400
5519 Branch: REL9_4_STABLE [ca325941d] 2015-05-18 10:02:35 -0400
5520 Branch: REL9_3_STABLE [c669915fd] 2015-05-18 10:02:37 -0400
5521 Branch: REL9_2_STABLE [01272d95a] 2015-05-18 10:02:37 -0400
5522 Branch: REL9_1_STABLE [2cb9f2cab] 2015-05-18 10:02:38 -0400
5523 Branch: REL9_0_STABLE [9b5e831e3] 2015-05-18 10:02:38 -0400
5524 Author: Tom Lane <tgl@sss.pgh.pa.us>
5525 Branch: master [0c071936e] 2015-05-19 18:19:38 -0400
5526 Branch: REL9_4_STABLE [2eb2fcd56] 2015-05-19 18:16:19 -0400
5527 Branch: REL9_3_STABLE [13341276e] 2015-05-19 18:16:58 -0400
5528 Branch: REL9_2_STABLE [221f7a949] 2015-05-19 18:17:42 -0400
5529 Branch: REL9_1_STABLE [0510cff6e] 2015-05-19 18:18:16 -0400
5530 Branch: REL9_0_STABLE [cf893530a] 2015-05-19 18:18:56 -0400
5535 Improve detection of system-call failures (Noah Misch)
5539 Our replacement implementation of <function>snprintf()</> failed to
5540 check for errors reported by the underlying system library calls;
5541 the main case that might be missed is out-of-memory situations.
5542 In the worst case this might lead to information exposure, due to our
5543 code assuming that a buffer had been overwritten when it hadn't been.
5544 Also, there were a few places in which security-relevant calls of other
5545 system library functions did not check for failure.
5549 It remains possible that some calls of the <function>*printf()</>
5550 family of functions are vulnerable to information disclosure if an
5551 out-of-memory error occurs at just the wrong time. We judge the risk
5552 to not be large, but will continue analysis in this area.
5558 Author: Noah Misch <noah@leadboat.com>
5559 Branch: master [85270ac7a] 2015-05-18 10:02:31 -0400
5560 Branch: REL9_4_STABLE [fba1fb4ef] 2015-05-18 10:02:35 -0400
5561 Branch: REL9_3_STABLE [7b758b7d6] 2015-05-18 10:02:37 -0400
5562 Branch: REL9_2_STABLE [0ba200431] 2015-05-18 10:02:37 -0400
5563 Branch: REL9_1_STABLE [e5981aebd] 2015-05-18 10:02:38 -0400
5564 Branch: REL9_0_STABLE [b84e5c017] 2015-05-18 10:02:39 -0400
5569 In <filename>contrib/pgcrypto</>, uniformly report decryption failures
5570 as <quote>Wrong key or corrupt data</> (Noah Misch)
5574 Previously, some cases of decryption with an incorrect key could report
5575 other error message texts. It has been shown that such variance in
5576 error reports can aid attackers in recovering keys from other systems.
5577 While it's unknown whether <filename>pgcrypto</>'s specific behaviors
5578 are likewise exploitable, it seems better to avoid the risk by using a
5579 one-size-fits-all message.
5585 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
5586 Branch: master [b69bf30b9] 2015-04-28 11:32:53 -0300
5587 Branch: REL9_4_STABLE [942542cbb] 2015-04-28 11:32:53 -0300
5588 Branch: REL9_3_STABLE [e2eda4b11] 2015-04-28 11:32:53 -0300
5589 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
5590 Branch: master [669c7d20e] 2015-04-30 13:55:06 -0300
5591 Branch: REL9_4_STABLE [7140e11d8] 2015-04-30 13:55:06 -0300
5592 Branch: REL9_3_STABLE [e60581fdf] 2015-04-30 13:55:06 -0300
5593 Author: Robert Haas <rhaas@postgresql.org>
5594 Branch: master [7be47c56a] 2015-05-07 11:19:31 -0400
5595 Branch: REL9_4_STABLE [32c50af4c] 2015-05-07 11:13:55 -0400
5596 Branch: REL9_3_STABLE [83fbd9b59] 2015-05-07 11:16:41 -0400
5597 Author: Robert Haas <rhaas@postgresql.org>
5598 Branch: master [312747c22] 2015-05-10 21:34:26 -0400
5599 Branch: REL9_4_STABLE [7b3f0f8b8] 2015-05-10 21:47:28 -0400
5600 Branch: REL9_3_STABLE [24aa77ec9] 2015-05-10 21:47:41 -0400
5601 Author: Robert Haas <rhaas@postgresql.org>
5602 Branch: master [f6a6c46d7] 2015-05-10 22:21:20 -0400
5603 Branch: REL9_4_STABLE [ded891916] 2015-05-10 22:45:27 -0400
5604 Branch: REL9_3_STABLE [5bbac7ec1] 2015-05-10 22:45:42 -0400
5605 Author: Robert Haas <rhaas@postgresql.org>
5606 Branch: master [53bb309d2] 2015-05-08 12:53:00 -0400
5607 Branch: REL9_4_STABLE [3ecab37d9] 2015-05-08 12:53:30 -0400
5608 Branch: REL9_3_STABLE [596fb5aa7] 2015-05-08 12:55:14 -0400
5609 Author: Robert Haas <rhaas@postgresql.org>
5610 Branch: master [04e6d3b87] 2015-05-11 10:51:14 -0400
5611 Branch: REL9_4_STABLE [8ec1a3a54] 2015-05-11 10:56:19 -0400
5612 Branch: REL9_3_STABLE [543fbecee] 2015-05-11 10:56:32 -0400
5613 Author: Robert Haas <rhaas@postgresql.org>
5614 Branch: master [b4d4ce1d5] 2015-05-11 12:15:50 -0400
5615 Branch: REL9_4_STABLE [ea70595a3] 2015-05-11 12:16:35 -0400
5616 Branch: REL9_3_STABLE [ddebd2119] 2015-05-11 12:16:51 -0400
5621 Protect against wraparound of multixact member IDs
5622 (Álvaro Herrera, Robert Haas, Thomas Munro)
5626 Under certain usage patterns, the existing defenses against this might
5627 be insufficient, allowing <filename>pg_multixact/members</> files to be
5628 removed too early, resulting in data loss.
5629 The fix for this includes modifying the server to fail transactions
5630 that would result in overwriting old multixact member ID data, and
5631 improving autovacuum to ensure it will act proactively to prevent
5632 multixact member ID wraparound, as it does for transaction ID
5638 Author: Tom Lane <tgl@sss.pgh.pa.us>
5639 Branch: master [b22527f29] 2015-05-05 15:51:22 -0400
5640 Branch: REL9_4_STABLE [b1ec45994] 2015-05-05 15:50:53 -0400
5641 Branch: REL9_3_STABLE [ffac9f65d] 2015-05-05 15:50:53 -0400
5642 Branch: REL9_2_STABLE [d4070d10c] 2015-05-05 15:50:53 -0400
5643 Branch: REL9_1_STABLE [801e250a8] 2015-05-05 15:50:53 -0400
5648 Fix incorrect declaration of <filename>contrib/citext</>'s
5649 <function>regexp_matches()</> functions (Tom Lane)
5653 These functions should return <type>setof text[]</>, like the core
5654 functions they are wrappers for; but they were incorrectly declared as
5655 returning just <type>text[]</>. This mistake had two results: first,
5656 if there was no match you got a scalar null result, whereas what you
5657 should get is an empty set (zero rows). Second, the <literal>g</> flag
5658 was effectively ignored, since you would get only one result array even
5659 if there were multiple matches.
5663 While the latter behavior is clearly a bug, there might be applications
5664 depending on the former behavior; therefore the function declarations
5665 will not be changed by default until <productname>PostgreSQL</> 9.5.
5666 In pre-9.5 branches, the old behavior exists in version 1.0 of
5667 the <literal>citext</> extension, while we have provided corrected
5668 declarations in version 1.1 (which is <emphasis>not</> installed by
5669 default). To adopt the fix in pre-9.5 branches, execute
5670 <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
5671 which <literal>citext</> is installed. (You can also <quote>update</>
5672 back to 1.0 if you need to undo that.) Be aware that either update
5673 direction will require dropping and recreating any views or rules that
5674 use <filename>citext</>'s <function>regexp_matches()</> functions.
5679 Author: Andrew Dunstan <andrew@dunslane.net>
5680 Branch: master [bda76c1c8] 2015-02-26 12:25:21 -0500
5681 Branch: REL9_4_STABLE [79afe6e66] 2015-02-26 12:34:43 -0500
5686 Render infinite dates and timestamps as <literal>infinity</> when
5687 converting to <type>json</>, rather than throwing an error
5693 Author: Andrew Dunstan <andrew@dunslane.net>
5694 Branch: master [3c000fd9a] 2015-05-04 12:38:58 -0400
5695 Branch: REL9_4_STABLE [997066f44] 2015-05-04 12:43:16 -0400
5700 Fix <type>json</>/<type>jsonb</>'s <function>populate_record()</>
5701 and <function>to_record()</> functions to handle empty input properly
5707 Author: Tom Lane <tgl@sss.pgh.pa.us>
5708 Branch: master [20781765f] 2015-05-11 12:25:43 -0400
5709 Branch: REL9_4_STABLE [4d3d9719d] 2015-05-11 12:25:44 -0400
5710 Branch: REL9_3_STABLE [7d09fdf82] 2015-05-11 12:25:45 -0400
5711 Branch: REL9_2_STABLE [46f9acd3e] 2015-05-11 12:25:28 -0400
5712 Branch: REL9_1_STABLE [dd75518d5] 2015-05-11 12:25:28 -0400
5713 Branch: REL9_0_STABLE [b93c8eaf8] 2015-05-11 12:25:28 -0400
5718 Fix incorrect checking of deferred exclusion constraints after a HOT
5723 If a new row that potentially violates a deferred exclusion constraint
5724 is HOT-updated (that is, no indexed columns change and the row can be
5725 stored back onto the same table page) later in the same transaction,
5726 the exclusion constraint would be reported as violated when the check
5727 finally occurred, even if the row(s) the new row originally conflicted
5728 with had been deleted.
5733 Author: Tom Lane <tgl@sss.pgh.pa.us>
5734 Branch: master [a4820434c] 2015-05-03 11:30:24 -0400
5735 Branch: REL9_4_STABLE [79edb2981] 2015-05-03 11:30:24 -0400
5740 Fix behavior when changing foreign key constraint deferrability status
5741 with <literal>ALTER TABLE ... ALTER CONSTRAINT</> (Tom Lane)
5745 Operations later in the same session or concurrent sessions might not
5746 honor the status change promptly.
5751 Author: Tom Lane <tgl@sss.pgh.pa.us>
5752 Branch: master [b514a7460] 2015-02-28 12:43:04 -0500
5753 Branch: REL9_4_STABLE [fdacbf9e8] 2015-02-28 12:43:04 -0500
5754 Branch: REL9_3_STABLE [1b558782b] 2015-02-28 12:43:04 -0500
5755 Branch: REL9_2_STABLE [6f419958a] 2015-02-28 12:43:04 -0500
5760 Fix planning of star-schema-style queries (Tom Lane)
5764 Sometimes, efficient scanning of a large table requires that index
5765 parameters be provided from more than one other table (commonly,
5766 dimension tables whose keys are needed to index a large fact table).
5767 The planner should be able to find such plans, but an overly
5768 restrictive search heuristic prevented it.
5773 Author: Tom Lane <tgl@sss.pgh.pa.us>
5774 Branch: master [3cf868601] 2015-04-25 16:44:27 -0400
5775 Branch: REL9_4_STABLE [5f3d1909c] 2015-04-25 16:44:27 -0400
5776 Branch: REL9_3_STABLE [3e47d0b2a] 2015-04-25 16:44:27 -0400
5777 Branch: REL9_2_STABLE [950f80dd5] 2015-04-25 16:44:27 -0400
5778 Branch: REL9_1_STABLE [2e38198f6] 2015-04-25 16:44:27 -0400
5779 Branch: REL9_0_STABLE [985da346e] 2015-04-25 16:44:27 -0400
5784 Prevent improper reordering of antijoins (NOT EXISTS joins) versus
5785 other outer joins (Tom Lane)
5789 This oversight in the planner has been observed to cause <quote>could
5790 not find RelOptInfo for given relids</> errors, but it seems possible
5791 that sometimes an incorrect query plan might get past that consistency
5792 check and result in silently-wrong query output.
5797 Author: Tom Lane <tgl@sss.pgh.pa.us>
5798 Branch: master [ca6805338] 2015-04-04 19:55:15 -0400
5799 Branch: REL9_4_STABLE [1d71d36ff] 2015-04-04 19:55:15 -0400
5800 Branch: REL9_3_STABLE [e105df208] 2015-04-04 19:55:15 -0400
5801 Branch: REL9_2_STABLE [b7d493bf7] 2015-04-04 19:55:15 -0400
5802 Branch: REL9_1_STABLE [3b5d67102] 2015-04-04 19:55:15 -0400
5803 Branch: REL9_0_STABLE [da8819194] 2015-04-04 19:55:15 -0400
5808 Fix incorrect matching of subexpressions in outer-join plan nodes
5813 Previously, if textually identical non-strict subexpressions were used
5814 both above and below an outer join, the planner might try to re-use
5815 the value computed below the join, which would be incorrect because the
5816 executor would force the value to NULL in case of an unmatched outer row.
5821 Author: Tom Lane <tgl@sss.pgh.pa.us>
5822 Branch: master [1a179f36f] 2015-02-10 20:37:19 -0500
5823 Branch: REL9_4_STABLE [433c79d2c] 2015-02-10 20:37:22 -0500
5824 Branch: REL9_3_STABLE [672abc402] 2015-02-10 20:37:24 -0500
5825 Branch: REL9_2_STABLE [0d083103f] 2015-02-10 20:37:26 -0500
5826 Branch: REL9_1_STABLE [52579d507] 2015-02-10 20:37:29 -0500
5827 Branch: REL9_0_STABLE [72bbca27e] 2015-02-10 20:37:31 -0500
5832 Fix GEQO planner to cope with failure of its join order heuristic
5837 This oversight has been seen to lead to <quote>failed to join all
5838 relations together</> errors in queries involving <literal>LATERAL</>,
5839 and that might happen in other cases as well.
5844 Author: Stephen Frost <sfrost@snowman.net>
5845 Branch: master [6f9bd50ea] 2015-02-25 21:36:29 -0500
5846 Branch: REL9_4_STABLE [f16270ade] 2015-02-25 21:36:40 -0500
5851 Ensure that row locking occurs properly when the target of
5852 an <command>UPDATE</> or <command>DELETE</> is a security-barrier view
5858 Author: Andres Freund <andres@anarazel.de>
5859 Branch: master [dfbaed459] 2015-04-28 00:17:43 +0200
5860 Branch: REL9_4_STABLE [fd3dfc236] 2015-04-28 00:18:04 +0200
5865 Use a file opened for read/write when syncing replication slot data
5866 during database startup (Andres Freund)
5870 On some platforms, the previous coding could result in errors like
5871 <quote>could not fsync file "pg_replslot/...": Bad file descriptor</>.
5876 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5877 Branch: master [2c47fe16a] 2015-04-23 21:39:35 +0300
5878 Branch: REL9_4_STABLE [438a062d5] 2015-04-23 21:35:10 +0300
5879 Branch: REL9_3_STABLE [f73ebd766] 2015-04-23 21:36:24 +0300
5880 Branch: REL9_2_STABLE [d3f5d2892] 2015-04-23 21:36:50 +0300
5881 Branch: REL9_1_STABLE [e8528a8f5] 2015-04-23 21:36:59 +0300
5882 Branch: REL9_0_STABLE [223a94680] 2015-04-23 21:37:09 +0300
5887 Fix possible deadlock at startup
5888 when <literal>max_prepared_transactions</> is too small
5889 (Heikki Linnakangas)
5894 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
5895 Branch: master [b2a5545bd] 2015-04-13 16:53:49 +0300
5896 Branch: REL9_4_STABLE [d72792d02] 2015-04-13 17:22:21 +0300
5897 Branch: REL9_3_STABLE [a800267e4] 2015-04-13 17:22:35 +0300
5898 Branch: REL9_2_STABLE [cc2939f44] 2015-04-13 17:26:59 +0300
5899 Branch: REL9_1_STABLE [ad2925e20] 2015-04-13 17:26:49 +0300
5900 Branch: REL9_0_STABLE [5b6938186] 2015-04-13 17:26:35 +0300
5905 Don't archive useless preallocated WAL files after a timeline switch
5906 (Heikki Linnakangas)
5911 Author: Robert Haas <rhaas@postgresql.org>
5912 Branch: master [2ce439f33] 2015-05-04 14:13:53 -0400
5913 Branch: REL9_4_STABLE [d8ac77ab1] 2015-05-04 14:19:32 -0400
5914 Branch: REL9_3_STABLE [14de825de] 2015-05-04 12:27:55 -0400
5915 Branch: REL9_2_STABLE [2bc339716] 2015-05-04 12:41:53 -0400
5916 Branch: REL9_1_STABLE [4b71d28d5] 2015-05-04 12:47:11 -0400
5917 Branch: REL9_0_STABLE [30ba0d0c2] 2015-05-04 14:04:53 -0400
5918 Author: Robert Haas <rhaas@postgresql.org>
5919 Branch: master [456ff0863] 2015-05-05 09:29:49 -0400
5920 Branch: REL9_4_STABLE [603fe0181] 2015-05-05 09:16:39 -0400
5921 Branch: REL9_3_STABLE [6fd666954] 2015-05-05 09:19:39 -0400
5922 Branch: REL9_2_STABLE [53e1498c6] 2015-05-05 09:22:51 -0400
5923 Branch: REL9_1_STABLE [6ee1a7738] 2015-05-05 09:25:51 -0400
5924 Branch: REL9_0_STABLE [262fbcb9d] 2015-05-05 09:30:07 -0400
5929 Recursively <function>fsync()</> the data directory after a crash
5930 (Abhijit Menon-Sen, Robert Haas)
5934 This ensures consistency if another crash occurs shortly later. (The
5935 second crash would have to be a system-level crash, not just a database
5936 crash, for there to be a problem.)
5941 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
5942 Branch: master [5df64f298] 2015-04-08 13:19:49 -0300
5943 Branch: REL9_4_STABLE [ec01c1c0a] 2015-04-08 13:19:49 -0300
5944 Branch: REL9_3_STABLE [0d6c9e061] 2015-04-08 13:19:49 -0300
5945 Branch: REL9_2_STABLE [37dc228e8] 2015-04-08 13:19:49 -0300
5946 Branch: REL9_1_STABLE [cf5d3f274] 2015-04-08 13:19:49 -0300
5947 Branch: REL9_0_STABLE [595bc97b5] 2015-04-08 13:19:49 -0300
5952 Fix autovacuum launcher's possible failure to shut down, if an error
5953 occurs after it receives SIGTERM (Álvaro Herrera)
5958 Author: Tom Lane <tgl@sss.pgh.pa.us>
5959 Branch: master [bc49d9324] 2015-04-03 00:07:29 -0400
5960 Branch: REL9_4_STABLE [ee0d06c0b] 2015-04-03 00:07:29 -0400
5965 Fix failure to handle invalidation messages for system catalogs
5966 early in session startup (Tom Lane)
5970 This oversight could result in failures in sessions that start
5971 concurrently with a <command>VACUUM FULL</> on a system catalog.
5976 Author: Tom Lane <tgl@sss.pgh.pa.us>
5977 Branch: master [701dcc983] 2015-03-30 13:05:27 -0400
5978 Branch: REL9_4_STABLE [2897e069c] 2015-03-30 13:05:35 -0400
5983 Fix crash in <function>BackendIdGetTransactionIds()</> when trying
5984 to get status for a backend process that just exited (Tom Lane)
5989 Author: Andres Freund <andres@anarazel.de>
5990 Branch: master [bc208a5a2] 2015-02-23 16:14:14 +0100
5991 Branch: REL9_4_STABLE [89629f289] 2015-02-23 16:14:14 +0100
5992 Branch: REL9_3_STABLE [a6ddff812] 2015-02-23 16:14:15 +0100
5993 Branch: REL9_2_STABLE [c76e6dd7a] 2015-02-23 16:14:15 +0100
5994 Branch: REL9_1_STABLE [25576bee2] 2015-02-23 16:14:15 +0100
5995 Branch: REL9_0_STABLE [87b7fcc87] 2015-02-23 16:14:16 +0100
6000 Cope with unexpected signals in <function>LockBufferForCleanup()</>
6005 This oversight could result in spurious errors about <quote>multiple
6006 backends attempting to wait for pincount 1</>.
6011 Author: Tom Lane <tgl@sss.pgh.pa.us>
6012 Branch: master [08361cea2] 2015-02-15 23:26:45 -0500
6013 Branch: REL9_4_STABLE [1bf32972e] 2015-02-15 23:26:45 -0500
6014 Branch: REL9_3_STABLE [4662ba5a2] 2015-02-15 23:26:46 -0500
6015 Branch: REL9_2_STABLE [effcaa4c2] 2015-02-15 23:26:46 -0500
6020 Fix crash when doing <literal>COPY IN</> to a table with check
6021 constraints that contain whole-row references (Tom Lane)
6025 The known failure case only crashes in 9.4 and up, but there is very
6026 similar code in 9.3 and 9.2, so back-patch those branches as well.
6031 Author: Andres Freund <andres@anarazel.de>
6032 Branch: master [fd6a3f3ad] 2015-02-26 12:50:07 +0100
6033 Branch: REL9_4_STABLE [d72115112] 2015-02-26 12:50:07 +0100
6034 Branch: REL9_3_STABLE [abce8dc7d] 2015-02-26 12:50:07 +0100
6035 Branch: REL9_2_STABLE [d67076529] 2015-02-26 12:50:07 +0100
6036 Branch: REL9_1_STABLE [5c8dabecd] 2015-02-26 12:50:08 +0100
6037 Branch: REL9_0_STABLE [82e0d6eb5] 2015-02-26 12:50:08 +0100
6042 Avoid waiting for WAL flush or synchronous replication during commit of
6043 a transaction that was read-only so far as the user is concerned
6048 Previously, a delay could occur at commit in transactions that had
6049 written WAL due to HOT page pruning, leading to undesirable effects
6050 such as sessions getting stuck at startup if all synchronous replicas
6051 are down. Sessions have also been observed to get stuck in catchup
6052 interrupt processing when using synchronous replication; this will fix
6053 that problem as well.
6058 Author: Andres Freund <andres@anarazel.de>
6059 Branch: master [87cec51d3] 2015-03-23 16:51:11 +0100
6060 Branch: REL9_4_STABLE [16be9737c] 2015-03-23 16:52:17 +0100
6065 Avoid busy-waiting with short <literal>recovery_min_apply_delay</>
6066 values (Andres Freund)
6071 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6072 Branch: REL9_4_STABLE [462a2f1f0] 2015-05-13 09:53:50 +0300
6073 Branch: REL9_3_STABLE [96b676cc6] 2015-05-13 09:54:06 +0300
6074 Branch: REL9_2_STABLE [1a99d392c] 2015-05-13 10:06:52 +0300
6075 Branch: REL9_1_STABLE [f6c4a8690] 2015-05-13 10:06:47 +0300
6076 Branch: REL9_0_STABLE [bd1cfde70] 2015-05-13 10:06:38 +0300
6081 Fix crash when manipulating hash indexes on temporary tables
6082 (Heikki Linnakangas)
6087 Author: Tom Lane <tgl@sss.pgh.pa.us>
6088 Branch: master [ed9cc2b5d] 2015-03-30 16:40:05 -0400
6089 Branch: REL9_4_STABLE [a6a8bf5cd] 2015-03-30 16:40:05 -0400
6090 Branch: REL9_3_STABLE [246bbf65c] 2015-03-30 16:40:05 -0400
6091 Branch: REL9_2_STABLE [f155466fe] 2015-03-30 16:40:05 -0400
6092 Branch: REL9_1_STABLE [46bfe44e8] 2015-03-30 16:40:05 -0400
6093 Branch: REL9_0_STABLE [8f3c57721] 2015-03-30 16:40:05 -0400
6098 Fix possible failure during hash index bucket split, if other processes
6099 are modifying the index concurrently (Tom Lane)
6104 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6105 Branch: master [26d2c5dc8] 2015-03-12 15:34:32 +0100
6106 Branch: REL9_4_STABLE [d81072026] 2015-03-12 15:40:07 +0100
6111 Fix memory leaks in GIN index vacuum (Heikki Linnakangas)
6116 Author: Tom Lane <tgl@sss.pgh.pa.us>
6117 Branch: master [e4cbfd673] 2015-03-29 15:04:09 -0400
6118 Branch: REL9_4_STABLE [f444de5e3] 2015-03-29 15:04:18 -0400
6119 Branch: REL9_3_STABLE [995a664c8] 2015-03-29 15:04:24 -0400
6120 Branch: REL9_2_STABLE [d12afe114] 2015-03-29 15:04:28 -0400
6121 Branch: REL9_1_STABLE [ab02d35e0] 2015-03-29 15:04:33 -0400
6122 Branch: REL9_0_STABLE [152c94632] 2015-03-29 15:04:38 -0400
6127 Check for interrupts while analyzing index expressions (Jeff Janes)
6131 <command>ANALYZE</> executes index expressions many times; if there are
6132 slow functions in such an expression, it's desirable to be able to
6133 cancel the <command>ANALYZE</> before that loop finishes.
6138 Author: Tom Lane <tgl@sss.pgh.pa.us>
6139 Branch: master [443fd0540] 2015-03-12 13:39:09 -0400
6140 Branch: REL9_4_STABLE [32269be59] 2015-03-12 13:39:10 -0400
6141 Branch: REL9_3_STABLE [5bdf3cf5a] 2015-03-12 13:38:49 -0400
6142 Branch: REL9_2_STABLE [590fc5d96] 2015-03-12 13:38:49 -0400
6143 Branch: REL9_1_STABLE [4a4fd2b0c] 2015-03-12 13:38:49 -0400
6148 Ensure <structfield>tableoid</> of a foreign table is reported
6149 correctly when a <literal>READ COMMITTED</> recheck occurs after
6150 locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>,
6151 or <command>DELETE</> (Etsuro Fujita)
6156 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
6157 Branch: master [cf34e373f] 2015-03-05 18:03:16 -0300
6158 Branch: REL9_4_STABLE [749977634] 2015-03-05 18:03:16 -0300
6159 Branch: REL9_3_STABLE [5cf400003] 2015-03-05 18:03:16 -0300
6160 Branch: REL9_2_STABLE [e166e6441] 2015-03-05 18:03:16 -0300
6161 Branch: REL9_1_STABLE [8167ef8e2] 2015-03-05 18:03:16 -0300
6162 Branch: REL9_0_STABLE [71b8e8e6c] 2015-03-05 18:03:16 -0300
6167 Add the name of the target server to object description strings for
6168 foreign-server user mappings (Álvaro Herrera)
6173 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
6174 Branch: master [0d906798f] 2015-02-18 14:28:11 -0300
6175 Branch: REL9_4_STABLE [66463a3cf] 2015-02-18 14:28:12 -0300
6176 Branch: REL9_3_STABLE [a196e67f9] 2015-02-18 14:28:12 -0300
6181 Include the schema name in object identity strings for conversions
6182 (Álvaro Herrera)
6187 Author: Stephen Frost <sfrost@snowman.net>
6188 Branch: REL9_4_STABLE [c106f397d] 2015-05-08 19:39:52 -0400
6189 Branch: REL9_3_STABLE [3de791ee7] 2015-05-08 19:40:06 -0400
6190 Branch: REL9_2_STABLE [21cb21de2] 2015-05-08 19:40:09 -0400
6191 Branch: REL9_1_STABLE [edfef090a] 2015-05-08 19:40:11 -0400
6192 Branch: REL9_0_STABLE [c981e5999] 2015-05-08 19:40:15 -0400
6197 Recommend setting <literal>include_realm</> to 1 when using
6198 Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
6202 Without this, identically-named users from different realms cannot be
6203 distinguished. For the moment this is only a documentation change, but
6204 it will become the default setting in <productname>PostgreSQL</> 9.5.
6209 Author: Tom Lane <tgl@sss.pgh.pa.us>
6210 Branch: master [cb66f495f] 2015-02-16 16:18:31 -0500
6211 Branch: REL9_4_STABLE [23291a796] 2015-02-16 16:17:59 -0500
6212 Branch: REL9_3_STABLE [7bc6e5954] 2015-02-16 16:18:04 -0500
6213 Branch: REL9_2_STABLE [3913b897d] 2015-02-16 16:18:08 -0500
6214 Branch: REL9_1_STABLE [2df854f84] 2015-02-16 16:18:12 -0500
6215 Branch: REL9_0_STABLE [c99ef9aff] 2015-02-16 16:18:17 -0500
6216 Author: Tom Lane <tgl@sss.pgh.pa.us>
6217 Branch: master [2e105def0] 2015-02-17 12:49:18 -0500
6218 Branch: REL9_4_STABLE [a271c9260] 2015-02-17 12:49:18 -0500
6219 Branch: REL9_3_STABLE [4ea2d2ddb] 2015-02-17 12:49:18 -0500
6220 Branch: REL9_2_STABLE [d068609b9] 2015-02-17 12:49:44 -0500
6221 Branch: REL9_1_STABLE [64e045838] 2015-02-17 12:49:46 -0500
6222 Branch: REL9_0_STABLE [e48ce4f33] 2015-02-17 12:49:18 -0500
6227 Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
6228 IPv4-in-IPv6 addresses (Tom Lane)
6232 This hack was added in 2003 in response to a report that some Linux
6233 kernels of the time would report IPv4 connections as having
6234 IPv4-in-IPv6 addresses. However, the logic was accidentally broken in
6235 9.0. The lack of any field complaints since then shows that it's not
6236 needed anymore. Now we have reports that the broken code causes
6237 crashes on some systems, so let's just remove it rather than fix it.
6238 (Had we chosen to fix it, that would make for a subtle and potentially
6239 security-sensitive change in the effective meaning of
6240 IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
6241 thing to do in minor releases.)
6246 Author: Robert Haas <rhaas@postgresql.org>
6247 Branch: master [bf740ce9e] 2015-03-19 11:04:09 -0400
6248 Branch: REL9_4_STABLE [76d07a2a0] 2015-03-19 11:08:54 -0400
6253 Fix status reporting for terminated background workers that were never
6254 actually started (Robert Haas)
6259 Author: Robert Haas <rhaas@postgresql.org>
6260 Branch: master [b3a5e76e1] 2015-04-02 14:38:06 -0400
6261 Branch: REL9_4_STABLE [a1f4ade01] 2015-04-02 14:39:18 -0400
6266 After a database crash, don't restart background workers that are
6267 marked <literal>BGW_NEVER_RESTART</> (Amit Khandekar)
6272 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6273 Branch: master [ff16b40f8] 2015-02-06 11:26:50 +0200
6274 Branch: REL9_4_STABLE [3bc4c6942] 2015-02-06 11:27:12 +0200
6275 Branch: REL9_3_STABLE [5f0ba4abb] 2015-02-06 11:32:16 +0200
6276 Branch: REL9_2_STABLE [2af568c6b] 2015-02-06 11:32:37 +0200
6277 Branch: REL9_1_STABLE [0d36d9f2b] 2015-02-06 11:32:42 +0200
6282 Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</>
6283 replication command (Heikki Linnakangas)
6287 This avoids a possible startup failure
6288 in <application>pg_receivexlog</>.
6293 Author: Magnus Hagander <magnus@hagander.net>
6294 Branch: master [1a241d22a] 2015-05-07 15:04:13 +0200
6295 Branch: REL9_4_STABLE [43ed06816] 2015-05-07 15:09:21 +0200
6296 Branch: REL9_3_STABLE [ba3caee84] 2015-05-07 15:09:32 +0200
6297 Branch: REL9_2_STABLE [447e16581] 2015-05-07 15:09:42 +0200
6298 Branch: REL9_1_STABLE [b9ded1529] 2015-05-07 15:09:53 +0200
6299 Branch: REL9_0_STABLE [78ce2dc8e] 2015-05-07 15:10:01 +0200
6304 While shutting down service on Windows, periodically send status
6305 updates to the Service Control Manager to prevent it from killing the
6306 service too soon; and ensure that <application>pg_ctl</> will wait for
6307 shutdown (Krystian Bigaj)
6312 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6313 Branch: master [2a3f6e368] 2015-02-23 13:34:21 +0200
6314 Branch: REL9_4_STABLE [0214a61e0] 2015-02-23 13:32:39 +0200
6315 Branch: REL9_3_STABLE [cdf813c59] 2015-02-23 13:32:42 +0200
6316 Branch: REL9_2_STABLE [22c9c8a7e] 2015-02-23 13:32:46 +0200
6317 Branch: REL9_1_STABLE [7052abbb6] 2015-02-23 13:32:50 +0200
6318 Branch: REL9_0_STABLE [8878eaaa8] 2015-02-23 13:32:53 +0200
6323 Reduce risk of network deadlock when using <application>libpq</>'s
6324 non-blocking mode (Heikki Linnakangas)
6328 When sending large volumes of data, it's important to drain the input
6329 buffer every so often, in case the server has sent enough response data
6330 to cause it to block on output. (A typical scenario is that the server
6331 is sending a stream of NOTICE messages during <literal>COPY FROM
6332 STDIN</>.) This worked properly in the normal blocking mode, but not
6333 so much in non-blocking mode. We've modified <application>libpq</>
6334 to opportunistically drain input when it can, but a full defense
6335 against this problem requires application cooperation: the application
6336 should watch for socket read-ready as well as write-ready conditions,
6337 and be sure to call <function>PQconsumeInput()</> upon read-ready.
6342 Author: Tom Lane <tgl@sss.pgh.pa.us>
6343 Branch: master [b26e20814] 2015-02-21 12:59:54 -0500
6344 Branch: REL9_4_STABLE [9c15a778a] 2015-02-21 12:59:35 -0500
6345 Branch: REL9_3_STABLE [f389b6e0a] 2015-02-21 12:59:39 -0500
6346 Branch: REL9_2_STABLE [83c3115dd] 2015-02-21 12:59:43 -0500
6351 In <application>libpq</>, fix misparsing of empty values in URI
6352 connection strings (Thomas Fanghaenel)
6357 Author: Michael Meskes <meskes@postgresql.org>
6358 Branch: master [1f393fc92] 2015-02-10 12:04:10 +0100
6359 Branch: REL9_4_STABLE [66c4ea8cb] 2015-02-11 10:57:02 +0100
6360 Branch: REL9_3_STABLE [1a321fea7] 2015-02-11 11:13:11 +0100
6361 Branch: REL9_2_STABLE [9be9ac425] 2015-02-11 11:14:14 +0100
6362 Branch: REL9_1_STABLE [32e633195] 2015-02-11 11:27:21 +0100
6363 Branch: REL9_0_STABLE [ce2fcc58e] 2015-02-11 11:30:11 +0100
6368 Fix array handling in <application>ecpg</> (Michael Meskes)
6373 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
6374 Branch: master [fcef16172] 2015-04-01 20:00:07 -0300
6375 Branch: REL9_4_STABLE [a44e54cf4] 2015-04-01 20:00:07 -0300
6376 Branch: REL9_3_STABLE [f4540cae1] 2015-04-01 20:00:07 -0300
6377 Branch: REL9_2_STABLE [d4bacdcb9] 2015-04-01 20:00:07 -0300
6378 Branch: REL9_1_STABLE [276591bc4] 2015-04-01 20:00:07 -0300
6379 Branch: REL9_0_STABLE [557fcfae3] 2015-04-01 20:00:07 -0300
6384 Fix <application>psql</> to sanely handle URIs and conninfo strings as
6385 the first parameter to <command>\connect</>
6386 (David Fetter, Andrew Dunstan, Álvaro Herrera)
6390 This syntax has been accepted (but undocumented) for a long time, but
6391 previously some parameters might be taken from the old connection
6392 instead of the given string, which was agreed to be undesirable.
6397 Author: Tom Lane <tgl@sss.pgh.pa.us>
6398 Branch: master [df9ebf1ee] 2015-03-14 13:43:00 -0400
6399 Branch: REL9_4_STABLE [f50b5c7d0] 2015-03-14 13:43:08 -0400
6400 Branch: REL9_3_STABLE [2cb76fa6f] 2015-03-14 13:43:13 -0400
6401 Branch: REL9_2_STABLE [309ff2ad0] 2015-03-14 13:43:17 -0400
6402 Branch: REL9_1_STABLE [043fe5c5a] 2015-03-14 13:43:21 -0400
6403 Branch: REL9_0_STABLE [396ef6fd8] 2015-03-14 13:43:26 -0400
6408 Suppress incorrect complaints from <application>psql</> on some
6409 platforms that it failed to write <filename>~/.psql_history</> at exit
6414 This misbehavior was caused by a workaround for a bug in very old
6415 (pre-2006) versions of <application>libedit</>. We fixed it by
6416 removing the workaround, which will cause a similar failure to appear
6417 for anyone still using such versions of <application>libedit</>.
6418 Recommendation: upgrade that library, or use <application>libreadline</>.
6423 Author: Tom Lane <tgl@sss.pgh.pa.us>
6424 Branch: master [9feefedf9] 2015-02-10 22:38:15 -0500
6425 Branch: REL9_4_STABLE [a592e5883] 2015-02-10 22:38:17 -0500
6426 Branch: REL9_3_STABLE [a4e871caa] 2015-02-10 22:38:20 -0500
6427 Branch: REL9_2_STABLE [2593c7039] 2015-02-10 22:38:22 -0500
6428 Branch: REL9_1_STABLE [14794f9b8] 2015-02-10 22:38:26 -0500
6429 Branch: REL9_0_STABLE [8e70f3c40] 2015-02-10 22:38:29 -0500
6434 Fix <application>pg_dump</>'s rule for deciding which casts are
6435 system-provided casts that should not be dumped (Tom Lane)
6440 Author: Tom Lane <tgl@sss.pgh.pa.us>
6441 Branch: master [0e7e355f2] 2015-02-18 11:43:00 -0500
6442 Branch: REL9_4_STABLE [a75dfb73e] 2015-02-18 11:43:00 -0500
6443 Branch: REL9_3_STABLE [a7ad5cf0c] 2015-02-18 11:43:00 -0500
6444 Branch: REL9_2_STABLE [c86f8f361] 2015-02-18 11:43:00 -0500
6445 Branch: REL9_1_STABLE [b0d53b2e3] 2015-02-18 11:43:00 -0500
6450 In <application>pg_dump</>, fix failure to honor <literal>-Z</>
6451 compression level option together with <literal>-Fd</>
6457 Author: Stephen Frost <sfrost@snowman.net>
6458 Branch: master [ebd092bc2] 2015-03-02 14:12:21 -0500
6459 Branch: REL9_4_STABLE [c05fa3433] 2015-03-02 14:12:28 -0500
6460 Branch: REL9_3_STABLE [43d81f16a] 2015-03-02 14:12:33 -0500
6461 Branch: REL9_2_STABLE [d13bbfabb] 2015-03-02 14:12:38 -0500
6462 Branch: REL9_1_STABLE [dcb467b8e] 2015-03-02 14:12:43 -0500
6467 Make <application>pg_dump</> consider foreign key relationships
6468 between extension configuration tables while choosing dump order
6469 (Gilles Darold, Michael Paquier, Stephen Frost)
6473 This oversight could result in producing dumps that fail to reload
6474 because foreign key constraints are transiently violated.
6479 Author: Tom Lane <tgl@sss.pgh.pa.us>
6480 Branch: master [e3bfe6d84] 2015-03-06 13:27:46 -0500
6481 Branch: REL9_4_STABLE [629f8613f] 2015-03-06 13:27:46 -0500
6482 Branch: REL9_3_STABLE [d645273cf] 2015-03-06 13:27:46 -0500
6487 Avoid possible <application>pg_dump</> failure when concurrent sessions
6488 are creating and dropping temporary functions (Tom Lane)
6493 Author: Tom Lane <tgl@sss.pgh.pa.us>
6494 Branch: master [e9f1c01b7] 2015-02-25 12:01:12 -0500
6495 Branch: REL9_4_STABLE [2164a0de2] 2015-02-25 12:01:12 -0500
6496 Branch: REL9_3_STABLE [f864fe074] 2015-02-25 12:01:12 -0500
6497 Branch: REL9_2_STABLE [be8801e9c] 2015-02-25 12:01:12 -0500
6498 Branch: REL9_1_STABLE [f7b41902a] 2015-02-25 12:01:12 -0500
6499 Branch: REL9_0_STABLE [7a501bcbf] 2015-02-25 12:01:12 -0500
6504 Fix dumping of views that are just <literal>VALUES(...)</> but have
6505 column aliases (Tom Lane)
6510 Author: Bruce Momjian <bruce@momjian.us>
6511 Branch: master [b2f95c34f] 2015-05-01 13:03:23 -0400
6512 Branch: REL9_4_STABLE [70fac4844] 2015-05-01 13:03:23 -0400
6517 Ensure that a view's replication identity is correctly set
6518 to <literal>nothing</> during dump/restore (Marko Tiikkaja)
6522 Previously, if the view was involved in a circular dependency,
6523 it might wind up with an incorrect replication identity property.
6528 Author: Bruce Momjian <bruce@momjian.us>
6529 Branch: master [4c5e06004] 2015-05-16 00:40:18 -0400
6530 Branch: REL9_4_STABLE [387a3e46c] 2015-05-16 00:40:18 -0400
6531 Branch: REL9_3_STABLE [bffbeec0c] 2015-05-16 00:40:18 -0400
6532 Branch: REL9_2_STABLE [affc04d16] 2015-05-16 00:40:18 -0400
6533 Branch: REL9_1_STABLE [acd75b264] 2015-05-16 00:40:18 -0400
6534 Branch: REL9_0_STABLE [df161c94e] 2015-05-16 00:40:18 -0400
6535 Author: Bruce Momjian <bruce@momjian.us>
6536 Branch: REL9_4_STABLE [5f6539635] 2015-05-16 15:16:28 -0400
6537 Branch: REL9_3_STABLE [4e9935979] 2015-05-16 15:16:28 -0400
6542 In <application>pg_upgrade</>, force timeline 1 in the new cluster
6547 This change prevents upgrade failures caused by bogus complaints about
6548 missing WAL history files.
6553 Author: Bruce Momjian <bruce@momjian.us>
6554 Branch: master [fb694d959] 2015-05-16 00:10:03 -0400
6555 Branch: REL9_4_STABLE [31f5d3f35] 2015-05-16 00:10:03 -0400
6556 Branch: REL9_3_STABLE [4cfba5369] 2015-05-16 00:10:03 -0400
6557 Branch: REL9_2_STABLE [2a55e7134] 2015-05-16 00:10:03 -0400
6558 Branch: REL9_1_STABLE [321db7123] 2015-05-16 00:10:03 -0400
6559 Branch: REL9_0_STABLE [2194aa92b] 2015-05-16 00:10:03 -0400
6564 In <application>pg_upgrade</>, check for improperly non-connectable
6565 databases before proceeding
6571 Author: Bruce Momjian <bruce@momjian.us>
6572 Branch: master [056764b10] 2015-02-11 22:06:04 -0500
6573 Branch: REL9_4_STABLE [5eef3c61e] 2015-02-11 22:06:04 -0500
6574 Branch: REL9_3_STABLE [9ecd51da7] 2015-02-11 22:06:04 -0500
6575 Branch: REL9_2_STABLE [66f5217f5] 2015-02-11 22:06:04 -0500
6576 Branch: REL9_1_STABLE [08aaae40e] 2015-02-11 22:06:04 -0500
6577 Branch: REL9_0_STABLE [4ae178f60] 2015-02-11 22:06:04 -0500
6582 In <application>pg_upgrade</>, quote directory paths
6583 properly in the generated <literal>delete_old_cluster</> script
6589 Author: Bruce Momjian <bruce@momjian.us>
6590 Branch: master [866f3017a] 2015-02-11 21:02:44 -0500
6591 Branch: REL9_4_STABLE [c7bc5be11] 2015-02-11 21:02:36 -0500
6592 Branch: REL9_3_STABLE [e20523f8f] 2015-02-11 21:02:28 -0500
6593 Branch: REL9_2_STABLE [d99cf27b7] 2015-02-11 21:02:12 -0500
6594 Branch: REL9_1_STABLE [55179b03e] 2015-02-11 21:02:07 -0500
6595 Branch: REL9_0_STABLE [85dac37ee] 2015-02-11 21:02:06 -0500
6600 In <application>pg_upgrade</>, preserve database-level freezing info
6606 This oversight could cause missing-clog-file errors for tables within
6607 the <literal>postgres</> and <literal>template1</> databases.
6612 Author: Andrew Dunstan <andrew@dunslane.net>
6613 Branch: master [fa1e5afa8] 2015-03-30 17:07:52 -0400
6614 Branch: REL9_4_STABLE [2366761bf] 2015-03-30 17:16:57 -0400
6615 Branch: REL9_3_STABLE [0904eb3e1] 2015-03-30 17:17:17 -0400
6616 Branch: REL9_2_STABLE [948566313] 2015-03-30 17:17:39 -0400
6617 Branch: REL9_1_STABLE [22b3f5b26] 2015-03-30 17:17:54 -0400
6618 Branch: REL9_0_STABLE [bf22a8e58] 2015-03-30 17:18:10 -0400
6623 Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
6624 restricted privileges on Windows, so that they don't fail when run by
6625 an administrator (Muhammad Asif Naeem)
6630 Author: Robert Haas <rhaas@postgresql.org>
6631 Branch: master [5d6c2405f] 2015-02-17 10:19:30 -0500
6632 Branch: REL9_4_STABLE [5e49c98e0] 2015-02-17 10:50:49 -0500
6633 Branch: REL9_3_STABLE [9a90ec9cf] 2015-02-17 10:54:29 -0500
6634 Author: Robert Haas <rhaas@postgresql.org>
6635 Branch: REL9_2_STABLE [319406c2a] 2015-02-17 11:02:46 -0500
6636 Branch: REL9_1_STABLE [d7d294f59] 2015-02-17 11:08:40 -0500
6641 Improve handling of <function>readdir()</> failures when scanning
6642 directories in <application>initdb</> and <application>pg_basebackup</>
6648 Author: Tom Lane <tgl@sss.pgh.pa.us>
6649 Branch: master [8d1f23900] 2015-03-15 23:22:03 -0400
6650 Branch: REL9_4_STABLE [904e8b627] 2015-03-15 23:22:03 -0400
6651 Branch: REL9_3_STABLE [83587a075] 2015-03-15 23:22:03 -0400
6652 Branch: REL9_2_STABLE [8582ae7aa] 2015-03-15 23:22:03 -0400
6653 Branch: REL9_1_STABLE [9288645b5] 2015-03-15 23:22:03 -0400
6654 Branch: REL9_0_STABLE [40b0c10b7] 2015-03-15 23:22:03 -0400
6659 Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
6664 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6665 Branch: master [33e879c4e] 2015-02-13 23:56:25 +0200
6666 Branch: REL9_4_STABLE [56a23a83f] 2015-02-13 23:56:57 +0200
6667 Branch: REL9_3_STABLE [6ef5d894a] 2015-02-13 23:57:05 +0200
6668 Branch: REL9_2_STABLE [a0d84da1d] 2015-02-13 23:57:25 +0200
6669 Branch: REL9_1_STABLE [ebdc2e1e2] 2015-02-13 23:57:28 +0200
6670 Branch: REL9_0_STABLE [61165fae0] 2015-02-13 23:57:35 +0200
6675 Fix compile failure on Sparc V8 machines (Rob Rowan)
6680 Author: Tom Lane <tgl@sss.pgh.pa.us>
6681 Branch: master [91f4a5a97] 2015-03-14 14:08:45 -0400
6682 Branch: REL9_4_STABLE [c415c13b7] 2015-03-14 14:08:45 -0400
6683 Author: Tom Lane <tgl@sss.pgh.pa.us>
6684 Branch: master [73b416b2e] 2015-04-05 13:01:59 -0400
6685 Branch: REL9_4_STABLE [8972a152c] 2015-04-05 13:01:55 -0400
6686 Branch: REL9_3_STABLE [6347bdb31] 2015-04-05 13:01:55 -0400
6691 Silence some build warnings on macOS (Tom Lane)
6696 Author: Tom Lane <tgl@sss.pgh.pa.us>
6697 Branch: master [9d366c1f3] 2015-05-15 19:35:29 -0400
6698 Branch: REL9_4_STABLE [d0ddcf62e] 2015-05-15 19:35:51 -0400
6699 Branch: REL9_3_STABLE [4fd69e412] 2015-05-15 19:35:58 -0400
6700 Branch: REL9_2_STABLE [2a63434f0] 2015-05-15 19:36:06 -0400
6701 Branch: REL9_1_STABLE [436f35609] 2015-05-15 19:36:13 -0400
6702 Branch: REL9_0_STABLE [3c3749a3b] 2015-05-15 19:36:20 -0400
6707 Update time zone data files to <application>tzdata</> release 2015d
6708 for DST law changes in Egypt, Mongolia, and Palestine, plus historical
6709 changes in Canada and Chile. Also adopt revised zone abbreviations for
6710 the America/Adak zone (HST/HDT not HAST/HADT).
6719 <sect1 id="release-9-4-1">
6720 <title>Release 9.4.1</title>
6723 <title>Release Date</title>
6724 <simpara>2015-02-05</simpara>
6728 This release contains a variety of fixes from 9.4.0.
6729 For information about new features in the 9.4 major release, see
6730 <xref linkend="release-9-4">.
6734 <title>Migration to Version 9.4.1</title>
6737 A dump/restore is not required for those running 9.4.X.
6741 However, if you are a Windows user and are using the <quote>Norwegian
6742 (Bokmål)</> locale, manual action is needed after the upgrade to
6743 replace any <quote>Norwegian (Bokmål)_Norway</>
6744 or <quote>norwegian-bokmal</> locale names stored
6745 in <productname>PostgreSQL</> system catalogs with the plain-ASCII
6746 alias <quote>Norwegian_Norway</>. For details see
6747 <ulink url="http://wiki.postgresql.org/wiki/Changes_To_Norwegian_Locale"></>
6752 <title>Changes</title>
6757 Author: Bruce Momjian <bruce@momjian.us>
6758 Branch: master [0150ab567] 2015-02-02 10:00:44 -0500
6759 Branch: REL9_4_STABLE [1628a0bbf] 2015-02-02 10:00:49 -0500
6760 Branch: REL9_3_STABLE [b8b580147] 2015-02-02 10:00:50 -0500
6761 Branch: REL9_2_STABLE [5ae3bf1af] 2015-02-02 10:00:50 -0500
6762 Branch: REL9_1_STABLE [037529a11] 2015-02-02 10:00:51 -0500
6763 Branch: REL9_0_STABLE [611e110aa] 2015-02-02 10:00:52 -0500
6764 Author: Bruce Momjian <bruce@momjian.us>
6765 Branch: master [9241c84cb] 2015-02-02 10:00:45 -0500
6766 Branch: REL9_4_STABLE [56d2bee9d] 2015-02-02 10:00:49 -0500
6767 Branch: REL9_3_STABLE [fe2526990] 2015-02-02 10:00:50 -0500
6768 Branch: REL9_2_STABLE [e09651e9d] 2015-02-02 10:00:50 -0500
6769 Branch: REL9_1_STABLE [2ceb63deb] 2015-02-02 10:00:51 -0500
6770 Branch: REL9_0_STABLE [56b970f2e] 2015-02-02 10:00:52 -0500
6775 Fix buffer overruns in <function>to_char()</>
6780 When <function>to_char()</> processes a numeric formatting template
6781 calling for a large number of digits, <productname>PostgreSQL</>
6782 would read past the end of a buffer. When processing a crafted
6783 timestamp formatting template, <productname>PostgreSQL</> would write
6784 past the end of a buffer. Either case could crash the server.
6785 We have not ruled out the possibility of attacks that lead to
6786 privilege escalation, though they seem unlikely.
6792 Author: Bruce Momjian <bruce@momjian.us>
6793 Branch: master [29725b3db] 2015-02-02 10:00:45 -0500
6794 Branch: REL9_4_STABLE [2ac95c83c] 2015-02-02 10:00:49 -0500
6795 Branch: REL9_3_STABLE [bc4d5f2e5] 2015-02-02 10:00:50 -0500
6796 Branch: REL9_2_STABLE [c6c6aa288] 2015-02-02 10:00:51 -0500
6797 Branch: REL9_1_STABLE [98f2479d8] 2015-02-02 10:00:51 -0500
6798 Branch: REL9_0_STABLE [9e05c5063] 2015-02-02 10:00:52 -0500
6803 Fix buffer overrun in replacement <function>*printf()</> functions
6808 <productname>PostgreSQL</> includes a replacement implementation
6809 of <function>printf</> and related functions. This code will overrun
6810 a stack buffer when formatting a floating point number (conversion
6811 specifiers <literal>e</>, <literal>E</>, <literal>f</>, <literal>F</>,
6812 <literal>g</> or <literal>G</>) with requested precision greater than
6813 about 500. This will crash the server, and we have not ruled out the
6814 possibility of attacks that lead to privilege escalation.
6815 A database user can trigger such a buffer overrun through
6816 the <function>to_char()</> SQL function. While that is the only
6817 affected core <productname>PostgreSQL</> functionality, extension
6818 modules that use printf-family functions may be at risk as well.
6822 This issue primarily affects <productname>PostgreSQL</> on Windows.
6823 <productname>PostgreSQL</> uses the system implementation of these
6824 functions where adequate, which it is on other modern platforms.
6830 Author: Noah Misch <noah@leadboat.com>
6831 Branch: master [1dc755158] 2015-02-02 10:00:45 -0500
6832 Branch: REL9_4_STABLE [82806cf4e] 2015-02-02 10:00:49 -0500
6833 Branch: REL9_3_STABLE [6994f0790] 2015-02-02 10:00:50 -0500
6834 Branch: REL9_2_STABLE [d95ebe0ac] 2015-02-02 10:00:51 -0500
6835 Branch: REL9_1_STABLE [11f738a8a] 2015-02-02 10:00:51 -0500
6836 Branch: REL9_0_STABLE [ce6f261cd] 2015-02-02 10:00:52 -0500
6837 Author: Noah Misch <noah@leadboat.com>
6838 Branch: master [8b59672d8] 2015-02-02 10:00:45 -0500
6839 Branch: REL9_4_STABLE [258e294db] 2015-02-02 10:00:49 -0500
6840 Branch: REL9_3_STABLE [a558ad3a7] 2015-02-02 10:00:50 -0500
6841 Branch: REL9_2_STABLE [d1972da8c] 2015-02-02 10:00:51 -0500
6842 Branch: REL9_1_STABLE [8d412e02e] 2015-02-02 10:00:52 -0500
6843 Branch: REL9_0_STABLE [0a3ee8a5f] 2015-02-02 10:00:52 -0500
6848 Fix buffer overruns in <filename>contrib/pgcrypto</>
6849 (Marko Tiikkaja, Noah Misch)
6853 Errors in memory size tracking within the <filename>pgcrypto</>
6854 module permitted stack buffer overruns and improper dependence on the
6855 contents of uninitialized memory. The buffer overrun cases can
6856 crash the server, and we have not ruled out the possibility of
6857 attacks that lead to privilege escalation.
6863 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6864 Branch: master [2b3a8b20c] 2015-02-02 17:09:53 +0200
6865 Branch: REL9_4_STABLE [57ec87c6b] 2015-02-02 17:09:46 +0200
6866 Branch: REL9_3_STABLE [cd19848bd] 2015-02-02 17:09:40 +0200
6867 Branch: REL9_2_STABLE [289592b23] 2015-02-02 17:09:35 +0200
6868 Branch: REL9_1_STABLE [af9c5c074] 2015-02-02 17:09:31 +0200
6869 Branch: REL9_0_STABLE [47ba0fbd7] 2015-02-02 17:09:25 +0200
6874 Fix possible loss of frontend/backend protocol synchronization after
6876 (Heikki Linnakangas)
6880 If any error occurred while the server was in the middle of reading a
6881 protocol message from the client, it could lose synchronization and
6882 incorrectly try to interpret part of the message's data as a new
6883 protocol message. An attacker able to submit crafted binary data
6884 within a command parameter might succeed in injecting his own SQL
6885 commands this way. Statement timeout and query cancellation are the
6886 most likely sources of errors triggering this scenario. Particularly
6887 vulnerable are applications that use a timeout and also submit
6888 arbitrary user-crafted data as binary query parameters. Disabling
6889 statement timeout will reduce, but not eliminate, the risk of
6890 exploit. Our thanks to Emil Lenngren for reporting this issue.
6896 Author: Stephen Frost <sfrost@snowman.net>
6897 Branch: master [804b6b6db] 2015-01-28 12:31:30 -0500
6898 Branch: REL9_4_STABLE [3cc74a3d6] 2015-01-28 12:32:06 -0500
6899 Branch: REL9_3_STABLE [4b9874216] 2015-01-28 12:32:39 -0500
6900 Branch: REL9_2_STABLE [d49f84b08] 2015-01-28 12:32:56 -0500
6901 Branch: REL9_1_STABLE [9406884af] 2015-01-28 12:33:15 -0500
6902 Branch: REL9_0_STABLE [3a2063369] 2015-01-28 12:33:29 -0500
6907 Fix information leak via constraint-violation error messages
6912 Some server error messages show the values of columns that violate
6913 a constraint, such as a unique constraint. If the user does not have
6914 <literal>SELECT</> privilege on all columns of the table, this could
6915 mean exposing values that the user should not be able to see. Adjust
6916 the code so that values are displayed only when they came from the SQL
6917 command or could be selected by the user.
6923 Author: Noah Misch <noah@leadboat.com>
6924 Branch: master [f6dc6dd5b] 2014-12-17 22:48:40 -0500
6925 Branch: REL9_4_STABLE [6b87d423d] 2014-12-17 22:48:45 -0500
6926 Branch: REL9_3_STABLE [442dc2c35] 2014-12-17 22:48:46 -0500
6927 Branch: REL9_2_STABLE [0046f651d] 2014-12-17 22:48:47 -0500
6928 Branch: REL9_1_STABLE [6aa98e957] 2014-12-17 22:48:47 -0500
6929 Branch: REL9_0_STABLE [6d45ee572] 2014-12-17 22:48:48 -0500
6934 Lock down regression testing's temporary installations on Windows
6939 Use SSPI authentication to allow connections only from the OS user
6940 who launched the test suite. This closes on Windows the same
6941 vulnerability previously closed on other platforms, namely that other
6942 users might be able to connect to the test postmaster.
6948 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6949 Branch: REL9_3_STABLE [8f80dcf3c] 2014-10-24 19:59:49 +0300
6950 Branch: REL9_2_STABLE [d440c4b55] 2014-10-24 19:59:52 +0300
6951 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6952 Branch: REL9_3_STABLE [2a1b34959] 2014-10-24 19:36:28 +0300
6953 Branch: REL9_2_STABLE [737ae3fc7] 2014-10-24 19:53:27 +0300
6954 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
6955 Branch: master [aa1d2fc5e] 2015-01-16 13:28:19 +0200
6956 Branch: REL9_4_STABLE [2049a7d82] 2015-01-16 13:10:06 +0200
6957 Branch: REL9_3_STABLE [1619442a1] 2015-01-16 13:10:15 +0200
6958 Branch: REL9_2_STABLE [6bf343c6e] 2015-01-16 13:10:23 +0200
6963 Cope with the Windows locale named <quote>Norwegian (Bokmål)</>
6964 (Heikki Linnakangas)
6968 Non-ASCII locale names are problematic since it's not clear what
6969 encoding they should be represented in. Map the troublesome locale
6970 name to a plain-ASCII alias, <quote>Norwegian_Norway</>.
6974 9.4.0 mapped the troublesome name to <quote>norwegian-bokmal</>,
6975 but that turns out not to work on all Windows configurations.
6976 <quote>Norwegian_Norway</> is now recommended instead.
6981 Author: Tom Lane <tgl@sss.pgh.pa.us>
6982 Branch: master [c480cb9d2] 2015-01-15 18:52:58 -0500
6983 Branch: REL9_4_STABLE [b75d18bd4] 2015-01-15 18:53:05 -0500
6984 Branch: REL9_3_STABLE [34668c8ec] 2015-01-15 18:52:28 -0500
6985 Branch: REL9_2_STABLE [0acb32efb] 2015-01-15 18:52:31 -0500
6986 Branch: REL9_1_STABLE [450530fce] 2015-01-15 18:52:34 -0500
6987 Branch: REL9_0_STABLE [5308e085b] 2015-01-15 18:52:38 -0500
6992 Fix use-of-already-freed-memory problem in EvalPlanQual processing
6997 In <literal>READ COMMITTED</> mode, queries that lock or update
6998 recently-updated rows could crash as a result of this bug.
7003 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
7004 Branch: master [0e5680f47] 2014-12-26 13:52:27 -0300
7005 Branch: REL9_4_STABLE [0e3a1f71d] 2014-12-26 13:52:27 -0300
7006 Branch: REL9_3_STABLE [048912386] 2014-12-26 13:52:27 -0300
7011 Avoid possible deadlock while trying to acquire tuple locks
7012 in EvalPlanQual processing (Álvaro Herrera, Mark Kirkwood)
7017 Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
7018 Branch: master [d5e3d1e96] 2015-01-04 15:48:29 -0300
7019 Branch: REL9_4_STABLE [51742063b] 2015-01-04 15:48:29 -0300
7020 Branch: REL9_3_STABLE [54a8abc2b] 2015-01-04 15:48:29 -0300
7025 Fix failure to wait when a transaction tries to acquire a <literal>FOR
7026 NO KEY EXCLUSIVE</> tuple lock, while multiple other transactions
7027 currently hold <literal>FOR SHARE</> locks (Álvaro Herrera)
7032 Author: Tom Lane <tgl@sss.pgh.pa.us>
7033 Branch: master [a5cd70dcb] 2015-01-15 13:18:12 -0500
7034 Branch: REL9_4_STABLE [d25192892] 2015-01-15 13:18:16 -0500
7035 Branch: REL9_3_STABLE [939f0fb67] 2015-01-15 13:18:19 -0500
7040 Improve performance of <command>EXPLAIN</> with large range tables
7046 Author: Tom Lane <tgl@sss.pgh.pa.us>
7047 Branch: master [451d28081] 2015-01-30 14:44:56 -0500
7048 Branch: REL9_4_STABLE [4cbf390d5] 2015-01-30 14:44:49 -0500
7053 Fix <type>jsonb</> Unicode escape processing, and in consequence
7054 disallow <literal>\u0000</> (Tom Lane)
7058 Previously, the JSON Unicode escape <literal>\u0000</> was accepted
7059 and was stored as those six characters; but that is indistinguishable
7060 from what is stored for the input <literal>\\u0000</>, resulting in
7061 ambiguity. Moreover, in cases where de-escaped textual output is
7062 expected, such as the <literal>->></> operator, the sequence was
7063 printed as <literal>\u0000</>, which does not meet the expectation
7064 that JSON escaping would be removed. (Consistent behavior would
7065 require emitting a zero byte, but <productname>PostgreSQL</> does not
7066 support zero bytes embedded in text strings.) 9.4.0 included an
7067 ill-advised attempt to improve this situation by adjusting JSON output
7068 conversion rules; but of course that could not fix the fundamental
7069 ambiguity, and it turned out to break other usages of Unicode escape
7070 sequences. Revert that, and to avoid the core problem,
7071 reject <literal>\u0000</> in <type>jsonb</> input.
7075 If a <type>jsonb</> column contains a <literal>\u0000</> value stored
7076 with 9.4.0, it will henceforth read out as though it
7077 were <literal>\\u0000</>, which is the other valid interpretation of
7078 the data stored by 9.4.0 for this case.
7082 The <type>json</> type did not have the storage-ambiguity problem, but
7083 it did have the problem of inconsistent de-escaped textual output.
7084 Therefore <literal>\u0000</> will now also be rejected
7085 in <type>json</> values when conversion to de-escaped form is
7086 required. This change does not break the ability to
7087 store <literal>\u0000</> in <type>json</> columns so long as no
7088 processing is done on the values. This is exactly parallel to the
7089 cases in which non-ASCII Unicode escapes are allowed when the database
7090 encoding is not UTF8.
7095 Author: Peter Eisentraut <peter_e@gmx.net>
7096 Branch: master [79af9a1d2] 2015-01-06 23:06:13 -0500
7097 Branch: REL9_4_STABLE [6bbf75192] 2015-01-17 22:11:20 -0500
7098 Branch: REL9_3_STABLE [e32cb8d0e] 2015-01-17 22:13:27 -0500
7099 Branch: REL9_2_STABLE [c8ef5b1ac] 2015-01-17 22:14:21 -0500
7100 Branch: REL9_1_STABLE [c975fa471] 2015-01-17 22:37:07 -0500
7101 Branch: REL9_0_STABLE [cebb3f032] 2015-01-17 22:37:32 -0500
7106 Fix namespace handling in <function>xpath()</> (Ali Akbar)
7110 Previously, the <type>xml</> value resulting from
7111 an <function>xpath()</> call would not have namespace declarations if
7112 the namespace declarations were attached to an ancestor element in the
7113 input <type>xml</> value, rather than to the specific element being
7114 returned. Propagate the ancestral declaration so that the result is
7115 correct when considered in isolation.
7120 Author: Tom Lane <tgl@sss.pgh.pa.us>
7121 Branch: master [3d660d33a] 2015-01-30 12:30:59 -0500
7122 Branch: REL9_4_STABLE [b6a164e5c] 2015-01-30 12:31:08 -0500
7123 Branch: REL9_3_STABLE [527ff8baf] 2015-01-30 12:30:43 -0500
7128 Fix assorted oversights in range-operator selectivity estimation
7133 This patch fixes corner-case <quote>unexpected operator NNNN</> planner
7134 errors, and improves the selectivity estimates for some other cases.
7139 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
7140 Branch: master [930fd6845] 2014-12-30 14:53:11 +0200
7141 Branch: REL9_4_STABLE [4e241f7cd] 2014-12-30 14:53:03 +0200
7146 Revert unintended reduction in maximum size of a GIN index item
7147 (Heikki Linnakangas)
7151 9.4.0 could fail with <quote>index row size exceeds maximum</> errors
7152 for data that previous versions would accept.
7157 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
7158 Branch: master [68fa75f31] 2015-01-30 17:58:23 +0100
7159 Branch: REL9_4_STABLE [dc40ca696] 2015-01-30 17:59:17 +0100
7164 Fix query-duration memory leak during repeated GIN index rescans
7165 (Heikki Linnakangas)
7170 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
7171 Branch: master [31ed42b9a] 2015-01-29 19:35:55 +0200
7172 Branch: REL9_4_STABLE [28a37deab] 2015-01-29 19:37:29 +0200
7173 Branch: REL9_3_STABLE [1c2774f37] 2015-01-29 19:37:27 +0200
7174 Branch: REL9_2_STABLE [61729e99d] 2015-01-29 19:37:25 +0200
7175 Branch: REL9_1_STABLE [37e0f13f2] 2015-01-29 19:37:22 +0200
7180 Fix possible crash when using
7181 nonzero <varname>gin_fuzzy_search_limit</> (Heikki Linnakangas)
7186 Author: Andres Freund <andres@anarazel.de>
7187 Branch: master [3fabed070] 2015-01-07 00:19:37 +0100
7188 Branch: REL9_4_STABLE [7da102154] 2015-01-07 00:24:58 +0100
7189 Author: Andres Freund <andres@anarazel.de>
7190 Branch: master [31912d01d] 2015-01-07 00:18:00 +0100
7191 Branch: REL9_4_STABLE [84911ff51] 2015-01-07 00:24:47 +0100
7196 Assorted fixes for logical decoding (Andres Freund)
7201 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
7202 Branch: master [49b04188f] 2015-01-15 20:52:41 +0200
7203 Branch: REL9_4_STABLE [b337d9657] 2015-01-15 20:52:18 +0200
7208 Fix incorrect replay of WAL parameter change records that report
7209 changes in the <varname>wal_log_hints</> setting (Petr Jelinek)
7214 Author: Tom Lane <tgl@sss.pgh.pa.us>
7215 Branch: master [75b48e1ff] 2015-01-19 23:01:33 -0500
7216 Branch: REL9_4_STABLE [3387cbbcb] 2015-01-19 23:01:36 -0500
7217 Branch: REL9_3_STABLE [19794e997] 2015-01-19 23:01:39 -0500
7218 Branch: REL9_2_STABLE [33b723538] 2015-01-19 23:01:41 -0500
7219 Branch: REL9_1_STABLE [b87c1dcef] 2015-01-19 23:01:44 -0500
7220 Branch: REL9_0_STABLE [a1a8d0249] 2015-01-19 23:01:46 -0500
7225 Change <quote>pgstat wait timeout</> warning message to be LOG level,
7226 and rephrase it to be more understandable (Tom Lane)
7230 This message was originally thought to be essentially a can't-happen
7231 case, but it occurs often enough on our slower buildfarm members to be
7232 a nuisance. Reduce it to LOG level, and expend a bit more effort on
7233 the wording: it now reads <quote>using stale statistics instead of
7234 current ones because stats collector is not responding</>.
7239 Author: Noah Misch <noah@leadboat.com>
7240 Branch: master [894459e59] 2015-01-07 22:35:44 -0500
7241 Branch: REL9_4_STABLE [83fb1ca5c] 2015-01-07 22:36:35 -0500
7242 Branch: REL9_3_STABLE [1a366d51e] 2015-01-07 22:40:40 -0500
7243 Branch: REL9_2_STABLE [5ca4e444c] 2015-01-07 22:41:49 -0500
7244 Branch: REL9_1_STABLE [8dc83104e] 2015-01-07 22:42:42 -0500
7245 Branch: REL9_0_STABLE [2e4946169] 2015-01-07 22:46:20 -0500
7250 Warn if macOS's <function>setlocale()</> starts an unwanted extra
7251 thread inside the postmaster (Noah Misch)
7256 Author: Tom Lane <tgl@sss.pgh.pa.us>
7257 Branch: master [080eabe2e] 2015-01-11 12:35:44 -0500
7258 Branch: REL9_4_STABLE [733728ff3] 2015-01-11 12:35:47 -0500
7263 Fix <application>libpq</>'s behavior when <filename>/etc/passwd</>
7264 isn't readable (Tom Lane)
7268 While doing <function>PQsetdbLogin()</>, <application>libpq</>
7269 attempts to ascertain the user's operating system name, which on most
7270 Unix platforms involves reading <filename>/etc/passwd</>. As of 9.4,
7271 failure to do that was treated as a hard error. Restore the previous
7272 behavior, which was to fail only if the application does not provide a
7273 database role name to connect as. This supports operation in chroot
7274 environments that lack an <filename>/etc/passwd</> file.
7279 Author: Tom Lane <tgl@sss.pgh.pa.us>
7280 Branch: master [28551797a] 2014-12-31 12:18:50 -0500
7281 Branch: REL9_4_STABLE [c35249939] 2014-12-31 12:16:57 -0500
7282 Branch: REL9_3_STABLE [7582cce56] 2014-12-31 12:17:00 -0500
7283 Branch: REL9_2_STABLE [64c506535] 2014-12-31 12:17:04 -0500
7284 Branch: REL9_1_STABLE [1773e0702] 2014-12-31 12:17:08 -0500
7285 Branch: REL9_0_STABLE [2600e4436] 2014-12-31 12:17:12 -0500
7290 Improve consistency of parsing of <application>psql</>'s special
7291 variables (Tom Lane)
7295 Allow variant spellings of <literal>on</> and <literal>off</> (such
7296 as <literal>1</>/<literal>0</>) for <literal>ECHO_HIDDEN</>
7297 and <literal>ON_ERROR_ROLLBACK</>. Report a warning for unrecognized
7298 values for <literal>COMP_KEYWORD_CASE</>, <literal>ECHO</>,
7299 <literal>ECHO_HIDDEN</>, <literal>HISTCONTROL</>,
7300 <literal>ON_ERROR_ROLLBACK</>, and <literal>VERBOSITY</>. Recognize
7301 all values for all these variables case-insensitively; previously
7302 there was a mishmash of case-sensitive and case-insensitive behaviors.
7307 Author: Tom Lane <tgl@sss.pgh.pa.us>
7308 Branch: master [adfc157dd] 2015-01-05 19:27:04 -0500
7309 Branch: REL9_4_STABLE [c99e41f68] 2015-01-05 19:27:06 -0500
7310 Branch: REL9_3_STABLE [bb1e2426b] 2015-01-05 19:27:09 -0500
7315 Fix <application>pg_dump</> to handle comments on event triggers
7316 without failing (Tom Lane)
7321 Author: Kevin Grittner <kgrittn@postgresql.org>
7322 Branch: master [cff1bd2a3] 2015-01-30 08:57:24 -0600
7323 Branch: REL9_4_STABLE [cb0168528] 2015-01-30 08:57:53 -0600
7324 Branch: REL9_3_STABLE [cc609c46f] 2015-01-30 09:01:36 -0600
7329 Allow parallel <application>pg_dump</> to
7330 use <option>--serializable-deferrable</> (Kevin Grittner)
7335 Author: Andres Freund <andres@anarazel.de>
7336 Branch: master [2c0a48589] 2015-01-03 20:54:12 +0100
7337 Branch: REL9_4_STABLE [90e4a2bf9] 2015-01-03 20:54:13 +0100
7338 Branch: REL9_3_STABLE [f6cea4502] 2015-01-03 20:54:13 +0100
7339 Branch: REL9_2_STABLE [f961ad479] 2015-01-03 20:54:13 +0100
7340 Branch: REL9_1_STABLE [2a0bfa4d6] 2015-01-03 20:54:13 +0100
7345 Prevent WAL files created by <literal>pg_basebackup -x/-X</> from
7346 being archived again when the standby is promoted (Andres Freund)
7351 Author: Tom Lane <tgl@sss.pgh.pa.us>
7352 Branch: master [37507962c] 2015-01-29 20:18:33 -0500
7353 Branch: REL9_4_STABLE [202621d04] 2015-01-29 20:18:37 -0500
7354 Branch: REL9_3_STABLE [53ae24692] 2015-01-29 20:18:40 -0500
7355 Branch: REL9_2_STABLE [66cc74680] 2015-01-29 20:18:42 -0500
7356 Branch: REL9_1_STABLE [290c2daad] 2015-01-29 20:18:44 -0500
7357 Branch: REL9_0_STABLE [dc9a506e6] 2015-01-29 20:18:46 -0500
7362 Handle unexpected query results, especially NULLs, safely in
7363 <filename>contrib/tablefunc</>'s <function>connectby()</>
7368 <function>connectby()</> previously crashed if it encountered a NULL
7369 key value. It now prints that row but doesn't recurse further.
7374 Author: Tom Lane <tgl@sss.pgh.pa.us>
7375 Branch: master [a59ee8819] 2015-01-30 13:05:30 -0500
7376 Branch: REL9_4_STABLE [70da7aeba] 2015-01-30 13:04:59 -0500
7377 Branch: REL9_3_STABLE [f08cf8ad9] 2015-01-30 13:05:01 -0500
7378 Branch: REL9_2_STABLE [a97dfdfd9] 2015-01-30 13:05:04 -0500
7379 Branch: REL9_1_STABLE [8f51c432c] 2015-01-30 13:05:07 -0500
7380 Branch: REL9_0_STABLE [7c41a32b3] 2015-01-30 13:05:09 -0500
7381 Author: Tom Lane <tgl@sss.pgh.pa.us>
7382 Branch: REL9_3_STABLE [8824bae87] 2014-11-18 13:28:13 -0500
7383 Author: Robert Haas <rhaas@postgresql.org>
7384 Branch: master [0b49642b9] 2015-01-15 09:26:03 -0500
7385 Branch: REL9_4_STABLE [7b65f194e] 2015-01-15 09:29:41 -0500
7386 Branch: REL9_3_STABLE [ebbef4f39] 2015-01-15 09:29:55 -0500
7387 Branch: REL9_2_STABLE [d452bfd1b] 2015-01-15 09:42:21 -0500
7388 Branch: REL9_1_STABLE [151fb75b0] 2015-01-15 09:42:33 -0500
7389 Branch: REL9_0_STABLE [0a67c0018] 2015-01-15 09:42:47 -0500
7390 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
7391 Branch: master [e37d474f9] 2015-01-13 14:33:05 +0200
7392 Branch: REL9_4_STABLE [4ebb3494e] 2015-01-13 16:01:04 +0200
7393 Author: Andres Freund <andres@anarazel.de>
7394 Branch: master [8cadeb792] 2015-01-04 15:44:49 +0100
7395 Branch: REL9_4_STABLE [7ced1b6c5] 2015-01-04 15:52:52 +0100
7396 Branch: REL9_3_STABLE [a68b8aec7] 2015-01-04 15:53:08 +0100
7397 Branch: REL9_2_STABLE [6f9b84a40] 2015-01-04 15:55:00 +0100
7398 Author: Andres Freund <andres@anarazel.de>
7399 Branch: master [58bc4747b] 2015-01-04 15:35:46 +0100
7400 Branch: REL9_4_STABLE [2d8411a0a] 2015-01-04 15:35:46 +0100
7401 Branch: REL9_3_STABLE [d33f36f16] 2015-01-04 15:35:47 +0100
7402 Branch: REL9_2_STABLE [029e41afd] 2015-01-04 15:35:47 +0100
7403 Branch: REL9_1_STABLE [39cdf365a] 2015-01-04 15:35:47 +0100
7404 Branch: REL9_0_STABLE [17797e18d] 2015-01-04 15:35:48 +0100
7405 Author: Andres Freund <andres@anarazel.de>
7406 Branch: master [0398ece4c] 2015-01-04 14:36:21 +0100
7407 Branch: REL9_4_STABLE [ff7d46b85] 2015-01-04 14:36:21 +0100
7408 Branch: REL9_3_STABLE [ec14f1601] 2015-01-04 14:36:22 +0100
7409 Branch: REL9_2_STABLE [f4060db11] 2015-01-04 14:36:22 +0100
7410 Author: Tatsuo Ishii <ishii@postgresql.org>
7411 Branch: master [3b5a89c48] 2014-12-30 20:33:01 +0900
7412 Branch: REL9_4_STABLE [458e8bc65] 2014-12-30 20:27:26 +0900
7413 Branch: REL9_3_STABLE [ed0e03283] 2014-12-30 20:20:56 +0900
7414 Branch: REL9_2_STABLE [4db7eaae0] 2014-12-30 19:59:26 +0900
7415 Branch: REL9_1_STABLE [4c136b0b6] 2014-12-30 19:48:53 +0900
7416 Branch: REL9_0_STABLE [9b74f3574] 2014-12-30 19:37:55 +0900
7417 Author: Tom Lane <tgl@sss.pgh.pa.us>
7418 Branch: master [66709133c] 2014-12-16 15:35:33 -0500
7419 Branch: REL9_4_STABLE [383d224a0] 2014-12-16 15:35:36 -0500
7420 Branch: REL9_3_STABLE [53960e7eb] 2014-12-16 15:35:40 -0500
7421 Branch: REL9_2_STABLE [e92c67ddc] 2014-12-16 15:35:43 -0500
7422 Branch: REL9_1_STABLE [5c784d96a] 2014-12-16 15:35:46 -0500
7423 Branch: REL9_0_STABLE [a2969bd72] 2014-12-16 15:35:49 -0500
7424 Author: Tom Lane <tgl@sss.pgh.pa.us>
7425 Branch: master [d38e8d30c] 2014-12-16 13:31:42 -0500
7426 Branch: REL9_4_STABLE [6c75384ee] 2014-12-16 13:31:57 -0500
7427 Branch: REL9_3_STABLE [3b750ec15] 2014-12-16 13:32:02 -0500
7428 Branch: REL9_2_STABLE [5b2c8f04a] 2014-12-16 13:32:15 -0500
7429 Branch: REL9_1_STABLE [926da211a] 2014-12-16 13:32:25 -0500
7430 Branch: REL9_0_STABLE [961df1853] 2014-12-16 13:32:38 -0500
7431 Author: Tom Lane <tgl@sss.pgh.pa.us>
7432 Branch: master [586dd5d6a] 2015-01-24 13:05:42 -0500
7433 Branch: REL9_4_STABLE [d51d4ff31] 2015-01-24 13:05:45 -0500
7434 Branch: REL9_3_STABLE [7240f9200] 2015-01-24 13:05:49 -0500
7435 Branch: REL9_2_STABLE [502e5f9c3] 2015-01-24 13:05:53 -0500
7436 Branch: REL9_1_STABLE [b00a08859] 2015-01-24 13:05:56 -0500
7437 Branch: REL9_0_STABLE [3a3ee655c] 2015-01-24 13:05:58 -0500
7442 Numerous cleanups of warnings from Coverity static code analyzer
7443 (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier)
7447 These changes are mostly cosmetic but in some cases fix corner-case
7448 bugs, for example a crash rather than a proper error report after an
7449 out-of-memory failure. None are believed to represent security
7455 Author: Tom Lane <tgl@sss.pgh.pa.us>
7456 Branch: master [85a2a8903] 2015-01-14 11:08:13 -0500
7457 Branch: REL9_4_STABLE [adb355106] 2015-01-14 11:08:17 -0500
7462 Allow <varname>CFLAGS</> from <application>configure</>'s environment
7463 to override automatically-supplied <varname>CFLAGS</> (Tom Lane)
7467 Previously, <application>configure</> would add any switches that it
7468 chose of its own accord to the end of the
7469 user-specified <varname>CFLAGS</> string. Since most compilers
7470 process switches left-to-right, this meant that configure's choices
7471 would override the user-specified flags in case of conflicts. That
7472 should work the other way around, so adjust the logic to put the
7473 user's string at the end not the beginning.
7478 Author: Tom Lane <tgl@sss.pgh.pa.us>
7479 Branch: master [aa719391d] 2015-01-19 23:44:19 -0500
7480 Branch: REL9_4_STABLE [3de9f22ac] 2015-01-19 23:44:22 -0500
7481 Branch: REL9_3_STABLE [1681e2f74] 2015-01-19 23:44:24 -0500
7482 Branch: REL9_2_STABLE [89b6a19e1] 2015-01-19 23:44:28 -0500
7483 Branch: REL9_1_STABLE [f4f522deb] 2015-01-19 23:44:30 -0500
7484 Branch: REL9_0_STABLE [338ff75fc] 2015-01-19 23:44:33 -0500
7489 Make <application>pg_regress</> remove any temporary installation it
7490 created upon successful exit (Tom Lane)
7494 This results in a very substantial reduction in disk space usage
7495 during <literal>make check-world</>, since that sequence involves
7496 creation of numerous temporary installations.
7501 Author: Tom Lane <tgl@sss.pgh.pa.us>
7502 Branch: master [5b89473d8] 2014-12-24 16:35:23 -0500
7503 Branch: REL9_4_STABLE [068024719] 2014-12-24 16:35:34 -0500
7508 Add CST (China Standard Time) to our lists of timezone abbreviations
7514 Author: Tom Lane <tgl@sss.pgh.pa.us>
7515 Branch: master [08bd0c581] 2015-01-30 22:45:44 -0500
7516 Branch: REL9_4_STABLE [c2b06ab17] 2015-01-30 22:45:58 -0500
7521 Update time zone data files to <application>tzdata</> release 2015a
7522 for DST law changes in Chile and Mexico, plus historical changes in
7532 <sect1 id="release-9-4">
7533 <title>Release 9.4</title>
7536 <title>Release Date</title>
7537 <simpara>2014-12-18</simpara>
7541 <title>Overview</title>
7544 Major enhancements in <productname>PostgreSQL</> 9.4 include:
7547 <!-- This list duplicates items below, but without authors or details-->
7553 Add <link linkend="datatype-json"><type>jsonb</></link>, a more
7554 capable and efficient data type for storing <acronym>JSON</> data
7560 Add new <acronym>SQL</> command <xref linkend="SQL-ALTERSYSTEM">
7561 for changing <filename>postgresql.conf</> configuration file entries
7567 Reduce lock strength for some <xref linkend="SQL-ALTERTABLE">
7574 Allow <link linkend="rules-materializedviews">materialized views</>
7575 to be refreshed without blocking concurrent reads
7581 Add support for <link linkend="logicaldecoding">logical decoding</>
7582 of WAL data, to allow database changes to be streamed out in a
7589 Allow <link linkend="bgworker">background worker processes</>
7590 to be dynamically registered, started and terminated
7597 The above items are explained in more detail in the sections below.
7604 <title>Migration to Version 9.4</title>
7607 A dump/restore using <xref linkend="app-pg-dumpall">, or use
7608 of <xref linkend="pgupgrade">, is required for those wishing to migrate
7609 data from any previous release.
7613 Version 9.4 contains a number of changes that may affect compatibility
7614 with previous releases. Observe the following incompatibilities:
7621 Tighten checks for multidimensional <link
7622 linkend="arrays">array</link> input (Bruce Momjian)
7626 Previously, an input array string that started with a single-element
7627 sub-array could later contain multi-element sub-arrays,
7628 e.g. <literal>'{{1}, {2,3}}'::int[]</> would be accepted.
7634 When converting values of type <type>date</>, <type>timestamp</>
7635 or <type>timestamptz</>
7636 to <link linkend="datatype-json"><type>JSON</type></link>, render the
7637 values in a format compliant with ISO 8601 (Andrew Dunstan)
7641 Previously such values were rendered according to the current
7642 <xref linkend="guc-datestyle"> setting; but many JSON processors
7643 require timestamps to be in ISO 8601 format. If necessary, the
7644 previous behavior can be obtained by explicitly casting the datetime
7645 value to <type>text</> before passing it to the JSON conversion
7652 The <link linkend="functions-json-op-table"><type>json</type>
7653 <literal>#></> <type>text[]</></link> path extraction operator now
7654 returns its lefthand input, not NULL, if the array is empty (Tom Lane)
7658 This is consistent with the notion that this represents zero
7659 applications of the simple field/element extraction
7660 operator <literal>-></>. Similarly, <type>json</type>
7661 <literal>#>></> <type>text[]</> with an empty array merely
7662 coerces its lefthand input to text.
7669 the <link linkend="functions-json-op-table"><type>JSON</type>
7670 field/element/path extraction operators</link> now return NULL rather
7671 than raising an error (Tom Lane)
7675 For example, applying field extraction to a JSON array now yields NULL
7676 not an error. This is more consistent (since some comparable cases such
7677 as no-such-field already returned NULL), and it makes it safe to create
7678 expression indexes that use these operators, since they will now not
7679 throw errors for any valid JSON input.
7685 Cause consecutive whitespace in <link
7686 linkend="functions-formatting-table"><function>to_timestamp()</></link>
7687 and <function>to_date()</> format strings to consume a corresponding
7688 number of characters in the input string (whitespace or not), then
7689 conditionally consume adjacent whitespace, if not in <literal>FX</>
7690 mode (Jeevan Chalke)
7694 Previously, consecutive whitespace characters in a non-<literal>FX</>
7695 format string behaved like a single whitespace character and consumed
7696 all adjacent whitespace in the input string. For example, previously
7697 a format string of three spaces would consume only the first space in
7698 <literal>' 12'</>, but it will now consume all three characters.
7705 linkend="textsearch-functions-table"><function>ts_rank_cd()</></link>
7706 to ignore stripped lexemes (Alex Hill)
7710 Previously, stripped lexemes were treated as if they had a default
7711 location, producing a rank of dubious usefulness.
7717 For functions declared to
7718 take <link linkend="xfunc-sql-variadic-functions"><literal>VARIADIC
7719 "any"</></link>, an actual parameter marked as <literal>VARIADIC</>
7720 must be of a determinable array type (Pavel Stehule)
7724 Such parameters can no longer be written as an undecorated string
7725 literal or <literal>NULL</>; a cast to an appropriate array data type
7726 will now be required. Note that this does not affect parameters not
7727 marked <literal>VARIADIC</>.
7733 Ensure that whole-row variables expose the expected column names
7734 to functions that pay attention to column names within composite
7735 arguments (Tom Lane)
7739 Constructs like <literal>row_to_json(tab.*)</> now always emit column
7740 names that match the column aliases visible for table <literal>tab</>
7741 at the point of the call. In previous releases the emitted column
7742 names would sometimes be the table's actual column names regardless
7743 of any aliases assigned in the query.
7749 <xref linkend="sql-discard"> now also discards sequence-related state
7750 (Fabrízio de Royes Mello, Robert Haas)
7756 Rename <link linkend="SQL-EXPLAIN"><command>EXPLAIN
7757 ANALYZE</></link>'s <quote>total runtime</quote> output
7758 to <quote>execution time</quote> (Tom Lane)
7762 Now that planning time is also reported, the previous name was
7769 <link linkend="SQL-SHOW"><command>SHOW TIME ZONE</></link> now
7770 outputs simple numeric UTC offsets in <acronym>POSIX</> timezone
7775 Previously, such timezone settings were displayed as <link
7776 linkend="datatype-interval-output"><type>interval</></link> values.
7777 The new output is properly interpreted by <command>SET TIME ZONE</>
7778 when passed as a simple string, whereas the old output required
7779 special treatment to be re-parsed correctly.
7785 Foreign data wrappers that support updating foreign tables must
7786 consider the possible presence of <literal>AFTER ROW</> triggers
7791 When an <literal>AFTER ROW</> trigger is present, all columns of the
7792 table must be returned by updating actions, since the trigger might
7793 inspect any or all of them. Previously, foreign tables never had
7794 triggers, so the FDW might optimize away fetching columns not mentioned
7795 in the <literal>RETURNING</> clause (if any).
7802 linkend="ddl-constraints-check-constraints"><literal>CHECK</></link>
7803 constraints from referencing system columns, except
7804 <structfield>tableoid</> (Amit Kapila)
7808 Previously such check constraints were allowed, but they would often
7809 cause errors during restores.
7815 Use the last specified <link linkend="recovery-target-settings">recovery
7816 target parameter</link> if multiple target parameters are specified
7817 (Heikki Linnakangas)
7821 Previously, there was an undocumented precedence order among
7822 the <literal>recovery_target_<replaceable>xxx</></literal> parameters.
7828 On Windows, automatically preserve quotes in command strings supplied
7829 by the user (Heikki Linnakangas)
7833 User commands that did their own quote preservation might need
7834 adjustment. This is likely to be an issue for commands used in
7835 <xref linkend="guc-archive-command">, <xref linkend="restore-command">,
7836 and <link linkend="sql-copy"><command>COPY TO/FROM PROGRAM</></link>.
7842 Remove catalog column <link
7843 linkend="catalog-pg-class"><structfield>pg_class.reltoastidxid</></link>
7850 Remove catalog column <link
7851 linkend="catalog-pg-rewrite"><structfield>pg_rewrite.ev_attr</></link>
7856 Per-column rules have not been supported since
7857 <application>PostgreSQL</> 7.3.
7863 Remove native support for <application>Kerberos</> authentication
7864 (<option>--with-krb5</>, etc)
7869 The supported way to use <application>Kerberos</> authentication is
7870 with <acronym>GSSAPI</>. The native code has been deprecated since
7871 <productname>PostgreSQL</> 8.3.
7877 In <application>PL/Python</>, handle domains over arrays like the
7878 underlying array type (Rodolfo Campero)
7882 Previously such values were treated as strings.
7889 linkend="libpq-pqconnectdbparams"><function>PQconnectdbParams()</></link>
7891 linkend="libpq-pqpingparams"><function>PQpingParams()</></link>
7892 functions process zero-length strings as defaults (Adrian
7897 Previously, these functions treated zero-length string values as
7898 selecting the default in only some cases.
7904 Change empty arrays returned by the <xref linkend="intarray"> module
7905 to be zero-dimensional arrays (Bruce Momjian)
7909 Previously, empty arrays were returned as zero-length one-dimensional
7910 arrays, whose text representation looked the same as zero-dimensional
7911 arrays (<literal>{}</>), but they acted differently in array
7912 operations. <application>intarray</>'s behavior in this area now
7913 matches the built-in array operators.
7919 <xref linkend="pgupgrade"> now uses <option>-U</>
7920 or <option>--username</> to specify the user name (Bruce Momjian)
7924 Previously this option was spelled <option>-u</> or <option>--user</>,
7925 but that was inconsistent with other tools.
7934 <title>Changes</title>
7937 Below you will find a detailed account of the changes between
7938 <productname>PostgreSQL</productname> 9.4 and the previous major
7943 <title>Server</title>
7949 Allow <link linkend="bgworker">background worker processes</link>
7950 to be dynamically registered, started and terminated (Robert Haas)
7954 The new <filename>worker_spi</> module shows an example of use
7961 Allow dynamic allocation of shared memory segments (Robert Haas,
7966 This feature is illustrated in the <filename>test_shm_mq</filename>
7973 During crash recovery or immediate shutdown, send uncatchable
7974 termination signals (<systemitem>SIGKILL</>) to child processes
7975 that do not shut down promptly (MauMau, Álvaro Herrera)
7979 This reduces the likelihood of leaving orphaned child processes
7980 behind after <xref linkend="app-postmaster"> shutdown, as well
7981 as ensuring that crash recovery can proceed if some child processes
7982 have become <quote>stuck</>.
7988 Improve randomness of the database system identifier (Tom Lane)
7994 Make <xref linkend="SQL-VACUUM"> properly report dead but
7995 not-yet-removable rows to the statistics collector (Hari Babu)
7999 Previously these were reported as live rows.
8006 <title>Indexes</title>
8012 Reduce <link linkend="GIN"><acronym>GIN</></link> index size
8013 (Alexander Korotkov, Heikki Linnakangas)
8017 Indexes upgraded via <xref linkend="pgupgrade"> will work fine
8018 but will still be in the old, larger <acronym>GIN</> format.
8019 Use <xref linkend="SQL-REINDEX"> to recreate old GIN indexes in the
8026 Improve speed of multi-key <link
8027 linkend="GIN"><acronym>GIN</></link> lookups (Alexander Korotkov,
8034 Add <link linkend="GiST"><acronym>GiST</></link> index support
8035 for <link linkend="datatype-inet"><type>inet</></link> and
8036 <link linkend="datatype-cidr"><type>cidr</></link> data types
8041 Such indexes improve <link
8042 linkend="cidr-inet-operators-table">subnet and supernet</link>
8043 lookups and ordering comparisons.
8049 Fix rare race condition in B-tree page deletion (Heikki Linnakangas)
8055 Make the handling of interrupted B-tree page splits more robust
8056 (Heikki Linnakangas)
8065 <title>General Performance</title>
8071 Allow multiple backends to insert
8072 into <link linkend="wal"><acronym>WAL</></link> buffers
8073 concurrently (Heikki Linnakangas)
8077 This improves parallel write performance.
8083 Conditionally write only the modified portion of updated rows to
8084 <link linkend="wal"><acronym>WAL</></link> (Amit Kapila)
8090 Improve performance of aggregate functions used as <link
8091 linkend="syntax-window-functions">window functions</link>
8092 (David Rowley, Florian Pflug, Tom Lane)
8098 Improve speed of aggregates that
8099 use <link linkend="datatype-numeric"><type>numeric</></link> state
8100 values (Hadi Moshayedi)
8106 Attempt to <link linkend="vacuum-for-wraparound">freeze</link>
8107 tuples when tables are rewritten with <xref
8108 linkend="SQL-CLUSTER"> or <link
8109 linkend="SQL-VACUUM"><command>VACUUM FULL</></link> (Robert Haas,
8114 This can avoid the need to freeze the tuples in the future.
8120 Improve speed of <xref linkend="SQL-COPY"> with default <link
8121 linkend="functions-sequence-table"><function>nextval()</></link>
8122 columns (Simon Riggs)
8128 Improve speed of accessing many different <link
8129 linkend="SQL-CREATESEQUENCE">sequences</link> in the same session
8136 Raise hard limit on the number of tuples held in memory during sorting
8137 and B-tree index builds (Noah Misch)
8143 Reduce memory allocated by <application>PL/pgSQL</>
8144 <xref linkend="SQL-DO"> blocks (Tom Lane)
8150 Make the planner more aggressive about extracting restriction clauses
8151 from mixed <literal>AND</>/<literal>OR</> clauses (Tom Lane)
8157 Disallow pushing volatile <literal>WHERE</> clauses down
8158 into <literal>DISTINCT</> subqueries (Tom Lane)
8162 Pushing down a <literal>WHERE</> clause can produce a more
8163 efficient plan overall, but at the cost of evaluating the clause
8164 more often than is implied by the text of the query; so don't do it
8165 if the clause contains any volatile functions.
8171 Auto-resize the catalog caches (Heikki Linnakangas)
8175 This reduces memory consumption for sessions accessing only a few
8176 tables, and improves performance for sessions accessing many tables.
8185 <title>Monitoring</title>
8191 Add <xref linkend="pg-stat-archiver-view"> system view to
8192 report <link linkend="wal"><acronym>WAL</></link> archiver activity
8193 (Gabriele Bartolini)
8199 Add <structfield>n_mod_since_analyze</> columns to
8200 <xref linkend="pg-stat-all-tables-view"> and related system views
8205 These columns expose the system's estimate of the number of changed
8206 tuples since the table's last <xref linkend="sql-analyze">. This
8207 estimate drives decisions about when to auto-analyze.
8213 Add <structfield>backend_xid</> and <structfield>backend_xmin</>
8214 columns to the system view <xref linkend="pg-stat-activity-view">,
8215 and a <structfield>backend_xmin</> column to
8216 <xref linkend="pg-stat-replication-view"> (Christian Kruse)
8225 <title><acronym>SSL</></title>
8231 Add support for <acronym>SSL</> <acronym>ECDH</> key exchange
8236 This allows use of Elliptic Curve keys for server authentication.
8237 Such keys are faster and have better security than <acronym>RSA</>
8238 keys. The new configuration parameter
8239 <xref linkend="guc-ssl-ecdh-curve">
8240 controls which curve is used for <acronym>ECDH</>.
8246 Improve the default <xref linkend="guc-ssl-ciphers"> setting
8253 By default, the server not the client now controls the preference
8254 order of <acronym>SSL</> ciphers
8259 Previously, the order specified by <xref linkend="guc-ssl-ciphers">
8260 was usually ignored in favor of client-side defaults, which are not
8261 configurable in most <productname>PostgreSQL</> clients. If
8262 desired, the old behavior can be restored via the new configuration
8263 parameter <xref linkend="guc-ssl-prefer-server-ciphers">.
8269 Make <xref linkend="guc-log-connections"> show <acronym>SSL</>
8270 encryption information (Andreas Kunert)
8276 Improve <acronym>SSL</> renegotiation handling (Álvaro
8286 <title>Server Settings</title>
8292 Add new <acronym>SQL</> command <xref linkend="SQL-ALTERSYSTEM">
8293 for changing <filename>postgresql.conf</> configuration file entries
8298 Previously such settings could only be changed by manually
8299 editing <filename>postgresql.conf</>.
8305 Add <xref linkend="guc-autovacuum-work-mem"> configuration parameter
8306 to control the amount of memory used by autovacuum workers
8313 Add <xref linkend="guc-huge-pages"> parameter to allow using huge
8314 memory pages on Linux (Christian Kruse, Richard Poole, Abhijit
8319 This can improve performance on large-memory systems.
8325 Add <xref linkend="guc-max-worker-processes"> parameter
8326 to limit the number of background workers (Robert Haas)
8330 This is helpful in configuring a standby server to have the
8331 required number of worker processes (the same as the primary).
8337 Add superuser-only <xref linkend="guc-session-preload-libraries">
8338 parameter to load libraries at session start (Peter Eisentraut)
8342 In contrast to <xref linkend="guc-local-preload-libraries">, this
8343 parameter can load any shared library, not just those in
8344 the <filename>$libdir/plugins</> directory.
8350 Add <xref linkend="guc-wal-log-hints"> parameter to enable WAL
8351 logging of hint-bit changes (Sawada Masahiko)
8355 Hint bit changes are not normally logged, except when checksums are
8356 enabled. This is useful for external tools
8357 like <application>pg_rewind</>.
8363 Increase the default settings of <xref linkend="guc-work-mem">
8364 and <xref linkend="guc-maintenance-work-mem"> by four times (Bruce
8369 The new defaults are 4MB and 64MB respectively.
8375 Increase the default setting of <xref
8376 linkend="guc-effective-cache-size">
8377 to 4GB (Bruce Momjian, Tom Lane)
8383 Allow <function>printf</function>-style space padding to be
8384 specified in <xref linkend="guc-log-line-prefix"> (David Rowley)
8390 Allow terabyte units (<literal>TB</>) to be used when specifying
8391 configuration variable values (Simon Riggs)
8397 Show <acronym>PID</>s of lock holders and waiters and improve
8398 information about relations in <xref linkend="guc-log-lock-waits">
8399 log messages (Christian Kruse)
8405 Reduce server logging level when loading shared libraries (Peter
8410 The previous level was <literal>LOG</>, which was too verbose
8411 for libraries loaded per-session.
8417 On Windows, make <literal>SQL_ASCII</>-encoded databases and server
8418 processes (e.g., <xref linkend="app-postmaster">) emit messages in
8419 the character encoding of the server's Windows user locale
8420 (Alexander Law, Noah Misch)
8424 Previously these messages were output in the Windows
8425 <acronym>ANSI</> code page.
8436 <title>Replication and Recovery</title>
8442 Add <link linkend="streaming-replication-slots">replication
8443 slots</link> to coordinate activity on streaming standbys with the
8444 node they are streaming from (Andres Freund, Robert Haas)
8448 Replication slots allow preservation of resources like
8449 <acronym>WAL</> files on the primary until they are no longer
8450 needed by standby servers.
8456 Add recovery parameter <xref linkend="recovery-min-apply-delay">
8457 to delay replication (Robert Haas, Fabrízio de Royes Mello,
8462 Delaying replay on standby servers can be useful for recovering
8469 Add <xref linkend="recovery-target">
8470 option <option>immediate</> to stop <link
8471 linkend="wal"><acronym>WAL</></link> recovery as soon as a
8472 consistent state is reached (MauMau, Heikki Linnakangas)
8478 Improve recovery target processing (Heikki Linnakangas)
8482 The timestamp reported
8483 by <link linkend="functions-recovery-info-table"><function>pg_last_xact_replay_timestamp()</></link>
8484 now reflects already-committed records, not transactions about to
8485 be committed. Recovering to a restore point now replays the restore
8486 point, rather than stopping just before the restore point.
8493 linkend="functions-admin-backup-table"><function>pg_switch_xlog()</></link>
8494 now clears any unused trailing space in the old <acronym>WAL</> file
8495 (Heikki Linnakangas)
8499 This improves the compression ratio for <acronym>WAL</> files.
8505 Report failure return codes from <link
8506 linkend="archive-recovery-settings">external recovery commands</>
8513 Reduce spinlock contention during <acronym>WAL</> replay (Heikki
8520 Write <acronym>WAL</> records of running transactions more
8521 frequently (Andres Freund)
8525 This allows standby servers to start faster and clean up resources
8533 <title><link linkend="logicaldecoding">Logical Decoding</></title>
8536 Logical decoding allows database changes to be streamed in a
8537 configurable format. The data is read from
8538 the <link linkend="wal"><acronym>WAL</></link> and transformed into the
8539 desired target format. To implement this feature, the following changes
8547 Add support for <link linkend="logicaldecoding">logical decoding</>
8548 of WAL data, to allow database changes to be streamed out in a
8556 Add new <xref linkend="guc-wal-level"> setting <option>logical</>
8557 to enable logical change-set encoding in <acronym>WAL</> (Andres
8564 Add table-level parameter <link
8565 linkend="catalog-pg-class"><literal>REPLICA IDENTITY</></link>
8566 to control logical replication (Andres Freund)
8572 Add relation option <link
8573 linkend="SQL-CREATETABLE-storage-parameters"><option>user_catalog_table</></link>
8574 to identify user-created tables involved in logical change-set
8575 encoding (Andres Freund)
8581 Add <xref linkend="app-pgrecvlogical"> application to receive
8582 logical-decoding data (Andres Freund)
8588 Add <xref linkend="test-decoding"> module to illustrate logical
8589 decoding at the <acronym>SQL</> level (Andres Freund)
8600 <title>Queries</title>
8606 Add <link linkend="queries-tablefunctions"><literal>WITH
8607 ORDINALITY</></link> syntax to number the rows returned from a
8608 set-returning function in the <literal>FROM</> clause
8609 (Andrew Gierth, David Fetter)
8613 This is particularly useful for functions like
8614 <function>unnest()</>.
8620 Add <link linkend="queries-tablefunctions"><literal>ROWS
8621 FROM()</></link> syntax to allow horizontal concatenation of
8622 set-returning functions in the <literal>FROM</> clause (Andrew Gierth)
8628 Allow <xref linkend="SQL-SELECT"> to have
8629 an empty target list (Tom Lane)
8633 This was added so that views that select from a table with zero
8634 columns can be dumped and restored correctly.
8640 Ensure that <link linkend="SQL-SELECT"><literal>SELECT ... FOR UPDATE
8641 NOWAIT</></link> does not wait in corner cases involving
8642 already-concurrently-updated tuples (Craig Ringer and Thomas Munro)
8651 <title>Utility Commands</title>
8657 Add <link linkend="SQL-DISCARD"><command>DISCARD
8658 SEQUENCES</></link> command to discard cached sequence-related state
8659 (Fabrízio de Royes Mello, Robert Haas)
8663 <command>DISCARD ALL</> will now also discard such information.
8669 Add <literal>FORCE NULL</> option
8670 to <link linkend="SQL-COPY"><command>COPY FROM</></link>, which
8671 causes quoted strings matching the specified null string to be
8672 converted to NULLs in <literal>CSV</> mode (Ian Barwick, Michael
8677 Without this option, only unquoted matching strings will be imported
8684 Issue warnings for commands used outside of transaction blocks
8685 when they can have no effect (Bruce Momjian)
8689 New warnings are issued for <command>SET
8690 LOCAL</>, <command>SET CONSTRAINTS</>, <command>SET TRANSACTION</> and
8691 <command>ABORT</> when used outside a transaction block.
8698 <title><xref linkend="SQL-EXPLAIN"></title>
8704 Make <command>EXPLAIN ANALYZE</> show planning time (Andreas
8711 Make <command>EXPLAIN</> show the grouping columns in Agg and
8712 Group nodes (Tom Lane)
8718 Make <command>EXPLAIN ANALYZE</> show exact and lossy
8719 block counts in bitmap heap scans (Etsuro Fujita)
8728 <title>Views</title>
8734 Allow a <link linkend="rules-materializedviews">materialized view</>
8735 to be refreshed without blocking other sessions from reading the view
8736 meanwhile (Kevin Grittner)
8740 This is done with <link
8741 linkend="SQL-REFRESHMATERIALIZEDVIEW"><command>REFRESH MATERIALIZED
8742 VIEW CONCURRENTLY</></link>.
8748 Allow views to be <link
8749 linkend="SQL-CREATEVIEW-updatable-views">automatically
8750 updated</link> even if they contain some non-updatable columns
8755 Previously the presence of non-updatable output columns such as
8756 expressions, literals, and function calls prevented automatic
8757 updates. Now <command>INSERT</>s, <command>UPDATE</>s and
8758 <command>DELETE</>s are supported, provided that they do not
8759 attempt to assign new values to any of the non-updatable columns.
8765 Allow control over whether <command>INSERT</>s and
8766 <command>UPDATE</>s can add rows to an auto-updatable view that
8767 would not appear in the view (Dean Rasheed)
8771 This is controlled with the new <xref linkend="SQL-CREATEVIEW">
8772 clause <literal>WITH CHECK OPTION</>.
8778 Allow <link linkend="rules-privileges">security barrier views</>
8779 to be automatically updatable (Dean Rasheed)
8790 <title>Object Manipulation</title>
8796 Support triggers on <link linkend="SQL-CREATEFOREIGNTABLE">foreign
8797 tables</> (Ronan Dunklau)
8803 Allow moving groups of objects from one tablespace to another
8804 using the <literal>ALL IN TABLESPACE ... SET TABLESPACE</> form of
8805 <xref linkend="SQL-ALTERTABLE">, <xref linkend="SQL-ALTERINDEX">, or
8806 <xref linkend="SQL-ALTERMATERIALIZEDVIEW"> (Stephen Frost)
8812 Allow changing foreign key constraint deferrability
8813 via <xref linkend="SQL-ALTERTABLE"> ... <literal>ALTER
8814 CONSTRAINT</> (Simon Riggs)
8820 Reduce lock strength for some <xref linkend="SQL-ALTERTABLE">
8822 (Simon Riggs, Noah Misch, Robert Haas)
8826 Specifically, <literal>VALIDATE CONSTRAINT</>, <literal>CLUSTER
8827 ON</>, <literal>SET WITHOUT CLUSTER</>, <literal>ALTER COLUMN
8828 SET STATISTICS</>, <literal>ALTER COLUMN</> <literal>SET</>
8829 <option>(attribute_option)</>, <literal>ALTER COLUMN RESET</>
8830 <option>(attribute_option)</> no longer require <literal>ACCESS
8837 Allow tablespace options to be set
8838 in <xref linkend="SQL-CREATETABLESPACE"> (Vik Fearing)
8842 Formerly these options could only be set
8843 via <xref linkend="SQL-ALTERTABLESPACE">.
8849 Allow <xref linkend="SQL-CREATEAGGREGATE"> to define the estimated
8850 size of the aggregate's transition state data (Hadi Moshayedi)
8854 Proper use of this feature allows the planner to better estimate
8855 how much memory will be used by aggregates.
8861 Fix <command>DROP IF EXISTS</> to avoid errors for non-existent
8862 objects in more cases (Pavel Stehule, Dean Rasheed)
8868 Improve how system relations are identified (Andres Freund,
8873 Previously, relations once moved into the <literal>pg_catalog</>
8874 schema could no longer be modified or dropped.
8883 <title>Data Types</title>
8889 Fully implement the <link
8890 linkend="datatype-line"><type>line</></link> data type (Peter
8895 The line <emphasis>segment</> data type (<link
8896 linkend="datatype-lseg"><type>lseg</></link>) has always been
8897 fully supported. The previous <type>line</> data type (which was
8898 enabled only via a compile-time option) is not binary or
8899 dump-compatible with the new implementation.
8905 Add <link linkend="datatype-pg-lsn"><type>pg_lsn</></link>
8906 data type to represent a <acronym>WAL</> log sequence number
8907 (<acronym>LSN</>) (Robert Haas, Michael Paquier)
8913 Allow single-point <link
8914 linkend="datatype-polygon"><type>polygon</></link>s to be converted
8915 to <link linkend="datatype-circle"><type>circle</></link>s
8922 Support time zone abbreviations that change UTC offset from time to
8927 Previously, <productname>PostgreSQL</> assumed that the UTC offset
8928 associated with a time zone abbreviation (such as <literal>EST</>)
8929 never changes in the usage of any particular locale. However this
8930 assumption fails in the real world, so introduce the ability for a
8931 zone abbreviation to represent a UTC offset that sometimes changes.
8932 Update the zone abbreviation definition files to make use of this
8933 feature in timezone locales that have changed the UTC offset of their
8934 abbreviations since 1970 (according to the IANA timezone database).
8935 In such timezones, <productname>PostgreSQL</> will now associate the
8936 correct UTC offset with the abbreviation depending on the given date.
8942 Allow 5+ digit years for non-<acronym>ISO</> <link
8943 linkend="datatype-datetime"><type>timestamp</></link> and
8944 <type>date</> strings, where appropriate (Bruce Momjian)
8950 Add checks for overflow/underflow of <link
8951 linkend="datatype-datetime"><type>interval</></link> values
8959 <title><link linkend="datatype-json"><acronym>JSON</></link></title>
8965 Add <link linkend="datatype-json"><type>jsonb</></link>, a more
8966 capable and efficient data type for storing <acronym>JSON</> data
8967 (Oleg Bartunov, Teodor Sigaev, Alexander
8968 Korotkov, Peter Geoghegan, Andrew Dunstan)
8972 This new type allows faster access to values within a JSON
8973 document, and faster and more useful indexing of JSON columns.
8974 Scalar values in <type>jsonb</> documents are stored as appropriate
8975 scalar SQL types, and the JSON document structure is pre-parsed
8976 rather than being stored as text as in the original <type>json</>
8983 Add new JSON functions to allow for the construction
8984 of arbitrarily complex JSON trees (Andrew Dunstan, Laurence Rowe)
8988 New functions include <link
8989 linkend="functions-json-processing-table"><function>json_array_elements_text()</></link>,
8990 <function>json_build_array()</>, <function>json_object()</>,
8991 <function>json_object_agg()</>, <function>json_to_record()</>,
8992 and <function>json_to_recordset()</>.
8999 linkend="functions-json-processing-table"><function>json_typeof()</></link>
9000 to return the data type of a <type>json</> value (Andrew Tipton)
9011 <title>Functions</title>
9018 linkend="functions-datetime-delay"><function>pg_sleep_for(interval)</></link>
9019 and <function>pg_sleep_until(timestamp)</> to specify
9020 delays more flexibly (Vik Fearing, Julien Rouhaud)
9024 The existing <function>pg_sleep()</> function only supports delays
9025 specified in seconds.
9032 linkend="array-functions-table"><function>cardinality()</></link>
9033 function for arrays (Marko Tiikkaja)
9037 This returns the total number of elements in the array, or zero
9038 for an array with no elements.
9044 Add <acronym>SQL</> functions to allow <link linkend="lo-funcs">large
9045 object reads/writes</link> at arbitrary offsets (Pavel Stehule)
9052 linkend="array-functions-table"><function>unnest()</></link>
9053 to take multiple arguments, which are individually unnested then
9054 horizontally concatenated (Andrew Gierth)
9060 Add functions to construct <type>time</>s, <type>date</>s,
9061 <type>timestamp</>s, <type>timestamptz</>s, and <type>interval</>s
9062 from individual values, rather than strings (Pavel Stehule)
9066 These functions' names are prefixed with <literal>make_</>,
9067 e.g. <link linkend="functions-datetime-table"><function>make_date()</></link>.
9074 linkend="functions-formatting-table"><function>to_char()</></link>'s
9075 <literal>TZ</> format specifier return a useful value for simple
9076 numeric time zone offsets (Tom Lane)
9080 Previously, <literal>to_char(CURRENT_TIMESTAMP, 'TZ')</> returned
9081 an empty string if the <literal>timezone</> was set to a constant
9082 like <literal>-4</>.
9088 Add timezone offset format specifier <literal>OF</> to <link
9089 linkend="functions-formatting-table"><function>to_char()</></link>
9096 Improve the random seed used for <link
9097 linkend="functions-math-random-table"><function>random()</></link>
9104 Tighten validity checking for Unicode code points in <link
9105 linkend="functions-string-other"><function>chr(int)</></link>
9110 This function now only accepts values that are valid UTF8 characters
9111 according to RFC 3629.
9118 <title>System Information Functions</title>
9124 Add functions for looking up objects in <structname>pg_class</>,
9125 <structname>pg_proc</>, <structname>pg_type</>, and
9126 <structname>pg_operator</> that do not generate errors for
9127 non-existent objects (Yugo Nagata, Nozomi Anzai,
9133 linkend="functions-info-catalog-table"><function>to_regclass()</></link>
9134 does a lookup in <structname>pg_class</> similarly to
9135 the <type>regclass</> input function, but it returns NULL for a
9136 non-existent object instead of failing.
9143 linkend="functions-admin-dblocation"><function>pg_filenode_relation()</></link>
9144 to allow for more efficient lookup of relation names from filenodes
9151 Add <structfield>parameter_default</> column to <link
9152 linkend="infoschema-parameters"><structname>information_schema.parameters</></link>
9153 view (Peter Eisentraut)
9160 linkend="infoschema-schemata"><structname>information_schema.schemata</></link>
9161 show all accessible schemas (Peter Eisentraut)
9165 Previously it only showed schemas owned by the current user.
9174 <title>Aggregates</title>
9180 Add control over which rows are passed
9181 into aggregate functions via the <link
9182 linkend="syntax-aggregates"><literal>FILTER</></link> clause
9189 Support ordered-set (<link
9190 linkend="syntax-aggregates"><literal>WITHIN GROUP</></link>)
9191 aggregates (Atri Sharma, Andrew Gierth, Tom Lane)
9197 Add standard ordered-set aggregates <link
9198 linkend="functions-orderedset-table"><function>percentile_cont()</></link>,
9199 <function>percentile_disc()</>, <function>mode()</>, <link
9200 linkend="functions-hypothetical-table"><function>rank()</></link>,
9201 <function>dense_rank()</>, <function>percent_rank()</>, and
9202 <function>cume_dist()</>
9203 (Atri Sharma, Andrew Gierth)
9210 linkend="xfunc-sql-variadic-functions"><literal>VARIADIC</></link>
9211 aggregate functions (Tom Lane)
9217 Allow polymorphic aggregates to have non-polymorphic state data
9221 This allows proper declaration in SQL of aggregates like the built-in
9222 aggregate <function>array_agg()</>.
9233 <title>Server-Side Languages</title>
9239 Add event trigger support to <link linkend="plperl">PL/Perl</>
9240 and <link linkend="pltcl">PL/Tcl</> (Dimitri Fontaine)
9246 Convert <link linkend="datatype-numeric"><type>numeric</></link>
9247 values to <type>decimal</> in <link linkend="plpython">PL/Python</link>
9248 (Szymon Guz, Ronan Dunklau)
9252 Previously such values were converted to Python <type>float</> values,
9253 risking loss of precision.
9260 <title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
9266 Add ability to retrieve the current PL/pgSQL call stack
9267 using <link linkend="plpgsql-call-stack"><command>GET
9268 DIAGNOSTICS</></link>
9269 (Pavel Stehule, Stephen Frost)
9276 linkend="plpgsql-statements-sql-onerow"><option>print_strict_params</></link>
9277 to display the parameters passed to a query that violated a
9278 <literal>STRICT</> constraint (Marko Tiikkaja)
9285 linkend="plpgsql-extra-checks"><varname>plpgsql.extra_warnings</></link>
9286 and <varname>plpgsql.extra_errors</> to enable additional PL/pgSQL
9287 warnings and errors (Marko Tiikkaja, Petr Jelinek)
9291 Currently only warnings/errors about shadowed variables are available.
9302 <title><link linkend="libpq"><application>libpq</></link></title>
9308 linkend="libpq-pqconndefaults"><function>PQconndefaults()</></link>
9309 function ignore invalid service files (Steve Singer, Bruce Momjian)
9313 Previously it returned NULL if an incorrect service file was
9320 Accept <acronym>TLS</> protocol versions beyond <literal>TLSv1</>
9321 in libpq (Marko Kreen)
9330 <title>Client Applications</title>
9336 Add <xref linkend="APP-CREATEUSER"> option <option>-g</>
9337 to specify role membership (Christopher Browne)
9343 Add <xref linkend="APP-VACUUMDB">
9344 option <option>--analyze-in-stages</> to analyze in stages of
9345 increasing granularity (Peter Eisentraut)
9349 This allows minimal statistics to be created quickly.
9355 Make <link linkend="app-pgresetwal"><application>pg_resetxlog</></>
9356 with option <option>-n</> output current and potentially changed
9357 values (Rajeev Rastogi)
9363 Make <xref linkend="app-initdb"> throw error for incorrect locale
9364 settings, rather than silently falling back to a default choice
9371 Make <xref linkend="app-pg-ctl"> return exit code <literal>4</> for
9372 an inaccessible data directory (Amit Kapila, Bruce Momjian)
9376 This behavior more closely matches the Linux Standard Base
9377 (<acronym>LSB</>) Core Specification.
9383 On Windows, ensure that a non-absolute <option>-D</> path
9384 specification is interpreted relative
9385 to <xref linkend="app-pg-ctl">'s current directory
9386 (Kumar Rajeev Rastogi)
9390 Previously it would be interpreted relative to whichever directory
9391 the underlying Windows service was started in.
9397 Allow <function>sizeof()</> in <link linkend="ecpg">ECPG</link>
9398 C array definitions (Michael Meskes)
9404 Make <link linkend="ecpg">ECPG</link> properly handle nesting
9405 of C-style comments in both C and <acronym>SQL</> text
9413 <title><xref linkend="APP-PSQL"></title>
9419 Suppress <quote>No rows</quote> output in <application>psql</> <link
9420 linkend="APP-PSQL-meta-commands"><option>expanded</></link>
9421 mode when the footer is disabled (Bruce Momjian)
9427 Allow Control-C to abort <application>psql</> when it's hung at
9428 connection startup (Peter Eisentraut)
9435 <title><link linkend="APP-PSQL-meta-commands">Backslash Commands</link></title>
9441 Make <application>psql</>'s <command>\db+</> show tablespace options
9448 Make <command>\do+</> display the functions
9449 that implement the operators (Marko Tiikkaja)
9455 Make <command>\d+</> output an
9456 <literal>OID</> line only if an <literal>oid</literal> column
9457 exists in the table (Bruce Momjian)
9461 Previously, the presence or absence of an <literal>oid</literal>
9462 column was always reported.
9468 Make <command>\d</> show disabled system triggers (Bruce
9473 Previously, if you disabled all triggers, only user triggers
9474 would show as disabled.
9480 Fix <command>\copy</> to no longer require
9481 a space between <literal>stdin</> and a semicolon (Etsuro Fujita)
9487 Output the row count at the end of <command>\copy</>, just
9488 like <command>COPY</> already did (Kumar Rajeev Rastogi)
9494 Fix <command>\conninfo</> to display the
9495 server's <acronym>IP</> address for connections using
9496 <literal>hostaddr</> (Fujii Masao)
9500 Previously <command>\conninfo</> could not display the server's
9501 <acronym>IP</> address in such cases.
9507 Show the <acronym>SSL</> protocol version in
9508 <command>\conninfo</> (Marko Kreen)
9514 Add tab completion for <command>\pset</>
9521 Allow <command>\pset</> with no arguments
9522 to show all settings (Gilles Darold)
9528 Make <command>\s</> display the name of the history file it wrote
9529 without converting it to an absolute path (Tom Lane)
9533 The code previously attempted to convert a relative file name to
9534 an absolute path for display, but frequently got it wrong.
9545 <title><xref linkend="APP-PGDUMP"></title>
9551 Allow <xref linkend="APP-PGRESTORE"> options
9552 <option>-I</>, <option>-P</>, <option>-T</> and <option>-n</>
9553 to be specified multiple times (Heikki Linnakangas)
9557 This allows multiple objects to be restored in one operation.
9563 Optionally add <literal>IF EXISTS</> clauses to the <command>DROP</>
9564 commands emitted when removing old objects during a restore (Pavel
9569 This change prevents unnecessary errors when removing old objects.
9570 The new <option>--if-exists</> option
9571 for <xref linkend="APP-PGDUMP">, <xref linkend="APP-PG-DUMPALL">,
9572 and <xref linkend="APP-PGRESTORE"> is only available
9573 when <option>--clean</> is also specified.
9582 <title><xref linkend="app-pgbasebackup"></title>
9588 Add <application>pg_basebackup</> option <option>--xlogdir</>
9589 to specify the <filename>pg_xlog</> directory location (Haribabu
9596 Allow <application>pg_basebackup</> to relocate tablespaces in
9597 the backup copy (Steeve Lennmark)
9601 This is particularly useful for using <application>pg_basebackup</>
9602 on the same machine as the primary.
9608 Allow network-stream base backups to be throttled (Antonin Houska)
9612 This can be controlled with the <application>pg_basebackup</>
9613 <option>--max-rate</> parameter.
9624 <title>Source Code</title>
9630 Improve the way tuples are frozen to preserve forensic information
9631 (Robert Haas, Andres Freund)
9635 This change removes the main objection to freezing tuples as soon
9636 as possible. Code that inspects tuple flag bits will need to be
9643 No longer require function prototypes for functions marked with the
9644 <link linkend="xfunc-c"><function>PG_FUNCTION_INFO_V1</></link>
9645 macro (Peter Eisentraut)
9649 This change eliminates the need to write boilerplate prototypes.
9650 Note that the <function>PG_FUNCTION_INFO_V1</> macro must appear
9651 before the corresponding function definition to avoid compiler
9658 Remove <varname>SnapshotNow</> and
9659 <function>HeapTupleSatisfiesNow()</> (Robert Haas)
9663 All existing uses have been switched to more appropriate snapshot
9664 types. Catalog scans now use <acronym>MVCC</> snapshots.
9670 Add an <acronym>API</> to allow memory allocations over one gigabyte
9677 Add <function>psprintf()</> to simplify memory allocation during
9678 string composition (Peter Eisentraut, Tom Lane)
9684 Support <function>printf()</> size modifier <literal>z</> to
9685 print <type>size_t</> values (Andres Freund)
9691 Change <acronym>API</> of <function>appendStringInfoVA()</>
9692 to better use <function>vsnprintf()</> (David Rowley, Tom Lane)
9698 Allow new types of external toast datums to be created (Andres
9705 Add single-reader, single-writer, lightweight shared message queue
9712 Improve spinlock speed on x86_64 <acronym>CPU</>s (Heikki
9719 Remove spinlock support for unsupported platforms
9720 <productname>SINIX</>, <productname>Sun3</>, and
9721 <productname>NS32K</> (Robert Haas)
9727 Remove <acronym>IRIX</> port (Robert Haas)
9733 Reduce the number of semaphores required by
9734 <option>--disable-spinlocks</> builds (Robert Haas)
9740 Rewrite <application>duplicate_oids</> Unix shell script in
9741 <application>Perl</> (Andrew Dunstan)
9747 Add Test Anything Protocol (<acronym>TAP</>) tests for client
9748 programs (Peter Eisentraut)
9752 Currently, these tests are run by <literal>make check-world</>
9753 only if the <option>--enable-tap-tests</> option was given
9754 to <application>configure</>.
9755 This might become the default behavior in some future release.
9761 Add make targets <option>check-tests</> and
9762 <option>installcheck-tests</>, which allow selection of individual
9763 tests to be run (Andrew Dunstan)
9769 Remove <option>maintainer-check</> makefile rule (Peter Eisentraut)
9773 The default build rules now include all the formerly-optional tests.
9779 Improve support for <envar>VPATH</> builds of <acronym>PGXS</>
9780 modules (Cédric Villemain, Andrew Dunstan, Peter Eisentraut)
9786 Upgrade to Autoconf 2.69 (Peter Eisentraut)
9792 Add a <application>configure</> flag that appends custom text to the
9793 <envar>PG_VERSION</> string (Oskari Saarenmaa)
9797 This is useful for packagers building custom binaries.
9803 Improve DocBook <acronym>XML</> validity (Peter Eisentraut)
9809 Fix various minor security and sanity issues reported by the
9810 <productname>Coverity</> scanner (Stephen Frost)
9816 Improve detection of invalid memory usage when testing
9817 <productname>PostgreSQL</> with <application>Valgrind</>
9824 Improve sample <application>Emacs</> configuration file
9825 <filename>emacs.samples</> (Peter Eisentraut)
9829 Also add <filename>.dir-locals.el</> to the top of the source tree.
9835 Allow <application>pgindent</> to accept a command-line list
9836 of typedefs (Bruce Momjian)
9842 Make <application>pgindent</> smarter about blank lines
9843 around preprocessor conditionals (Bruce Momjian)
9849 Avoid most uses of <command>dlltool</command>
9850 in <productname>Cygwin</> and
9851 <productname>Mingw</> builds (Marco Atzeri, Hiroshi Inoue)
9857 Support client-only installs in <acronym>MSVC</> (Windows) builds
9867 <title>Additional Modules</title>
9873 Add <xref linkend="pgprewarm"> extension to preload relation data
9874 into the shared buffer cache at server start (Robert Haas)
9878 This allows reaching full operating performance more quickly.
9884 Add <acronym>UUID</> random number generator
9885 <function>gen_random_uuid()</> to <xref linkend="pgcrypto">
9890 This allows creation of version 4 <acronym>UUID</>s without
9891 requiring installation of <xref linkend="uuid-ossp">.
9897 Allow <xref linkend="uuid-ossp"> to work with
9898 the <systemitem>BSD</> or <systemitem>e2fsprogs</> UUID libraries,
9899 not only the <systemitem>OSSP</> UUID library (Matteo Beccati)
9903 This improves the <application>uuid-ossp</> module's portability
9904 since it no longer has to have the increasingly-obsolete OSSP
9905 library. The module's name is now rather a misnomer, but we won't
9912 Add option to <xref linkend="auto-explain"> to include trigger
9913 execution time (Horiguchi Kyotaro)
9919 Fix <xref linkend="pgstattuple"> to not report rows from
9920 uncommitted transactions as dead (Robert Haas)
9926 Make <xref linkend="pgstattuple"> functions
9927 use <type>regclass</type>-type arguments (Satoshi Nagayasu)
9931 While <type>text</type>-type arguments are still supported, they
9932 may be removed in a future major release.
9938 Improve consistency of <xref linkend="pgrowlocks"> output to honor
9939 snapshot rules more consistently (Robert Haas)
9945 Improve <xref linkend="pgtrgm">'s choice of trigrams for indexed
9946 regular expression searches (Alexander Korotkov)
9950 This change discourages use of trigrams containing whitespace, which
9951 are usually less selective.
9957 Allow <link linkend="pgwaldump"><application>pg_xlogdump</></>
9958 to report a live log stream with <option>--follow</>
9959 (Heikki Linnakangas)
9965 Store <xref linkend="cube"> data more compactly (Stas Kelvich)
9969 Existing data must be dumped/restored to use the new format.
9970 The old format can still be read.
9976 Reduce <xref linkend="vacuumlo"> client-side memory usage by using
9977 a cursor (Andrew Dunstan)
9983 Dramatically reduce memory consumption
9984 in <xref linkend="pgupgrade"> (Bruce Momjian)
9990 Pass <xref linkend="pgupgrade">'s user name (<option>-U</>) option to
9991 generated analyze scripts (Bruce Momjian)
9998 <title><xref linkend="pgbench"></title>
10004 Remove line length limit for <application>pgbench</> scripts (Sawada
10009 The previous line limit was <envar>BUFSIZ</>.
10015 Add long option names to <application>pgbench</> (Fabien Coelho)
10021 Add <application>pgbench</> option <option>--rate</> to control
10022 the transaction rate (Fabien Coelho)
10028 Add <application>pgbench</> option <option>--progress</> to
10029 print periodic progress reports
10039 <title><xref linkend="pgstatstatements"></title>
10045 Make <application>pg_stat_statements</> use a file, rather than
10046 shared memory, for query text storage (Peter Geoghegan)
10050 This removes the previous limitation on query text length, and
10051 allows a higher number of unique statements to be tracked by default.
10057 Allow reporting of <application>pg_stat_statements</>'s internal
10058 query hash identifier (Daniel Farina, Sameer Thakur, Peter
10065 Add the ability to retrieve all <application>pg_stat_statements</>
10066 information except the query text (Peter Geoghegan)
10070 This allows monitoring tools to fetch query text only for
10071 just-created entries, improving performance during repeated querying
10078 Make <application>pg_stat_statements</> ignore <command>DEALLOCATE</>
10079 commands (Fabien Coelho)
10083 It already ignored <command>PREPARE</>, as well as planning time in
10084 general, so this seems more consistent.
10090 Save the statistics file into <filename>$PGDATA/pg_stat</> at server
10091 shutdown, rather than <filename>$PGDATA/global</> (Fujii Masao)