-Prevent the containment operators (<@ and @>) for from using GiST indexes (Tom Lane)
-
+
+ Prevent the containment operators (<@ and @>) for
+ linkend="intarray"/> from using GiST indexes (Tom Lane)
+
-
-Previously a full GiST index scan was required, so just avoid that and scan the heap, which is faster. Indexes created for this purpose should be removed.
-
-
+
+ Previously a full GiST index scan was required, so just avoid
+ that and scan the heap, which is faster. Indexes created for this
+ purpose should be removed.
+
+
-
+
-
-Remove deprecated containment operators @ and ~ for built-in geometric data types and contrib modules , ,
-, and (Justin Pryzby)
-
+
+ Remove deprecated containment operators @ and ~ for built-in
+ geometric data types and
+ contrib modules , ,
+ , and (Justin Pryzby)
+
-
-The more consistent <@ and @> have been recommended for many years.
-
-
+
+ The more consistent <@ and @> have been recommended for
+ many years.
+
+
-
+
-
-Fix to_tsquery() and websearch_to_tsquery() to properly parse query text containing discarded tokens (Alexander Korotkov)
-
+
+ Fix
+ linkend="functions-textsearch">to_tsquery()
+ and websearch_to_tsquery() to properly parse
+ query text containing discarded tokens (Alexander Korotkov)
+
-
-Certain discarded tokens, like underscore, caused the output of these functions to produce incorrect tsquery output, e.g., both websearch_to_tsquery('"pg_class pg"') and to_tsquery('pg_class <->
-pg') used to output '( pg & class ) <-> pg', but now both output 'pg <-> class <-> pg'.
-
-
+
+ Certain discarded tokens, like underscore, caused the output of
+ these functions to produce incorrect tsquery output, e.g., both
+ websearch_to_tsquery('"pg_class pg"') and to_tsquery('pg_class
+ <-> pg') used to output '( pg & class ) <-> pg',
+ but now both output 'pg <-> class <-> pg'.
+
+
-
+
-
-Fix websearch_to_tsquery() to properly parse multiple adjacent discarded tokens in quotes (Alexander Korotkov)
+ to properly parse multiple adjacent discarded tokens in quotes
+ (Alexander Korotkov)
+
-
-Previously, quoted text that contained multiple adjacent discarded tokens were treated as multiple tokens, causing incorrect tsquery output, e.g., websearch_to_tsquery('"aaa: bbb"') used to output
-'aaa <2> bbb', but now outputs 'aaa <-> bbb'.
-
-
+
+ Previously, quoted text that contained multiple adjacent discarded
+ tokens were treated as multiple tokens, causing incorrect tsquery
+ output, e.g., websearch_to_tsquery('"aaa: bbb"') used to output
+ 'aaa <2> bbb', but now outputs 'aaa <-> bbb'.
+
+
-
+
-
-Change the default of the server parameter to scram-sha-256 (Peter Eisentraut)
-
+
+ Change the default of the
+ server parameter to scram-sha-256 (Peter
+ Eisentraut)
+
-
-Previously it was md5. All new passwords will be stored as SHA256 unless this server variable is changed or the password is specified in md5 format.
-Also, the legacy (and undocumented) boolean-like values which were previously synonyms for md5 are no longer accepted.
-
-
+
+ Previously it was md5. All new passwords will
+ be stored as SHA256 unless this server variable is changed or
+ the password is specified in md5 format. Also, the legacy (and
+ undocumented) boolean-like values which were previously synonyms
+ for md5 are no longer accepted.
+
+
-
+
-
-Overhaul the specification of clientcert in pg_hba.conf (Kyotaro Horiguchi)
-
+
+ Overhaul the specification of clientcert in
+ linkend="auth-pg-hba-conf">pg_hba.conf
+ (Kyotaro Horiguchi)
+
-
-Values 1/0/no-verify are no longer supported; only the strings verify-ca and verify-full can be used. Also, disallow verify-ca if cert
-authentication is enabled since cert requires verify-full checking.
-
-
+
+ Values
+ 1/0/no-verify
+ are no longer supported; only the strings
+ verify-ca and verify-full
+ can be used. Also, disallow verify-ca if cert
+ authentication is enabled since cert requires
+ verify-full checking.
+
+
-
+
-
-Remove support for SSL compression (Daniel Gustafsson, Michael Paquier)
-
+
+ Remove support for
+ linkend="runtime-config-connection-ssl">SSL
+ compression (Daniel Gustafsson, Michael Paquier)
+
-
-This was already disabled by default in previous Postgres releases, and most modern OpenSSL and TLS versions no longer support it.
-
-
+
+ This was already disabled by default in previous Postgres releases,
+ and most modern OpenSSL and TLS versions no
+ longer support it.
+
+
-
+
-
-Remove server and libpq support for the version 2 wire protocol (Heikki Linnakangas)
-
+
+ Remove server and libpq support
+ for the version 2 wire protocol
+ (Heikki Linnakangas)
+
-
-This was last used as the default in Postgres 7.2 (year 2002).
-
-
+
+This was last used as the default in Postgres 7.2 (year 2002).
+
+
-
+
-
-Change EXTRACT to return the NUMERIC data type (Peter Eisentraut)
-
+
+ Change
+ linkend="functions-datetime">EXTRACT
+ to return the NUMERIC data type (Peter Eisentraut)
+
-
-EXTRACT(date) now throws an error for units that are not part of the date data type.
-
-
+
+ EXTRACT(date) now throws an error for units
+ that are not part of the date data type.
+
+
-
+
-
-Fix handling of infinite window function ranges (Tom Lane)
-
+
+ Fix handling of infinite
+ linkend="syntax-window-functions">window function ranges
+ (Tom Lane)
+
-
-Previously window frame clauses like 'inf' PRECEDING AND 'inf' FOLLOWING returned incorrect results.
-
-
+
+ Previously window frame clauses like 'inf' PRECEDING AND
+ 'inf' FOLLOWING returned incorrect results.
+
+
-
+
-
-Prevent 's function normal_rand() from accepting negative values (Ashutosh Bapat)
-
+
+ Prevent 's function
+ normal_rand() from accepting negative values
+ (Ashutosh Bapat)
+
-
-Negative values produced undesirable results.
-
-
+
+Negative values produced undesirable results.
+
+
-
+
-
-Change var_samp() and stddev_samp() with numeric parameters to return NULL for a single NaN value (Tom Lane)
-
+
+ Change
+ linkend="functions-aggregate">var_samp()
+ and stddev_samp() with numeric parameters to
+ return NULL for a single NaN value (Tom Lane)
+
-
-Previously NaN was returned.
-
-
+
+Previously NaN was returned.
+
+
-
+
-
-Remove factorial operators ! and !! (Mark Dilger)
-
+
+ Remove factorial operators ! and
+ !! (Mark Dilger)
+
-
-The factorial() function is still supported. Also remove function numeric_fac().
-
-
+
+ The
+ linkend="functions-math">factorial()
+ function is still supported. Also remove function
+ numeric_fac().
+
+
-
+
-
-Disallow factorial() of negative numbers (Peter Eisentraut)
-
+
+ Disallow factorial() of negative numbers
+ (Peter Eisentraut)
+
-
-Previously such cases returned 1.
-
-
+
+Previously such cases returned 1.
+
+
-
+
-
-Remove support for postfix (right-unary) operators (Mark Dilger)
-
+
+ Remove support for postfix
+ (right-unary) operators (Mark Dilger)
+
-
-pg_dump and pg_upgrade will warn if postfix operators are being dumped.
-
-
+
+ pg_dump and
+ pg_upgrade will warn if postfix operators
+ are being dumped.
+
+
-
+
-
-Allow \D and \W shorthands to match newlines in regular expression newline-sensitive mode (Tom Lane)
-
+
+ Allow \D and \W shorthands to
+ match newlines in regular
+ expression newline-sensitive mode (Tom Lane)
+
-
-Previously they did not match; [^[:digit:]] or [^[:word:]] can be used to get the old behavior.
-
-
+
+ Previously they did not match; [^[:digit:]] or
+ [^[:word:]] can be used to get the old behavior.
+
+
-
+
-
-Improve handling of regular expression back-references (Tom Lane)
-
+
+Improve handling of regular expression back-references (Tom Lane)
+
-
-For example, disregard ^ in its expansion in \1 in (^\d+).*\1.
-
-
+
+ For example, disregard ^ in its expansion in
+ \1 in (^\d+).*\1.
+
+
-
+
-
-Disallow \w as range start/end in character classes (Tom Lane)
-
+
+ Disallow \w as range start/end in character
+ classes (Tom Lane)
+
-
-This previously was allowed but produced incorrect results.
-
-
+
+This previously was allowed but produced incorrect results.
+
+
-
+
-
-Require custom server variable names to match the pattern used for unquoted SQL identifiers (Tom Lane)
-
-
+
+ Require custom server
+ variable names to match the pattern used for unquoted
+ SQL identifiers (Tom Lane)
+
+
-
+
-
-Remove server variable vacuum_cleanup_index_scale_factor (Peter Geoghegan)
-Add ability to use LZ4 compression on TOAST data (Dilip Kumar)
-
+
+ Add ability to use LZ4
+ compression on TOAST data (Dilip Kumar)
+
-
-This can be set at the column level, or set as a default via server setting . The server must be compiled with to support this feature; the default is still pglz.
-
-
+
+ This can be set at the column level, or set as a default via server
+ setting .
+ The server must be compiled with
+ linkend="configure-options-features">
+ to support this feature; the default is still pglz.
+
+
@@ -1113,7+1284,7 @@ This can be set at the column level, or set as a default via server setting
-
+
-
-If server variable is enabled, display the query id in pg_stat_activity,
-Generate WAL invalidations message during command completion when using logical replication (Dilip Kumar, Tomas Vondra, Amit Kapila)
-
+
+ Generate WAL invalidations message during
+ command completion when using logical replication (Dilip Kumar,
+ Tomas Vondra, Amit Kapila)
+
-
-When logical replication is disabled, WAL invalidation messages are generated at transaction completion. This allows logical streaming of in-progress transactions.
-
-
+
+ When logical replication is disabled, WAL
+ invalidation messages are generated at transaction completion.
+ This allows logical streaming of in-progress transactions.
+
+
-
+
-
-Allow logical decoding to more efficiently process cache invalidation messages (Dilip Kumar)
-
+
+ Allow logical decoding to more efficiently process cache
+ invalidation messages (Dilip Kumar)
+
-
-This allows logical decoding to work efficiently in presence of a large amount of DDL.
-
-
+
+ This allows logical decoding
+ to work efficiently in presence of a large amount of
+ DDL.
+
+
-
+
-
-Allow control over whether logical decoding messages are sent to the replication stream (David Pirotte, Euler Taveira)
-
-
+
+ Allow control over whether logical decoding messages are sent to
+ the replication stream (David Pirotte, Euler Taveira)
+
+
-
+
-
-Allow logical replication subscriptions to use binary transfer mode (Dave Cramer)
-
+
+ Allow logical replication subscriptions to use binary transfer mode
+ (Dave Cramer)
+
-
-This is faster than text mode, but slightly less robust.
-
-
+
+This is faster than text mode, but slightly less robust.
+
+
-
+
-
-Allow logical decoding to be filtered by xid (Markus Wanner)
-
-
+
+Allow logical decoding to be filtered by xid (Markus Wanner)
+
+
@@ -1820,67+2100,76 @@ Allow logical decoding to be filtered by xid (Markus Wanner)
-
+
-
-Reduce the number of keywords that can't be used as column labels without AS (Mark Dilger)
-
+
+ Reduce the number of keywords that can't be used as column labels
+ without AS (Mark Dilger)
+
-
-There are now 90% fewer restricted keywords.
-
-
+
+There are now 90% fewer restricted keywords.
+
+
-
+
-
-Allow an alias to be specified for JOIN's USING clause (Peter Eisentraut)
-
+
+ Allow an alias to be specified for JOIN's
+ USING clause (Peter Eisentraut)
+
-
-The alias is created by using AS after the USING clause and represents an alias for the USING columns.
-
-
+
+ The alias is created by using AS after the
+ USING clause and represents an alias for the
+ USING columns.
+
+
-
+
-
-Allow DISTINCT to be added to GROUP BY to remove duplicate GROUPING SET combinations (Vik Fearing)
-
+
+ Allow DISTINCT to be added to GROUP
+ BY to remove duplicate GROUPING SET
+ combinations (Vik Fearing)
+
-
-For example, GROUP BY CUBE (a,b), CUBE (b,c) will generate duplicate grouping combinations without DISTINCT.
-
-
+
+ For example, GROUP BY CUBE (a,b), CUBE (b,c)
+ will generate duplicate grouping combinations without
+ DISTINCT.
+
+
-
+
-
-Properly handle DEFAULT values for columns in multi-column inserts (Dean Rasheed)
-
+
+ Properly handle DEFAULT values for columns in
+ multi-column inserts (Dean Rasheed)
+
-
-This used to throw an error.
-
-
+
+This used to throw an error.
+
+
-
+
-
-Add SQL-standard SEARCH and CYCLE clauses for common table expressions (Peter Eisentraut)
-Previously subscript handling was hard-coded into the server, so that subscripting could only be applied to array types. This change allows subscript notation to be used to extract or
-assign portions of a value of any type for which the concept makes sense.
-
-
+
+ Previously subscript handling was hard-coded into the server, so
+ that subscripting could only be applied to array types. This change
+ allows subscript notation to be used to extract or assign portions
+ of a value of any type for which the concept makes sense.
+
+
-
+
-
-Allow subscripting of JSONB (Dmitry Dolgov)
-
+
+ Allow subscripting of
+ linkend="datatype-json">JSONB (Dmitry Dolgov)
+
-
-JSONB subscripting can be used to extract and assign to portions of JSONB documents.
-
-
+
+ JSONB subscripting can be used to extract and assign
+ to portions of JSONB documents.
+
+
-
+
-
-Add support for multirange data types (Paul Jungwirth, Alexander Korotkov)
-
+
+ Add support for multirange data
+ types (Paul Jungwirth, Alexander Korotkov)
+
-
-These are like range data types, but they allow the specification of multiple, ordered, non-overlapping ranges.
-All existing range types now also support multirange versions.
-
-
+
+ These are like range data types, but they allow the specification
+ of multiple, ordered, non-overlapping ranges. All existing range
+ types now also support multirange versions.
+
+
-
+
-
-Add point operators <<| and |>> to be strictly above/below geometry (Emre Hasegeli)
-
+
+ Add point operators
+ <<| and |>> to be strictly above/below geometry
+ (Emre Hasegeli)
+
-
-Previously >^ and <^ were marked as performing this test, but non-point geometric operators used these operators for non-strict comparisons, leading to confusion. The old operators still exist but will be eventually removed. ACCURATE?
-
-
+
+ Previously >^ and <^ were marked as performing this test, but
+ non-point geometric operators used these operators for non-strict
+ comparisons, leading to confusion. The old operators still exist
+ but will be eventually removed. ACCURATE?
+
+
-
+
-
-Add support for the stemming of languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish (Peter Eisentraut)
-
-
+
+ Add support for the
+ linkend="textsearch-snowball-dictionary">stemming of
+ languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish
+ (Peter Eisentraut)
+
+
-
+
-
-Allow tsearch data files to have unlimited line lengths (Tom Lane)
-
+
+ Allow tsearch data
+ files to have unlimited line lengths (Tom Lane)
+
-
-The previous limit was 4k bytes. Also remove function t_readline().
-
-
+
+ The previous limit was 4k bytes. Also remove function
+ t_readline().
+
+
-
+
-
-Add support for infinity and -infinity values to the numeric data type (Tom Lane)
-
+
+ Add support for infinity and -infinity values
+ to the numeric data type
+ (Tom Lane)
+
-
-Floating point data types already supported these.
-
-
+
+Floating point data types already supported these.
+
+
-
+
-
-Improve the accuracy of floating point computations involving infinity (Tom Lane)
-
-
+
+ Improve the accuracy of floating point computations involving
+ infinity (Tom Lane)
+
+
-
+
-
-Have non-zero float values divided by infinity return zero (Kyotaro Horiguchi)
-
+
+ Have non-zero float values
+ divided by infinity return zero (Kyotaro Horiguchi)
+
-
-Previously such operations produced underflow errors.
-
-
+
+Previously such operations produced underflow errors.
+
+
-
+
-
-Cause floating-point division of NaN by zero to return NaN (Tom Lane)
-
+
+ Cause floating-point division of NaN by zero to return NaN
+ (Tom Lane)
+
-
-Previously this returned an error. Division with Numerics always returned NaN.
-
-
+
+ Previously this returned an error. Division with Numerics always
+ returned NaN.
+
+
-
+
-
-Add operators to add and subtract LSN and numeric (byte) values (Fujii Masao)
-
-
+
+ Add operators to add and subtract
+ linkend="datatype-pg-lsn">LSN and numeric
+ (byte) values (Fujii Masao)
+
+
-
+
-
-Allow binary data transfer to be more forgiving of array and record OID mismatches (Tom Lane)
-
-
+
+ Allow binary data
+ transfer to be more forgiving of array and record
+ OID mismatches (Tom Lane)
+
+
-
+
-
-Create composite array types for most system relations (Wenjing Zeng)
-
-
+
+ Create composite array types for most system relations (Wenjing
+ Zeng)
+
+
@@ -2275,22+2626,26 @@ Create composite array types for most system relations (Wenjing Zeng)
-
+
-
-Allow SQL-language functions and procedures to use SQL-standard function bodies (Peter Eisentraut)
-
+
+ Allow SQL-language
+ linkend="sql-createfunction">functions and
+ linkend="sql-createprocedure">procedures to use
+ SQL-standard function bodies (Peter Eisentraut)
+
-
-Previously only single-quoted or $$-quoted function bodies were supported.
-
-
+
+ Previously only single-quoted or $$-quoted function bodies were
+ supported.
+
+
-
+
-
-Allow procedures to have OUT parameters (Peter Eisentraut)
-
-
+
+ Allow procedures to have
+ OUT parameters (Peter Eisentraut)
+
+
-
+
-
-Allow some array functions to operate on a mix of compatible data types (Tom Lane)
-
+
+ Allow some array functions to operate on a mix of compatible data
+ types (Tom Lane)
+
-
-The functions are array_append(), array_prepend(), array_cat(), array_position(),
-array_positions(), array_remove(), array_replace(), and
-width_bucket(). Previously only identical data types could be used.
-
-
+
+ The functions are
+ linkend="functions-array">array_append(),
+ array_prepend(),
+ array_cat(),
+ array_position(),
+ array_positions(),
+ array_remove(),
+ array_replace(), and
+ linkend="functions-math">width_bucket().
+ Previously only identical data types could be used.
+
+
-
+
-
-Add SQL-standard trim_array() function (Vik Fearing)
-
+
+ Add SQL-standard
+ linkend="functions-array">trim_array()
+ function (Vik Fearing)
+
-
-This can already be done with array slices.
-
-
+
+This can already be done with array slices.
+
+
-
+
-
-Add bytea equivalents of ltrim() and rtrim() (Joel Jacobson)
-
-
+
+ Add bytea equivalents of
+ linkend="functions-binarystring">ltrim()
+ and rtrim() (Joel Jacobson)
+
+
-
+
-
-Support negative indexes in split_part() (Nikhil Benesch)
-
+
+ Support negative indexes in
+ linkend="functions-string">split_part()
+ (Nikhil Benesch)
+
-
-Negative values start from the last field and count backward.
-
-
+
+Negative values start from the last field and count backward.
+
+
-
+
-
-Add string_to_table() function to split a string on delimiters (Pavel Stehule)
-
+
+ Add
+ linkend="functions-string">string_to_table()
+ function to split a string on delimiters (Pavel Stehule)
+
-
-This is similar to the regexp_split_to_table() function.
-The new syntax is SUBSTRING(text SIMILAR pattern ESCAPE escapechar). The previous standard syntax was SUBSTRING(text FROM pattern FOR escapechar), and is still supported by Postgres.
-
-
+
+ The new syntax is SUBSTRING(text SIMILAR pattern ESCAPE
+ escapechar). The previous standard syntax was
+ SUBSTRING(text FROM pattern FOR escapechar),
+ and is still supported by Postgres.
+
+
-
+
-
-Allow complemented character class escapes \D, \S, and \W within regex brackets (Tom Lane)
-
-
+
+ Allow complemented character class escapes
+ linkend="posix-escape-sequences">\D, \S,
+ and \W within regex brackets (Tom Lane)
+
+
-
+
-
-Add [[:word:]] as a character class to match \w (Tom Lane)
-
-
+
+ Add
+ linkend="posix-escape-sequences">[[:word:]]
+ as a character class to match \w (Tom Lane)
+
+
-
+
-
-Allow more flexible data types for default values of lead() and lag() window functions (Vik Fearing)
-
-
+
+ Allow more flexible data types for default values of
+ linkend="functions-window">lead()
+ and lag() window functions (Vik Fearing)
+
+
-
+
-
-Cause exp() and power() for negative-infinity exponents to return zero (Tom Lane)
-
+
+ Cause
+ linkend="functions-math">exp() and
+ power() for negative-infinity exponents to
+ return zero (Tom Lane)
+
-
-Previously they often returned underflow errors.
-
-
+
+Previously they often returned underflow errors.
+
+
-
+
-
-Mark built-in type coercion functions as leakproof where possible (Tom Lane)
-
+
+ Mark built-in type coercion functions as leakproof where possible
+ (Tom Lane)
+
-
-This allows more use of functions that require type conversion in security-sensitive situations.
-
-
+
+ This allows more use of functions that require type conversion in
+ security-sensitive situations.
+
+
-
+
-
-Mark pg_stat_get_subscription() as returning a set (Tom Lane)
-
+
+ Mark pg_stat_get_subscription() as returning
+ a set (Tom Lane)
+
-
-While it worked in previous releases, it didn't report proper optimizer statistics and couldn't be used in the target list. FUNCTION NOT DOCUMENTED.
-
-
+
+ While it worked in previous releases, it didn't report proper
+ optimizer statistics and couldn't be used in the target list.
+ FUNCTION NOT DOCUMENTED.
+
+
-
+
-
-Prevent inet_server_addr() and inet_server_port() from being run by parallel workers (Masahiko Sawada)
-
-
+
+ Prevent
+ linkend="functions-info">inet_server_addr()
+ and inet_server_port() from being run by
+ parallel workers (Masahiko Sawada)
+
+
-
+
-
-Change pg_describe_object(), pg_identify_object(), and
-pg_identify_object_as_address() to always report helpful error messages for non-existent objects (Michael Paquier)
-
-
+
+ Change
+ linkend="functions-info">pg_describe_object(),
+ pg_identify_object(), and
+ pg_identify_object_as_address() to always report
+ helpful error messages for non-existent objects (Michael Paquier)