-->
- Have pg_dump dump all aspects of a database (Haribabu Kommi)
+ Have
pg_dump dump all aspects of a
+ database (Haribabu Kommi)
- Previously database attributes like GRANT/REVOKE permissions and ALTER
- DATABASE SET and ALTER ROLE IN DATABASE SET variable settings were only
- dumped by pg_dumpall. Now pg_dump --create and pg_restore --create
- will restore all database aspects. pg_dumpall -g will now only output
- role and tablespace-related attributes. pg_dumpall's output (without
- -g) is unchanged.
+ Previously database attributes like
+ GRANT/REVOKE permissions
+ and ALTER DATABASE SET and ALTER
+ ROLE IN DATABASE SET variable settings were only dumped
+ by
pg_dumpall. Now
pg_dump
+ --create and pg_restore --create will
+ restore all database aspects. pg_dumpall -g
+ will now only output role and tablespace-related attributes.
+
pg_dumpall's output (without
+ ) is unchanged.
- pg_dump and pg_restore, without --clean, no longer dump/restore database
- comments and security labels.
+ , no longer dump/restore database comments
+ and security labels.
- pg_dumpall --clean now restores the "postgres" and "template1" databases
- with the original locale and encoding settings.
+ pg_dumpall --clean now restores the "postgres"
+ and "template1" databases with the original locale and encoding
+ settings.
- A restore of pg_dumpall will now create databases with their original
- locale and encoding, and will fail if the creation fails. Previously
- CREATE DATABASE would be dumped without such specifications if the
- database locale and encoding matched the old cluster's defaults.
+ A restore of
pg_dumpall will now create
+ databases with their original locale and encoding, and will fail if
+ the creation fails. Previously CREATE DATABASE
+ would be dumped without such specifications if the database locale
+ and encoding matched the old cluster's defaults.
-->
- Correct information schema column tables.table_type to return 'FOREIGN'
- instead of 'FOREIGN TABLE' (Peter Eisentraut)
+ Correct information schema column
+ tables.table_type
+ to return FOREIGN instead of FOREIGN
+ TABLE (Peter Eisentraut)
Change the ps process display labels to match the
- pg_stat_activity.backend_type labels (Peter Eisentraut)
+ pg_stat_activity.backend_type
+ labels (Peter Eisentraut)
-->
- Prevent to_number() from consuming characters when the template
- separator does not match (Oliver Ford)
+ Prevent to_number() from consuming characters
+ when the template separator does not match (Oliver Ford)
- Specifically, SELECT to_number('1234', '9,999') used to return '134'. It
- will now return '1234'. "L" and "TH" now only consume characters that
- are not digits, positive/negative signs, decimal points, and commas.
+ Specifically, SELECT to_number('1234', '9,999')
+ used to return 134. It will now
+ return 1234. L and
+ TH now only consume characters that are not
+ digits, positive/negative signs, decimal points, and commas.
-->
- Fix to_date(), to_number(), and to_timestamp() to skip a character for
- each template character (Tom Lane)
+ Fix to_date(),
+ to_number(), and
+ to_timestamp() to skip a character for each
+ template character (Tom Lane)
-->
- Adjust the handling of backslashes inside double-quotes in template
- strings for to_char(), to_number(), and to_timestamp().
+ Adjust the handling of backslashes inside double-quotes in
+ template strings for to_char(),
+ to_number(), and
+ to_timestamp().
-->
- Have libpq's PQhost() always return the actual connected host (Hari
- Babu)
+ Have libpq's PQhost() always return the
+ actual connected host (Hari Babu)
- Previously PQhost() often returned the supplied host parameters, which
- could contain several hosts. The same is true of PQport(), which now
- returns the actual port number, not the multiple supplied port numbers.
- ACCURATE?
+ Previously PQhost() often returned the
+ supplied host parameters, which could contain several hosts.
+ The same is true of PQport(), which now
+ returns the actual port number, not the multiple supplied port
+ numbers. ACCURATE?
-->
- Remove relhaspkey column from system table pg_class (Peter Eisentraut)
+ Remove relhaspkey column from system table
+ pg_class (Peter Eisentraut)
- Applications needing to check for a primary key should consult pg_index.
+ Applications needing to check for a primary key should consult
+ pg_index.
-->
- Replace system table pg_proc's proisagg and proiswindow with prokind
- (Peter Eisentraut)
+ Replace system table pg_proc's
+ proisagg and
+ proiswindow with
+ prokind (Peter Eisentraut)
-->
- Cause large object permission checks to happen on large object open,
- lo_open(), not read/write (Tom Lane)
+ Cause large object permission checks to happen on large object
+ open, lo_open(), not read/write (Tom Lane)
-->
- Remove deprecated contrib/adminpack functions pg_file_read(),
- pg_file_length(), and pg_logfile_rotate() (Stephen Frost)
+ Remove deprecated contrib/adminpack functions
+ pg_file_read(),
+ pg_file_length(), and
+ pg_logfile_rotate() (Stephen Frost)
- These function are now present by default. Old adminpack installs will
- continue to have access to these functions until they are updated via
- ALTER EXTENSION ... UPDATE.
+ These function are now present by default. Old adminpack installs
+ will continue to have access to these functions until they are
+ updated via ALTER EXTENSION ... UPDATE.
-->
- Honor the capitalization of double-quoted command options (Daniel
- Gustafsson)
+ Honor the capitalization of double-quoted command options
+ (Daniel Gustafsson)
Previously index options names like ("FillFactor" = 50) were
- automatically lower-cased. This quoted capitalization will now generate
- an error.
+ automatically lower-cased. This quoted capitalization will now
+ generate an error.
-->
- Remove WITH clause in CREATE FUNCTION (Michael Paquier)
+ Remove WITH clause in CREATE
+ FUNCTION (Michael Paquier)
- Postgres has long supported a more standard-compliant syntax for this
- capability.
+
PostgreSQL has long supported a more
+ standard-compliant syntax for this capability.
-->
- Allow faster partition elimination during query processing (Amit Langote,
- David Rowley, Dilip Kumar)
+ Allow faster partition elimination during query processing (Amit
+ Langote, David Rowley, Dilip Kumar)
-->
- Allow partition elimination during query execution (David Rowley, Beena
- Emerson)
+ Allow partition elimination during query execution (David Rowley,
+ Beena Emerson)
- Previously partition elimination could only happen at planning time,
- meaning many joins and prepared queries could not use partition
- elimination.
+ Previously partition elimination could only happen at planning
+ time, meaning many joins and prepared queries could not use
+ partition elimination.
-->
- Allow updated rows to automatically move to new partitions based on the
- new row contents (Amit Khandekar)
+ Allow updated rows to automatically move to new partitions based
+ on the new row contents (Amit Khandekar)
- The default partition can store rows that don't match any of the other
- defined partitions, and is searched accordingly.
+ The default partition can store rows that don't match any of the
+ other defined partitions, and is searched accordingly.
-->
- Allow UNIQUE indexes on partitioned tables if the partition key
- guarantees uniqueness (Álvaro Herrera, Amit Langote)
+ Allow UNIQUE indexes on partitioned tables if
+ the partition key guarantees uniqueness (Álvaro Herrera,
+ Amit Langote)
-->
- Allow indexes on a partitioned table to be automatically created in any
- child partitions (Álvaro Herrera)
+ Allow indexes on a partitioned table to be automatically created
+ in any child partitions (Álvaro Herrera)
- The new command ALTER INDEX ATTACH PARTITION allows indexes to be attached
- to partitions. This does not behave as a global index since the
- contents are private to each index. WARN WHEN USING AN EXISTING INDEX?
+ The new command ALTER INDEX ATTACH PARTITION
+ allows indexes to be attached to partitions. This does not behave
+ as a global index since the contents are private to each index.
+ WARN WHEN USING AN EXISTING INDEX?
-->
- Allow INSERTs, UPDATEs, and COPY on partitioned tables to properly route
+ Allow INSERT, UPDATE, and
+ COPY on partitioned tables to properly route
rows to foreign partitions (Etsuro Fujita, Amit Langote)
- This is supported by postgres_fdw foreign tables.
+ This is supported by
postgres_fdw
+ foreign tables.
-->
- Allow FOR EACH ROW triggers on partitioned tables (Álvaro Herrera)
+ Allow FOR EACH ROW triggers on partitioned
+ tables (Álvaro Herrera)
Creation of a trigger on partitioned tables automatically creates
- triggers on all partition tables, and on newly-created ones. This also
- allows deferred unique constraints on partitioned tables.
+ triggers on all partition tables, and on newly-created ones.
+ This also allows deferred unique constraints on partitioned tables.
Allow equality joins between partitioned tables with identically
- partitioned child tables to join the child tables directly (Ashutosh
- Bapat)
+ partitioned child tables to join the child tables directly
+ (Ashutosh Bapat)
This features is disabled by default but can be enabled by changing
- enable_partitionwise_join.
+ enable_partitionwise_join.
This features is disabled by default but can be enabled by changing
- enable_partitionwise_aggregate.
+ enable_partitionwise_aggregate.
-->
- Allow postgres_fdw to push down aggregates to foreign tables that are
- partitions (Jeevan Chalke)
+ Allow
postgres_fdw to push down
+ aggregates to foreign tables that are partitions (Jeevan Chalke)
-->
- Allow indexes to be built in parallel (Peter
- Geoghegan, Rushabh Lathia, Heikki Linnakangas)
+ Allow indexes to be built in parallel (Peter Geoghegan, Rushabh
+ Lathia, Heikki Linnakangas)
-->
- Allow hash joins to be performed in parallel using a shared hash table
- (Thomas Munro)
+ Allow hash joins to be performed in parallel using a shared hash
+ table (Thomas Munro)
-->
- Allow UNION to run each SELECT in parallel if the individual SELECTs cannot be
- parallelized (Amit Khandekar, Robert Haas, Amul Sul)
+ Allow UNION to run each
+ SELECT in parallel if the individual
+ SELECTs cannot be parallelized (Amit Khandekar,
+ Robert Haas, Amul Sul)
-->
- Allow partition scans to more efficiently use parallel workers (Amit Khandekar, Robert
- Haas, Amul Sul)
+ Allow partition scans to more efficiently use parallel workers
+ (Amit Khandekar, Robert Haas, Amul Sul)
-->
- Allow LIMIT to be passed to parallel workers (Robert Haas, Tom Lane)
+ Allow LIMIT to be passed to parallel workers
+ (Robert Haas, Tom Lane)
- This allows workers to reduce returned results and use targeted index
- scans.
+ This allows workers to reduce returned results and use targeted
+ index scans.
-->
- Add server option parallel_leader_participation to control if the leader
- executes subplans (Thomas Munro)
+ Add server option parallel_leader_participation
+ to control if the leader executes subplans (Thomas Munro)
-->
- Allow parallelization of commands CREATE TABLE .. AS, SELECT INTO, and CREATE
- MATERIALIZED VIEW (Haribabu Kommi)
+ Allow parallelization of commands CREATE TABLE
+ .. AS, SELECT INTO, and
+ CREATE MATERIALIZED VIEW (Haribabu Kommi)
-->
- Add reporting of parallel worker sort activity to EXPLAIN (Robert Haas, Tom Lane)
+ Add reporting of parallel worker sort activity to
+ EXPLAIN (Robert Haas, Tom Lane)
-->
- Allow indexes to INCLUDE columns that are not part of the unique
- constraint but are available for index-only scans (Anastasia
- Lubennikova, Alexander Korotkov, Teodor Sigaev)
+ Allow indexes to INCLUDE columns that are not
+ part of the unique constraint but are available for index-only
+ scans (Anastasia Lubennikova, Alexander Korotkov, Teodor Sigaev)
- This is also useful for including columns that don't have btree support.
+ This is also useful for including columns that don't have btree
+ support.
-->
- Remember the highest btree index page to optimize future monotonically
- increasing index additions (Pavan Deolasee, Peter Geoghegan)
+ Remember the highest btree index page to optimize future
+ monotonically increasing index additions (Pavan Deolasee, Peter
+ Geoghegan)
-->
- Add predicate locking for Hash, GiST and GIN indexes (Shubham Barai)
+ Add predicate locking for Hash, GiST and GIN indexes (Shubham
+ Barai)
- This reduces the likelyhood of serialization conflicts. ACCURATE?
+ This reduces the likelihood of serialization conflicts. ACCURATE?
-->
- Allow heap-only-tuple (HOT) updates for expression indexes when the
- values of the expressions are unchanged (Konstantin Knizhnik)
+ Allow heap-only-tuple (
HOT) updates for
+ expression indexes when the values of the expressions are unchanged
+ (Konstantin Knizhnik)
-->
- Add TEXT prefix operator ^@ which is supported by SP-GiST (Ildus
- Kurbangaliev)
+ Add TEXT prefix operator ^@ which is supported by
+ SP-GiST (Ildus Kurbangaliev)
- This is similar to using LIKE 'word%' with btree indexes, but is more efficient.
+ This is similar to using LIKE 'word%' with
+ btree indexes, but is more efficient.
-->
- Allow polygons to be indexed with SP-GiST (Nikita Glukhov, Alexander
- Korotkov)
+ Allow polygons to be indexed with SP-GiST (Nikita Glukhov,
+ Alexander Korotkov)
-->
- Improve the selection of the optimizer statistics' most-common-values
- (Jeff Janes, Dean Rasheed)
+ Improve the selection of the optimizer statistics'
+ most-common-values (Jeff Janes, Dean Rasheed)
- Previously most-common-values (MCV) were chosen based on their
- significance compared to all column values. Now, MCV are chosen based
- on their significance compared to the non-MCV values. This improves the
- statistics for uniform (fewer) and non-uniform (more) distributions.
+ Previously most-common-values (
MCV) were
+ chosen based on their significance compared to all column
+ values. Now,
MCV are chosen based on their
+ significance compared to the non-
MCV values.
+ This improves the statistics for uniform (fewer) and non-uniform
+ (more) distributions.
-->
- Improve selectivity estimates for >= and <= when the constants are not
- common values (Tom Lane)
+ Improve selectivity estimates for >= and <= when the
+ constants are not common values (Tom Lane)
- Previously such cases used the same selectivity as > and <,
- respectively. This change is particularly useful for BETWEEN with
- small ranges.
+ Previously such cases used the same selectivity as > and
+ <, respectively. This change is particularly useful for
+ BETWEEN with small ranges.
-->
- Optimize var = var to var IS NOT NULL where equivalent (Tom Lane)
+ Optimize var = var to var IS NOT NULL where
+ equivalent (Tom Lane)
-->
- Improve row count optimizer estimates for EXISTS and NOT EXISTS queries (Tom
- Lane)
+ Improve row count optimizer estimates for EXISTS
+ and NOT EXISTS queries (Tom Lane)
-->
- Add optimizer selectivity costs for HAVING clauses (Tom Lane)
+ Add optimizer selectivity costs for HAVING
+ clauses (Tom Lane)
-->
- Add Just-In-time (JIT) compilation of plans run the by the executor
+ Add Just-In-Time (
JIT) compilation of plans
+ run the by the executor
(Andres Freund)
-->
- Allow bitmap scans to perform index-only scans when possible (Alexander
- Kuzmenkov)
+ Allow bitmap scans to perform index-only scans when possible
+ (Alexander Kuzmenkov)
-->
- Improve performance of committing multiple concurrent transactions (Amit Kapila)
+ Improve performance of committing multiple concurrent transactions
+ (Amit Kapila)
-->
- Reduce memory usage for queries using set-returning functions in their
- target lists (Andres Freund)
+ Reduce memory usage for queries using set-returning functions in
+ their target lists (Andres Freund)
-->
- Allow postgres_fdw to push UPDATEs and DELETEs using joins to foreign
- servers (Etsuro Fujita)
+ Allow
postgres_fdw to push
+ UPDATEs and DELETEs using
+ joins to foreign servers (Etsuro Fujita)
- Previously only non-join UPDATEs and DELETEs were pushed.
+ Previously only non-join UPDATEs and
+ DELETEs were pushed.
-->
- Show memory usage in log_statement_stats, log_parser_stats,
- log_planner_stats, log_executor_stats (Justin Pryzby, Peter Eisentraut)
+ Show memory usage in log_statement_stats,
+ log_parser_stats,
+ log_planner_stats,
+ log_executor_stats (Justin Pryzby, Peter
+ Eisentraut)
-->
- Add pg_stat_activity.backend_type now shows the type of background worker
-(Peter Eisentraut)
+ Add
+ pg_stat_activity.backend_type
+ now shows the type of background worker (Peter Eisentraut)
- Add bgw_type to the background worker C structure (Peter Eisentraut)
+ Add bgw_type to the background worker
+ C structure (Peter Eisentraut)
- This is displayed to the user in pg_stat_activity.backend_type and ps
- output.
+ This is displayed to the user in
+ pg_stat_activity.backend_type
-->
- Have log_autovacuum_min_duration log skipped tables that are
- concurrently being dropped (Nathan Bossart)
+ Have log_autovacuum_min_duration log skipped
+ tables that are concurrently being dropped (Nathan Bossart)
-->
- Add information_schema columns related to table constraints and triggers
- (Michael Paquier)
+ Add information_schema columns related to table constraints and
+ triggers (Michael Paquier)
- Specifically, table_constraints.enforced, triggers.action_order,
- triggers.action_reference_old_table, and
- triggers.action_reference_new_table.
+ Specifically,
+ table_constraints.enforced,
+ triggers.action_order,
+ triggers.action_reference_old_table,
+ and
+ triggers.action_reference_new_table.
-->
- Add libpq option to support channel binding when using SCRAM
- authentication (Michael Paquier)
+ Add libpq option to support channel binding when using
+
SCRAM authentication (Michael Paquier)
- Channel binding requires the server end of the TLS connection to prove
+ Channel binding requires the server end of
+ the
TLS connection to prove
that it knows the password. The options are
- 'scram_channel_binding=tls-unique' and
- 'scram_channel_binding=tls-server-end-point'.
+ and
+ .
- WHAT DOES THIS DOC TEXT MEAN? "An empty value specifies that the client will not
- use channel binding. The default value is tls-unique."
+ WHAT DOES THIS DOC TEXT MEAN? "An empty value specifies that
+ the client will not use channel binding. The default value
+ is tls-unique."
-->
- Allow the server to specify more complex LDAP specifications in
- search+bind mode (Thomas Munro)
+ Allow the server to specify more complex
LDAP
+ specifications in search+bind mode (Thomas Munro)
Specifically, "ldapsearchfilter" allows pattern matching using
- combinations of LDAP attributes.
+ combinations of
LDAP attributes.
-->
- Allow LDAP authentication to use ldaps (Thomas Munro)
+ Allow
LDAP authentication to use ldaps
+ (Thomas Munro)
- We already supported LDAP over TLS by using ldaptls=1. This new TLS
- LDAP method of encrypted LDAP is enabled with ldapscheme=ldaps or
+ We already supported
LDAP over
+
TLS by using ldaptls=1. This new
+
TLS LDAP method of encrypted
+
LDAP is enabled with ldapscheme=ldaps or
ldapurl=ldaps://.
-->
- Improve LDAP logging of errors (Thomas Munro)
+ Improve
LDAP logging of errors (Thomas Munro)
- Specifically, the new roles are: pg_read_server_files,
- pg_write_server_files, pg_execute_server_program. These roles now also
- control who can use COPY and extension file_fdw. Previously only
- super-users could use these functions, and that is still the default
- behavior.
+ Specifically, the new roles are:
+ pg_read_server_files,
+ pg_write_server_files,
+ pg_execute_server_program. These roles now
+ also control who can use COPY and extension
+
file_fdw. Previously only super-users
+ could use these functions, and that is still the default behavior.
-->
- Allow access to file system functions to be controlled by GRANT/REVOKE
- permissions, rather than super-user checks (Michael Paquier)
+ Allow access to file system functions to be controlled by
+ GRANT/REVOKE permissions,
+ rather than super-user checks (Michael Paquier)
- Specifically, these functions were modified: pg_ls_dir(), pg_read_file(),
- pg_read_binary_file(), pg_stat_file().
+ Specifically, these functions were
+ modified: pg_ls_dir(),
+ pg_read_file(),
+ pg_read_binary_file(),
+ pg_stat_file().
-->
- Use GRANT/REVOKE to control access to lo_import() and lo_export()
- (Michael Paquier)
+ Use GRANT/REVOKE
+ to control access to lo_import() and
+ lo_export() (Michael Paquier)
-->
- Use view owner not session owner when preventing non-password access to
- postgres_fdw tables (Robert Haas)
+ Use view owner not session owner when preventing non-password
+ access to
postgres_fdw tables
+ (Robert Haas)
- Postgres only allows super-users to access postgres_fdw tables without
- passwords, e.g. via peer. Previously the session owner had to be a
- super-user to allow such access; now the view owner is checked instead.
+
PostgreSQL only allows super-users to
+ access
postgres_fdw tables without
+ passwords, e.g. via peer. Previously the session owner had to
+ be a super-user to allow such access; now the view owner is
+ checked instead.
-->
- Fix invalid locking permission check in SELECT FOR UPDATE on views (Tom
- Lane)
+ Fix invalid locking permission check in SELECT FOR
+ UPDATE on views (Tom Lane)
-->
- Add server setting ssl_passphrase_command to allow supplying of the the
- passphrase for SSL key files (Peter Eisentraut)
+ Add server setting ssl_passphrase_command to
+ allow supplying of the the passphrase for
SSL
+ key files (Peter Eisentraut)
- Also add ssl_passphrase_command_supports_reload to specify whether the
- the SSL configuration should be reloaded and ssl_passphrase_command
+ Also add ssl_passphrase_command_supports_reload
+ to specify whether the the
SSL configuration
+ should be reloaded and ssl_passphrase_command
called during a server configuration reload.
-->
- Add server variable toast_tuple_target to control the minimum length
- before TOAST storage will be considered for new rows (Simon Riggs)
+ Add server variable toast_tuple_target
+ to control the minimum length before
TOAST
+ storage will be considered for new rows (Simon Riggs)
- The default TOAST threshold has not been changed.
+ The default
TOAST threshold has not been
+ changed.
-->
- Allow bytes to be specified for server variable sizes (Beena Emerson)
+ Allow bytes to be specified for server variable sizes (Beena
+ Emerson)
-->
- Allow the WAL file size to be set via initdb (Beena Emerson)
+ Allow the
WAL file size to be set via initdb
+ (Beena Emerson)
-->
- No longer retain WAL that spans two checkpoints (Simon Riggs)
+ No longer retain
WAL that spans two checkpoints
+ (Simon Riggs)
- The retention of WAL records for only one checkpoint is required.
+ The retention of
WAL records for only one
+ checkpoint is required.
-->
- Fill the unused portion of force-switched WAL segment files with zeros
- for improved compressibility (Chapman Flack)
+ Fill the unused portion of force-switched
WAL
+ segment files with zeros for improved compressibility (Chapman
+ Flack)
-->
- Replicate TRUNCATE activity when using logical replication (Simon Riggs,
- Marco Nenciarini, Peter Eisentraut)
+ Replicate TRUNCATE activity when using logical
+ replication (Simon Riggs, Marco Nenciarini, Peter Eisentraut)
-->
- Pass prepared transaction information to logical replication subscribers
- (Nikhil Sontakke, Stas Kelvich)
+ Pass prepared transaction information to logical replication
+ subscribers (Nikhil Sontakke, Stas Kelvich)
-->
- Exclude unlogged and temporary tables from streaming base backups (David
- Steele)
+ Exclude unlogged and temporary tables from streaming base backups
+ (David Steele)
-->
- Allow heap pages checksums to be checked during streaming base backup
- (Michael Banck)
+ Allow heap pages checksums to be checked during streaming base
+ backup (Michael Banck)
-->
- Allow replication slots to be advanced programatically, rather than be
- consumed by subscribers (Petr Jelinek)
+ Allow replication slots to be advanced programatically, rather
+ than be consumed by subscribers (Petr Jelinek)
- This allows efficient advancement replication slots when the contents do
- not need to be consumed. This is performed by pg_replication_slot_advance().
+ This allows efficient advancement replication slots when the
+ contents do not need to be consumed. This is performed by
+ pg_replication_slot_advance().
-->
- Add timeline information to the backup_label file (Simon Riggs)
+ Add timeline information to the backup_label
+ file (Simon Riggs)
- Also add a check that the WAL timeline matches the backup_label file's
- timeline.
+ Also add a check that the
WAL timeline matches
+ the backup_label file's timeline.
-->
- Add host and port connection information to the pg_stat_wal_receiver
- system view (Haribabu Kommi)
+ Add host and port connection information to the
+ pg_stat_wal_receiver system view
+ (Haribabu Kommi)
-->
- Document that pg_internal.init files do not need to be included in the
- base backup (David Steele)
+ Document that pg_internal.init files do not
+ need to be included in the base backup (David Steele)
-->
- Add window function features to complete SQL:2011 compliance (Oliver
- Ford, Tom Lane)
+ Add window function features to complete SQL:2011 compliance
+ (Oliver Ford, Tom Lane)
- Specifically, allow RANGE mode to use PRECEDING and FOLLOWING to specify
- peer groups with values plus or minus the specified offset. Add
- GROUPS mode to include plus or minus the number of peer groups. Frame
- exclusion syntax was also added.
+ Specifically, allow RANGE mode to use
+ PRECEDING and FOLLOWING to
+ specify peer groups with values plus or minus the specified offset.
+ Add GROUPS mode to include plus or minus the
+ number of peer groups. Frame exclusion syntax was also added.
-->
- Allow NOT NULL to be added to columns without requiring a table rewrite
- (Andrew Dunstan, Serge Rielau)
+ Allow NOT NULL to be added to columns without
+ requiring a table rewrite (Andrew Dunstan, Serge Rielau)
-->
- Allow views to be locked by locking the underlying tables (Yugo Nagata)
+ Allow views to be locked by locking the underlying tables
+ (Yugo Nagata)
-->
- Allow ALTER INDEX to set statistics-gathering targets for expression
- indexes (Alexander Korotkov, Adrien nayrat)
+ Allow ALTER INDEX to set statistics-gathering
+ targets for expression indexes (Alexander Korotkov, Adrien nayrat)
- In psql, \d+ now shows the statistics target for indexes.
+ In
psql, \d+ now shows the statistics
+ target for indexes.
-->
- Allow multiple tables to be specified in one VACUUM or ANALYZE command
+ Allow multiple tables to be specified in one
+ VACUUM or ANALYZE command
(Nathan Bossart)
- Also, if any table mentioned in VACUUM uses a column list, then ANALYZE
- keyword must be supplied; previously ANALYZE was implied in such cases.
+ Also, if any table mentioned in VACUUM uses
+ a column list, then ANALYZE keyword must be
+ supplied; previously ANALYZE was implied in
+ such cases.
-->
- Add parenthesized options syntax to ANALYZE (Nathan Bossart)
+ Add parenthesized options syntax to ANALYZE
+ (Nathan Bossart)
- This is similar to the syntax supported by VACUUM.
+ This is similar to the syntax supported by
+ VACUUM.
-->
- Add CREATE AGGREGATE option to specify the behavior of the aggregate
- finalization function (Tom Lane)
+ Add CREATE AGGREGATE option to specify the
+ behavior of the aggregate finalization function (Tom Lane)
- This is useful for allowing aggregate functions be optimized and to work
- as window functions.
+ This is useful for allowing aggregate functions be optimized and
+ to work as window functions.
- This also allows array_agg() to be used on domains.
+ This also allows array_agg() to be used
+ on domains.
- Also allow PL/PL/Perl, PL/Python, and PL/Tcl to handle composite-domain
- function arguments and results. Also improve PL/Python domain handling.
+ Also allow PL/PL/Perl, PL/Python, and PL/Tcl to handle
+ composite-domain function arguments and results. Also improve
+ PL/Python domain handling.
-->
- Add SHA-2 family of hash functions (Peter Eisentraut)
+ Add
SHA-2 family of hash functions (Peter
+ Eisentraut)
- Specifically, sha224(), sha256(), sha384(), sha512() were added.
+ Specifically, sha224(),
+ sha256(), sha384(),
+ sha512() were added.
-->
- Add support for 64-bit non-cryptographic hash functions (Robert Haas, Amul Sul)
+ Add support for 64-bit non-cryptographic hash functions (Robert
+ Haas, Amul Sul)
-->
- Allow to_char() and to_timestamp() to specify the time zone's hours and
- minutes from UTC (Nikita Glukhov, Andrew Dunstan)
+ Allow to_char() and
+ to_timestamp() to specify the time zone's
+ hours and minutes from
UTC (Nikita Glukhov,
+ Andrew Dunstan)
- This is done with format specifications TZH and TZM.
-
+ This is done with format specifications TZH
+ and TZM.
+
+
+
+
-
Improve the speed of aggregate computations (Andres Freund)
-->
- Add text search function websearch_to_tsquery() that supports a queries
- syntax similar to that used by web search engines (Victor Drobny, Dmitry
- Ivanov)
+ Add text search function
+ websearch_to_tsquery() that supports a queries
+ syntax similar to that used by web search engines (Victor Drobny,
+ Dmitry Ivanov)
-->
- Add functionjson(b)_to_tsvector to create usable text search queries
- matching JSON/JSONB values (Dmitry Dolgov)
+ Add function json(b)_to_tsvector() to create
+ text search query for matching JSON/JSONB
+ values (Dmitry Dolgov)
-->
- Add SQL procedures, which can start and commit their own transactions
+ Add SQL procedures, which can start and commit their own
+ transactions
(Peter Eisentraut)
- They are created with the new CREATE PROCEDURE command and invoked via
- CALL. The new ALTER/DROP ROUTINE commands allows altering/dropping of
- procedures, functions, and aggregates.
+ They are created with the new CREATE PROCEDURE
+ command and invoked via CALL. The new
+ ALTER/DROP ROUTINE commands
+ allows altering/dropping of procedures, functions, and aggregates.
-->
- Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl, and SPI
- server-side languages (Peter Eisentraut)
+ Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl,
+
and SPI server-side languages (Peter Eisentraut)
- Transaction control is only available to top-transaction-level CALLs or
- in nested PL/pgSQL DO and CALL blocks that only contain other PL/pgSQL
- DO and CALL blocks. ACCURATE?
+ Transaction control is only available to top-transaction-level
+ CALLs or in nested PL/pgSQL DO and
+ CALL blocks that only contain other PL/pgSQL
+ DO and CALL blocks.
+ ACCURATE?
-->
- Add the ability to define PL/pgSQL record types as not null, constant, or
- with initial values (Tom Lane)
+ Add the ability to define PL/pgSQL record types as not null,
+ constant, or with initial values (Tom Lane)
-->
- Add extension jsonb_plpython to transform JSONB to/from PL/Python
- types (Anthony Bykov)
+ Add extension
jsonb_plpython to
+ transform JSONB to/from PL/Python types (Anthony
+ Bykov)
-->
- Add extension jsonb_plpython to transform JSONB to/from PL/Perl types
- (Anthony Bykov)
+ Add extension
jsonb_plperl to
+ transform JSONB to/from PL/Perl types (Anthony Bykov)
- Compression is already disabled in modern OpenSSL versions and the libpq
- setting had no effect in that case.
+ Compression is already disabled in modern OpenSSL versions and
+ the libpq setting had no effect in that case.
- Add DO CONTINUE action to the ECPG WHENEVER statement (Vinayak Pokale)
+ Add DO CONTINUE action to the ECPG
+ WHENEVER statement (Vinayak Pokale)
- This generates a C 'continue' statement, causing a return to the top of
- the contained loop when the specified condition occurs.
+ This generates a C 'continue' statement, causing a return to the
+ top of the contained loop when the specified condition occurs.
- This mode is enabled with -C.
+ This mode is enabled with .
-->
- Add psql command \gdesc to display the column names and types of the
- query output (Pavel Stehule)
+ Add
psql command \gdesc to display
+ the column names and types of the query output (Pavel Stehule)
-->
- Add psql variables to report query activity and errors (Fabien Coelho)
+ Add
psql variables to report query
+ activity and errors (Fabien Coelho)
- Specifically, the new variables are ERROR, SQLSTATE, ROW_COUNT,
- LAST_ERROR_MESSAGE, and LAST_ERROR_SQLSTATE.
+ Specifically, the new variables are ERROR,
+ SQLSTATE, ROW_COUNT,
+ LAST_ERROR_MESSAGE, and
+ LAST_ERROR_SQLSTATE.
-->
- Allow psql to test for the existence of a variable (Fabien Coelho)
+ Allow
psql to test for the existence
+ of a variable (Fabien Coelho)
- Specifically , the syntax :{?variable_name} allows a variable's
- existence to be tested in an \if statement.
+ Specifically , the syntax :{?variable_name}
+ allows a variable's existence to be tested in an \if statement.
-->
- Add PSQL_PAGER to control psql's pager (Pavel Stehule)
+ Add PSQL_PAGER to control
+
psql's pager (Pavel Stehule)
- This allows psql's default pager to be specified as a separate environment
- variable from the pager for other applications. PAGER is still honored
- if PSQL_PAGER is not set.
+ This allows
psql's default pager to
+ be specified as a separate environment variable from the pager
+ for other applications. PAGER is still honored
+ if PSQL_PAGER is not set.
-->
- Have psql \d+ show a partition count of zero (Amit Langote)
+ Have
psql \d+ show a partition count
+ of zero (Amit Langote)
- Previously no partition information would be displayed for such tables.
- Also indicate which partitions are themselves partitioned.
+ Previously no partition information would be displayed for such
+ tables. Also indicate which partitions are themselves partitioned.
ACCURATE?
-->
- Have psql report the proper user name before the password prompt (Tom
- Lane)
+ Have
psql report the proper user name
+ before the password prompt (Tom Lane)
- Previously, combinations of -U and a user name embedded in a URI caused
- incorrect reporting. Also suppress the user name before the password
- prompt when --password is specified.
+ Previously, combinations of and a user name
+ embedded in a
URI caused incorrect reporting.
+ Also suppress the user name before the password prompt when
+ is specified.
-->
- Allow 'quit' and 'exit' to exit psql when used in an empty buffer (Bruce
- Momjian)
+ Allow 'quit' and 'exit' to exit
psql
+ when used in an empty buffer (Bruce Momjian)
- Also add hints of how to exit when 'quit' and 'exit' are used alone on a
- line in a non-empty buffer. Add a similar hint for 'help'.
+ Also add hints of how to exit when 'quit' and 'exit' are used alone
+ on a line in a non-empty buffer. Add a similar hint for 'help'.
-->
- Have psql hint at using control-D when \q is entered alone on a line but
- ignored (Bruce Momjian)
+ Have
psql hint at using control-D when
+ \q is entered alone on a line but ignored (Bruce Momjian)
-->
- Improve tab-completion for ALTER INDEX RESET/SET (Masahiko Sawada)
+ Improve tab-completion for ALTER INDEX
+ RESET/SET (Masahiko Sawada)
-->
- Add infrastructure to allow psql to customize tab completion queries
- based on the server version (Tom Lane)
+ Add infrastructure to allow
psql
+ to customize tab completion queries based on the server version
+ (Tom Lane)
-->
- Add major scripting features to pgbench (Fabien Coelho)
+ Add pgbench expressions support for NULLs, booleans, and some
+ functions and operators (Fabien Coelho)
-->
- Add \if macro support to pgbench (Fabien Coelho)
+ Add \if conditional support to pgbench (Fabien Coelho)
-->
- Allow the use of non-ASCII characters in pgbench variable names (Fabien
- Coelho)
+ Allow the use of non-
ASCII characters in
+ pgbench variable names (Fabien Coelho)
-->
- Add pgbench option --init-steps to control the initialization steps
- performed (Masahiko Sawada)
+ Add pgbench option to control the
+ initialization steps performed (Masahiko Sawada)
-->
- Add approximated Zipfian-distributed random generator to pgbench (Alik
- Khilazhev)
+ Add approximated Zipfian-distributed random generator to pgbench
+ (Alik Khilazhev)
-->
- Allow pgbench to do exponentiation with pow() and power() (Raúl
- Marín Rodríguez)
+ Allow pgbench to do exponentiation with pow()
+ and power() (Raúl Marín
+ Rodríguez)
-->
- Make pgbench statistics more accurate when using --latency-limit and
- --rate (Fabien Coelho)
+ Make pgbench statistics more accurate when using
+ and
+ (Fabien Coelho)
-->
- Add pg_basebackup option to create a named replication slot (Michael Banck)
+ Add
pg_basebackup option to create a
+ named replication slot (Michael Banck)
- The option --create-slot creates the named replication slot (--slot)
- when the WAL streaming method (-wal-method=stream) is used.
+ The option creates
+ the named replication slot ()
+ when the
WAL streaming method
+ () is used.
- IS IT CLEAR FROM THE DOCS THAT THE REPLICATION SLOT IS NOT TEMPORARY?
+ IS IT CLEAR FROM THE DOCS THAT THE REPLICATION SLOT IS NOT
+ TEMPORARY?
-->
- Allow initdb to set group read access to the data directory (David
- Steele)
+ Allow initdb to set group read access to the data directory
+ (David Steele)
- This is accomplished with the initdb --allow-group-access flag.
- Administrators can also set group permissions on the empty data
- directory before running initdb. Server variable data_directory_mode
- allows reading of data directory group permissions.
+ This is accomplished with the initdb
+ flag. Administrators
+ can also set group permissions on the empty data
+ directory before running initdb. Server variable
+ data_directory_mode allows reading of data
+ directory group permissions.
-->
- Add pg_verify_checksums tool to verify database checksums while offline
- (Magnus Hagander)
+ Add
pg_verify_checksums tool to verify
+ database checksums while offline (Magnus Hagander)
-->
- Allow pg_resetwal to change the WAL segment size via --wal-segsize (Nathan
- Bossart)
+ change the
WAL segment size via
+ (Nathan Bossart)
-->
- Add long options to pg_resetwal and pg_controldata (Nathan Bossart,
+ Add long options to
pg_resetwal
+ and
pg_controldata (Nathan Bossart,
Peter Eisentraut)
-->
- Add pg_receivewal option --no-sync to prevent synchronous WAL writes
- (Michael Paquier)
+ Add
pg_receivewal option
+ to prevent synchronous
+
WAL writes (Michael Paquier)
-->
- Add pg_receivewal option --endpos to specify when WAL receiving should
- stop (Michael Paquier)
+ Add
pg_receivewal option
+
to specify when
WAL
+ receiving should stop (Michael Paquier)
-->
- Allow pg_ctl to send the SIGKILL signal to processes (Andres Freund)
+ Allow
pg_ctl to send the
+ SIGKILL signal to processes (Andres Freund)
-->
- Reduce the number of files copied by pg_rewind (Michael Paquier)
+ Reduce the number of files copied by
+
pg_rewind (Michael Paquier)
-->
- Prevent pg_rewind from running as root (Magnus Hagander)
+ Prevent
pg_rewind from running as
+ root (Magnus Hagander)
-->
- Add pg_dumpall option --encoding to control encoding (Michael Paquier)
+ to control encoding (Michael Paquier)
- pg_dump already had this option.
+
pg_dump already had this option.
-->
- Add pg_dump option --load-via-partition-root to force loading of data
- into the partition's root table, rather than the original partitions
+ to force loading of
+ data into the partition's root table, rather than the original
+ partitions
(Rushabh Lathia)
This is useful if the system to be loaded has a different collation
- definitions or endianness, requiring the rows to be stored in different partitions.
+ definitions or endianness, requiring the rows to be stored in
+ different partitions.
-->
- Add ability to suppress dumping and restoring of comments (Robins Tharakan)
+ Add ability to suppress dumping and restoring of comments
+ (Robins Tharakan)
- The new pg_dump, pg_dumpall, and pg_restore option is --no-comments.
+ .
-->
- Add support for with huge(large) pages on Windows (Takayuki Tsunakawa,
- Thomas Munro)
+ Add support for with huge(large) pages on Windows (Takayuki
+ Tsunakawa, Thomas Munro)
-->
- Add support for ARMv8 hardware CRC calculations (Yuqi Gu, Heikki Linnakangas)
+ Add support for
ARMv8 hardware
+
CRC calculations (Yuqi Gu, Heikki Linnakangas)
-->
- Add configure flag --with-llvm to test for LLVM support (Andres Freund)
+ Add configure flag to test for
+
LLVM support (Andres Freund)
-->
- Have configure check for the availability of a C++ compiler (Andres
- Freund)
+ Have configure check for the availability of a C++ compiler
+ (Andres Freund)
-->
- Convert documentation to DocBook XML (Peter Eisentraut, Alexander
- Lakhin, Jürgen Purtz)
+ Convert documentation to DocBook
XML (Peter
+ Eisentraut, Alexander Lakhin, Jürgen Purtz)
- The file names still use an 'sgml' extension for compatibility with back
- branches.
+ The file names still use an 'sgml' extension for compatibility
+ with back branches.
-->
- Overhaul the way system tables are defined for bootstrap use (John
- Naylor)
+ Overhaul the way system tables are defined for bootstrap use
+ (John Naylor)
-->
- Allow background workers to attach to databases that normally disallow
- connections (Magnus Hagander)
+ Allow background workers to attach to databases that normally
+ disallow connections (Magnus Hagander)
-->
- Speed up lookups of builtin function names matching oids (Andres Freund)
+ Speed up lookups of builtin function names matching oids (Andres
+ Freund)
-->
- Make the computation of system column pg_class.reltuples consistent
+ Make the computation of system column
+ pg_class.reltuples
+ consistent
(Tomas Vondra)
- Replacement sorts were determined to be no longer useful. Also remove
- server variable replacement sorts.
+ Replacement sorts were determined to be no longer useful.
+ Also remove server variable replacement sorts.
-->
- Allow extension pg_prewarm to restore the previous shared buffer
- contents on startup (Mithun Cy, Robert Haas)
+ Allow extension
pg_prewarm to restore
+ the previous shared buffer contents on startup (Mithun Cy,
+ Robert Haas)
- This is accomplished by having pg_prewarm store the shared buffer
- relation/offset values to disk occasionally during server operation and
- shutdown.
+ This is accomplished by having
+
pg_prewarm store the shared buffer
+ relation/offset values to disk occasionally during server operation
+ and shutdown.
-->
- Add pgtrgm function strict_word_similarity() to compute the similarity
- of whole words (Alexander Korotkov)
+ Add pgtrgm function strict_word_similarity()
+ to compute the similarity of whole words (Alexander Korotkov)
- The function word_similarity() already existed for this purpose, but it
- was designed to find similar parts of words, while
- strict_word_similarity() computes the similarity to whole words.
+ The function word_similarity() already
+ existed for this purpose, but it was designed to find similar
+ parts of words, while strict_word_similarity()
+ computes the similarity to whole words.
-->
- Allow creation of indexes on citext-extension columns that can be used
- by LIKE comparisons (Alexey Chernyshov)
+ Allow creation of indexes on citext-extension columns that can
+ be used by LIKE comparisons (Alexey Chernyshov)
- Specifically, indexes must be created using the citext_pattern_ops
- operator class.
+ Specifically, indexes must be created using the
+ citext_pattern_ops operator class.
-->
- Allow btree_gin to index bool, bpchar, name and uuid data types (Matheus
- Oliveira)
+ Allow
btree_gin to index
+ bool, bpchar, name and
+ uuid data types (Matheus Oliveira)
-->
- Allow cube and seg extensions using GiST indexes to perform index-only
- scans (Andrey Borodin)
+ Allow cube and seg extensions using GiST indexes to perform
+ index-only scans (Andrey Borodin)
-->
- Allow retrieval of negative cube coordinates using the ~> operator
- (Alexander Korotkov)
+ Allow retrieval of negative cube coordinates using the ~>
+ operator (Alexander Korotkov)
-->
- Add Vietnamese letter detection to the unaccent extension (Dang Minh Huong, Michael Paquier)
+ Add Vietnamese letter detection to the unaccent extension (Dang
+ Minh Huong, Michael Paquier)
-->
- Enhance contrib/amcheck to check that each heap tuple has an index entry
+ Enhance contrib/amcheck to check that each heap tuple has an
+ index entry
(Peter Geoghegan)
- Previously only super-users could call adminpack functions; now role
- permissions are checked.
+ Previously only super-users could call adminpack functions;
+ now role permissions are checked.
-->
- Increase pg_stat_statement's query id to 64 bits (Robert Haas)
+ Increase pg_stat_statement's query id
+ to 64 bits (Robert Haas)
- This greatly reduces the chance of query id hash collisions. The query
- id can now potentially display as a negative value.
+ This greatly reduces the chance of query id hash collisions.
+ The query id can now potentially display as a negative value.
-->
- Install errcodes.txt to provide access to the error codes reported by
- Postgres (Thomas Munro)
+ Install errcodes.txt to provide access to the error codes reported
+
by PostgreSQL (Thomas Munro)
-->
- Prevent extensions from creating custom server variables that take a
- quoted list of values (Tom Lane)
+ Prevent extensions from creating custom server variables that
+ take a quoted list of values (Tom Lane)
-->
- Remove contrib/start-scripts/osx since they are no longer recommended
- (Tom Lane)
+ Remove contrib/start-scripts/osx since they are no longer
+ recommended (Tom Lane)
- This extension no longer served as a usable security tool or example of
- how to write an extension.
+ This extension no longer served as a usable security tool or
+ example of how to write an extension.