Server
- Performance
+ Locking
- Improve performance of NUMERIC calculations (Kyotaro Horiguchi)
-
-
-
-
-
- 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)
-
-
- 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.
- Improve memory usage for in-memory sorts (Jeff Janes)
+ Add cache of local locks (Jeff Janes)
- 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.
-
-
- Improve performance for transactions creating, rebuilding, or
- dropping many relations (Jeff Janes, Tomas Vondra)
-
-
+
-
-
- Improve performance of the CREATE TABLE ... ON COMMIT DELETE ROWS
- clause by only issuing delete if the temporary table was accessed
- (Heikki Linnakangas)
-
-
+
+
+
+ Indexes
+
+
- Allow heap-only tuple updates on system tables (Andres Freund)
+ Add SP-GiST support for range data types (Alexander Korotkov)
- Have vacuum recheck visibility after it has removed expired tuples
- (Pavan Deolasee)
-
-
-
- This increases the chance of a page being marked as all-visible.
+ Allow unlogged GiST indexes (Jeevan Chalke)
- Split pgstat file in per-database and global files (Tomas Vondra)
-
-
-
- This reduces the statistics management read and write overhead.
+ Improve concurrency of hash indexes (Robert Haas)
@@ -147,8 +127,8 @@
- 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)
@@ -161,8 +141,8 @@
- 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)
@@ -177,72 +157,79 @@
- Indexes
+ General Performance
- 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)
- Improve concurrency of hash indexes (Robert Haas)
+ Improve performance of NUMERIC calculations (Kyotaro Horiguchi)
- Add SP-GiST support for range data types (Alexander Korotkov)
+ Use a binary heap for Merge-Append operations (Abhijit Menon-Sen)
- Allow unlogged GiST indexes (Jeevan Chalke)
+ Improve memory usage for in-memory sorts (Jeff Janes)
+
+
+
+ Users who have set work_mem based on the previous behavior should
+ revisit that setting.
- 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)
-
-
-
-
-
- Locking
+
+
+ Improve performance of the CREATE TABLE ... ON COMMIT DELETE ROWS
+ clause by only issuing delete if the temporary table was accessed
+ (Heikki Linnakangas)
+
+
-
+
+
+ Allow heap-only tuple updates on system tables (Andres Freund)
+
+
- 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)
- 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.
- Add cache of local locks (Jeff Janes)
+ Split pgstat file in per-database and global files (Tomas Vondra)
- 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.
@@ -251,42 +238,52 @@
- Authentication
+ Monitoring
- Improve LDAP error reporting and documentation (Peter Eisentraut)
+ Add optional ability to checksum data pages and report corruption
+ (Simon Riggs, Jeff Davis, Greg Smith)
+
+
+
+ The checksum option can be set during initdb.
- 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)
+
+
+
+ Previously, only superusers could terminate other sessions.
- 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)
- It is assumed DEFAULT is more appropriate cipher set.
+ Previously statistics collection would stop until the time again
+ reached the previously-stored latest time.
- 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)
- This is similar to how pg_hba.conf is processed.
+ The function is pgstatginindex() in pgstattuple.
@@ -295,52 +292,42 @@
- Monitoring
+ Authentication
- Allow the statistics collector to operate properly in cases where
- the system clock goes backwards (Tom Lane)
-
-
-
- Previously statistics collection would stop until the time again
- reached the previously-stored latest time.
+ Improve LDAP error reporting and documentation (Peter Eisentraut)
- Add optional ability to checksum data pages and report corruption
- (Simon Riggs, Jeff Davis, Greg Smith)
-
-
-
- The checksum option can be set during initdb.
+ Add support for LDAP authentication to be specified in URL format
+ (Peter Eisentraut)
- 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)
- The function is pgstatginindex() in pgstattuple.
+ It is assumed DEFAULT is more appropriate cipher set.
- 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)
- Previously, only superusers could terminate other sessions.
+ This is similar to how pg_hba.conf is processed.
@@ -367,44 +354,43 @@
- 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)
- 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.
- 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)
+
+
- 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)
-
-
- 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.
- 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)
-
-
- 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.
@@ -427,15 +413,17 @@
+
- Allow the postmaster to listen on multiple Unix-domain sockets
- (Honza Horak)
+ Remove the external PID file on postmaster exit (Peter Eisentraut)
+
+
- 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
@@ -450,6 +438,18 @@
+
+
+ Allow a streaming replication standbys to follow a timeline switch (Heikki Linnakangas)
+
+
+
+ This allows streaming standbys to feed from newly-promoted slaves.
+ Previously slaves required access to a WAL archive directory to
+ accomplish this.
+
+
+
Add SQL functions pg_backup_in_progress() and pg_backup_start_time() (Darold Gilles)
@@ -485,18 +485,6 @@
-
-
- Allow a streaming replication standbys to follow a timeline switch (Heikki Linnakangas)
-
-
-
- This allows streaming standbys to feed from newly-promoted slaves.
- Previously slaves required access to a WAL archive directory to
- accomplish this.
-
-
-
Have pg_basebackup --write-recovery-conf output a minimal
@@ -678,6 +666,37 @@
+
+ CREATE TABLE>
+
+
+
+
+
+ No longer output messages about implicit index and sequence creation (Robert Haas)
+
+
+
+ These messages now appear with DEBUG1-level output.
+
+
+
+
+
+ Allow CREATE TABLE to succeed for a non-existent schema
+ (Bruce Momjian)
+
+
+
+ Previously, CREATE TABLE IF EXIST threw an error if the schema was
+ nonexistent.
+
+
+
+
+
+
+
Constraints
@@ -822,37 +841,6 @@
-
- CREATE TABLE>
-
-
-
-
-
- No longer output messages about implicit index and sequence creation (Robert Haas)
-
-
-
- These messages now appear with DEBUG1-level output.
-
-
-
-
-
- Allow CREATE TABLE to succeed for a non-existent schema
- (Bruce Momjian)
-
-
-
- Previously, CREATE TABLE IF EXIST threw an error if the schema was
- nonexistent.
-
-
-
-
-
-
-
@@ -1698,7 +1686,7 @@
- Allow pgbench to use scale values larger than 21474 (Greg Smith)
+ Allow pgbench to use a larger scale factor (Greg Smith)