1 <!-- doc/src/sgml/release-9.5.sgml -->
2 <!-- See header comment in release.sgml about typical markup -->
4 <sect1 id="release-9-5">
5 <title>Release 9.5</title>
8 <title>Release Date</title>
9 <simpara>2015-??-??</simpara>
10 <simpara>Current as of 2015-06-01</simpara>
14 <title>Overview</title>
17 Major enhancements in <productname>PostgreSQL</> 9.5 include:
20 <!-- This list duplicates items below, but without authors or details-->
26 ... to be filled in ...
33 The above items are explained in more detail in the sections below.
40 <title>Migration to Version 9.5</title>
43 A dump/restore using <xref linkend="app-pg-dumpall">, or use
44 of <xref linkend="pgupgrade">, is required for those wishing to migrate
45 data from any previous release.
49 Version 9.5 contains a number of changes that may affect compatibility
50 with previous releases. Observe the following incompatibilities:
57 2015-03-11 [c6b3c93] Tom Lane: Make operator precedence follow the SQL standar..
60 Adjust <link linkend="sql-precedence">operator precedence</>
61 to match the <acronym>SQL</> standard (Tom Lane)
65 The precedence of <literal><=</literal>, <literal>>=</literal>
66 and <literal><></literal> has been reduced to match that of
67 <literal><</literal>, <literal>></literal>
68 and <literal>=</literal>. The precedence of <literal>IS</> tests
69 (e.g., <replaceable>x</> <literal>IS NULL</>) has been reduced to be
70 just below these six comparison operators.
71 Also, multi-keyword operators beginning with <literal>NOT</> now have
72 the precedence of their base operator (for example, <literal>NOT
73 BETWEEN</> now has the same precedence as <literal>BETWEEN</>) whereas
74 before they had inconsistent precedence, behaving like <literal>NOT</>
75 with respect to their left operand but like their base operator with
76 respect to their right operand. The new configuration
77 parameter <xref linkend="guc-operator-precedence-warning"> can be
78 enabled to warn about queries in which these precedence changes result
79 in different parsing choices.
85 2015-03-04 [1345cc6] Tom Lane: Use standard casting mechanism to convert type..
88 Use assignment cast behavior for data type conversions
89 in <application>PL/pgSQL</> assignments, rather than converting to and
94 This change causes conversions of booleans to strings to
95 produce <literal>true</> or <literal>false</>, not <literal>t</>
96 or <literal>f</>. Other type conversions may succeed in more cases
97 than before; for example, assigning a numeric value <literal>3.9</> to
98 an integer variable will now assign 4 rather than failing. If no
99 assignment-grade cast is defined for the particular source and
100 destination types, <application>PL/pgSQL</> will fall back to its old
101 I/O conversion behavior.
107 2014-08-28 [11a020e] Andres..: Allow escaping of option values for options pas..
110 Allow characters in <link linkend="libpq-connect-options">server
111 command-line options</> to be escaped with a backslash (Andres Freund)
115 Formerly, spaces in the options string always separated options, so
116 there was no way to include a space in an option value. Including
117 a backslash in an option value now requires writing <literal>\\</>.
123 2015-05-08 [9a08841] Stephe..: Change default for include_realm to 1
126 Change the default value of <link
127 linkend="gssapi-auth"><varname>include_realm</></> to 1, so that
128 by default the realm is not removed from a <acronym>GSS</>
129 or <acronym>SSPI</> principal name (Stephen Frost)
135 2015-01-22 [59367fd] Bruce ..: adjust ACL owners for REASSIGN and ALTER OWNER..
138 Fix <link linkend="SQL-REASSIGN-OWNED"><command>REASSIGN OWNED</></>
139 and <link linkend="SQL-ALTERTYPE"><command>ALTER OWNER TO</></>
140 to properly update permissions lists (ACLs) when changing ownership of
141 types, foreign data wrappers, and foreign servers (Bruce Momjian)
147 2014-11-05 [525a489] Tom Lane: Remove the last vestige of server-side autocomm..
150 Remove server configuration parameter <varname>autocommit</>, which
151 was already deprecated and non-operational (Tom Lane)
157 2015-03-06 [bb8582a] Peter ..: Remove rolcatupdate
160 Remove <link linkend="catalog-pg-authid"><structname>pg_authid</></>'s
161 <structfield>rolcatupdate</> field, as it had no value (Adam Brightwell)
170 <title>Changes</title>
173 Below you will find a detailed account of the changes between
174 <productname>PostgreSQL</productname> 9.5 and the previous major
179 <title>Server</title>
182 <title>Indexes</title>
188 2014-11-07 [7516f52] Alvaro..: BRIN: Block Range Indexes
189 2015-05-05 [3b6db1f] Alvaro..: Add geometry/range functions to support BRIN in..
190 2015-05-15 [b0b7be6] Alvaro..: Add BRIN infrastructure for "inclusion" opclasses
193 Add <link linkend="BRIN">Block Range Indexes</> (<acronym>BRIN</>)
194 (Álvaro Herrera, Heikki Linnakangas, Emre Hasegeli)
198 <acronym>BRIN</> indexes are very compact and cheap to to update by
199 storing min/max values for a range of heap blocks.
205 2015-05-15 [35fcb1b] Heikki..: Allow GiST distance function to return merely ..
208 Allow queries to perform accurate distance filtering of
209 bounding-box-indexed objects (polygons, circles) using <link
210 linkend="GiST">GiST</> indexes (Alexander Korotkov, Heikki
215 Previously, a common table expression was required to return a
216 large number of rows ordered by bounding-box distance, and then
217 filtered further with a more accurate non-bounding-box distance
224 2015-03-26 [d04c8ed] Heikki..: Add support for index-only scans in GiST.
225 2015-03-27 [e09b483] Heikki..: Add index-only scan support to btree_gist.
226 2015-03-28 [3a20b0e] Heikki..: Add index-only scan support to inet GiST opclass.
227 2015-03-30 [0633a60] Heikki..: Add index-only scan support to range type GiST ..
230 Allow <link linkend="GiST">GiST</> indexes to perform index-only
231 scans (Anastasia Lubennikova, Heikki Linnakangas, Andreas Karlsson)
237 Add GUC and storage parameter to set the maximum size of GIN pending list.
240 Add configuration parameter <xref linkend="guc-gin-pending-list-limit">
241 to control the size of <acronym>GIN</> pending lists (Fujii Masao)
245 Previously the list size was controlled
246 by <xref linkend="guc-work-mem">. This can also be set as an index
253 2014-09-10 [84aa8ba] Bruce ..: Issue a warning during the creation of hash in..
256 Issue a warning during the creation of <link
257 linkend="indexes-types">hash</> indexes because they are not
258 crash-safe (Bruce Momjian)
267 <title>General Performance</title>
273 2015-01-19 [4ea51cd] Robert..: Use abbreviated keys for faster sorting of text..
274 2014-09-19 [e246b3d] Robert..: Add a fast pre-check for equality of equal-leng..
275 2015-05-13 [78efd5c] Robert..: Extend abbreviated key infrastructure to datum ..
278 Improve the speed of sorting character and numeric fields (Peter
279 Geoghegan, Andrew Gierth, Robert Haas)
285 FIXME: I'm unclear which commits this refers to?
288 Extend the infrastructure that allows sorting to be performed by
289 inlined, non-<acronym>SQL</acronym>-callable comparison functions to
290 cover <command>CREATE INDEX</>, <command>REINDEX</>, and
291 <command>CLUSTER</> (Peter Geoghegan)
297 2014-09-10 [45f6240] Heikki..: Pack tuples in a hash join batch densely, to sa..
298 2014-09-12 [8cce08f] Robert..: Change NTUP_PER_BUCKET to 1 to improve hash joi..
299 2014-10-13 [30d7ae3] Kevin ..: Increase number of hash join buckets for undere..
300 FIXME: bad description? Should talk about hash joins
303 Improve in-memory hash performance (Tomas Vondra, Robert Haas)
309 2014-09-25 [5d7962c] Robert..: Change locking regimen around buffer replacement.
310 2014-12-25 [d72731a] Andres..: Lockless StrategyGetBuffer clock sweep hot path.
314 Improve concurrency of shared buffer replacement
315 (Robert Haas, Amit Kapila)
321 2015-03-25 [2ed5b87f] Kevin ..: Reduce pinning and buffer content locking for b..
324 Reduce the number of page locks and pins during index scans (Kevin Grittner)
328 The primary benefit of this is to allow index vacuums to be blocked
335 2014-08-30 [4b4b680] Andres..: Make backend local tracking of buffer pins memo..
336 2015-01-19 [2d115e4] Andres..: Fix various shortcomings of the new PrivateRefC..
339 Make backend local tracking of buffer pins memory efficient (Andres Freund)
343 Previously each session allocated an array with space for every buffer
344 in <link linkend="guc-shared-buffers"><varname>shared_buffers</></link>.
350 2014-12-25 [ab5194e] Andres..: Improve LWLock scalability.
353 Improve lock scalability (Andres Freund)
357 This particularly addresses scalability problems when running on
358 systems with multiple <acronym>CPU</> sockets.
364 2014-07-15 [f15821e] Tom Lane: Allow join removal in some cases involving a le..
367 Allow the optimizer to remove unnecessary references to left
368 outer join subqueries (David Rowley)
374 2014-06-27 [d222585] Tom Lane: Allow pushdown of WHERE quals into subqueries w..
377 Allow pushdown of query restrictions into <link
378 linkend="functions-window">window functions</>, where appropriate
385 2014-11-04 [5028f22] Heikki..: Switch to CRC-32C in WAL and other places.
386 2015-02-10 [025c024] Heikki..: Speed up CRC calculation using slicing-by-8 alg..
387 2015-04-14 [3dc2d62] Heikki..: Use Intel SSE 4.2 CRC instructions where availa..
391 Speed up <acronym>CRC</> (cyclic redundancy check) computations
392 (Abhijit Menon-Sen, Heikki Linnakangas)
398 2015-01-16 [f5ae3ba] Andres..: Make tbm_add_tuples more efficient by caching t..
399 2015-01-16 [779fdcd] Tom Lane: Improve new caching logic in tbm_add_tuples().
402 Improve bitmap index scan performance (Teodor Sigaev, Tom Lane)
409 2014-07-01 [9f03ca9] Robert..: Avoid copying index tuples when building an ind..
411 Speed up CREATE INDEX by avoiding unneccessary memory copies (Robert Haas)
420 <title>Monitoring</title>
426 2015-04-03 [4ff695b1] Alvaro..: Add log_min_autovacuum_duration per-table option
429 Add per-table autovacuum logging control via
430 <varname>log_min_autovacuum_duration</> (Michael Paquier)
440 2014-06-29 [51adcaa] Andres..: Add cluster_name GUC which is included in proce..
443 Add new configuration parameter <xref linkend="guc-cluster-name">
448 This string, typically set in <link
449 linkend="config-setting-configuration-file"><filename>postgresql.conf</></>,
450 allows clients to identify the cluster. This name also appears
451 in the process title of all server processes, allowing for easier
452 identification of processes belonging to the same cluster.
458 2014-09-13 [fe550b2] Tom Lane: Invent PGC_SU_BACKEND and mark log_connections..
461 Prevent non-superusers from changing <xref
462 linkend="guc-log-disconnections"> on connection startup (Fujii Masao)
471 <title><acronym>SSL</></title>
477 2014-09-12 [acd08d7] Heikki..: Support Subject Alternative Names in SSL server..
480 Check <link linkend="libpq-ssl"><quote>Subject Alternative
481 Names</></> in <acronym>SSL</> server certificates, if present
486 When they are present, this replaces checks against the certificate's
487 <quote>Common Name</>.
493 2015-04-12 [9029f4b] Magnus..: Add system view pg_stat_ssl
496 Add system view <link
497 linkend="pg-stat-ssl-view"><structname>pg_stat_ssl</></> to report
498 <acronym>SSL</> connection information (Magnus Hagander)
504 2015-02-03 [91fa7b4] Heikki..: Add API functions to libpq to interrogate SSL ..
507 Add <application>libpq</> function <link
508 linkend="libpq-pqsslAttribute"><function>PQsslAttribute()</></>
509 that returns <acronym>SSL</> information (Heikki Linnakangas)
513 While <link linkend="libpq-pqgetssl"><function>PQgetssl()</></>
514 can still be used to call <productname>OpenSSL</>
515 functions, <function>PQsslAttribute()</> returns <acronym>SSL</>
516 information in an <acronym>SSL</>-implementation-independent way.
517 (Future versions of libpq might support other <acronym>SSL</>
524 2015-04-09 [8a0d34e4] Peter ..: libpq: Don't overwrite existing OpenSSL thread..
527 Make <application>libpq</> honor any <productname>OpenSSL</>
528 thread callbacks (Jan Urbanski)
532 Previously they were overwritten.
541 <title>Server Settings</title>
547 2015-02-23 [88e9823] Heikki..: Replace checkpoint_segments with min_wal_size a..
548 2015-03-15 [a0f5954] Andres..: Increase max_wal_size's default from 128MB to 1..
549 2015-06-29 [d661532] Heikki..: Also trigger restartpoints based on max_wal_siz..
550 FIXME: Add docs about restartpoint behaviour change
553 Replace configuration parameter <varname>checkpoint_segments</>
554 with <xref linkend="guc-min-wal-size">
555 and <xref linkend="guc-max-wal-size"> (Heikki Linnakangas)
559 This allows the allocation of a large number of <acronym>WAL</> files
560 without keeping them if they are not needed. Thus the default
561 for <xref linkend="guc-max-wal-size"> has been increased
568 2015-03-11 [57aa5b2] Fujii ..: Add GUC to enable compression of full page imag..
571 Add configuration parameter <xref linkend="guc-wal-compression"> to
572 control compression of full page images stored in <acronym>WAL</>
573 (Rahila Syed, Michael Paquier)
579 2014-12-03 [73c986a] Alvaro..: Keep track of transaction commit timestamps
582 Allow recording of transaction
583 commit timestamps when configuration parameter <xref
584 linkend="guc-track-commit-timestamp">
585 is enabled (Álvaro Herrera, Petr Jelínek)
589 Timestamp information can be accessed using functions <link
590 linkend="functions-commit-timestamp"><function>pg_xact_commit_timestamp()</></>
591 and <function>pg_last_committed_xact()</>.
597 2014-12-22 [584e35d] Peter ..: Change local_preload_libraries to PGC_USERSET
600 Allow <xref linkend="guc-local-preload-libraries"> to be set
601 by <command>ALTER ROLE SET</> (Peter Eisentraut, Kyotaro Horiguchi)
607 2015-04-03 [a75fb9b] Alvaro..: Have autovacuum workers listen to SIGHUP, too
610 Allow running <link linkend="autovacuum">autovacuum workers</>
611 to respond to configuration parameter changes (Michael Paquier)
617 2014-06-20 [3bdcf6a] Andres..: Don't allow to disable backend assertions via t..
620 Make configuration parameter <xref linkend="guc-debug-assertions">
621 read-only (Andres Freund)
625 This means that assertions can no longer be turned
626 off if they were enabled at compile time, allowing for more
627 efficient code optimization. This change also removed the <link
628 linkend="app-postgres-options">postgres</> <option>-A</> option.
634 2014-10-18 [7feaccc] Peter ..: Allow setting effective_io_concurrency even on..
637 Allow setting <xref linkend="guc-effective-io-concurrency"> on
638 systems where it has no effect (Peter Eisentraut)
644 2014-06-18 [df8b7bc] Tom Lane: Improve our mechanism for controlling the Linux..
647 Add environment variables <link
648 linkend="linux-memory-overcommit"><envar>PG_OOM_ADJUST_FILE</></>
650 linkend="linux-memory-overcommit"><envar>PG_OOM_ADJUST_VALUE</></>
651 to help control the Linux <acronym>OOM</> killer (Gurjeet Singh)
655 The previous <acronym>OOM</> control infrastructure involved a
662 2015-05-08 [a97e0c3] Stephe..: Add pg_file_settings view and function
663 2015-06-28 [62d16c7] Tom Lane: Improve design and implementation of pg_file_se..
666 Add system view <link
667 linkend="view-pg-file-settings"><structname>pg_file_settings</></>
668 to show the contents of the server's configuration files
675 2015-05-14 [a486e35] Peter ..: Add pg_settings.pending_restart column
678 Add <structname>pending_restart</> to the system view <link
679 linkend="view-pg-settings"><structname>pg_settings</></> to
680 indicate a change is pending a restart (Peter Eisentraut)
686 2014-09-02 [bd3b7a9] Fujii ..: Support ALTER SYSTEM RESET command.
689 Allow <link linkend="SQL-ALTERSYSTEM"><command>ALTER SYSTEM</></>
690 values to be reset with <command>ALTER SYSTEM RESET</> (Vik
695 This command removes the setting from <filename>postgresql.auto.conf</>.
706 <title>Replication and Recovery</title>
712 2014-11-25 [aedccb1] Simon ..: action_at_recovery_target recovery config option
713 2014-12-07 [b8e33a8] Simon ..: Tweaks for recovery_target_action
714 2015-03-15 [51c11a7] Andres..: Remove pause_at_recovery_target recovery.conf s..
717 Add <link linkend="recovery-config"><filename>recovery.conf</></>
719 linkend="recovery-target-action"><varname>recovery_target_action</></>
720 to control post-recovery activity (Petr Jelínek)
724 This replaces the old parameter <varname>pause_at_recovery_target</>.
730 2015-05-15 [ffd3774] Heikki..: Add archive_mode='always' option.
733 Add new <xref linkend="guc-archive-mode"> value
734 <literal>always</> to allow standbys to always archive received
735 <acronym>WAL</> files (Fujii Masao)
741 2015-02-23 [5d2b45e] Fujii ..: Add GUC to control the time to wait before retr..
745 parameter <xref linkend="guc-wal-retrieve-retry-interval"> to
746 control <acronym>WAL</> read retry after failure
747 (Alexey Vasiliev, Michael Paquier)
751 This is particularly helpful for warm standbys.
757 2015-05-08 [de76884] Heikki..: At promotion, archive last segment from old tim..
760 Archive <acronym>WAL</> files with suffix <literal>.partial</>
761 during standby promotion (Heikki Linnakangas)
767 2014-09-13 [4ad2a54] Fujii ..: Add GUC to enable logging of replication comman..
770 Add configuration parameter <xref
771 linkend="guc-log-replication-commands">
772 to log replication commands (Fujii Masao)
776 By default, replication commands, e.g. <link
777 linkend="protocol-replication"><literal>IDENTIFY_SYSTEM</></>,
778 are not logged, even when <xref linkend="guc-log-statement"> is set
785 2015-04-29 [5aa2350] Andres..: Introduce replication progress tracking infrast..
786 2015-03-15 [4f1b890] Andres..: Merge the various forms of transaction commit &..
787 FIXME: Correct description
790 Allow <link linkend="pg-replication-origin-create">labeling</>
791 of the origin of logical replication changes (Andres Freund)
795 This helps with change tracking.
801 2015-04-21 [d811c03] Andres..: Add 'active_in' column to pg_replication_slots.
802 2015-04-21 [d811c03] Andres..: Add 'active_in' column to pg_replication_slots.
805 Report the processes holding replication slots in <link
806 linkend="catalog-pg-replication-slots"><structname>pg_replication_slots</></>
811 The new output column is <structname>active_pid</>.
817 2014-11-25 [b3fc672] Heikki..: Allow using connection URI in primary_conninfo.
820 Allow <filename>recovery.conf</>'s <link
821 linkend="primary-conninfo"><varname>primary_conninfo</></> to
822 use connection <acronym>URI</>s, e.g. <literal>postgres://</>
832 <title>Queries</title>
838 2015-05-08 [168d580] Andres..: Add support for INSERT ... ON CONFLICT DO NOTHI..
839 2015-05-08 [2c8f483] Andres..: Represent columns requiring insert and update p..
842 Allow <link linkend="sql-on-conflict"><command>INSERTS</></>
843 that would generate constraint conflicts to be turned into
844 <command>UPDATE</>s or ignored (Peter Geoghegan, Heikki
845 Linnakangas, Andres Freund)
849 The syntax is <command>INSERT ... ON CONFLICT DO NOTHING/UPDATE</>.
850 This is the Postgres implementation of the popular
851 <command>UPSERT</> command.
857 2015-05-16 [f3d3118] Andres..: Support GROUPING SETS, CUBE and ROLLUP.
860 Add <literal>GROUP BY</> analysis functions <link
861 linkend="queries-grouping-sets"><literal>GROUPING SETS</></>,
862 <link linkend="queries-grouping-sets"><literal>CUBE</></> and
863 <link linkend="queries-grouping-sets"><literal>ROLLUP</></>
864 (Andrew Gierth, Atri Sharma)
870 2014-06-18 [8f889b1] Tom Lane: Implement UPDATE tab SET (col1,col2,...) = (SEL..
873 Allow to set multiple columns in
874 an <link linkend="SQL-UPDATE"><command>UPDATE</></> to the result of a
875 single subselect (Tom Lane)
879 This is accomplished using the syntax <command>UPDATE tab SET
880 (col1, col2, ...) = (SELECT ...)</>.
886 2014-10-07 [df630b0] Alvaro..: Implement SKIP LOCKED for row-level locks
889 Add new <link linkend="SQL-SELECT"><command>SELECT</></> option
890 <literal>SKIP LOCKED</> to skip locked rows (Thomas Munro)
894 This does not throw an error for locked rows like
895 <literal>NOWAIT</> does.
901 2015-05-15 [f6d208d] Simon ..: TABLESAMPLE, SQL Standard and extensible
904 Add <link linkend="SQL-SELECT"><command>SELECT</></> option
905 <literal>TABLESAMPLE</> to return a subset of a table (Petr
912 2015-03-11 [e529cd4] Robert..: Suggest to the user the column they may have m..
915 Suggest possible matches for mistyped column names (Peter
916 Geoghegan, Robert Haas)
925 <title>Utility Commands</title>
931 2015-01-16 [20af53d] Tom Lane: Show sort ordering options in EXPLAIN output.
934 Add more details about sort ordering in <link
935 linkend="SQL-EXPLAIN"><command>EXPLAIN</></> output (Marius Timmer,
936 Lukas Kreft, Arne Scheffer)
940 Details include <literal>COLLATE</>, <literal>DESC</>,
941 <literal>USING</>, and <literal>NULLS FIRST</><literal>/LAST</>.
947 2014-12-18 [35192f0] Alvaro..: Have VACUUM log number of skipped pages due to ..
950 Have <link linkend="SQL-VACUUM"><command>VACUUM</></> log the
951 number of pages skipped due to pins (Jim Nasby)
957 2015-02-20 [d42358e] Alvaro..: Have TRUNCATE update pgstat tuple counters
960 Have <link linkend="SQL-TRUNCATE"><command>TRUNCATE</></> properly
961 update the <literal>pg_stat</>* tuple counters (Alexander Shulgin)
968 <title><xref linkend="SQL-REINDEX"></title>
974 2014-12-09 [fe263d1] Simon ..: REINDEX SCHEMA
977 Allow <command>REINDEX</> to reindex an entire schema using the
978 <literal>SCHEMA</> option (Sawada Masahiko)
984 2015-05-15 [ecd222e] Fujii ..: Support VERBOSE option in REINDEX command.
987 Add <literal>VERBOSE</> option to <command>REINDEX</> (Sawada
994 2014-12-09 [ae4e688] Simon ..: Silence REINDEX
997 Prevent <command>REINDEX DATABASE</> and <command>SCHEMA</>
998 from outputting object names, unless <literal>VERBOSE</> is used
1005 2015-04-09 [17d436d] Fujii ..: Remove obsolete FORCE option from REINDEX.
1008 Remove obsolete <literal>FORCE</> option from <command>REINDEX</>
1019 <title>Object Manipulation</title>
1025 2014-09-19 [491c029] Stephe..: Row-Level Security Policies (RLS)
1028 Add row-level security control (Craig Ringer, KaiGai Kohei,
1029 Adam Brightwell, Dean Rasheed, Stephen Frost)
1033 This controls viewing and adding/modifying rows via new commands
1034 <link linkend="SQL-CREATEPOLICY"><command>CREATE</></>/<link
1035 linkend="SQL-ALTERPOLICY"><command>ALTER</></>/<link
1036 linkend="SQL-DROPPOLICY"><command>DROP POLICY</></> and <link
1037 linkend="SQL-ALTERTABLE"><command>ALTER TABLE ... ENABLE/DISABLE
1044 2014-08-22 [f41872d] Alvaro..: Implement ALTER TABLE .. SET LOGGED / UNLOGGED
1047 Allow to convert a <acronym>WAL</acronym> logged table to an UNLOGGED
1048 one, and the other way round with
1049 <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE .. SET LOGGED /
1050 UNLOGGED</></> (Fabrízio de Royes Mello)
1056 2014-08-26 [0076f26] Heikki..: Implement IF NOT EXISTS for CREATE SEQUENCE.
1057 2014-11-06 [08309aa] Fujii ..: Implement IF NOT EXIST for CREATE INDEX.
1058 2014-12-13 [e39b6f9] Andrew..: Add CINE option for CREATE TABLE AS and CREATE ..
1061 Add <literal>IF NOT EXISTS</> clause to <link
1062 linkend="SQL-CREATETABLEAS"><command>CREATE TABLE AS</></>,
1063 <link linkend="SQL-CREATEINDEX"><command>CREATE INDEX</></>,
1064 <link linkend="SQL-CREATESEQUENCE"><command>CREATE SEQUENCE</></>,
1065 and <link linkend="SQL-CREATEMATERIALIZEDVIEW"><command>CREATE
1066 MATERIALIZED VIEW</></> (Fabrízio de Royes Mello)
1072 2015-03-24 [1d8198b] Bruce ..: Add support for ALTER TABLE IF EXISTS ... RENAM..
1075 Add support for <literal>IF EXISTS</> to <link
1076 linkend="SQL-ALTERTABLE"><command>ALTER TABLE ... RENAME
1077 CONSTRAINT</></> (Bruce Momjian)
1083 2015-03-09 [31eae60] Alvaro..: Allow CURRENT/SESSION_USER to be used in certai..
1086 Allow <literal>CURRENT</><literal>/SESSION_USER</> to specify the
1087 current user in some commands (Kyotaro Horiguchi, Álvaro
1092 Commands include <link linkend="SQL-ALTERUSER"><command>ALTER
1094 <link linkend="SQL-ALTERGROUP"><command>ALTER
1095 GROUP</></>, <link linkend="SQL-ALTERROLE"><command>ALTER
1096 ROLE</></>, <link linkend="SQL-GRANT"><command>GRANT</></>,
1097 and various <command>ALTER OBJECT / OWNER TO</> commands.
1103 2015-06-21 [ad89a5d] Alvaro..: Add transforms to pg_get_object_address and fr..
1106 Allow comments on <link linkend="SQL-CREATEDOMAIN">domain
1107 constraints</> (Álvaro Herrera)
1113 2015-04-05 [0ef0396] Simon ..: Reduce lock levels of some trigger DDL and add ..
1116 Reduce lock levels of some create and alter trigger and foreign
1117 key commands (Simon Riggs, Andreas Karlsson)
1123 2015-05-11 [fa26424] Stephe..: Allow LOCK TABLE .. ROW EXCLUSIVE MODE with IN..
1126 Allow <link linkend="SQL-LOCK"><command>LOCK TABLE .. ROW EXCLUSIVE
1127 MODE</></> for those with <command>INSERT</> privileges (Stephen
1132 Previously only <command>UPDATE</>, <command>DELETE</>, and
1133 <command>TRUNCATE</> privileges allowed this.
1139 2015-03-23 [e5f455f] Tom Lane: Apply table and domain CHECK constraints in nam.
1142 Apply table and domain <literal>CHECK</> constraints in name order
1147 The previous order was indeterminate.
1153 2014-07-01 [15c82ef] Tom Lane: Refactor CREATE/ALTER DATABASE syntax so option..
1154 2014-07-01 [fbb1d7d] Tom Lane: Allow CREATE/ALTER DATABASE to manipulate datis..
1158 linkend="SQL-CREATEDATABASE"><command>CREATE</></>/<link
1159 linkend="SQL-ALTERDATABASE"><command>ALTER DATABASE</></>
1160 to manipulate <structname>datistemplate</> and
1161 <structname>datallowconn</> (Vik Fearing)
1165 This allows these database settings to be
1166 changed more easily than modifying the <link
1167 linkend="catalog-pg-database"><structname>pg_database</></>
1175 <title><xref linkend="SQL-CREATEFOREIGNDATAWRAPPER"></title>
1181 2014-07-10 [59efda3] Tom Lane: Implement IMPORT FOREIGN SCHEMA.
1184 Add support for <link
1185 linkend="SQL-IMPORTFOREIGNSCHEMA"><command>IMPORT FOREIGN
1186 SCHEMA</></> (Ronan Dunklau, Michael Paquier, Tom Lane)
1190 This command allows automatic creation of local foreign tables
1191 that match the structure of existing tables on a remote server.
1197 2015-03-22 [cb1ca4d] Tom Lane: Allow foreign tables to participate in inherita..
1200 Allow foreign tables to participate in inheritance (Shigeru Hanada,
1205 This also allows foreign tables to mark check constraints as not
1206 valid, and to set storage and <type>OID</> characteristics.
1212 2014-12-17 [fc2ac1f] Tom Lane: Allow CHECK constraints to be placed on foreign..
1215 Allow <literal>CHECK</> constraints to be placed on foreign tables
1216 (Shigeru Hanada, Etsuro Fujita)
1220 These constraints are assumed to be enforced on the remote server,
1221 and are not enforced locally. However, they are assumed to hold for
1222 purposes of query optimization, such
1223 as <link linkend="ddl-partitioning-constraint-exclusion">constraint
1230 2015-05-01 [e7cb7ee] Robert..: Allow FDWs and custom scan providers to replace..
1231 2015-05-10 [1a8a4e5] Tom Lane: Code review for foreign/custom join pushdown pa..
1234 Allow foreign data wrappers and custom scans to implement join
1235 pushdown (KaiGai Kohei)
1244 <title><xref linkend="SQL-CREATEEVENTTRIGGER"></title>
1250 2015-05-11 [b488c58] Alvaro..: Allow on-the-fly capture of DDL event details
1251 FIXME: Better description?
1254 Add a set-returning function <link
1255 linkend="pg-event-trigger-ddl-command-end-functions"><function>pg_event_trigger_ddl_commands()</></>, which returns <acronym>DDL</> activity
1256 associated with event triggers (Álvaro Herrera)
1262 2014-12-08 [618c943] Simon ..: Event Trigger for table_rewrite
1265 Allow event triggers on table rewrites caused by <link
1266 linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></> (Dimitri
1273 2015-02-23 [296f3a6] Alvaro..: Support more commands in event triggers
1276 Add event trigger support for database-level <link
1277 linkend="SQL-COMMENT"><command>COMMENT</></>, <link
1278 linkend="SQL-SECURITY-LABEL"><command>SECURITY LABEL</></>,
1279 and <link linkend="SQL-GRANT"><command>GRANT</></>/<link
1280 linkend="SQL-REVOKE"><command>REVOKE</></> (Álvaro Herrera)
1286 2014-12-30 [72dd233] Alvaro..: pg_event_trigger_dropped_objects: Add name/args..
1287 2015-04-06 [e9a077c] Alvaro..: pg_event_trigger_dropped_objects: add is_temp c..
1290 Add columns to the output of <link
1291 linkend="pg-event-trigger-sql-drop-functions"><function>pg_event_trigger_dropped_objects</></>
1292 (Álvaro Herrera)
1296 This allows simpler processing of delete operations.
1307 <title>Data Types</title>
1313 2014-09-09 [57b1085] Peter ..: Allow empty content in xml type
1316 Allow the <link linkend="datatype-xml"><type>XML</></> data type
1317 to accept empty or all-whitespace values (Peter Eisentraut)
1321 This is required by the <acronym>SQL</>/<acronym>XML</>
1328 2015-01-06 [79af9a1] Peter ..: Fix namespace handling in xpath function
1331 Fix <type>XML</> <link
1332 linkend="functions-xml-processing"><function>xpath()</></> handling
1333 to return namespace declarations even if the namespace is in a
1334 parent element (Ali Akbar)
1338 Previously the namespace was not returned, potentially leading to
1339 invalid <type>XML</>.
1345 2014-10-21 [6f04368] Peter ..: Allow input format xxxx-xxxx-xxxx for macaddr ..
1348 Allow <link linkend="datatype-macaddr"><type>MACADDR</></> input
1349 using the format <literal>xxxx-xxxx-xxxx</> (Herwin Weststrate)
1355 2014-10-18 [417f924] Bruce ..: interval: tighten precision specification
1356 FIXME: Add more specifics?
1359 Tighten syntax of <link
1360 linkend="datatype-interval-input"><type>INTERVAL</></> precision
1361 specifications (Bruce Momjian)
1365 Only allow interval precision to be specified after the
1366 <literal>INTERVAL</> keyword if no units are specified.
1372 2015-04-01 [89840d7] Tom Lane: Provide real selectivity estimators for inet/ci..
1375 Add selectivity estimators for <link
1376 linkend="datatype-inet"><type>INET</></>/<link
1377 linkend="datatype-cidr"><type>CIDR</></> operators and improve
1378 estimators for text search functions (Emre Hasegeli, Tom Lane)
1385 <title><link linkend="datatype-json"><acronym>JSON</></link></title>
1391 2015-05-12 [c694701] Andrew..: Additional functions and operators for jsonb
1392 2015-05-31 [37def42] Andrew..: Rename jsonb_replace to jsonb_set and allow it ..
1395 Add <type>JSONB</> functions <link
1396 linkend="functions-json-processing-table"><function>jsonb_set()</></>
1398 linkend="functions-json-processing-table"><function>jsonb_pretty()</></>
1399 (Dmitry Dolgov, Andrew Dunstan, Petr Jelínek)
1405 2014-12-12 [7e354ab] Andrew..: Add several generator functions for jsonb that ..
1408 Add several generator functions for <type>JSONB</> that already
1409 existed for <type>JSON</> (Andrew Dunstan)
1414 linkend="functions-json-creation-table"><function>to_jsonb()</></>,
1416 linkend="functions-json-creation-table"><function>jsonb_object()</></>,
1418 linkend="functions-json-creation-table"><function>jsonb_build_object()</></>,
1420 linkend="functions-json-creation-table"><function>jsonb_build_array()</></>,
1422 linkend="functions-aggregate-table"><function>jsonb_agg()</></>,
1424 linkend="functions-aggregate-table"><function>jsonb_object_agg()</></>.
1430 2015-03-03 [b67f1ce] Tom Lane: Reduce json <=> jsonb casts from explicit-only..
1433 Reduce casting requirements to/from <link
1434 linkend="datatype-json"><type>JSON</></> and <link
1435 linkend="datatype-json"><type>JSONB</></> (Tom Lane)
1441 2015-06-11 [908e234] Andrew..: Rename jsonb - text[] operator to #- to avoid a..
1444 Allow <type>TEXT</>, <type>TEXT</> array, and <type>INTEGER</>
1445 values to be <link linkend="functions-jsonb-op-table">subtracted</>
1446 from <type>JSONB</> documents (Dmitry Dolgov, Andrew Dunstan)
1452 2015-05-12 [c694701] Andrew..: Additional functions and operators for jsonb
1455 Add <type>JSONB</> <link
1456 linkend="functions-jsonb-op-table">operator</> <literal>||</>
1457 (Dmitry Dolgov, Andrew Dunstan)
1463 2014-12-12 [237a882] Andrew..: Add json_strip_nulls and jsonb_strip_nulls fun..
1467 linkend="functions-json-processing-table"><function>json_strip_nulls()</></>
1469 linkend="functions-json-processing-table"><function>jsonb_strip_nulls()</></>
1470 functions to remove <type>JSON</> null values from documents
1482 <title>Functions</title>
1488 2014-11-11 [1871c89] Fujii ..: Add generate_series(numeric, numeric).
1491 Add <link linkend="functions-srf"><function>generate_series()</></>
1492 for <type>NUMERIC</> values (Plato Malugin)
1498 2014-11-25 [bac2739] Tom Lane: Support arrays as input to array_agg() and ARRA..
1502 linkend="functions-aggregate-table"><function>array_agg()</></> and
1503 <function>ARRAY()</> to take arrays as inputs (Ali Akbar, Tom Lane)
1509 2015-03-18 [13dbc7a] Alvaro..: array_offset() and array_offsets()
1510 2015-03-30 [97690ea] Alvaro..: Change array_offset to return subscripts, not o..
1514 linkend="array-functions-table"><function>array_position()</></>
1516 linkend="array-functions-table"><function>array_positions()</></>
1517 to return subscripts of array values (Pavel Stehule)
1523 2014-12-15 [4520ba6] Heikki..: Add point <-> polygon distance operator.
1527 linkend="gist-builtin-opclasses-table"><type>point</>-to-<type>polygon</></>
1528 distance operator (<->) (Alexander Korotkov)
1534 2014-08-27 [8167a38] Jeff D..: Allow multibyte characters as escape in SIMILA..
1537 Allow multi-byte characters as escape in <link
1538 linkend="functions-similarto-regexp"><literal>SIMILAR TO</></>
1539 and <link linkend="functions-string-sql"><literal>SUBSTRING</></>
1544 Previously, only a single-byte character was allowed as an escape.
1550 2014-09-09 [e80252d] Tom Lane: Add width_bucket(anyelement, anyarray).
1554 linkend="functions-math-func-table"><function>width_bucket()</></>
1555 variant that supports any sortable data type and non-uniform bucket
1556 widths (Petr Jelínek)
1562 2015-03-10 [865f14a] Robert..: Allow named parameters to be specified using =>..
1565 Allow <link linkend="sql-syntax-calling-funcs"><literal>=></></>
1566 to specify named parameters in function calls (Pavel Stehule)
1570 Previously only <literal>:=</> could be used. This requires removing
1571 the possibility for <literal>=></> to be a user-defined operator.
1572 Creation of user-defined <literal>=></> operators has been issuing
1573 warnings since Postgres 9.0.
1579 2015-03-25 [06bf0dd] Tom Lane: Upgrade src/port/rint.c to be POSIX-compliant.
1582 Add <acronym>POSIX</>-compliant rounding for platforms that use
1583 Postgres-supplied rounding functions (Pedro Gimeno Fortea)
1590 <title>System Information Functions and Views</title>
1596 2014-12-23 [d7ee82e] Alvaro..: Add SQL-callable pg_get_object_address
1600 linkend="functions-info-object-table"><function>pg_get_object_address()</></>
1601 to return <type>OID</>s that uniquely identify an object
1602 (Álvaro Herrera)
1608 2014-12-30 [a676201] Alvaro..: Add pg_identify_object_as_address
1612 linkend="functions-info-object-table"><function>pg_identify_object_as_address()</></>
1613 to return object information based on <type>OID</>s (Álvaro
1620 2015-03-19 [bf03889] Stephe..: GetUserId() changes to has_privs_of_role()
1623 Loosen security checks for viewing queries in <link
1624 linkend="pg-stat-activity-view"><structname>pg_stat_activity</></>,
1626 linkend="functions-admin-signal-table"><function>pg_cancel_backend()</></>,
1628 linkend="functions-admin-signal-table"><function>pg_terminate_backend()</></>
1633 Now, role membership is sufficient; previously only the same
1634 role could perform these operations.
1640 2015-02-19 [2fb7a75] Tom Lane: Add pg_stat_get_snapshot_timestamp() to show s..
1644 linkend="monitoring-stats-funcs-table"><function>pg_stat_get_snapshot_timestamp()</></>
1645 to output the timestamp of the statistics snapshot (Matt Kelly)
1649 This represents the last time the snapshot files was written to
1656 2014-09-10 [36ad1a8] Bruce ..: Implement mxid_age() to compute multi-xid age
1660 linkend="vacuum-for-multixact-wraparound"><function>mxid_age()</></>
1661 to compute multi-xid age (Bruce Momjian)
1667 2015-05-09 [0c90f67] Andrew..: Add new OID alias type regrole
1668 2015-05-09 [cb9fa80] Andrew..: Add new OID alias type regnamespace
1671 Add data types <link
1672 linkend="datatype-oid-table"><type>regrole</> <type>regnamespace</></> that returns
1673 the <type>OID</> of a role (Kyotaro Horiguchi)
1681 <title>Aggregates</title>
1687 2014-08-28 [6c40f83] Tom Lane: Add min and max aggregates for inet/cidr data t..
1690 Add <function>MIN()</>/<function>MAX()</> aggregates
1691 for <link linkend="datatype-inet"><type>INET</></>/<link
1692 linkend="datatype-cidr"><type>CIDR</></> data types (Haribabu
1699 2015-03-20 [8122e14] Andres..: Add, optional, support for 128bit integers.
1700 2015-03-20 [959277a] Andres..: Use 128-bit math to accelerate some aggregation..
1703 Use 128-bit integers, where supported, as aggregate accumulators
1715 <title>Server-Side Languages</title>
1721 2014-07-03 [8b6010b] Tom Lane: Improve support for composite types in PL/Python.
1724 Improve support for composite types in <link
1725 linkend="plpython"><application>PL/Python</></> (Ed Behn, Ronan
1730 This allows <application>PL/Python</> functions to return arrays
1737 2015-03-11 [1ce7a57] Peter ..: PL/Python: Avoid lossiness in float conversion
1740 Reduce lossiness of <link
1741 linkend="plpython"><application>PL/Python</></> floating value
1742 conversions (Marko Kreen)
1748 2015-04-26 [cac7658] Peter ..: Add transforms feature
1751 Allow specification of conversion routines between <acronym>SQL</>
1752 data types and data types of procedural languages (Peter Eisentraut)
1756 This change adds new commands <link
1757 linkend="SQL-CREATETRANSFORM"><command>CREATE</></>/<link
1758 linkend="SQL-DROPTRANSFORM"><command>DROP TRANSFORM</></>.
1759 This also adds optional transformations between the <link
1760 linkend="hstore"><application>hstore</></> and <link
1761 linkend="ltree"><application>ltree</></> types to/from <link
1762 linkend="plperl"><application>PL/Perl</></> and <link
1763 linkend="plpython"><application>PL/Python</></>.
1770 <title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
1776 2015-05-14 [1dc5ebc] Tom Lane: Support "expanded" objects, particularly arrays..
1777 2015-02-16 [e983c4d] Tom Lane: Rationalize the APIs of array element/slice acc..
1778 2015-02-18 [56a79a8] Tom Lane: Split array_push into separate array_append and..
1779 2015-02-16 [9e3ad1a] Tom Lane: Use fast path in plpgsql's RETURN/RETURN NEXT i..
1782 Improve <link linkend="plpgsql"><application>PL/pgSQL</></> array
1783 performance (Tom Lane)
1789 2015-03-25 [a4847fc] Tom Lane: Add an ASSERT statement in plpgsql.
1792 Add <link linkend="plpgsql-statements-assert"><command>ASSERT</></>
1793 statement in <application>PL/pgSQL</> (Pavel Stehule)
1799 2014-11-25 [bb1b8f6] Tom Lane: De-reserve most statement-introducing keywords ..
1802 Allow more <link linkend="plpgsql"><application>PL/pgSQL</></>
1803 keywords to be used as identifiers (Tom Lane)
1814 <title>Client Applications</title>
1820 2015-04-11 [83aca89] Peter ..: Move pg_archivecleanup from contrib/ to src/bin/
1821 2015-04-19 [00882d9] Peter ..: Move pg_test_fsync from contrib/ to src/bin/
1822 2015-04-20 [528c2e4] Peter ..: Move pg_test_timing from contrib/ to src/bin/
1823 2015-04-21 [b0a738f] Peter ..: Move pg_xlogdump from contrib/ to src/bin/
1827 linkend="pgarchivecleanup"><application>pg_archivecleanup</></>,
1828 <link linkend="pgtestfsync"><application>pg_test_fsync</></>,
1829 <link linkend="pgtesttiming"><application>pg_test_timing</></>,
1830 and <link linkend="pgxlogdump"><application>pg_xlogdump</></>
1831 from <filename>contrib</> to <filename>src/bin</> (Peter Eisentraut)
1837 2015-03-23 [61081e7] Heikki..: Add pg_rewind, for re-synchronizing a master se..
1840 Add <link linkend="app-pgrewind"><application>pg_rewind</></>,
1841 which allows re-synchronizing a master server after failback
1842 (Heikki Linnakangas)
1848 2014-10-06 [d9f38c7] Andres..: Add support for managing physical replication s..
1852 linkend="app-pgreceivexlog"><application>pg_receivexlog</></>
1853 to manage physical replication slots (Michael Paquier)
1857 This is controlled via new <option>--create-slot</> and
1858 <option>--drop-slot</> options.
1864 2014-11-18 [c4f99d2] Fujii ..: Add ––synchronous option to pg_receivexlog, for..
1868 linkend="app-pgreceivexlog"><application>pg_receivexlog</></>
1869 to synchronously flush <acronym>WAL</> to storage using
1870 <option>--synchronous</> (Furuya Osamu, Fujii Masao)
1874 Without this, <acronym>WAL</> files are fsynced only on close.
1880 2015-01-23 [a179232] Alvaro..: vacuumdb: enable parallel mode
1883 Allow <link linkend="APP-VACUUMDB"><command>vacuumdb</></> to
1884 vacuum in parallel using <option>--jobs</> (Dilip Kumar)
1890 2015-05-15 [458a077] Fujii ..: Support ––verbose option in reindexdb.
1893 Add <option>--verbose</> option to <link
1894 linkend="APP-REINDEXDB"><application>reindexdb</></> (Sawada
1901 2015-05-12 [72d422a] Andrew..: Map basebackup tablespaces using a tablespace_..
1904 Make <link linkend="app-pgbasebackup"><application>pg_basebackup</></>
1905 use a tablespace mapping file when using <application>tar</> format,
1906 to support symbolic links and file paths of 100+ characters in length
1907 on <systemitem class="osname">MS Windows</> (Amit Kapila)
1913 2014-09-19 [728f152] Andres..: Add rmgr callback to name xlog record types for..
1914 2014-09-19 [bdd5726] Andres..: Add the capability to display summary statistic..
1917 Add <link linkend="pgxlogdump"><application>pg_xlogdump</></> option
1918 <option>--stats</> to display summary statistics (Abhijit Menon-Sen)
1925 <title><xref linkend="APP-PSQL"></title>
1931 2015-03-31 [9d9991c] Bruce ..: psql: add asciidoc output format
1934 Allow <application>psql</> to produce AsciiDoc output (Szymon Guz)
1940 2014-07-10 [5b214c5] Fujii ..: Add new ECHO mode 'errors' that displays only ..
1943 Add <literal>errors</> mode to <application>psql</>'s
1944 <varname>ECHO</> variable to display only failed commands
1949 This can also be enabled with the <application>psql</>
1950 <option>-b</> option.
1956 2014-09-12 [a2dabf0] Stephe..: Add unicode_{column|header|border}_style to psql
1959 Allow column, header, and border control to <application>psql</>'s
1960 Unicode style (Pavel Stehule)
1964 Single or double output is supported; the default is
1971 2014-09-02 [51bb795] Andres..: Add psql PROMPT variable showing which line of ..
1974 Add <application>psql</> <link
1975 linkend="APP-PSQL-variables"><envar>PROMPT</></> variables option
1976 (<literal>%l</>) to display the multi-line statement line number
1983 2015-03-28 [7655f4c] Andrew..: Add a pager_min_lines setting to psql
1986 Add <application>psql</> setting <link
1987 linkend="APP-PSQL-meta-commands"><varname>pager_min_lines</></>
1988 to control pager invocation (Andrew Dunstan)
1994 2014-11-21 [4077fb4] Andrew..: Fix an error in psql that overcounted output l..
1997 Improve <application>psql</> line counting used when deciding
1998 to invoke the pager (Andrew Dunstan)
2004 2014-07-12 [bd40951] Andres..: Minimal psql tab completion support for SET se..
2007 Add <application>psql</> tab completion when setting the
2008 <xref linkend="guc-search-path"> variable (Jeff Janes)
2012 Currently only the first schema can be tab-completed.
2018 2014-06-23 [631e7f6] Heikki..: Improve tab-completion of DROP and ALTER ENABLE..
2021 Improve <application>psql</>'s tab completion for triggers and rules
2029 <title><link linkend="APP-PSQL-meta-commands">Backslash Commands</link></title>
2035 2014-09-10 [07c8651] Andres..: Add new psql help topics, accessible to both..
2038 Add <application>psql</> <command>\?</> help sections
2039 <literal>variables</> and <literal>options</> (Pavel Stehule)
2043 <literal>variables</> outputs <application>psql</> variables
2044 and <literal>options</> shows command-line options.
2045 <command>\? commands</> is the default output. This help
2046 information can also be output via <literal>--help=section</>.
2052 2014-07-14 [ee80f04] Alvaro..: psql: Show tablespace size in \db+
2055 Show tablespace size in <application>psql</>'s <literal>\db+</>
2056 (Fabrízio de Royes Mello)
2062 2015-04-09 [a6f3c1f] Magnus..: Show owner of types in psql \dT+
2065 Show data type owners in <application>psql</>'s <literal>\dT+</>
2072 2014-09-04 [f6f654f] Fujii ..: Allow \watch to display query execution time if..
2075 Allow <application>psql</>'s <command>\watch</> to output
2076 <command>\timing</> information (Fujii Masao)
2080 Also prevent <option>--echo-hidden</> from echoing
2081 <command>\watch</> queries.
2087 2014-11-22 [eca2b9b] Andrew..: Rework echo_hidden for \sf and \ef from commit ..
2090 Allow <application>psql</>'s <literal>\sf</> and <literal>\ef</>
2091 to honor <envar>ECHO_HIDDEN</> (Andrew Dunstan)
2097 2014-08-12 [e15c4ab] Fujii ..: Add tab-completion for \unset and valid setting..
2100 Improve <application>psql</> tab completion for <command>\set</>,
2101 <command>\unset</>, and <literal>:variable</> names (Pavel
2108 2014-11-10 [095d401] Robert..: Tab complete second argument to \c with role n..
2111 Allow tab completion of role names
2112 in <application>psql</> <literal>\c</> commands (Ian Barwick)
2123 <title><xref linkend="APP-PGDUMP"></title>
2129 2014-11-17 [be1cc8f] Simon ..: Add pg_dump ––snapshot option
2132 Allow <application>pg_dump</> to share a snapshot taken by another
2133 session using <option>--snapshot</> (Simon Riggs, Michael Paquier)
2137 The remote snapshot must have been exported by
2138 <function>pg_export_snapshot()</> or been defined when creating
2139 a logical replication slot. This can be used by parallel
2140 <application>pg_dump</> to use a consistent snapshot across
2141 <application>pg_dump</> processes.
2147 2014-07-07 [7700597] Tom Lane: In pg_dump, show server and pg_dump versions w..
2150 Always have <application>pg_dump</> print server and
2151 <application>pg_dump</> versions (Jing Wang)
2155 Previously, version information was only printed in
2156 <option>--verbose</> mode.
2165 <title><xref linkend="app-pg-ctl"></title>
2171 2015-03-31 [0badb06] Bruce ..: pg_ctl: change default shutdown mode from 'sma..
2174 Change <application>pg_ctl</>'s default shutdown mode from
2175 <literal>smart</> to <literal>fast</> (Bruce Momjian)
2181 2014-08-25 [ebe30ad] Bruce ..: pg_ctl, pg_upgrade: allow multiple -o/-O opti..
2184 Allow multiple <application>pg_ctl</> <option>-o</> options to
2185 be appended (Bruce Momjian)
2191 2014-07-17 [c0e4520] Magnus..: Add option to pg_ctl to choose event source for..
2194 Allow control of <application>pg_ctl</>'s event source logging
2195 on <systemitem class="osname">MS Windows</> (MauMau)
2199 This only controls <application>pg_ctl</>, not the server, which
2200 has separate settings in <filename>postgresql.conf</>.
2209 <title><xref linkend="pgupgrade"></title>
2215 2015-04-14 [9fa8b0e] Peter ..: Move pg_upgrade from contrib/ to src/bin/
2218 Move <application>pg_upgrade</> from <filename>contrib</> to
2219 <filename>src/bin</> (Peter Eisentraut)
2223 In connection with this change, the functionality previously
2224 provided by the <application>pg_upgrade_support</> module has been
2225 moved into the core server.
2231 2014-08-25 [ebe30ad] Bruce ..: pg_ctl, pg_upgrade: allow multiple -o/-O optio..
2234 Allow multiple <application>pg_upgrade</>
2235 <option>-o</>/<option>-O</> options to be appended (Bruce Momjian)
2241 2014-10-10 [33755e8] Heikki..: Change the way encoding and locale checks are d..
2244 Improve database collation comparisons in
2245 <application>pg_upgrade</> (Heikki Linnakangas)
2251 2015-03-18 [417f78a] Bruce ..: pg_upgrade: document use of rsync for slave up..
2254 Document the use of <application>rsync</> for standby server
2255 upgrades using <application>pg_upgrade</> (Stephen Frost,
2262 2014-08-25 [2209b39] Bruce ..: pg_upgrade: remove support for 8.3 old clusters
2265 Remove support for upgrading from 8.3 clusters (Bruce Momjian)
2274 <title><xref linkend="pgbench"></title>
2280 2015-04-13 [81134af] Peter ..: Move pgbench from contrib/ to src/bin/
2283 Move pgbench from <filename>contrib</> to <filename>src/bin</>
2290 2014-10-13 [98aed6c] Heikki..: Add ––latency-limit option to pgbench.
2293 Allow counting of pgbench transactions that take over a specified
2294 amount of time (Fabien Coelho)
2298 This is controlled by new <option>--latency-limit</> option.
2304 2014-07-30 [ed802e7] Robert..: pgbench: Allow \setrandom to generate Gaussian..
2307 Allow pgbench to generate Gaussian/exponential distributions
2308 using <command>\setrandom</> (Kondo Mitsumasa, Fabien Coelho)
2314 2015-03-02 [878fdcb] Robert..: pgbench: Add a real expression syntax to \set
2315 FIXME: Improve description, link
2318 Allow <application>pgbench</>'s <command>\set</> command to handle
2319 multi-operator expressions (Robert Haas, Fabien Coelho)
2330 <title>Source Code</title>
2336 2014-11-20 [2c03216] Heikki..: Revamp the WAL record format.
2339 Simplify <link linkend="wal"><acronym>WAL</></> record format
2340 (Heikki Linnakangas)
2344 This allows external tools to more easily track what blocks
2351 2014-09-25 [b64d92f] Andres..: Add a basic atomic ops API abstracting away pla..
2354 Add atomic memory operations <acronym>API</> (Andres Freund)
2360 2014-11-07 [0b03e59] Robert..: Introduce custom path and scan providers.
2361 2014-11-20 [a34fa8e] Tom Lane: Initial code review for CustomScan patch.
2362 2014-11-21 [c2ea228] Tom Lane: Simplify API for initially hooking custom-path ..
2363 2014-11-21 [4477704] Tom Lane: Rearrange CustomScan API.
2366 Allow custom path and scan methods (KaiGai Kohei, Tom Lane)
2370 This allows extensions greater control over the optimizer and
2377 2015-05-12 [afb9249] Tom Lane: Add support for doing late row locking in FDWs.
2380 Allow foreign data wrappers to do post-filter locking (Etsuro
2387 2014-12-18 [4a14f13] Tom Lane: Improve hash_create's API for selecting simple-..
2390 Improve <function>hash_create()</>'s API for selecting
2391 simple-binary-key hash functions (Teodor Sigaev, Tom Lane)
2397 2015-04-30 [924bcf4] Robert..: Create an infrastructure for parallel computati..
2398 2014-10-31 [2bd9e41] Robert..: Support frontend-backend protocol communication..
2401 Improve parallel execution infrastructure (Robert Haas, Amit
2402 Kapila, Noah Misch, Rushabh Lathia, Jeevan Chalke)
2408 2014-06-28 [a6d488c] Andres..: Remove Alpha and Tru64 support.
2411 Remove <productname>Alpha</> (<acronym>CPU</>) and <systemitem
2412 class="osname">Tru64</> (OS) ports (Andres Freund)
2418 2014-07-06 [4893ccd] Robert..: Remove swpb-based spinlock implementation for A..
2421 Remove swap-byte-based spinlock implementation for
2422 <acronym>ARM</>v5 and earlier <acronym>CPU</>s (Robert Haas)
2426 <acronym>ARM</>v5's weak memory ordering made this locking
2427 implementation unsafe. Spinlock support is still possible on
2428 newer gcc implementations with atomics support.
2434 2015-02-24 [23a7835] Peter ..: Error when creating names too long for tar for..
2437 Generate an error when excessively long (100+ character) file
2438 paths are written to tar files (Peter Eisentraut)
2442 Tar does not support such overly-long paths.
2448 2015-05-19 [0b28ea7] Tom Lane: Avoid collation dependence in indexes of syste..
2451 Change index opclass for columns <link
2452 linkend="catalog-pg-seclabel"><structname>pg_seclabel</></>.<structname>provider</>
2454 linkend="catalog-pg-shseclabel"><structname>pg_shseclabel</></>.<structname>provider</>
2455 to be <literal>text_pattern_ops</> (Tom Lane)
2459 This avoids possible problems with these indexes when different
2460 databases of a cluster have different default collations.
2466 2014-09-09 [0709b7e] Robert..: Change the spinlock primitives to function as c..
2469 Change the spinlock primitives to function as compiler barriers
2477 <title>MS Windows</title>
2483 2014-12-08 [519b075] Simon ..: Use GetSystemTimeAsFileTime directly in win32
2484 2014-12-08 [8001fe6] Simon ..: Windows: use GetSystemTimePreciseAsFileTime if ..
2487 Allow higher-precision timestamp resolution on <systemitem
2488 class="osname">Windows 8</> or <systemitem class="osname">Windows
2489 Server 2012</> and later Windows systems (Craig Ringer)
2495 2015-03-18 [f9dead5] Alvaro..: Install shared libraries to bin/ in Windows un..
2498 Install shared libraries to <filename>bin</> in <systemitem
2499 class="osname">MS Windows</> (Peter Eisentraut, Michael Paquier)
2505 2015-04-16 [22d0053] Alvaro..: MSVC: install src/test/modules together with c..
2508 Install <filename>src/test/modules</> together with
2509 <filename>contrib</> on <productname>MSVC</> builds (Michael
2516 2014-07-12 [8d9a0e8] Magnus..: Support ––with-extra-version equivalent functi..
2519 Allow <link linkend="install-procedure">configure's
2520 <option>--with-extra-version</></> to be honored by the
2521 <productname>MSVC</> build (Michael Paquier)
2527 2014-07-14 [91f03ba] Noah M..: MSVC: Recognize PGFILEDESC in contrib and conv..
2530 Pass <envar>PGFILEDESC</> into <productname>MSVC</> contrib builds
2537 2014-07-14 [c4a448e] Noah M..: MSVC: Apply icons to all binaries having them ..
2540 Add icons to all <productname>MSVC</>-built binaries and version
2541 information to all <systemitem class="osname">MS Windows</>
2542 binaries (Noah Misch)
2546 MinGW already had such icons.
2552 2014-09-10 [311da16] Andres..: Add support for optional_argument to our own ge..
2555 Add optional-argument support to the internal
2556 <function>getopt_long()</> implementation (Michael Paquier,
2561 This is used by the <productname>MSVC</> build.
2572 <title>Additional Modules</title>
2578 2015-03-27 [717f709] Andrew..: Add stats for min, max, mean, stddev times to p..
2581 Add statistics for minimum, maximum,
2582 mean, and standard deviation times to <link
2583 linkend="pgstatstatements-columns"><application>pg_stat_statements</></>
2584 (Mitsumasa Kondo, Andrew Dunstan)
2590 2014-10-01 [32984d8] Heikki..: Add functions for dealing with PGP armor heade..
2593 Add <link linkend="pgcrypto"><application>pgcrypto</></> function
2594 <function>pgp_armor_headers()</> to extract <productname>PGP</>
2595 armor headers (Marko Tiikkaja, Heikki Linnakangas)
2601 2014-06-30 [97c40ce] Tom Lane: Allow empty replacement strings in contrib/unac..
2604 Allow empty replacement strings in <link
2605 linkend="unaccent"><application>unaccent</></> (Mohammad Alhashash)
2609 This is useful in languages where diacritic signs are represented
2610 as separate characters.
2616 2014-06-30 [1b24887] Tom Lane: Allow multi-character source strings in contrib..
2619 Allow multi-character source strings in <link
2620 linkend="unaccent"><application>unaccent</></> (Tom Lane)
2624 This could be useful in languages where diacritic signs are
2625 represented as separate characters. It also allows more complex
2626 unaccent dictionaries.
2632 2015-05-15 [9689290] Simon ..: TABLESAMPLE system_rows(limit)
2633 2015-05-15 [149f6f1] Simon ..: TABLESAMPLE system_time(limit)
2636 Add <filename>contrib</> modules <link
2637 linkend="tsm-system-rows"><application>tsm_system_rows</></> and
2638 <link linkend="tsm-system-time"><application>tsm_system_time</></>
2639 to allow additional table sampling methods (Petr Jelínek)
2645 2014-11-21 [3a82bc6] Heikki..: Add pageinspect functions for inspecting GIN in..
2648 Add <link linkend="GIN"><acronym>GIN</></>
2649 index inspection functions to <link
2650 linkend="pageinspect"><application>pageinspect</></> (Heikki
2651 Linnakangas, Peter Geoghegan, Michael Paquier)
2657 2014-08-22 [f577919] Andres..: Add pinning_backends column to the pg_buffercac..
2660 Add information about buffer pins to <link
2661 linkend="pgbuffercache"><application>pg_buffercache</></> display
2668 2015-05-13 [5850b20] Andres..: Add pgstattuple_approx() to the pgstattuple ext..
2671 Allow <link linkend="pgstattuple"><application>pgstattuple</></>
2672 to report approximate answers with less overhead using
2673 <function>pgstattuple_approx()</> (Abhijit Menon-Sen)
2679 2014-11-29 [22dfd11] Alvaro..: Move test modules from contrib to src/test/modu..
2680 2014-12-01 [df761e3] Alvaro..: Move security_label test
2683 Move <application>dummy_seclabel</>, <application>test_shm_mq</>,
2684 <application>test_parser</>, and <application>worker_spi</>
2685 from <filename>contrib</> to <filename>src/test/modules</>
2686 (Álvaro Herrera)
2690 These modules are only meant for server testing, so they do not need
2691 to be built or installed when packaging <productname>PostgreSQL</>.