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)
- 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)
- 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)
-
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.
-
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.
-
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.
- 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.
+
- 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
+
+ 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)
-
- 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
+
+
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
-
-
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.
-
-
-
-
-
-
-
- Allow pgbench to use scale values larger than 21474 (Greg Smith)
+ Allow pgbench to use a larger scale factor (Greg Smith)