diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml
index ca42f28cc9f..0d6b921f5b0 100644
--- a/doc/src/sgml/release-11.sgml
+++ b/doc/src/sgml/release-11.sgml
@@ -6,7 +6,7 @@
Release date:
- 2018-10-?? (CURRENT AS OF 2018-09-20)
+ 2018-10-18
@@ -29,18 +29,6 @@
Partitioning by a hash key
-
-
- UPDATE statements that change a partition key
- now move affected rows to the appropriate partitions
-
-
-
-
- Improved SELECT performance from enhanced partition
- elimination strategies during query processing and execution
-
-
Support for PRIMARY KEY, FOREIGN
@@ -49,8 +37,20 @@
- Having a "default" partition for storing data that does not match any
- of the remaining partitions
+ Allow creation of a default partition for storing
+ data that does not match any of the remaining partitions
+
+
+
+
+ UPDATE statements that change a partition key
+ column now move affected rows to the appropriate partitions
+
+
+
+
+ Improved SELECT performance due to enhanced
+ partition elimination strategies during query processing
@@ -63,21 +63,22 @@
- B-tree indexes can now be built in parallel with
- CREATE INDEX
+ CREATE INDEX can now use parallel processing
+ while building B-tree indexes
- Parallelized CREATE TABLE .. AS,
+ Parallelization is now possible in CREATE TABLE
+ ... AS,
CREATE MATERIALIZED VIEW, and certain
queries using UNION
- Performance improvements for parallelized hash joins and parallelized
- sequential scans
+ Parallelized hash joins and parallelized sequential scans now
+ perform better
@@ -86,17 +87,14 @@
- SQL stored procedures that support embedded transactions. Stored
- procedures can be created with
- CREATE PROCEDURE and executed with
- CALL
+ SQL stored procedures that support embedded transactions
- Optional Just-in-Time (JIT) compilation of some SQL code, including
- support for fast evaluation of expressions
+ Optional Just-in-Time (JIT) compilation for some SQL code, speeding
+ evaluation of expressions
@@ -111,7 +109,7 @@
- Covering indexes, which can be utilized using the
+ Covering indexes can now be created, using the
INCLUDE clause of CREATE INDEX
@@ -119,7 +117,7 @@
Many other useful performance improvements, including making
- ALTER TABLE .. ADD COLUMN with a
+ ALTER TABLE ... ADD COLUMN with a
non-null column default faster
@@ -157,74 +155,48 @@
-->
- Have pg_dump
- dump all aspects of a database (Haribabu Kommi)
+ dump the properties of a database, not just its contents
+ (Haribabu Kommi)
- Previously database attributes like
+ Previously, attributes of the database itself, such as database-level
GRANT/REVOKE permissions and
- ALTER DATABASE SET and ALTER ROLE IN
- DATABASE SET variable settings were only dumped by pg_dumpall.
+ ALTER 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
+ pg_restore --create will restore these database
+ properties in addition to the objects within the
+ database. pg_dumpall -g now only dumps role-
+ and tablespace-related attributes.
+ pg_dumpall's complete output (without
) is unchanged.
pg_dump and
pg_restore, without
- , no longer dump/restore database comments
- and security labels.
+ , no longer dump/restore database-level
+ comments and security labels; those are now treated as properties of
+ the database.
- 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
+ pg_dumpall's output script will now always
+ create databases with their original locale and encoding, and hence
+ will fail if the locale or encoding name is unknown to the
+ destination system. Previously CREATE DATABASE
+ would be emitted without these 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)
-
-
-
- This new output matches the SQL standard.
-
-
-
-
-
-
-
- Change the ps process display
- labels for background workers to match the pg_stat_activity.backend_type
- labels (Peter Eisentraut)
+ pg_dumpall --clean now restores the original
+ locale and encoding settings of the postgres
+ and template1 databases, as well as those of
+ user-created databases.
@@ -257,6 +229,24 @@
+
+ Fully enforce uniqueness of table and domain constraint names
+ (Tom Lane)
+
+
+
+ PostgreSQL expects the names of a table's
+ constraints to be distinct, and likewise for the names of a domain's
+ constraints. However, there was not rigid enforcement of this, and
+ previously there were corner cases where duplicate names could be
+ created.
+
+
+
+
+
- In the Extended Query
- Protocol, have statement_timeout
- apply to each Execute message, not to all commands before Sync
- (Tatsuo Ishii, Andres Freund)
+ In the extended query
+ protocol,
+ make statement_timeout
+ apply to each Execute message separately, not to all commands before
+ Sync (Tatsuo Ishii, Andres Freund)
@@ -377,8 +370,8 @@
-->
- Remove relhaspkey column from system
- table pg_class (Peter Eisentraut)
+ Remove the relhaspkey column from system
+ catalog pg_class (Peter Eisentraut)
@@ -393,29 +386,79 @@
-->
- Replace system table pg_proc's
+ Replace system catalog pg_proc's
proisagg and
- proiswindow with
+ proiswindow columns with
prokind (Peter Eisentraut)
- This new column more clearly identifies functions, procedures,
+ This new column more clearly distinguishes functions, procedures,
aggregates, and window functions.
+
+
+ Correct information schema column tables.table_type
+ to return FOREIGN instead of FOREIGN
+ TABLE (Peter Eisentraut)
+
+
+
+ This new output matches the SQL standard.
+
+
+
+
+
+
+
+ Change the ps process display
+ labels for background workers to match the pg_stat_activity.backend_type
+ labels (Peter Eisentraut)
+
+
+
+
+
Cause large object permission checks
- to happen on large object open, lo_open(), not
- read/write (Tom Lane, Michael Paquier)
+ when a read or write is attempted (Tom Lane, Michael Paquier)
+
+
+
+ If write access is requested and not available, an error will now be
+ thrown even if the large object is never written to.
+
+
+
+
+
+
+ Prevent non-superusers from reindexing shared catalogs
+ (Michael Paquier, Robert Haas)
+
+
+
+ Previously, database owners were also allowed to do this, but
+ now it is considered outside the bounds of their privileges.
@@ -425,17 +468,18 @@
-->
- Remove deprecated contrib/adminpack functions
+ Remove deprecated adminpack functions
pg_file_read(),
pg_file_length(), and
pg_logfile_rotate() (Stephen Frost)
- These functions are now present by default. Old adminpack
- installs will continue to have access to these functions until
- they are updated via ALTER EXTENSION ... UPDATE.
+ Equivalent functionality is now present in the core backend.
+ Existing adminpack installs will continue to have
+ access to these functions until they are updated via ALTER
+ EXTENSION ... UPDATE.
@@ -450,8 +494,10 @@
- Previously index options names like ("FillFactor" = 50) were
- automatically lower-cased. This quoted capitalization will now
+ Previously, option names in certain SQL commands were forcibly
+ lower-cased even if entered with double quotes; thus for example
+ "FillFactor" would be accepted as an index storage
+ option, though properly its name is lower-case. Such cases will now
generate an error.
@@ -462,7 +508,7 @@
-->
- Remove server variable replacement_sort_tuples
+ Remove server parameter replacement_sort_tuples
(Peter Geoghegan)
@@ -512,6 +558,120 @@
+
+
+ Allow the creation of partitions based on hashing a key column
+ (Amul Sul)
+
+
+
+
+
+
+
+ Allow UNIQUE indexes on partitioned tables if
+ the partition key is part of the index (Álvaro Herrera,
+ Amit Langote)
+
+
+
+
+
+
+
+ Allow indexes on a partitioned table to be automatically created
+ in new 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.
+
+
+
+
+
+
+
+ Allow foreign keys on partitioned tables (Álvaro Herrera)
+
+
+
+
+
+
+
+ Allow FOR EACH ROW triggers on partitioned
+ tables (Álvaro Herrera)
+
+
+
+ Creation of a trigger on a partitioned table automatically creates
+ triggers on all existing partitions, and on newly-created ones.
+ This also allows deferred unique constraints on partitioned tables.
+
+
+
+
+
+
+
+ Allow partitioned tables to have a default partition (Jeevan Ladhe,
+ Beena Emerson, Ashutosh Bapat, Rahila Syed, Robert Haas)
+
+
+
+ The default partition will store rows that don't match any of the
+ other defined partitions, and is searched accordingly.
+
+
+
+
+
+
+
+ Allow updated rows to automatically move to new partitions based
+ on the new row contents (Amit Khandekar)
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+
-
-
- Allow the creation of partitions based on hashing a key (Amul Sul)
-
-
-
-
-
-
-
- Allow updated rows to automatically move to new partitions based
- on the new row contents (Amit Khandekar)
-
-
-
-
-
-
-
- Allow partitioned tables to have a default partition (Jeevan Ladhe,
- Beena Emerson, Ashutosh Bapat, Rahila Syed, Robert Haas)
-
-
-
- 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 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.
-
-
-
-
-
-
-
- Allow foreign keys on partitioned tables (Álvaro Herrera)
-
-
-
-
-
-
-
- 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.
-
-
-
-
-
-
-
- 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.
-
-
-
-
-
- Add server option parallel_leader_participation
- to control if the leader executes subplans (Thomas Munro)
+ to control whether the leader also executes subplans (Thomas Munro)
@@ -821,7 +868,7 @@ same commits as above
Allow parallelization of commands CREATE TABLE
- .. AS, SELECT INTO, and
+ ... AS, SELECT INTO, and
CREATE MATERIALIZED VIEW (Haribabu Kommi)
@@ -844,7 +891,7 @@ same commits as above
-->
- Add reporting of parallel worker sort activity to
+ Add reporting of parallel workers' sort activity in
EXPLAIN (Robert Haas, Tom Lane)
@@ -865,16 +912,18 @@ same commits as above
-->
- 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 B-tree indexes to include columns that are not part of the
+ search key or unique constraint, but are available to be read by
+ index-only scans (Anastasia Lubennikova, Alexander Korotkov, Teodor
+ Sigaev)
- This is also useful for including columns that don't have btree
- support.
+ This is enabled by the new INCLUDE clause of CREATE INDEX.
+ It facilitates building covering indexes that optimize
+ specific types of queries. Columns can be included even if their
+ data types don't have B-tree support.
@@ -885,9 +934,8 @@ same commits as above
-->
- Remember the highest btree index page to optimize future
- monotonically increasing index additions (Pavan Deolasee, Peter
- Geoghegan)
+ Improve performance of monotonically increasing index additions
+ (Pavan Deolasee, Peter Geoghegan)
@@ -897,12 +945,7 @@ same commits as above
-->
- Allow entire hash index pages to be scanned (Ashutosh Sharma)
-
-
-
- Previously for each hash index entry, we need to refind the scan
- position within the page. This cuts down on lock/unlock traffic.
+ Improve performance of hash index scans (Ashutosh Sharma)
@@ -919,7 +962,8 @@ same commits as above
- This reduces the likelihood of serialization conflicts.
+ This reduces the likelihood of serialization conflicts in
+ serializable-mode transactions.
@@ -949,13 +993,14 @@ same commits as above
-->
- Add TEXT prefix operator ^@ which is supported by
- SP-GiST (Ildus Kurbangaliev)
+ Add prefix-match
+ operator text^@text,
+ 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 varLIKE
+ 'word%' with a btree index, but it is more efficient.
@@ -999,17 +1044,17 @@ same commits as above
-->
- Improve the selection of the optimizer statistics'
- most-common-values (Jeff Janes, Dean Rasheed)
+ Improve selection of the most common values for statistics
+ (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 the most common values (MCVs) were
+ identified based on their frequency compared to all column
+ values. Now, MCVs are chosen based on their
+ frequency compared to the non-MCV values.
+ This improves the robustness of the algorithm for both uniform and
+ non-uniform distributions.
@@ -1019,14 +1064,16 @@ same commits as above
-->
- Improve selectivity estimates for >= and <= when the
- constants are not common values (Tom Lane)
+ Improve selectivity estimates for >=
+ and <= (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 estimates
+ as > and <, respectively,
+ unless the comparison constants are MCVs.
+ This change is particularly helpful for queries
+ involving BETWEEN with small ranges.
@@ -1036,8 +1083,10 @@ same commits as above
-->
- Optimize var = var to var IS NOT NULL where
- equivalent (Tom Lane)
+ Reduce var=
+ var
+ to varIS NOT NULL
+ where equivalent (Tom Lane)
@@ -1051,7 +1100,7 @@ same commits as above
-->
- Improve row count optimizer estimates for EXISTS
+ Improve optimizer's row count estimates for EXISTS
and NOT EXISTS queries (Tom Lane)
@@ -1062,8 +1111,8 @@ same commits as above
-->
- Add optimizer selectivity costs for HAVING
- clauses (Tom Lane)
+ Make the optimizer account for evaluation costs and selectivity
+ of HAVING clauses (Tom Lane)
@@ -1085,6 +1134,7 @@ same commits as above
2018-03-26 [32af96b2b] JIT tuple deforming in LLVM JIT provider.
2018-03-27 [f4f5845b3] Quick adaption of JIT tuple deforming to the fast defaul
2018-03-28 [9370462e9] Add inlining support to LLVM JIT provider.
+2018-09-15 [0fdadfb01] In v11, disable JIT by default (it's still enabled by de
-->
@@ -1095,7 +1145,7 @@ same commits as above
This feature requires LLVM to be
- available, and it is not currently enabled by default, even in
+ available. It is not currently enabled by default, even in
builds that support it.
@@ -1118,7 +1168,8 @@ same commits as above
-->
- Update the free space map during vacuum (Claudio Freire)
+ Update the free space map during VACUUM
+ (Claudio Freire)
@@ -1132,8 +1183,8 @@ same commits as above
-->
- Allow vacuum to avoid unnecessary index scans (Masahiko Sawada,
- Alexander Korotkov)
+ Allow VACUUM to avoid unnecessary index scans
+ (Masahiko Sawada, Alexander Korotkov)
@@ -1161,12 +1212,22 @@ same commits as above
+
+
+ Improve the speed of aggregate computations (Andres Freund)
+
+
+
+
+
Allow postgres_fdw
+ linkend="postgres-fdw">postgres_fdw
to push UPDATEs and DELETEs
using joins to foreign servers (Etsuro Fujita)
@@ -1178,6 +1239,23 @@ same commits as above
+
+
+
+
+ Add support for large pages on Windows
+ (Takayuki Tsunakawa, Thomas Munro)
+
+
+
+ This is controlled by the huge_pages configuration
+ parameter.
+
+
+
@@ -1193,10 +1271,10 @@ same commits as above
-->
- Show memory usage in log_statement_stats,
log_parser_stats,
- log_planner_stats,
+ log_planner_stats, and
log_executor_stats (Justin Pryzby, Peter
Eisentraut)
@@ -1208,20 +1286,13 @@ same commits as above
-->
- Add pg_stat_activity.backend_type
- now shows the type of background worker (Peter Eisentraut)
+ to show the type of a background worker (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.
+ The type is also visible in ps output.
@@ -1231,7 +1302,7 @@ same commits as above
-->
- Have log_autovacuum_min_duration
log skipped tables that are concurrently being dropped (Nathan
Bossart)
@@ -1252,17 +1323,19 @@ same commits as above
-->
- Add information_schema columns related to table constraints and
- triggers (Peter Eisentraut)
+ Add information_schema columns related to table
+ constraints and triggers (Peter Eisentraut)
Specifically,
- table_constraints.enforced,
triggers.action_order,
triggers.action_reference_old_table,
and
- triggers.action_reference_new_table.
+ triggers.action_reference_new_table
+ are now populated, where before they were always null. Also,
+ table_constraints.enforced
+ now exists but is not yet usefully populated.
@@ -1301,16 +1374,17 @@ same commits as above
-->
- Allow LDAP authentication to use ldaps
- (Thomas Munro)
+ Allow LDAP authentication to use
+ encrypted LDAP (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
- ldapurl=ldaps://.
+ TLS by using ldaptls=1.
+ This new TLS LDAP method for
+ encrypted LDAP is enabled
+ with ldapscheme=ldaps
+ or ldapurl=ldaps://.
@@ -1320,7 +1394,7 @@ same commits as above
-->
- Improve LDAP logging of errors (Thomas Munro)
+ Improve logging of LDAP errors (Thomas Munro)
@@ -1341,16 +1415,17 @@ same commits as above
-->
- Add default roles which control file system access (Stephen Frost)
+ Add default roles that
+ enable file system access (Stephen Frost)
- Specifically, the new roles are: pg_read_server_files,
- pg_write_server_files,
+ Specifically, the new roles are:
+ pg_read_server_files,
+ pg_write_server_files, and
pg_execute_server_program. These roles now also
- control who can use COPY and extension file_fdw.
+ control who can use server-side COPY and the file_fdw extension.
Previously only superusers could use these functions, and that
is still the default behavior.
@@ -1390,12 +1465,11 @@ same commits as above
- Previously, superusers were exclusively granted access to these
- functions.
+ Previously, only superusers were granted access to these functions.
- Compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS
+ The compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS
has been removed.
@@ -1408,13 +1482,13 @@ same commits as above
Use view owner not session owner when
preventing non-password access to postgres_fdw
+ linkend="postgres-fdw">postgres_fdw
tables (Robert Haas)
PostgreSQL only allows superusers to
- access postgres_fdw tables without
+ access postgres_fdw tables without
passwords, e.g. via peer. Previously the
session owner had to be a superuser to allow such access; now
the view owner is checked instead.
@@ -1471,8 +1545,8 @@ same commits as above
Add storage parameter toast_tuple_target
- to control the minimum length before TOAST
- storage will be considered for new rows (Simon Riggs)
+ to control the minimum tuple length before TOAST
+ storage will be considered (Simon Riggs)
@@ -1489,12 +1563,13 @@ same commits as above
Allow server options related to memory and file sizes to be
- specified as number of bytes (Beena Emerson)
+ specified as a number of bytes (Beena Emerson)
- The new unit is "B". This is in addition to "kB", "MB", "GB"
- and "TB".
+ The new unit is B. This is in addition to the
+ existing units kB, MB, GB
+ and TB.
@@ -1514,8 +1589,8 @@ same commits as above
-->
- Allow the WAL file size to be set via initdb
- (Beena Emerson)
+ Allow the WAL file size to be set
+ during initdb (Beena Emerson)
@@ -1534,8 +1609,8 @@ same commits as above
- The retention of WAL records for only one
- checkpoint is required.
+ Retention of WAL records is only required for one
+ checkpoint.
@@ -1610,7 +1685,7 @@ same commits as above
-->
- Allow heap pages checksums to be checked during streaming base
+ Allow heap pages' checksums to be checked during streaming base
backup (Michael Banck)
@@ -1626,7 +1701,7 @@ same commits as above
- This allows efficient advancement replication slots when the
+ This allows efficient advancement of replication slots when the
contents do not need to be consumed. This is performed by
pg_replication_slot_advance().
@@ -1665,36 +1740,6 @@ same commits as above
-
- Window Functions
-
-
-
-
-
-
-
- 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.
-
-
-
-
-
-
-
-
Utility Commands
@@ -1707,9 +1752,13 @@ same commits as above
Allow ALTER TABLE to add a column with
- a non-null default without a table rewrite (Andrew Dunstan,
+ a non-null default without doing a table rewrite (Andrew Dunstan,
Serge Rielau)
+
+
+ This is enabled when the default value is a constant.
+
@@ -1735,8 +1784,8 @@ same commits as above
- In psql, \d+ now shows the statistics
- target for indexes.
+ In psql, \d+ now shows
+ the statistics target for indexes.
@@ -1783,12 +1832,12 @@ same commits as above
Add CREATE AGGREGATE option to specify the
- behavior of the aggregate finalization function (Tom Lane)
+ behavior of the aggregate's finalization function (Tom Lane)
- This is useful for allowing aggregate functions to be optimized and
- to work as window functions.
+ This is helpful for allowing user-defined aggregate functions to be
+ optimized and to work as window functions.
@@ -1842,8 +1891,8 @@ same commits as above
-->
- Add casts from jsonb scalars to numeric and boolean data types
- (Anastasia Lubennikova)
+ Add casts from JSONB scalars to numeric and boolean data
+ types (Anastasia Lubennikova)
@@ -1859,6 +1908,28 @@ same commits as above
+
+
+ Add all window function framing
+ options specified by SQL:2011 (Oliver Ford, Tom Lane)
+
+
+
+ Specifically, allow RANGE mode to use
+ PRECEDING and FOLLOWING to
+ select rows having grouping values within 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.
+
+
+
+
+
+
@@ -1907,16 +1978,6 @@ same commits as above
-
-
- Improve the speed of aggregate computations (Andres Freund)
-
-
-
-
-
@@ -1934,10 +1995,10 @@ same commits as above
-->
- Add function json(b)_to_tsvector()
to create a text search query for matching
- JSON/JSONB values (Dmitry Dolgov)
+ JSON/JSONB values (Dmitry Dolgov)
@@ -1957,6 +2018,8 @@ same commits as above
2018-02-22 [76b6aa41f] Support parameters in CALL
2018-03-14 [33803f67f] Support INOUT arguments in procedures
2018-04-14 [a8677e3ff] Support named and default arguments in CALL
+2018-08-22 [e0dc839e7] Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax
+2018-08-22 [fd4417e8a] Change PROCEDURE to FUNCTION in CREATE OPERATOR syntax
-->
@@ -1968,9 +2031,21 @@ same commits as above
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.
+ linkend="sql-call">CALL.
+
+
+
+ The new ALTER/DROP ROUTINE
+ commands allow altering/dropping of all routine-like objects,
+ including procedures, functions, and aggregates.
+
+
+
+ Also, writing FUNCTION is now preferred
+ over writing PROCEDURE in CREATE
+ OPERATOR and CREATE TRIGGER, because the
+ referenced object must be a function not a procedure. However, the
+ old syntax is still accepted for compatibility.
@@ -1988,9 +2063,9 @@ same commits as above
- 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
+ Transaction control is only available within top-transaction-level
+ procedures and nested DO and
+ CALL blocks that only contain other
DO and CALL blocks.
@@ -2001,8 +2076,8 @@ same commits as above
-->
- 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 composite-type variables as not
+ null, constant, or with initial values (Tom Lane)
@@ -2029,8 +2104,8 @@ same commits as above
-->
- Add extension jsonb_plpython to
- transform JSONB to/from PL/Python types (Anthony
+ Add extension jsonb_plpython to
+ transform JSONB to/from PL/Python types (Anthony
Bykov)
@@ -2041,8 +2116,8 @@ same commits as above
-->
- Add extension jsonb_plperl to transform
- JSONB to/from PL/Perl types (Anthony Bykov)
+ Add extension jsonb_plperl to transform
+ JSONB to/from PL/Perl types (Anthony Bykov)
@@ -2066,8 +2141,8 @@ same commits as above
- 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, so that
+ the libpq setting had no effect with such libraries.
@@ -2077,13 +2152,15 @@ same commits as above
-->
- Add DO CONTINUE action to the ECPG
- WHENEVER statement (Vinayak Pokale)
+ Add DO CONTINUE option
+ to ecpg's 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.
@@ -2093,7 +2170,8 @@ same commits as above
-->
- Add ecpg mode to enable Oracle Pro*C handling of char arrays.
+ Add an ecpg mode to enable Oracle
+ Pro*C-style handling of char arrays.
@@ -2120,8 +2198,9 @@ same commits as above
-->
- 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)
@@ -2154,8 +2233,9 @@ same commits as above
- 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.
@@ -2165,7 +2245,7 @@ same commits as above
-->
- Add PSQL_PAGER to control
+ Allow environment variable PSQL_PAGER to control
psql's pager (Pavel Stehule)
@@ -2183,8 +2263,8 @@ same commits as above
-->
- Have psql \d+ always show the partition information (Amit Langote,
- Ashutosh Bapat)
+ Make psql's \d+ command always show the table's
+ partitioning information (Amit Langote, Ashutosh Bapat)
@@ -2200,8 +2280,8 @@ same commits as above
-->
- Have psql report the proper user name
- before the password prompt (Tom Lane)
+ Ensure that psql reports the proper user
+ name when prompting for a password (Tom Lane)
@@ -2219,14 +2299,14 @@ same commits as above
Allow quit and exit to
- exit psql when used in an empty buffer
+ exit psql when given with no prior input
(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 print hints about how to exit when quit and
+ exit are used alone on a line while the input
+ buffer is not empty. Add a similar hint for help.
@@ -2236,7 +2316,7 @@ same commits as above
-->
- Have psql hint at using control-D
+ Make psql hint at using control-D
when \q is entered alone on a line but ignored
(Bruce Momjian)
@@ -2253,7 +2333,7 @@ same commits as above
-->
- Improve tab-completion for ALTER INDEX
+ Improve tab completion for ALTER INDEX
RESET/SET (Masahiko Sawada)
@@ -2265,12 +2345,12 @@ same commits as above
Add infrastructure to allow psql
- to customize tab completion queries based on the server version
+ to adapt its tab completion queries based on the server version
(Tom Lane)
- Previously tab completion queries could fail.
+ Previously tab completion queries could fail against older servers.
@@ -2290,7 +2370,7 @@ same commits as above
-->
- Add pgbench expressions support for
+ Add pgbench expression support for
NULLs, booleans, and some functions and operators (Fabien Coelho)
@@ -2335,7 +2415,7 @@ same commits as above
-->
- Add an approximated Zipfian-distributed random generator to
+ Add an approximately Zipfian-distributed random generator to
pgbench (Alik Khilazhev)
@@ -2430,8 +2510,8 @@ same commits as above
- This is accomplished with the initdb
- flag. Administrators
+ This is accomplished with the new initdb option
+ . Administrators
can also set group permissions on the empty data
directory before running initdb. Server variable data_directory_mode
@@ -2515,7 +2595,7 @@ same commits as above
- This was originally unsupported due to concerns over its misuse.
+ This was previously unsupported due to concerns over possible misuse.
@@ -2559,7 +2639,8 @@ same commits as above
Add pg_dumpall option
- to control encoding (Michael Paquier)
+ to control output encoding
+ (Michael Paquier)
@@ -2576,14 +2657,13 @@ same commits as above
Add pg_dump option
to force loading of
data into the partition's root table, rather than the original
- partitions
-(Rushabh Lathia)
+ partition (Rushabh Lathia)
- This is useful if the system to be loaded has different collation
- definitions or endianness, requiring the rows to be stored in
- different partitions.
+ This is useful if the system to be loaded to has different collation
+ definitions or endianness, possibly requiring rows to be stored in
+ different partitions than previously.
@@ -2593,8 +2673,8 @@ same commits as above
-->
- Add an option to suppress dumping and restoring comments
- (Robins Tharakan)
+ Add an option to suppress dumping and restoring database object
+ comments (Robins Tharakan)
@@ -2619,30 +2699,36 @@ same commits as above
-
- Add support for large pages on Windows
- (Takayuki Tsunakawa, Thomas Munro)
+ Add PGXS support for installing include
+ files (Andrew Gierth)
- This is controlled by the huge_pages configuration
- parameter.
+ This supports creating extension modules that depend on other
+ modules. Formerly there was no easy way for the dependent module to
+ find the referenced one's include files. Several
+ existing contrib modules that define data types
+ have been adjusted to install relevant files. Also, PL/Perl and
+ PL/Python now install their include files, to support creation of
+ transform modules for those languages.
- Add support for ARMv8 hardware
- CRC calculations (Yuqi Gu, Heikki
- Linnakangas, Thomas Munro)
+ Install errcodes.txt to allow extensions to access
+ the list of error codes known to PostgreSQL
+ (Thomas Munro)
@@ -2685,6 +2771,46 @@ same commits as above
+
+
+ Overhaul the way that initial system catalog contents are defined
+ (John Naylor)
+
+
+
+ The initial data is now represented in Perl data structures, making
+ it much easier to manipulate mechanically.
+
+
+
+
+
+
+
+ Prevent extensions from creating custom server parameters that
+ take a quoted list of values (Tom Lane)
+
+
+
+ This cannot be supported at present because knowledge of the
+ parameter's property would be required even before the extension is
+ loaded.
+
+
+
+
+
-
-
- Overhaul the way system tables are defined for bootstrap use
- (John Naylor)
+ Channel binding is intended to prevent man-in-the-middle attacks, but
+ SCRAM cannot prevent them unless it can be forced
+ to be active. Unfortunately, there is no way to do that in libpq.
+ Support for it is expected in future versions of libpq and in
+ interfaces not built using libpq, e.g. JDBC.
@@ -2735,16 +2844,27 @@ same commits as above
+
+
+ Add support for hardware CRC calculations
+ on ARMv8 (Yuqi Gu, Heikki Linnakangas,
+ Thomas Munro)
+
+
+
+
+
- Speed up lookups of built-in function names matching OIDs (Andres
- Freund)
+ Speed up lookups of built-in functions by OID (Andres Freund)
- The previous binary search now uses a lookup array.
+ The previous binary search has been replaced by a lookup array.
@@ -2764,7 +2884,7 @@ same commits as above
-->
- Improve access speed to system caches (Andres Freund)
+ Improve speed of access to system caches (Andres Freund)
@@ -2791,7 +2911,7 @@ same commits as above
Make the computation of system column
pg_class.reltuples
- consistent (Tomas Vondra)
+ more consistent (Tomas Vondra)
@@ -2823,16 +2943,15 @@ same commits as above
Allow extension pg_prewarm
+ linkend="pgprewarm">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 buffers' relation and block number data to disk
+ occasionally during server operation, and at shutdown.
@@ -2842,7 +2961,7 @@ same commits as above
-->
- Add pg_trgm
+ Add pg_trgm
function strict_word_similarity() to compute
the similarity of whole words (Alexander Korotkov)
@@ -2861,14 +2980,14 @@ same commits as above
-->
- Allow creation of indexes on citext extension
- columns that can be used by LIKE comparisons
+ Allow creation of indexes that can be used by LIKE
+ comparisons
+ on citext columns
(Alexey Chernyshov)
- Specifically, indexes must be created using the
+ To do this, the index must be created using the
citext_pattern_ops operator class.
@@ -2880,7 +2999,7 @@ same commits as above
Allow btree_gin
+ linkend="btree-gin">btree_gin
to index bool, bpchar, name
and uuid data types (Matheus Oliveira)
@@ -2892,9 +3011,9 @@ same commits as above
-->
- Allow cube
- and seg
- extensions using GiST indexes to perform index-only scans
+ Allow cube
+ and seg
+ extensions to perform index-only scans using GiST indexes
(Andrey Borodin)
@@ -2905,8 +3024,8 @@ same commits as above
-->
- Allow retrieval of negative cube coordinates using the ~>
- operator (Alexander Korotkov)
+ Allow retrieval of negative cube coordinates using
+ the ~> operator (Alexander Korotkov)
@@ -2921,8 +3040,8 @@ same commits as above
-->
- Add Vietnamese letter detection to the unaccent
+ Add Vietnamese letter handling to the unaccent
extension (Dang Minh Huong, Michael Paquier)
@@ -2934,7 +3053,7 @@ same commits as above
Enhance amcheck
+ linkend="amcheck">amcheck
to check that each heap tuple has an index entry (Peter Geoghegan)
@@ -2946,13 +3065,13 @@ same commits as above
Have adminpack
+ linkend="adminpack">adminpack
use the new default file system access roles (Stephen Frost)
- Previously only superusers could call adminpack functions;
- now role permissions are checked.
+ Previously only superusers could call adminpack
+ functions; now role permissions are checked.
@@ -2962,40 +3081,13 @@ same commits as above
-->
- Increase pg_stat_statement's query id
+ Widen 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.
-
-
-
-
-
-
-
- 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)
-
-
-
- This was never intended to be supported.
+ This greatly reduces the chance of query ID hash collisions.
+ The query ID can now potentially display as a negative value.
@@ -3005,8 +3097,10 @@ same commits as above
-->
- Remove contrib/start-scripts/osx since they
- are no longer recommended (Tom Lane)
+ Remove the contrib/start-scripts/osx scripts
+ since they are no longer recommended
+ (use contrib/start-scripts/macos instead)
+ (Tom Lane)
@@ -3016,12 +3110,12 @@ same commits as above
-->
- Remove extension chkpass (Peter Eisentraut)
+ Remove the chkpass extension (Peter Eisentraut)
- This extension no longer served as a usable security tool or
- example of how to write an extension.
+ This extension is no longer considered to be a usable security tool
+ or example of how to write an extension.