+ controls that behavior.
+ Allow creation of
+ linkend="functions-replication-table">temporary replication slots>
+ (Petr Jelinek)
+
+
+ Temporary slots are automatically removed on session exit or error.
+
+
+
+
+
+ Improve performance of hot standby replay with better tracking of
+ Access Exclusive locks (Simon Riggs, David Rowley)
+
+
+
+
+
+ Speed up two-phase commit recovery performance (Stas Kelvich,
+ Nikhil Sontakke, Michael Paquier)
+
+
-
+
Queries
-
+
-
-
-Allow ROW> to supply values to UPDATE ... SET (column_list)> (Tom Lane)
-
-
-Also allow row values to be supplied by table.*.
-
-
-
-
-
-Fix regular expression locale class handling for bytes greater than U+7FF>
-(Tom Lane)
-
-
-Previously such classes were not recognized.
-
-
+
+
+ Allow ROW> to supply values to UPDATE ... SET
+ (column_list)> (Tom Lane)
+
+
+ Also allow row values to be supplied by table.*.
+
+
+
+
+
+ Fix regular expression locale class handling for bytes greater
+ than U+7FF> (Tom Lane)
+
+
+ Previously such classes were not recognized.
+
+
-
+
Utility Commands
-
+
-
-
-Add table partitioning syntax> that automatically creates partition
-constraints and INSERT> routing (Amit Langote)
-
-
-The syntax supports range and list partitioning.
-
-
-
-
-
-Add AFTER> trigger> transition table to record changed rows (Kevin Grittner)
-
-
-Transition table contents are accessible from server-side languages.
-
-
-
-
-
-Allow restrictive row-level security policies> (Stephen Frost)
-
-
-Previously all security policies were permissive, meaning that any
-matching policy allowed access. Optional restrictive policies must
-match for access to be granted. These policy types can be combined.
-
-
-
-
-
-Allow default permissions> on schemas (Matheus Oliveira)
-
-
-This is done using the ALTER DEFAULT PRIVILEGES> command.
-
-
-
-
-
-Add CREATE SEQUENCE AS>> command to create a sequence matching
-an integer data type (Peter Eisentraut)
-
-
-This simplifies the creation of sequences matching the range of base
-columns.
-
-
-
-
-
-Allow COPY view FROM> on views with INSTEAD INSERT> triggers (Haribabu
-Kommi)
-
-
-The triggers are fed the rows from COPY>.
-
-
-
-
-
-Allow the specification of a function name without arguments in
DDL>
-commands, when unique (Peter Eisentraut)
-
-
-For example, allow DROP FUNCTION>> on a function name without arguments if
-there is only one function with that name. This is required by the
SQL>
-standard.
-
-
-
-
-
-Allow multiple functions, operators, and aggregates to be dropped with a
-single DROP> command (Peter Eisentraut)
-
-
-
-
-
-Add IF NOT EXISTS> for CREATE SERVER>> and
-CREATE USER MAPPING>> (Anastasia
-Lubennikova)
-
-
-
-
-
-Add IF NOT EXISTS> clause to CREATE COLLATION>> (Peter Eisentraut)
-
-
-
-
-
-Have VACUUM VERBOSE>> report the number of skipped frozen pages (Masahiko
-Sawada)
-
-
-This information is also included in output.
-
-
-
-
-
-Fix check_srf_call_placement()> to handle VALUES> cases correctly (Tom
-Lane)
-
-
-NEED TEXT.
-
-
+
+
+ Add table partitioning
+ syntax> that automatically creates partition constraints and
+ INSERT> routing (Amit Langote)
+
+
+ The syntax supports range and list partitioning.
+
+
+
+
+
+ Add AFTER> trigger>
+ transition table to record changed rows (Kevin Grittner)
+
+
+ Transition table contents are accessible from server-side languages.
+
+
+
+
+
+ Allow restrictive row-level
+ security policies> (Stephen Frost)
+
+
+ Previously all security policies were permissive, meaning that any
+ matching policy allowed access. Optional restrictive policies must
+ match for access to be granted. These policy types can be combined.
+
+
+
+
+
+ Allow default
+ permissions> on schemas (Matheus Oliveira)
+
+
+ This is done using the ALTER DEFAULT PRIVILEGES> command.
+
+
+
+
+
+ Add CREATE SEQUENCE
+ AS>> command to create a sequence matching an integer data type
+ (Peter Eisentraut)
+
+
+ This simplifies the creation of sequences matching the range of
+ base columns.
+
+
+
+
+
+ Allow COPY view FROM> on views with INSTEAD
+ INSERT> triggers (Haribabu Kommi)
+
+
+ The triggers are fed the rows from COPY>.
+
+
+
+
+
+ Allow the specification of a function name without arguments in
+
DDL> commands, when unique (Peter Eisentraut)
+
+
+ For example, allow DROP
+ FUNCTION>> on a function name without arguments if there
+ is only one function with that name. This is required by the
+
+
+
+
+
+ Allow multiple functions, operators, and aggregates to be dropped
+ with a single DROP> command (Peter Eisentraut)
+
+
+
+
+
+ Add
IF NOT EXISTS> for
+ linkend="SQL-CREATESERVER">CREATE SERVER>> and
+ CREATE USER
+ MAPPING>> (Anastasia
+ Lubennikova)
+
+
+
+
+
+ Add
IF NOT EXISTS> clause to
+ linkend="SQL-CREATECOLLATION">CREATE COLLATION>>
+ (Peter Eisentraut)
+
+
+
+
+
+ Have VACUUM VERBOSE>>
+ report the number of skipped frozen pages (Masahiko Sawada)
+
+
+ This information is also included in
+ linkend="guc-log-autovacuum-min-duration"> output.
+
+
+
+
+
+ Fix check_srf_call_placement()> to handle
+ VALUES> cases correctly (Tom Lane)
+
+
+ NEED TEXT.
+
+
-
-
-Add support for
EUI-64> MAC> addresses as MACADDR8>> (Haribabu Kommi)
-
-
-This complements support for
EUI-48> MAC> addresses as macaddr>.
-
-
-
-
-
-Add identity columns> for assigning a numeric value to columns on insert
-(Peter Eisentraut)
-
-
-These are similar to
SERIAL> columns, but are SQL> standard compliant.
-
-
-
-
-
-Allow ENUM>> values to be renamed (Dagfinn Ilmari Mannsåker)
-
-
-This uses the syntax ALTER TYPE ... RENAME VALUE>>.
-
-
-
-
-
-Properly treat array pseudotypes (anyarray>) as arrays in to_json()>> and to_jsonb()> (Andrew
-Dunstan)
-
-
-Previously "anyarray" values were converted to JSON> strings.
-
-
-
-
-
-Add MONEY>> operators for multiplication and division with INT8> values
-(Peter Eisentraut)
-
-
-
-
-
-More strictly check the MONEY> type for overflow operations (Peter
-Eisentraut)
-
-
+
+
+ Add support for
EUI-64> MAC> addresses as
+ MACADDR8>> (Haribabu
+ Kommi)
+
+
+ This complements support for
EUI-48> MAC>
+ addresses as macaddr>.
+
+
+
+
+
+ Add identity columns> for
+ assigning a numeric value to columns on insert (Peter Eisentraut)
+
+
+ These are similar to SERIAL> columns, but are
+
SQL> standard compliant.
+
+
+
+
+
+ Allow ENUM>> values to be
+ renamed (Dagfinn Ilmari Mannsåker)
+
+
+ This uses the syntax ALTER
+ TYPE ... RENAME VALUE>>.
+
+
+
+
+
+ Properly treat array pseudotypes
+ (
anyarray>) as arrays in
+ linkend="functions-json-creation-table">to_json()>>
+ and to_jsonb()> (Andrew Dunstan)
+
+
+ Previously "anyarray" values were converted to JSON>
+ strings.
+
+
+
+
+
+ Add MONEY>> operators
+ for multiplication and division with INT8> values (Peter
+ Eisentraut)
+
+
+
+
+
+ More strictly check the MONEY> type for overflow operations
+ (Peter Eisentraut)
+
+
Functions
-
+
-
-
-Add simplified regexp_match()>> function (Emre Hasegeli)
-
-
-Similar to regexp_matches()>, but only returns results from the first
-match so it is easier use for simple cases.
-
-
-
-
-
-Add support for converting XML>-formatted data into a row set (Pavel
-Stehule, Álvaro Herrera)
-
-
-This is done by referencing the new XMLTABLE>> function.
-
-
-
-
-
-Add version of jsonb's delete operator> that takes an array of keys to delete
-(Magnus Hagander)
-
-
-The JSONB> delete operator also now supports arrays.
-
-
-
-
-
-Improve json_populate_record>> and friends operate recursively (Nikita
-Glukhov)
-
-
-CLARIFY
-
-
-
-
-
-Add function txid_current_ifassigned()>> to return NULL> if no transaction
-id has been assigned (Craig Ringer)
-
-
-This is different from txid_current()>>, which always returns a
-transaction id by assigning one if necessary. This can be also run on
-standby servers.
-
-
-
-
-
-Add function txid_status()>> to check if a transaction was committed
-(Craig Ringer)
-
-
-This is useful for checking after an abrupt disconnection if your
-previous transaction committed and you just didn't receive the
-acknowledgement.
-
-
-
-
-
-Allow
make_date()>> to interpret negative years as BC> years (Álvaro
-Herrera)
-
-
-
-
-
-Have to_timestamp()> and to_date()> check input values for validity
-(Artur Zakirov)
-
-
-Previously to_date('2009-06-40','YYYY-MM-DD')> was accepted and returned
-'2009-07-10'. It will now generate an error.
-
-
+
+
+ Add simplified
+ linkend="functions-posix-regexp">regexp_match()>>
+ function (Emre Hasegeli)
+
+
+ Similar to regexp_matches()>, but only returns results
+ from the first match so it is easier use for simple cases.
+
+
+
+
+
+ Add support for converting XML>-formatted data into a row
+ set (Pavel Stehule, Álvaro Herrera)
+
+
+ This is done by referencing the new
+ linkend="functions-xml-processing-xmltable">XMLTABLE>>
+ function.
+
+
+
+
+
+ Add version of jsonb's
+ linkend="functions-jsonb-op-table">delete operator> that takes
+ an array of keys to delete (Magnus Hagander)
+
+
+ The JSONB> delete operator also now supports arrays.
+
+
+
+
+
+ Improve
+ linkend="functions-json-processing-table">json_populate_record>>
+ and friends operate recursively (Nikita Glukhov)
+
+
+ CLARIFY
+
+
+
+
+
+ Add function
+ linkend="functions-txid-snapshot">txid_current_ifassigned()>>
+ to return NULL> if no transaction id has been assigned
+ (Craig Ringer)
+
+
+ This is different from
+ linkend="functions-txid-snapshot">txid_current()>>,
+ which always returns a transaction id by assigning one if necessary.
+ This can be also run on standby servers.
+
+
+
+
+
+ Add function
+ linkend="functions-txid-snapshot">txid_status()>>
+ to check if a transaction was committed (Craig Ringer)
+
+
+ This is useful for checking after an abrupt disconnection if
+ your previous transaction committed and you just didn't receive
+ the acknowledgement.
+
+
+
+
+
+ Allow
+ linkend="functions-formatting-table">make_date()>>
+ to interpret negative years as
BC> years (Álvaro
+ Herrera)
+
+
+
+
+
+ Have to_timestamp()> and to_date()> check
+ input values for validity (Artur Zakirov)
+
+
+ Previously to_date('2009-06-40','YYYY-MM-DD')> was
+ accepted and returned '2009-07-10'. It will now generate an error.
+
+
-
+
-
-
-Allow the PL/Python plan object to call cursor and execute methods
-(Peter Eisentraut)
-
-
-This is a more object oriented style.
-
-
-
-
-
-Allow PL/pgSQL's GET DIAGNOSTICS> to retrieve values into array elements
-(Tom Lane)
-
-
-
-
-
+ Allow the PL/Python plan object to call cursor and execute methods
+ (Peter Eisentraut)
+
+
+ This is a more object oriented style.
+
+
+
+
+
+ Allow PL/pgSQL's GET DIAGNOSTICS> to retrieve values
+ into array elements (Tom Lane)
+
+
+
+
+
+ Remove
SPI> functions SPI_push()>,
+ SPI_pop()>, SPI_restore_connection()>
+ as unnecessary (Tom Lane)
+
+
+ Their functionality now happens automatically. Also,
+ SPI_palloc()> now requires an active connection.
+
+
-
PL/Tcl>
+
PL/Tcl>
-
+
-
-
-Allow PL/Tcl functions to return composite types and sets (Jim Nasby)
-
-
-
-
-
-Add a subtransaction command to PL/Tcl (Victor Wagner)
-
-
-This allows PL/Tcl queries to fail without aborting the entire function.
-
-
-
-
-
-Add
GUC>s to allow initialization routines to be called on PL/Tcl startup
-(Tom Lane)
-
-
-The
GUC>s are pltcl.start_proc> and pltclu.start_proc>.
-
-
+
+
+ Allow PL/Tcl functions to return composite types and sets
+ (Jim Nasby)
+
+
+
+
+
+ Add a subtransaction command to PL/Tcl (Victor Wagner)
+
+
+ This allows PL/Tcl queries to fail without aborting the entire
+ function.
+
+
+
+
+
+ Add
GUC>s to allow initialization routines to be called
+ on PL/Tcl startup (Tom Lane)
+
+
+ The
GUC>s are pltcl.start_proc> and
+ pltclu.start_proc>.
+
+
-
-
+
+
-
+
-
-
-Allow libpq to connect to multiple specified> host names (Robert Haas)
-
-
-libpq will connect with the first responsive host name.
-
-
-
-
-
-Allow the libpq connection string to request a read/write host> (Victor
-Wagner, Mithun Cy)
-
-
-This is useful when multiple libpq host names are specified, and is
-controlled by libpq connection parameter
-
-
-
-
-
-Allow password file name> to be specified as a libpq connection parameter
-(Julian Markwort)
-
-
-Previously this could only be specified via an environment variable.
-
-
-
-
-
-ecpg preprocessor version changed from 4.12 to 10 (Tom Lane)
-
-
-The ecpg version now matches the Postgres distribution version number.
-
-
+
+
+ Allow libpq to connect to
+ linkend="libpq-connect-host">multiple specified> host names
+ (Robert Haas)
+
+
+ libpq will connect with the first responsive host name.
+
+
+
+
+
+ Allow the libpq connection string to request a
+ linkend="libpq-connect-target-session-attrs">read/write host>
+ (Victor Wagner, Mithun Cy)
+
+
+ This is useful when multiple libpq host names are
+ specified, and is controlled by libpq connection parameter
+
+
+
+
+
+
+ Allow password file name>
+ to be specified as a libpq connection parameter (Julian Markwort)
+
+
+ Previously this could only be specified via an environment variable.
+
+
+
+
+
+ ecpg preprocessor version changed from 4.12 to 10 (Tom Lane)
+
+
+ The ecpg version now matches the Postgres distribution version
+ number.
+
+
Client Applications
-
-
+
+
-
+
-
-
-Add conditional branch support to
psql> (Corey Huinker)
-
-
-The new syntax uses \if, \elif, \else, and \endif. This is particularly
-helpful for scripting.
-
-
-
-
-
-Add
psql> \gx command to perform \g(execute) in expanded mode (\x)
-(Christoph Berg)
-
-
-
-
-
-Improve
psql>'s \d (relation) and \dD (domain) commands to specify
-collation, nullable, and default in separate columns (Peter Eisentraut)
-
-
-Previous they were in a single "Modifiers" column.
-
-
-
-
-
-Expand
psql> colon variables when used in backtick-executed contexts (Tom Lane)
-
-
-This is particularly useful for the new
psql> conditional branch support
-commands.
-
-
-
-
-
-Prevent
psql> special variables from being set to invalid values (Daniel
-Vérité, Tom Lane)
-
-
-Previously setting
psql> special variables to invalid values produced the
-default behavior. \set and \unset of special variables now sets them to
-"on" and its default value, rather than a zero-length string and
-undefined. Also have \set always display values for FETCH_COUNT>,
-HISTSIZE>, and IGNOREEOF>.
-
-
-
-
-
-Fix
psql> \p to always print what would be executed by \g or \w (Daniel
-Vérité)
-
-
-Previously \p didn't properly print the reverted-to command after a
-buffer contents reset. CLARIFY?
-
-
-
-
-
-Improve
psql>'s tab completion (Jeff Janes, Ian Barwick, Andreas Karlsson,
-Sehrope Sarkuni, Thomas Munro, Kevin Grittner, Dagfinn Ilmari Mannsåker)
-
-
+
+
+ Add conditional branch support to
psql> (Corey
+ Huinker)
+
+
+ The new syntax uses \if, \elif, \else, and \endif. This is
+ particularly helpful for scripting.
+
+
+
+
+
+ Add
psql> \gx command to perform \g(execute)
+ in expanded mode (\x) (Christoph Berg)
+
+
+
+
+
+ Improve
psql>'s \d (relation) and \dD (domain)
+ commands to specify collation, nullable, and default in separate
+ columns (Peter Eisentraut)
+
+
+ Previous they were in a single "Modifiers" column.
+
+
+
+
+
+ Expand
psql> colon variables when used in
+ backtick-executed contexts (Tom Lane)
+
+
+ This is particularly useful for the new
psql>
+ conditional branch support commands.
+
+
+
+
+
+ Prevent
psql> special variables from being set to
+ invalid values (Daniel Vérité, Tom Lane)
+
+
+ Previously setting
psql> special variables
+ to invalid values produced the default behavior. \set and
+ \unset of special variables now sets them to "on" and its
+ default value, rather than a zero-length string and undefined.
+ Also have \set always display values for FETCH_COUNT>,
+ HISTSIZE>, and IGNOREEOF>.
+
+
+
+
+
+ Fix
psql> \p to always print what would be executed
+ by \g or \w (Daniel Vérité)
+
+
+ Previously \p didn't properly print the reverted-to command after
+ a buffer contents reset. CLARIFY?
+
+
+
+
+
+ Improve
psql>'s tab completion (Jeff Janes,
+ Ian Barwick, Andreas Karlsson, Sehrope Sarkuni, Thomas Munro,
+ Kevin Grittner, Dagfinn Ilmari Mannsåker)
+
+
-
+
-
-
-Add pgbench option
-Sawada)
-
-
-
-
-
-Allow pgbench's meta commands to span multiple lines via a
-line-terminating backslash (Fabien Coelho)
-
-
+
+
+ Add pgbench option
+ file prefix (Masahiko Sawada)
+
+
+
+
+
+ Allow pgbench's meta commands to span multiple lines via a
+ line-terminating backslash (Fabien Coelho)
+
+
-
-
-Add
pg_receivewal>> option
-Paquier)
-
-
-
-
-
-Add
pg_recvlogical>> option (
-(Craig Ringer)
-
-
-This complements the existing
-
-
-
-
-
-Rename
initdb>> options
-and
-
-
-The old spellings are still supported.
-
-
+
+
+ Add
+ linkend="app-pgreceivewal">
pg_receivewal>>
+ option
+ (Michael Paquier)
+
+
+
+
+
+ Add
+ linkend="app-pgrecvlogical">
pg_recvlogical>> option
+ (
+
+
+ This complements the existing
+
+
+
+
+
+ options
+
+ Peter Eisentraut)
+
+
+ The old spellings are still supported.
+
+
-
pg_dump>>, pg_dumpall>>.
+
pg_dump>>, pg_dumpall>>.
-
+
-
-
-Allow
pg_restore> to exclude schemas (Michael Banck)
-
-
-This added a new
-
-
-
-
-
-Add
-
pg_dump> (Guillaume Lelarge)
-
-
-This suppresses the dumping of large objects.
-
-
-
-
-
-Add
pg_dumpall> option
-passwords (Robins Tharakan, Simon Riggs)
-
-
-This allows easier dumping for less-privileged users.
-
-
-
-
-
-Issue fsync on the output files generated by
pg_dump> and
-
pg_dumpall> (Michael Paquier)
-
-
-This can be disabled with the
-
-
+
+
+ Allow
pg_restore> to exclude schemas (Michael Banck)
+
+
+ This added a new
+
+
+
+
+
+ Add
+
pg_dump> (Guillaume Lelarge)
+
+
+ This suppresses the dumping of large objects.
+
+
+
+
+
+
+ (Robins Tharakan, Simon Riggs)
+
+
+ This allows easier dumping for less-privileged users.
+
+
+
+
+
+ Issue fsync on the output files generated by
+
pg_dumpall> (Michael Paquier)
+
+
+ This can be disabled with the
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-Allow
pg_basebackup> to stream transaction log in tar mode (Magnus
-Hagander)
-
-
-The
WAL> will be stored in a separate tar file from the base backup.
-
-
-
-
-
-Make
pg_basebackup> use temporary replication slots (Magnus Hagander)
-
-
-Temporary replication slots will be used by default when
pg_basebackup>
-uses wal streaming with default options.
-
-
-
-
-
-Improve fsync handling of
pg_basebackup> and pg_receivewal> (Michael Paquier)
-
-
-Also add
-
-
-
-
-
-Improve
pg_basebackup>'s handling of which directories to skip (David
-Steele)
-
-
-Also improve the documentation of skipped directories.
-
-
+
+
+ Allow
pg_basebackup> to stream transaction log in
+ tar mode (Magnus Hagander)
+
+
+ The
WAL> will be stored in a separate tar file from
+ the base backup.
+
+
+
+
+
+ Make
pg_basebackup> use temporary replication slots
+ (Magnus Hagander)
+
+
+ Temporary replication slots will be used by default when
+
pg_basebackup> uses wal streaming with default
+ options.
+
+
+
+
+
+ Improve fsync handling of
pg_basebackup> and
+
pg_receivewal> (Michael Paquier)
+
+
+ Also add
+
+
+
+
+
+ Improve
pg_basebackup>'s handling of which
+ directories to skip (David Steele)
+
+
+ Also improve the documentation of skipped directories.
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-Add wait option for
>'s promote operation (Peter Eisentraut)
-
-
-
-
-
-Add log options for
pg_ctl> wait (
-
-
-
-
-
-Add long options flag for
pg_ctl> options> (Peter Eisentraut)
-
-
-It is called
-
-
+
+
+ Add wait option for
>'s
+ promote operation (Peter Eisentraut)
+
+
+
+
+
+ Add log options for
pg_ctl> wait (
+ and no-wait (
+
+
+
+
+
+ Add long options flag for
pg_ctl>
+ options> (Peter Eisentraut)
+
+
+ It is called
+
+
-
-
-
+
+
+
Source Code
-
+
-
-
-New major version numbering (Peter Eisentraut, Tom Lane)
-
-
-Major versions will now increase just the first number, and minor
-releases will increase just the second number. A third number will no
-longer be used in Postgres version numbers.
-
-
-
-
-
-Allow the
ICU>> library to optionally be used for collation support (Peter
-Eisentraut)
-
-
-The
ICU> library has versioning that allows detection of collation
-changes between versions. It is enabled via configure option
-
-collation library.
-
-
-
-
-
-Automatically mark all PG_FUNCTION_INFO_V1>> functions as DLLEXPORT>-ed on
-Windows> (Laurenz Albe)
-
-
-If third-party code is using extern> function declarations, they should
-also add DLLEXPORT> markers to those declarations.
-
-
-
-
-
-Allow shared memory to be dynamically allocated (Thomas Munro, Robert Haas)
-
-
-
-
-
-Add slab-like memory allocator for efficient fixed-size allocations
-(Tomas Vondra)
-
-
-
-
-
-Use
POSIX> semaphores rather than SysV semaphores on
-class="osname">Linux> and FreeBSD>
-(Tom Lane)
-
-
-This avoids some limits on SysV semaphore usage.
-
-
-
-
-
-Improve support for 64-bit atomics (Andres Freund)
-
-
-
-
-
-Enable 64-bit atomic operations on
ARM64> (Roman Shaposhnik)
-
-
-
-
-
-Switch to using clock_gettime()>, if available, for duration measurements
-(Tom Lane)
-
-
-gettimeofday()> is used if clock_gettime()> is not available.
-
-
-
-
-
-Add more robust random number generators to be used for
-cryptographic secure uses (Magnus Hagander, Michael Paquier, Heikki
-Linnakangas)
-
-
-If no strong random number generator can be found, configure will fail
-unless the configure>
-this option, pgcrypto functions requiring a strong random number
-generator will be disabled.
-
-
-
-
-
-Overhaul documentation build process> (Alexander Lakhin, Alexander Law)
-
-
-
-
-
-Use
XSLT> to build the Postgres documentation (Peter Eisentraut)
-
-
-Previously
Jade>, DSSSL,> and JadeTex> were used.
-
-
-
-
-
-Build
HTML> documentation using XSLT> stylesheets by default (Peter
-Eisentraut)
-
-
+
+
+ New major version numbering (Peter Eisentraut, Tom Lane)
+
+
+ Major versions will now increase just the first number, and minor
+ releases will increase just the second number. A third number
+ will no longer be used in Postgres version numbers.
+
+
+
+
+
+ Allow the
ICU>> library to
+ optionally be used for collation support (Peter Eisentraut)
+
+
+ The
ICU> library has versioning that allows detection
+ of collation changes between versions. It is enabled via configure
+ option
+ system's native collation library.
+
+
+
+
+
+ Automatically mark all
+ linkend="xfunc-c">PG_FUNCTION_INFO_V1>> functions
+ as DLLEXPORT>-ed on
+ Windows> (Laurenz Albe)
+
+
+ If third-party code is using extern> function
+ declarations, they should also add DLLEXPORT> markers
+ to those declarations.
+
+
+
+
+
+ Allow shared memory to be dynamically allocated (Thomas Munro,
+ Robert Haas)
+
+
+
+
+
+ Add slab-like memory allocator for efficient fixed-size allocations
+ (Tomas Vondra)
+
+
+
+
+
+ Use
POSIX> semaphores rather than SysV semaphores
+ on
Linux> and
+ class="osname">FreeBSD> (Tom Lane)
+
+
+ This avoids some limits on SysV semaphore usage.
+
+
+
+
+
+ Improve support for 64-bit atomics (Andres Freund)
+
+
+
+
+
+ Enable 64-bit atomic operations on
ARM64> (Roman
+ Shaposhnik)
+
+
+
+
+
+ Switch to using clock_gettime()>, if available, for
+ duration measurements (Tom Lane)
+
+
+ gettimeofday()> is used if clock_gettime()>
+ is not available.
+
+
+
+
+
+ Add more robust random number generators to be used for
+ cryptographic secure uses (Magnus Hagander, Michael Paquier,
+ Heikki Linnakangas)
+
+
+ If no strong random number generator can be found, configure
+ will fail unless the configure>
+
+ option, pgcrypto functions requiring a strong random number
+ generator will be disabled.
+
+
+
+
+
+ Overhaul documentation build
+ process> (Alexander Lakhin, Alexander Law)
+
+
+
+
+
+ Use
XSLT> to build the Postgres documentation (Peter
+ Eisentraut)
+
+
+ Previously
Jade>, DSSSL,> and
+
+
+
+
+
+ Build
HTML> documentation using XSLT>
+ stylesheets by default (Peter Eisentraut)
+
+
-
-
-Allow
file_fdw>> to read from program output as well as files (Corey Huinker, Adam Gomaa)
-
-
-
-
-
-Push aggregates to foreign data wrapper servers, where possible (Jeevan
-Chalke, Ashutosh Bapat)
-
-
-This reduces the amount of data that must be passed from the foreign
-data wrapper server, and offloads aggregate computation from the
-requesting server. The
postgres_fdw>> is able to perform this
-optimization.
-
-
-
-
-
-Allow push down of FULL JOIN> queries containing subqueries in the
-FROM> clause to foreign servers (Etsuro Fujita)
-
-
-
-
-
-Properly support
OID> columns in postgres_fdw> tables (Etsuro Fujita)
-
-
-Previously OID> columns always returned zeros.
-
-
-
-
-
-Allow
btree_gist>> and btree_gin>> to index enum types
-(Andrew Dunstan)
-
-
-This allows enums to be used in exclusion constraints.
-
-
-
-
-
-Add indexing support to
btree_gist> for the UUID> data type (Paul
-Jungwirth)
-
-
-
-
-
-Add
amcheck>> which can check the validity of btree indexes (Peter
-Geoghegan)
-
-
-
-
-
-Show ignored constants as $N> rather than ?> in
-
pg_stat_statements>> (Lukas Fittl)
-
-
-
-
-
-Improve
cube>>'s handling of zero-dimensional cubes (Tom Lane)
-
-
-This also improves handling of infinite> and NaN> values.
-
-
-
-
-
-Allow
pg_buffercache>> to run with fewer locks (Ivan Kartyshov)
-
-
-This allows it be less disruptive when run on production systems.
-
-
-
-
-
-Add
pgstathashindex()> function to pgstattuple>> to view hash index
-statistics (Ashutosh Sharma)
-
-
-
-
-
-Allow
pgstattuple>> to use GRANT> permissions (Stephen Frost)
-
-
-This allows non-superusers to run these functions if permissions allow.
-
-
-
-
-
-Reduce locking when
pgstattuple>> examines hash indexes (Amit Kapila)
-
-
-
-
-
-Add
page_checksum()> function to pageinspect>> (Tomas Vondra)
-
-
-
-
-
-Add hash index support to
pageinspect>> (Jesper Pedersen, Ashutosh
-Sharma)
-
-
-
-
-
-Add
pageinspect>> function bt_page_items()> to print page items
-from a page image (Tomas Vondra)
-
-
-Previously only block numbers were supported.
-
-
+
+
+ Allow
file_fdw>> to read
+ from program output as well as files (Corey Huinker, Adam Gomaa)
+
+
+
+
+
+ Push aggregates to foreign data wrapper servers, where possible
+ (Jeevan Chalke, Ashutosh Bapat)
+
+
+ This reduces the amount of data that must be passed
+ from the foreign data wrapper server, and offloads
+ aggregate computation from the requesting server. The
+ linkend="postgres-fdw">
postgres_fdw>> is able to
+ perform this optimization.
+
+
+
+
+
+ Allow push down of FULL JOIN> queries containing
+ subqueries in the
+ FROM> clause to foreign servers (Etsuro Fujita)
+
+
+
+
+
+ Properly support OID> columns in
+
postgres_fdw> tables (Etsuro Fujita)
+
+
+ Previously OID> columns always returned zeros.
+
+
+
+
+
+ index enum types (Andrew Dunstan)
+
+
+ This allows enums to be used in exclusion constraints.
+
+
+
+
+
+ Add indexing support to
btree_gist> for the
+ UUID> data type (Paul Jungwirth)
+
+
+
+
+
+ Add
amcheck>> which can
+ check the validity of btree indexes (Peter Geoghegan)
+
+
+
+
+
+ Show ignored constants as $N> rather than ?>
+ in
+
+ linkend="pgstatstatements">
pg_stat_statements>>
+ (Lukas Fittl)
+
+
+
+
+
+ Improve
cube>>'s handling
+ of zero-dimensional cubes (Tom Lane)
+
+
+ This also improves handling of infinite> and
+ NaN> values.
+
+
+
+
+
+ Allow
+ linkend="pgbuffercache">
pg_buffercache>> to run
+ with fewer locks (Ivan Kartyshov)
+
+
+ This allows it be less disruptive when run on production systems.
+
+
+
+
+
+ Add
pgstathashindex()> function to
+ linkend="pgstattuple">
pgstattuple>> to view hash
+ index statistics (Ashutosh Sharma)
+
+
+
+
+
+ to use GRANT> permissions (Stephen Frost)
+
+
+ This allows non-superusers to run these functions if permissions
+ allow.
+
+
+
+
+
+ Reduce locking when
+ linkend="pgstattuple">
pgstattuple>> examines hash
+ indexes (Amit Kapila)
+
+
+
+
+
+ Add
page_checksum()> function to
+ linkend="pageinspect">
pageinspect>> (Tomas Vondra)
+
+
+
+
+
+ Add hash index support to
+ linkend="pageinspect">
pageinspect>> (Jesper
+ Pedersen, Ashutosh Sharma)
+
+
+
+
+
+ function bt_page_items()> to print page items from a
+ page image (Tomas Vondra)
+
+
+ Previously only block numbers were supported.
+
+
-
+
-
+