linkend="guc-ssl-passphrase-command"/> setting (Insung Moon)
- This is controlled by .
+ This choice can be controlled by
+ .
-->
- Tighten rules on which utility commands are possible in
- linkend="guc-default-transaction-read-only"/> mode (Robert Haas)
+ Tighten rules on which utility commands are allowed in
+ read-only transaction mode (Robert Haas)
- This also increases the number of utility commands that can run in
- parallel queries.
+ This change also increases the number of utility commands that can
+ run in parallel queries.
+
+
+
+ Enable Unix-domain sockets
+ support on Windows (Peter Eisentraut)
+
+
+
-->
- Allow
WAL receivers use a temporary replication slot
- if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov)
+ Allow
WAL receivers to use a temporary
+ replication slot when a permanent one is not specified (Peter
+ Eisentraut, Sergei Kornilov)
-->
- Allow replication slot storage to be limited by
- linkend="guc-max-slot-wal-keep-size"/> (Kyotaro Horiguchi)
+ Allow WAL storage for replication slots to be limited by
+ linkend="guc-max-slot-wal-keep-size"/> (Kyotaro Horiguchi)
- Replication slots that exceed this value are invalidated.
+ Replication slots that would require exceeding this value are
+ marked invalid.
- Previously,
the end of the WAL would promote the
- standby, even if the target was not reached.
+ Previously, a standby would promote itself upon reaching the end
+
of WAL, even if the target was not reached.
-->
- Have CREATE TABLE
- LIKE propagate CHECK's NO
- INHERIT property to created tables (Ildar Musin, Chris
- Travers)
+ Make CREATE TABLE
+ LIKE propagate a CHECK
+ constraint's NO INHERIT property to the created
+ table (Ildar Musin, Chris Travers)
Add ALTER
- TABLE clause DROP EXPRESSION
- to remove generated properties from columns (Peter Eisentraut)
+ TABLE ... DROP EXPRESSION
+ to allow removing the GENERATED
+ property from a column (Peter Eisentraut)
-->
- Fix bugs in ALTER TABLE when later clauses overlap
- changes made by earlier clauses in the same command (Tom Lane)
+ Fix bugs in multi-step ALTER TABLE commands (Tom
+ Lane)
+
+
+ IF NOT EXISTS clauses now work as expected, in
+ that derived actions (such as index creation) do not execute if the
+ column already exists. Also, certain cases of combining related
+ actions into one ALTER TABLE now work when they
+ did not before.
- This was previously possible only using ALTER TABLE RENAME
- COLUMN.
+ Renaming view columns was already possible, but one had to
+ write ALTER TABLE RENAME COLUMN, which is
+ confusing.
Add ALTER TYPE
- options
useful for extensions, like TOAST and I/O
- functions control (Tomas Vondra, Tom Lane)
+ options
to modify a base type's TOAST properties
+ and support functions (Tomas Vondra, Tom Lane)
- This combines existing options LC_COLLATE and
+ This combines the existing options LC_COLLATE and
LC_CTYPE into a single option.
Allow DROP
- DATABASE to disconnect users so drop succeeds (Pavel
- Stehule, Amit Kapila)
+ DATABASE to disconnect sessions using the target
+ database, allowing the drop to succeed (Pavel Stehule, Amit Kapila)
- This is enabled by WITH FORCE.
+ This is enabled by the FORCE option.
-->
- Add
C structure member
+ Add structure member
linkend="trigger-interface">tg_updatedcols
- to record updated columns to C triggers (Peter Eisentraut)
+ to allow C-language update triggers to know which column(s) were updated
+ (Peter Eisentraut)
The new data types are
- linkend="datatype-pseudotypes-table">anycompatible,
- anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.
+ linkend="datatype-pseudotypes-table">anycompatible,
+ anycompatiblearray, anycompatiblenonarray,
+ and anycompatiblerange.
Add
SQL data type
- linkend="datatype-oid">xid8 to expose FullTransactionId
- (Thomas Munro)
+ linkend="datatype-oid">xid8 to expose
+ FullTransactionId (Thomas Munro)
- The xid data type is only four bytes so does not show the transaction
- epoch.
+ The existing xid data type is only four bytes so it
+ does not provide the transaction epoch.
-->
- Add data type regcollation and
- helper functions for system collations (Julien Rouhaud)
+ Add data
+ type regcollation
+ and associated functions, to represent OIDs of collation objects
+ (Julien Rouhaud)
-->
- Use the glibc version in some cases as
the
- linkend="collation">collation version (Thomas Munro)
+ Use the glibc version in some cases as
a
+ linkend="collation">collation version identifier (Thomas Munro)
- If the glibc version changes, a warning will be issued when a
- mismatching collation is used.
+ If the glibc version changes, a warning will be issued about
+ possible corruption of collation-dependent indexes.
-->
- Allow ROW values
- values to have their members extracted with suffix notation (Tom Lane)
+ Allow ROW
+ expressions to have their members extracted with suffix
+ notation (Tom Lane)
- For example, (ROW(4, 5.0)).f1 returns 4.
+ For example, (ROW(4, 5.0)).f1 now returns 4.
Add alternate version of
- linkend="functions-json-processing-table">jsonb_setI()
- with special NULL handling (Andrew Dunstan)
+ linkend="functions-json-processing-table">jsonb_set()
+ with improved NULL handling (Andrew Dunstan)
- The new function, jsonb_set_lax(), allows null
- new values to either set the specified key to
JSON
- null, delete the key, raise exception, or ignore the operation.
- IS 'return_target' CLEAR?
+ The new function, jsonb_set_lax(), handles a
+ NULL new value by either setting the specified
+ key to a
JSON null, deleting the key, raising an
+ exception, or returning the jsonb value unmodified, as
+ requested.
- This allows json values to be converted to timestamps, which can
- then be processed in jsonpath expressions. This also adds jsonpath
- functions that support time zone-aware output.
+ This function allows
JSON values to be converted
+ to timestamps, which can then be processed in jsonpath
+ expressions. This change also adds jsonpath functions
+ that support time-zone-aware output.
- Allow Unicode
- escapes, e.g., E'\u####', U&'\####', to specify any
- character available in the database encoding, even when the database
-
encoding is not UTF-8 (Tom Lane)
+ Add min() and
+
max() aggregates for
+ linkend="datatype-pg-lsn">pg_lsn (Fabrízio
+ de Royes Mello)
- The Unicode characters must be available in the database encoding.
+ These are particularly useful in monitoring queries.
+
+
+
+
+
+
+ Allow Unicode
+ escapes,
+ e.g., E'\unnnn'
+ or U&'\nnnn', to
+ specify any character available in the database encoding, even when
+ the database encoding is not
UTF-8 (Tom Lane)
The names recognized are the same as those output by
linkend="functions-formatting">to_char()
- with the same format codes.
+ with the same format patterns.
-->
- Add format specifications FF1-FF6 to control display of 1-6 subsecond
- digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg
- Bartunov)
+ Add datetime format patterns FF1
+ – FF6 to specify input or output of
+ 1 to 6 fractional-second digits (Alexander
+ Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov)
-->
- Add SSSSS time format specification as an
-
SQL standard alias for
SSSS
+ Add SSSSS datetime format pattern as an
+
SQL-standard alias for
SSSS
(Nikita Glukhov, Alexander Korotkov)
Add function
linkend="functions-uuid">gen_random_uuid()
- to generate version 4 UUIDs (Peter Eisentraut)
+ to generate version-4 UUIDs (Peter Eisentraut)
Previously
UUID generation functions were only
- available
via external modules
and
+ available
in the external modules
and
linkend="pgcrypto"/>.
-->
- Add greatest-common-denominator (
- linkend="functions-math-func-table">gcd) and
- least-common-multiple (lcm) functions (Vik Fearing)
+ Add greatest-common-denominator
+ (gcd)
+ and least-common-multiple (lcm) functions (Vik
+ Fearing)
-->
- Improve the performance and accuracy of
- linkend="functions-math-func-table">square root and natural log
- (ln) output (Dean Rasheed)
+ Improve the performance and accuracy of the numeric
+ type's square root
+ (sqrt) and natural log
+ (ln) functions (Dean Rasheed)
Add function
linkend="functions-math-func-table">min_scale()
- that returns the number of digits to the right the decimal point
- that is required to represent the numeric value with full precision
- (Pavel Stehule)
+ that returns the number of digits to the right of the decimal point
+ that are required to represent a numeric value with
+ full accuracy (Pavel Stehule)
Add function
linkend="functions-math-func-table">trim_scale()
- to reduce the scale of a number by removing trailing zeros (Pavel
- Stehule)
+ to reduce the scale of a numeric value by removing
+ trailing zeros (Pavel Stehule)
- For example, previously only point <-> line was supported,
- now line <-> point works too.
+ For example, previously only point
+ <-> line was supported,
+ now line <-> point
+ works too.
-->
- Create
xid8 versions of all
- linkend="functions-pg-snapshot">transaction id functions
+ Create
xid8 versions of all
+ linkend="functions-pg-snapshot">transaction ID functions
(Thomas Munro)
- The old function names were kept for backward compatibility. DO WE
- HAVE NEW NAMES?
+ The old xid-based functions still exist, for backward
+ compatibility.
Allow
linkend="functions-binarystring-other">get_bit()
- and set_bit() to set bits beyond 256MB of bytea
- data (Movead Li)
+ and set_bit() to set bits beyond the first
+ 256MB of a bytea value (Movead Li)
-
-->
- Improve the performance of PL/pgSQL functions that use immutable
+ Improve performance of PL/pgSQL functions that use immutable
expressions (Konstantin Knizhnik)
-->
- Add libpq connection parameters to control the min/max
-
TLS version
for encrypted connections
+ Add libpq connection parameters to control the minimum and maximum
+
TLS version
allowed for an encrypted connection
(Daniel Gustafsson)
-
- Tighten libpq's overlength-line handling and comment detection for
- linkend="libpq-pgpass">.pgpass files (Fujii Masao)
-
-
-
-
-
- Allow specification of passwords to unlock client certificates (Craig
+ Allow use of passwords to unlock client certificates (Craig
Ringer, Andrew Dunstan)
- This is specified by the
- connection option.
+ This is enabled by libpq's
+ connection parameter.
-->
- Allow
DER-encoded client certificates (Craig Ringer,
- Andrew Dunstan)
+ Allow
libpq to use DER-encoded client
+ certificates (Craig Ringer, Andrew Dunstan)
-->
- Add the transaction status (%x) to the default
- linkend="app-psql-prompting">
psql
- prompts (Vik Fearing)
+ Add transaction status (%x)
+ prompts (Vik Fearing)
-->
- Allow the secondary
psql prompt to be
same
- number of spaces as the primary prompt (Thomas Munro)
+ Allow the secondary
psql prompt to be
+ blank but the same width as the primary prompt (Thomas Munro)
- This is accomplished by setting PROMPT2 to %w.
+ This is accomplished by setting PROMPT2
+ to %w.
-->
- Allow \g and \gx to
- change any \pset output
- options for a single command (Tom Lane)
+ \g
+ and \gx commands to
+ change \pset output
+ options for the duration of that single command (Tom Lane)
- This allows syntax like \g (expand=on), which is equivalent to \gx.
+ This feature allows syntax like \g (expand=on),
+ which is equivalent to \gx.
-->
- Add
psql commands to
report operator
+ Add
psql commands to
display operator
classes and operator families (Sergey Cherkashin, Nikita Glukhov,
Alexander Korotkov)
The new commands are
- linkend="app-psql-meta-commands">\dAc, \dAf, \dAo, and \dAp.
+ linkend="app-psql-meta-commands">\dAc,
+ \dAf, \dAo,
+ and \dAp.
Show table persistence in
psql's
- linkend="app-psql-meta-commands">\dt+ and related commands
- (David Fetter)
+ linkend="app-psql-meta-commands">\dt+
+ and related commands (David Fetter)
-->
- Improve output of
psql
- linkend="app-psql-meta-commands">
\d for TOAST>
- tables (Justin Pryzby)
+ Improve output of
psql's
+ linkend="app-psql-meta-commands">\d>
+
for TOAST tables (Justin Pryzby)
-->
- Adjust display of
psql's
- linkend="app-psql-meta-commands">\e query (Tom Lane)
+ Fix redisplay after
psql's
+ linkend="app-psql-meta-commands">\e
+ command (Tom Lane)
When exiting the editor, if the query doesn't end with a semicolon
- or \g, the query buffer contents will now be displayed.
+ or \g, the query buffer contents will now be
+ displayed.
-->
- Add \warn command to
+ Add
+ linkend="app-psql-meta-commands">\warn
+ command to
psql (David Fetter)
- This is like \echo except that the text is sent to stderr instead
- of stdout.
+ This is like \echo except that the text is sent
+ to stderr instead of stdout.
-->
- Allow pgbench to partition its 'accounts' table (Fabien Coelho)
+ Allow pgbench to partition its accounts
table
+ (Fabien Coelho)
-->
- Add pgbench command \aset, which behaves like \gset, but for multiple
- queries (Fabien Coelho)
+ Add pgbench command \aset, which behaves
+ like \gset, but for multiple queries (Fabien
+ Coelho)
-->
- Allow pgbench to generate its data server-side, rather than client side
- (Fabien Coelho)
+ Allow pgbench to generate its initial data server-side, rather
+ than client-side (Fabien Coelho)
-->
- Allow pgbench to dump script contents using
+ Allow pgbench to show script contents using option
(Fabien Coelho)
This computation allows
linkend="monitoring-stats-dynamic-views-table">pg_stat_progress_basebackup
- to show progress, and can be disabled by using the
- option. Previously, this
- computation happened only if was used.
+ to show progress. If that is not needed, it can be disabled by
+ using the option. Previously,
+ this computation happened only if the
+ option was used.
-->
- Add
+ Add
an option to
linkend="app-pgrewind">
pg_rewind
- option to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
+ to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
-->
- Increase PREPARE
- TRANSACTION information reported by
+ Increase the PREPARE
+ TRANSACTION-related information reported by
-->
- Allow dropdb to force disconnections
- so the drop succeeds (Pavel Stehule)
+ Allow dropdb to disconnect
+ sessions using the target database, allowing the drop to succeed
+ (Pavel Stehule)
- The long-supported options for this are called
+ The long-supported preferred options for this are called
and .
Use the directory of the
linkend="pgupgrade">
pg_upgrade
- binary as the default new 'bindir' location when running
-
pg_upgrade (Daniel Gustafsson)
+ program as the default setting when
+
running pg_upgrade (Daniel Gustafsson)
Reformat tables containing function
- information for better clarity (Tom Lane)
+ and operator information for better clarity (Tom Lane)
-
- Remove support option
- (Peter Eisentraut)
-
-
- This was needed for previously supported version-zero functions.
-
-
-
-
-
- Remove configure option
- (Peter Eisentraut)
+ Remove configure options
+
+ and (Peter Eisentraut)
- This was needed for previously supported version-zero functions.
+ These were needed for compatibility with some version-zero C
+ functions, but those are no longer supported.
-->
- Add the query string to planner hook functions (Pascal Legrand,
+ Pass the query string to planner hook functions (Pascal Legrand,
Julien Rouhaud)
-->
- Use operating system functions to cleanly erase memory that contains
+ Use operating system functions to reliably erase memory that contains
sensitive information (Peter Eisentraut)
-->
- Add "headerscheck" script to test C header-file compatibility
- (Tom Lane)
+ Add headerscheck script to test C header-file
+ compatibility (Tom Lane)
-->
- Implement internal lists as arrays, rather than a chain of structures
+ Implement internal lists as arrays, rather than a chain of cells
(Tom Lane)
- This improves performance for queries that access many object.
- The internal List
API has also been improved.
-
-
-
-
-
-
- Update Windows build scripts
- to use the modern flag for
-
UUID libraries (Kyotaro Horiguchi)
+ This improves performance for queries that access many objects.
- Such extensions can be installed in a database by users with creation
- rights, even if they are not superusers. This change also removes
+ Such extensions can be installed in a database by users with
+ database-level CREATE privileges, even if they
+ are not superusers. This change also removes
the pg_pltemplate system catalog.
-->
- Remove support for upgrading "unpackaged" extensions (Tom Lane)
+ Remove support for upgrading unpackaged (pre-9.1) extensions (Tom Lane)
- Specifically, allow ALTER
- USER MAPPING to set
- password_required to false. Care must still be
- taken to avoid non-superusers from using superuser credentials to
- connect to the foreign server.
+ Specifically, allow a superuser to set
+ password_required to false for
+ a user mapping. Care
+ must still be taken to prevent non-superusers from using superuser
+ credentials to connect to the foreign server.
Have treat SELECT
- ... FOR UPDATE as distinct from those without FOR
- UPDATE (Andrew Gierth, Vik Fearing)
+ ... FOR UPDATE commands as distinct from those
+ without FOR UPDATE (Andrew Gierth, Vik Fearing)
-->
- Add option to extension to ignore the sign
+ Add an option to to ignore the sign
of integers (Jeff Janes)
-->
- Add btree index de-duplication processing columns to pageinspect output
+ Add B-tree index de-duplication processing columns to pageinspect output
(Peter Geoghegan)