<title>Server</title>
<sect4>
- <title>Performance</title>
+ <title>Locking</title>
<itemizedlist>
<listitem>
<para>
- Improve performance of NUMERIC calculations (Kyotaro Horiguchi)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Use a binary heap for Merge-Append operations (Abhijit Menon-Sen)
+ Prevent non-key-field row updates from locking foreign key rows
+ (AlvaroAacute;lvaro Herrera, Marti Raudsepp, Alexander Shulgin,
+ Noah Misch and Andres Freund)
</para>
- </listitem>
- <listitem>
<para>
- Add COPY FREEZE option to avoid the overhead of later marking
- tuples as committed (Simon Riggs, Jeff Davis)
+ This improves concurrency and reduces the probability of deadlocks.
+ UPDATEs on non-key columns use the new SELECT FOR NO KEY UPDATE lock
+ type, and foreign key checks use the new SELECT FOR KEY SHARE lock mode.
</para>
</listitem>
<listitem>
<para>
- Improve memory usage for in-memory sorts (Jeff Janes)
+ Add cache of local locks (Jeff Janes)
</para>
<para>
- Users who have set work_mem based on the previous behavior should
- revisit that setting.
+ This speeds lock release at statement completion in transactions
+ that hold many locks; it is particularly useful for pg_dump.
</para>
</listitem>
- <listitem>
- <para>
- Improve performance for transactions creating, rebuilding, or
- dropping many relations (Jeff Janes, Tomas Vondra)
- </para>
- </listitem>
+ </itemizedlist>
- <listitem>
- <para>
- Improve performance of the CREATE TABLE ... ON COMMIT DELETE ROWS
- clause by only issuing delete if the temporary table was accessed
- (Heikki Linnakangas)
- </para>
- </listitem>
+ </sect4>
+
+ <sect4>
+ <title>Indexes</title>
+
+ <itemizedlist>
<listitem>
<para>
- Allow heap-only tuple updates on system tables (Andres Freund)
+ Add SP-GiST support for range data types (Alexander Korotkov)
</para>
</listitem>
<listitem>
<para>
- Have vacuum recheck visibility after it has removed expired tuples
- (Pavan Deolasee)
- </para>
-
- <para>
- This increases the chance of a page being marked as all-visible.
+ Allow unlogged GiST indexes (Jeevan Chalke)
</para>
</listitem>
<listitem>
<para>
- Split pgstat file in per-database and global files (Tomas Vondra)
- </para>
-
- <para>
- This reduces the statistics management read and write overhead.
+ Improve concurrency of hash indexes (Robert Haas)
</para>
</listitem>
<listitem>
<para>
- Reduce optimizer overhead by discarding plans with unneeded cheaper
- startup costs (Tom Lane)
+ Improve the ability to detect indexable prefixes in regular
+ expressions (Tom Lane)
</para>
</listitem>
<listitem>
<para>
- Improve the ability to detect indexable prefixes in regular
- expressions (Tom Lane)
+ Reduce optimizer overhead by discarding plans with unneeded cheaper
+ startup costs (Tom Lane)
</para>
</listitem>
</sect4>
<sect4>
- <title>Indexes</title>
+ <title>General Performance</title>
<itemizedlist>
<listitem>
<para>
- Reduce use of heavyweight locking inside hash AM.
+ Add COPY FREEZE option to avoid the overhead of later marking
+ tuples as committed (Simon Riggs, Jeff Davis)
</para>
</listitem>
<listitem>
<para>
- Improve concurrency of hash indexes (Robert Haas)
+ Improve performance of NUMERIC calculations (Kyotaro Horiguchi)
</para>
</listitem>
<listitem>
<para>
- Add SP-GiST support for range data types (Alexander Korotkov)
+ Use a binary heap for Merge-Append operations (Abhijit Menon-Sen)
</para>
</listitem>
<listitem>
<para>
- Allow unlogged GiST indexes (Jeevan Chalke)
+ Improve memory usage for in-memory sorts (Jeff Janes)
+ </para>
+
+ <para>
+ Users who have set work_mem based on the previous behavior should
+ revisit that setting.
</para>
</listitem>
<listitem>
<para>
- Allow SP-GiST to support of the range adjacent operator (Alexander
- Korotkov)
+ Improve performance for transactions creating, rebuilding, or
+ dropping many relations (Jeff Janes, Tomas Vondra)
</para>
</listitem>
- </itemizedlist>
-
- </sect4>
-
- <sect4>
- <title>Locking</title>
+ <listitem>
+ <para>
+ Improve performance of the CREATE TABLE ... ON COMMIT DELETE ROWS
+ clause by only issuing delete if the temporary table was accessed
+ (Heikki Linnakangas)
+ </para>
+ </listitem>
- <itemizedlist>
+ <listitem>
+ <para>
+ Allow heap-only tuple updates on system tables (Andres Freund)
+ </para>
+ </listitem>
<listitem>
<para>
- Prevent non-key-field row updates from locking foreign key rows
- (AlvaroAacute;lvaro Herrera, Marti Raudsepp, Alexander Shulgin,
- Noah Misch and Andres Freund)
+ Have vacuum recheck visibility after it has removed expired tuples
+ (Pavan Deolasee)
</para>
<para>
- This improves concurrency and reduces the probability of deadlocks.
- UPDATEs on non-key columns use the new SELECT FOR NO KEY UPDATE lock
- type, and foreign key checks use the new SELECT FOR KEY SHARE lock mode.
+ This increases the chance of a page being marked as all-visible.
</para>
</listitem>
<listitem>
<para>
- Add cache of local locks (Jeff Janes)
+ Split pgstat file in per-database and global files (Tomas Vondra)
</para>
<para>
- This speeds lock release at statement completion in transactions
- that hold many locks; it is particularly useful for pg_dump.
+ This reduces the statistics management read and write overhead.
</para>
</listitem>
</sect4>
<sect4>
- <title>Authentication</title>
+ <title>Monitoring</title>
<itemizedlist>
<listitem>
<para>
- Improve LDAP error reporting and documentation (Peter Eisentraut)
+ Add optional ability to checksum data pages and report corruption
+ (Simon Riggs, Jeff Davis, Greg Smith)
+ </para>
+
+ <para>
+ The checksum option can be set during initdb.
</para>
</listitem>
<listitem>
<para>
- Add support for LDAP authentication to be specified in URL format
- (Peter Eisentraut)
+ Allow pg_terminate_backend() to terminate other backends with
+ the same role (Dan Farina)
+ </para>
+
+ <para>
+ Previously, only superusers could terminate other sessions.
</para>
</listitem>
<listitem>
<para>
- Change the ssl_ciphers parameter to start with DEFAULT, rather
- than ALL, then remove insecure ciphers (Magnus Hagander)
+ Allow the statistics collector to operate properly in cases where
+ the system clock goes backwards (Tom Lane)
</para>
<para>
- It is assumed DEFAULT is more appropriate cipher set.
+ Previously statistics collection would stop until the time again
+ reached the previously-stored latest time.
</para>
</listitem>
<listitem>
<para>
- Parse/load pg_ident.conf once, not during each connection (Amit
- Kapila)
+ Add function to report the size of the GIN pending index insertion
+ list (Fujii Masao)
</para>
<para>
- This is similar to how pg_hba.conf is processed.
+ The function is pgstatginindex() in pgstattuple.
</para>
</listitem>
</sect4>
<sect4>
- <title>Monitoring</title>
+ <title>Authentication</title>
<itemizedlist>
<listitem>
<para>
- Allow the statistics collector to operate properly in cases where
- the system clock goes backwards (Tom Lane)
- </para>
-
- <para>
- Previously statistics collection would stop until the time again
- reached the previously-stored latest time.
+ Improve LDAP error reporting and documentation (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
- Add optional ability to checksum data pages and report corruption
- (Simon Riggs, Jeff Davis, Greg Smith)
- </para>
-
- <para>
- The checksum option can be set during initdb.
+ Add support for LDAP authentication to be specified in URL format
+ (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
- Add function to report the size of the GIN pending index insertion
- list (Fujii Masao)
+ Change the ssl_ciphers parameter to start with DEFAULT, rather
+ than ALL, then remove insecure ciphers (Magnus Hagander)
</para>
<para>
- The function is pgstatginindex() in pgstattuple.
+ It is assumed DEFAULT is more appropriate cipher set.
</para>
</listitem>
<listitem>
<para>
- Allow pg_terminate_backend() to terminate other backends with
- the same role (Dan Farina)
+ Parse/load pg_ident.conf once, not during each connection (Amit
+ Kapila)
</para>
<para>
- Previously, only superusers could terminate other sessions.
+ This is similar to how pg_hba.conf is processed.
</para>
</listitem>
<listitem>
<para>
- Increase the maximum initdb-configured value for shared_buffers
- to 128MB (Robert Haas)
+ Allow the postmaster to listen on multiple Unix-domain sockets
+ (Honza Horak)
</para>
<para>
- This is the maximum value initdb attempts to set in
- postgresql.conf; the previous value was 32MB.
+ This renames configuration parameter unix_socket_directory to
+ unix_socket_directories, which accepts a list of directories.
</para>
</listitem>
<listitem>
<para>
- Allow a directory of configuration files to be processed (Magnus
- Hagander, Greg Smith, Selena Deckelmann)
+ Add configuration variable lock_timeout to limit lock wait duration
+ (Zoltán Böszörményi)
</para>
+ </listitem>
+ <listitem>
<para>
- The directory is specified as include_dir in server configuration file.
+ Allow a directory of configuration files to be processed (Magnus
+ Hagander, Greg Smith, Selena Deckelmann)
</para>
- </listitem>
- <listitem>
<para>
- Have "session id" in log_line_prefix (%c) always output four hex
- digits after the period (Bruce Momjian)
+ The directory is specified as include_dir in server configuration file.
</para>
</listitem>
<listitem>
<para>
- Add configuration variable lock_timeout to limit lock wait duration
- (Zoltán Böszörményi)
+ Increase the maximum initdb-configured value for shared_buffers
+ to 128MB (Robert Haas)
</para>
- </listitem>
- <listitem>
<para>
- Remove the external PID file on postmaster exit (Peter Eisentraut)
+ This is the maximum value initdb attempts to set in
+ postgresql.conf; the previous value was 32MB.
</para>
</listitem>
</para>
</listitem>
+
<listitem>
<para>
- Allow the postmaster to listen on multiple Unix-domain sockets
- (Honza Horak)
+ Remove the external PID file on postmaster exit (Peter Eisentraut)
</para>
+ </listitem>
+ <listitem>
<para>
- This renames configuration parameter unix_socket_directory to
- unix_socket_directories, which accepts a list of directories.
+ Have "session id" in log_line_prefix (%c) always output four hex
+ digits after the period (Bruce Momjian) COMPATIBILITY
</para>
</listitem>
<itemizedlist>
+ <listitem>
+ <para>
+ Allow a streaming replication standbys to follow a timeline switch (Heikki Linnakangas)
+ </para>
+
+ <para>
+ This allows streaming standbys to feed from newly-promoted slaves.
+ Previously slaves required access to a WAL archive directory to
+ accomplish this.
+ </para>
+ </listitem>
+
<listitem>
<para>
Add SQL functions pg_backup_in_progress() and pg_backup_start_time() (Darold Gilles)
</para>
</listitem>
- <listitem>
- <para>
- Allow a streaming replication standbys to follow a timeline switch (Heikki Linnakangas)
- </para>
-
- <para>
- This allows streaming standbys to feed from newly-promoted slaves.
- Previously slaves required access to a WAL archive directory to
- accomplish this.
- </para>
- </listitem>
-
<listitem>
<para>
Have pg_basebackup --write-recovery-conf output a minimal
</itemizedlist>
+ <sect4>
+ <title><link linkend="SQL-CREATETABLE"><command>CREATE TABLE</></link></title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ No longer output messages about implicit index and sequence creation (Robert Haas)
+ </para>
+
+ <para>
+ These messages now appear with DEBUG1-level output.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Allow CREATE TABLE to succeed for a non-existent schema
+ (Bruce Momjian)
+ </para>
+
+ <para>
+ Previously, CREATE TABLE IF EXIST threw an error if the schema was
+ nonexistent.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect4>
+
<sect4>
<title>Constraints</title>
</sect4>
- <sect4>
- <title><link linkend="SQL-CREATETABLE"><command>CREATE TABLE</></link></title>
-
- <itemizedlist>
-
- <listitem>
- <para>
- No longer output messages about implicit index and sequence creation (Robert Haas)
- </para>
-
- <para>
- These messages now appear with DEBUG1-level output.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Allow CREATE TABLE to succeed for a non-existent schema
- (Bruce Momjian)
- </para>
-
- <para>
- Previously, CREATE TABLE IF EXIST threw an error if the schema was
- nonexistent.
- </para>
- </listitem>
-
- </itemizedlist>
-
- </sect4>
-
</sect3>
<sect3>
<listitem>
<para>
- Allow pgbench to use scale values larger than 21474 (Greg Smith)
+ Allow pgbench to use a larger scale factor (Greg Smith)
</para>
</listitem>