From 749eceff4a1f9740391b126c81af9fd4bf3b1eaa Mon Sep 17 00:00:00 2001
From: Tom Lane
Date: Sun, 9 Jul 2017 20:11:21 -0400
Subject: Doc: desultory copy-editing for v10 release notes.
Improve many item descriptions, improve markup, relocate some items
that seemed to be in the wrong section.
---
doc/src/sgml/release-10.sgml | 825 ++++++++++++++++++++++---------------------
1 file changed, 432 insertions(+), 393 deletions(-)
(limited to 'doc/src')
diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml
index 2b64d525ae..debaa80099 100644
--- a/doc/src/sgml/release-10.sgml
+++ b/doc/src/sgml/release-10.sgml
@@ -52,38 +52,35 @@
2017-05-19 [a95410e2e] pg_upgrade: Handle hash index upgrades more smoothly.
-->
- pg_upgrade>-ed hash indexes from previous major
- PostgreSQL versions must be rebuilt.
+ Hash indexes must be rebuilt after pg_upgrade>-ing
+ from any previous major PostgreSQL> version (Mithun
+ Cy, Robert Haas)
- Major hash storage improvements necessitated this requirement.
-
-
-
-
-
-
- Change the default log
- directory> from pg_log> to log> (Andreas
- Karlsson)
+ Major hash index improvements necessitated this requirement.
+ pg_upgrade> will create a script to assist with this.
- Rename pg_xlog> to pg_wal>> (Michael Paquier)
+ Rename write-ahead log directory pg_xlog>
+ to pg_wal>>, and rename transaction
+ status directory pg_clog> to pg_xact>
+ (Michael Paquier)
- This prevents the write-ahead log directory from being confused as
- containing server activity logs, and erroneously truncated.
+ Users have occasionally thought that these directories contained only
+ inessential log files, and proceeded to remove write-ahead log files
+ or transaction status files manually, causing irrecoverable data
+ loss. These name changes are intended to discourage such errors in
+ future.
@@ -103,18 +100,10 @@
For example, pg_switch_xlog()> becomes
pg_switch_wal()>, pg_receivexlog>
becomes pg_receivewal>, and --xlogdir>
- becomes --waldir>. This might require adjustments for
- prior-version scripts.
-
-
-
-
-
-
- Rename transaction status directory pg_clog> directory
- to pg_xact> (Michael Paquier)
+ becomes --waldir>. This is for consistency with the
+ change of the pg_xlog> directory name; in general,
+ the xlog> terminology is no longer used in any user-facing
+ places.
@@ -126,6 +115,10 @@
Rename WAL>-related functions and views to use lsn>
instead of location> (David Rowley)
+
+
+ There was previously an inconsistent mixture of the two terminologies.
+
@@ -161,17 +154,17 @@
2017-01-04 [9a4d51077] Make wal streaming the default mode for pg_basebackup
-->
- Have > stream the
+ Make > stream the
WAL> needed to restore the backup by default (Magnus
Hagander)
- This changes the pg_basebackup>
+ This changes pg_basebackup>'s
-X>/ --xlog-method> default to stream>.
- An option value none> has been added to recreate the old
+ An option value none> has been added to reproduce the old
behavior. The pg_basebackup> option -x>
- has been removed (use -X> fetch).
+ has been removed (instead, use -X fetch>).
@@ -181,7 +174,8 @@
-->
Change how logical replication
- uses pg_hba.conf .
+ uses pg_hba.conf
+ (Peter Eisentraut)
@@ -190,7 +184,7 @@
of this release, logical replication matches a normal entry with a
database name or keywords such as all . Physical
replication continues to use the replication keyword.
- Since built-in logical replication is new in this release as well, this
+ Since built-in logical replication is new in this release, this
change only affects users of third-party logical replication plugins.
@@ -220,14 +214,15 @@
- The server-side variable
+ The server parameter
no longer supports off> or plain>.
- The UNENCRYPTED> option is no longer supported for
+ The UNENCRYPTED> option is no longer supported in
CREATE/ALTER USER ... PASSSWORD>. Similarly, the
- --unencrypted> has been removed from createuser>.
- The default for password_encryption> is still
- md5>, and users migrating passwords from older systems
- will have them stored encrypted by default in this release.
+ --unencrypted> option has been removed
+ from createuser>. Unencrypted passwords migrated from
+ older versions will be stored encrypted in this release. The default
+ setting for password_encryption> is still
+ md5>.
@@ -243,13 +238,13 @@
- This makes a backwards-incompatible change to the handling of
- composite types in arrays. Previously, you could return an array of
- composite types as "[[col1, col2], [col1, col2]]", but now that is
- interpreted as a two- dimensional array. Composite types in arrays
- must now be returned as Python tuples, not lists, to resolve the
- ambiguity. I.e. "[(col1, col2), (col1, col2)]". See the documentation
- for more details. CLARIFY
+ This feature requires a backwards-incompatible change to the handling
+ of arrays of composite types in PL/Python. Previously, you could
+ return an array of composite values by writing, e.g., [[col1,
+ col2], [col1, col2]]>; but now that is interpreted as a
+ two-dimensional array. Composite types in arrays must now be written
+ as Python tuples, not lists, to resolve the ambiguity; that is,
+ write [(col1, col2), (col1, col2)]> instead.
@@ -258,27 +253,41 @@
2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility.
-->
- Remove PL/Tcl's "module" auto-loading facility (Tom Lane)
+ Remove PL/Tcl's module> auto-loading facility (Tom Lane)
- Replaced by new PL/Tcl startup GUC>s.
+ This functionality has been replaced by new server
+ parameters
+ and , which are easier to use
+ and more similar to features available in other PLs.
+
+ Change the default value of the
+ server parameter from pg_log> to log>
+ (Andreas Karlsson)
+
+
+
+
+
- Remove sql_inheritance> GUC> (Robert Haas)
+ Remove sql_inheritance> server parameter (Robert Haas)
- Changing this from the default value caused queries referencing
- parent tables to not include children tables. The SQL>
+ Changing this setting from the default value caused queries referencing
+ parent tables to not include child tables. The SQL>
standard requires such behavior and this has been the default since
- PostgreSQL 7.1.
+ PostgreSQL> 7.1.
@@ -287,14 +296,14 @@
2017-02-15 [51ee6f316] Replace min_parallel_relation_size with two new GUCs.
-->
- Add GUC>s
- and to control
- parallel operation (Amit Kapila, Robert Haas)
+ Add
+ and server
+ parameters to control parallel queries (Amit Kapila, Robert Haas)
- This replaces min_parallel_relation_size>, which was
- too generic.
+ These replace min_parallel_relation_size>, which was
+ found to be too generic.
@@ -305,7 +314,7 @@
Don't downcase unquoted text
within and related
- settings (QL Zhuo)
+ server parameters (QL Zhuo)
@@ -325,8 +334,9 @@
- Users needing dump support for pre-8.0 servers need to use dump
- binaries from PostgreSQL 9.6.
+ Users needing to dump from pre-8.0 servers will need to use dump
+ programs from PostgreSQL> 9.6 or earlier. The
+ resulting output should still load successfully into newer servers.
@@ -335,13 +345,13 @@
2017-02-23 [b6aa17e0a] De-support floating-point timestamps.
-->
- Remove support for floating-point datetimes/timestamps (Tom Lane)
+ Remove support for floating-point timestamps and intervals (Tom Lane)
This removes configure's --disable-integer-datetimes>
- option. Floating-point datetimes/timestamps have not been the
- default since PostgreSQL 8.3 and have few advantages.
+ option. Floating-point timestamps have not been the
+ default since PostgreSQL> 8.3 and have few advantages.
@@ -354,7 +364,8 @@
- This protocol hasn't had client support since PostgreSQL 6.3.
+ This protocol hasn't had client support
+ since PostgreSQL> 6.3.
@@ -363,12 +374,12 @@
2017-02-13 [7ada2d31f] Remove contrib/tsearch2.
-->
- Remove contrib/tsearch2 (Robert Haas)
+ Remove contrib/tsearch2> module (Robert Haas)
- This removes compatibility with the contrib version of full text
- search that shipped in pre-8.3 PostgreSQL versions.
+ This module provided compatibility with the version of full text
+ search that shipped in pre-8.3 PostgreSQL> releases.
@@ -377,8 +388,14 @@
2017-03-23 [50c956add] Remove createlang and droplang
-->
- Remove createlang and droplang command-line applications (Peter
- Eisentraut)
+ Remove createlang> and droplang>
+ command-line applications (Peter Eisentraut)
+
+
+
+ These were deprecated since PostgreSQL> 9.1. Instead,
+ use CREATE EXTENSION> and DROP EXTENSION>
+ directly.
@@ -390,15 +407,10 @@
Remove support for version-0 function calling conventions (Andres
Freund)
-
-
-
- Remove SCO> and Unixware> ports (Tom Lane)
+ Extensions providing C-coded functions must now conform to version 1
+ calling conventions. Version 0 has been deprecated since 2001.
@@ -411,7 +423,7 @@
Below you will find a detailed account of the changes between
- PostgreSQL 10 and the previous major
+ PostgreSQL 10 and the previous major
release.
@@ -435,8 +447,8 @@
- Allows B-tree index pages to be checked by separate parallel
- workers.
+ This change allows B-tree index pages to be searched by separate
+ parallel workers.
@@ -499,13 +511,13 @@
2016-12-05 [2b959d495] Reduce the default for max_worker_processes back to 8.
-->
- Add GUC>
+ Add server parameter
to limit the number of worker processes that can be used for
query parallelism (Julien Rouhaud)
- This can be set lower than to reserve worker processes
for purposes other than parallel queries.
@@ -555,7 +567,7 @@
Specifically, a new CREATE
- INDEX>> option allows auto-summarizion of the
+ INDEX>> option allows auto-summarization of the
previous BRIN> page range when a new page
range is created.
@@ -572,7 +584,7 @@
- New SQL> function SQL> function brin_summarize_range()>>
updates BRIN> index summarization for a specified
range and brin_desummarize_range()> removes it.
@@ -619,8 +631,8 @@
- This makes hash indexes crash-safe and replicated, and removes
- the warning message about their use.
+ This makes hash indexes crash-safe and replicatable.
+ The former warning message about their use is removed.
@@ -630,7 +642,7 @@
2017-02-07 [293e24e50] Cache hash index's metapage in rel->rd_amcache.
-->
- Improve hash bucket split performance by reducing locking
+ Improve hash index bucket split performance by reducing locking
requirements (Amit Kapila, Mithun Cy)
@@ -653,7 +665,7 @@
2017-03-15 [6977b8b7f] Port single-page btree vacuum logic to hash indexes.
-->
- Allow single-page hash pruning (Ashutosh Sharma)
+ Allow page-at-a-time hash index pruning (Ashutosh Sharma)
@@ -671,33 +683,35 @@
- Only check for REFERENCES> permission on referenced
- tables (Tom Lane)
+ Reduce locking required for adding values to enum types (Andrew
+ Dunstan, Tom Lane)
- Previously REFERENCES> permission on the referencing
- table was also required.
+ Previously it was impossible to run ALTER TYPE ... ADD
+ VALUE> in a transaction block unless the enum type was created
+ in the same block. Now, only references to uncommitted enum
+ values from other transactions are prohibited.
- Reduce locking required for adding values to enum types (Andrew
- Dunstan, Tom Lane)
+ Reduce locking required to change table parameters (Simon Riggs,
+ Fabrízio Mello)
- Previously it was impossible to run ALTER TYPE ... ADD
- VALUE> in a transaction block unless the enum type was created
- in the same block. Now, only references to uncommitted enum
- values from other transactions is prohibited.
+ For example, changing a table's setting can now be done
+ with a more lightweight lock.
@@ -711,7 +725,8 @@
- The new settings are and
.
@@ -739,22 +754,12 @@
- New commands are CREATE>>,
- ALTER>>, and
- DROP STATISTICS>>.
- This is helpful in
- estimating query memory usage and when combining the statistics
- from individual columns.
-
-
-
-
-
-
- Improve planner matching of boolean indexes (Tom Lane)
+ New commands are CREATE STATISTICS>>,
+ ALTER STATISTICS>>, and
+ DROP STATISTICS>>.
+ This feature is helpful in estimating query memory usage and when
+ combining the statistics from individual columns.
@@ -763,13 +768,14 @@
2017-01-18 [215b43cdc] Improve RLS planning by marking individual quals with se
-->
- Improve performance of queries referencing row-level security
+ Improve performance of queries affected by row-level security
restrictions (Tom Lane)
- The optimizer now has more flexibility in reordering executor
- behavior.
+ The optimizer now has more knowledge about where it can place RLS
+ filter conditions, allowing better plans to be generated while still
+ enforcing the RLS conditions safely.
@@ -787,11 +793,10 @@
2016-09-02 [9cca11c91] Speed up SUM calculation in numeric aggregates.
-->
- Speed up SUM()> calculations (Heikki Linnakangas)
-
-
-
- This uses an optimized numeric accumulator.
+ Speed up aggregate functions that calculate a running sum
+ using numeric>-type arithmetic, including some variants
+ of SUM()>, AVG()>,
+ and STDDEV()> (Heikki Linnakangas)
@@ -800,7 +805,7 @@
2017-03-13 [aeed17d00] Use radix tree for character encoding conversions.
-->
- Improve the performance of character encoding conversions by
+ Improve performance of character encoding conversions by
using radix trees (Kyotaro Horiguchi, Heikki Linnakangas)
@@ -810,7 +815,7 @@
2017-03-25 [b8d7f053c] Faster expression evaluation and targetlist projection.
-->
- Reduce the function call overhead during query execution (Andres
+ Reduce expression evaluation overhead during query execution (Andres
Freund)
@@ -824,7 +829,8 @@
2017-03-27 [b5635948a] Support hashed aggregation with grouping sets.
-->
- Improve the performance of grouping sets (Andrew Gierth)
+ Allow hashed aggregation to be used with grouping sets (Andrew
+ Gierth)
@@ -901,9 +907,9 @@
2017-03-08 [f9b1a0dd4] Expose explain's SUMMARY option
-->
- Allow explicit control over EXPLAIN>>'s display of planning and
- execution time (Ashutosh Bapat)
+ Allow explicit control
+ over EXPLAIN>>'s display
+ of planning and execution time (Ashutosh Bapat)
@@ -952,13 +958,13 @@
2016-10-17 [7d3235ba4] By default, set log_line_prefix = '%m [%p] '.
-->
- Change default to include
- current timestamp with milliseconds and the process id (Christoph
- Berg)
+ Change the default value of
+ to include current timestamp (with milliseconds) and the process ID
+ in each line of postmaster log output (Christoph Berg)
- The previous default was not to output a prefix.
+ The previous default was an empty prefix.
@@ -972,13 +978,11 @@
- The new functions are pg_ls_logdir()>>
- and
- pg_ls_waldir()>>
- and can be
- executed by non-super users with the proper permissions.
+ The new functions
+ are pg_ls_logdir()>>
+ and pg_ls_waldir()>>
+ and can be executed by non-superusers with the proper
+ permissions.
@@ -1000,12 +1004,13 @@
2017-03-14 [2b32ac2a5] Include port number when logging successful binding to a
-->
- Report the address and port number of successful startup socket
- binding in the server logs (Tom Lane)
+ Report the address and port number of each listening socket
+ in the server log during postmaster startup (Tom Lane)
- Also, report bind socket failure details in the server logs.
+ Also, when logging failure to bind a listening socket, include
+ the specific address we attempted to bind to.
@@ -1030,7 +1035,7 @@
Reduce message verbosity of lower-numbered debug levels
controlled by
- (Robert Haas)
+ (Robert Haas)
@@ -1075,30 +1080,18 @@
-
- Show auxiliary processes and background workers in
- pg_stat_activity> (Kuntal Ghosh)
-
-
-
- New column backend_type> identifies the process
- type.
-
-
-
-
-
- Display walsender processes in pg_stat_activity>
- (Michael Paquier)
+ Show auxiliary processes, background workers, and walsender
+ processes in pg_stat_activity> (Kuntal Ghosh,
+ Michael Paquier)
- This simplifies monitoring.
+ This simplifies monitoring. A new
+ column backend_type> identifies the process type.
@@ -1107,7 +1100,7 @@
2017-02-22 [4c728f382] Pass the source text for a parallel query to the workers
-->
- Allow pg_stat_activity> to show the source query
+ Allow pg_stat_activity> to show the SQL query
being executed by parallel workers (Rafia Sabih)
@@ -1120,7 +1113,7 @@
Rename
pg_stat_activity>.wait_event_type>
values LWLockTranche> and
- LWLockNamed> to LWLock> (Robert Haas)
+ LWLockNamed> to LWLock> (Robert Haas)
@@ -1162,7 +1155,7 @@
2016-09-28 [babe05bc2] Turn password_encryption GUC into an enum.
-->
- Change GUC>
+ Change the server parameter
from boolean> to enum> (Michael Paquier)
@@ -1223,37 +1216,13 @@
This allows SSL> to be reconfigured without a server
- restart by using pg_ctl reload>, SELECT
+ restart, by using pg_ctl reload>, SELECT
pg_reload_conf()>, or sending a SIGHUP> signal.
- Reload SSL> configuration updates do not work if the
- SSL> key requires a passphrase.
-
-
-
-
-
-
- Remove documented restriction about using large shared buffers on
- Windows> (Takayuki Tsunakawa)
-
-
-
-
-
-
- Reduce locking required to change table parameters (Simon Riggs,
- Fabrízio Mello)
-
-
-
- For example, changing a table's setting can now be done
- with a more lightweight lock.
+ However, reloading the SSL> configuration does not work
+ if the server's SSL> key requires a passphrase, as there
+ is no way to re-prompt for the passphrase. The original
+ configuration will apply for the life of the postmaster in that
+ case.
@@ -1303,7 +1272,7 @@
2016-12-22 [6ef2eba3f] Skip checkpoints, archiving on idle systems.
-->
- Prevent checkpoints and WAL> archiving on
+ Prevent unnecessary checkpoints and WAL> archiving on
otherwise-idle systems (Michael Paquier)
@@ -1314,7 +1283,7 @@
2017-03-14 [bb4a39637] hash: Support WAL consistency checking.
-->
- Add GUC>
+ Add server parameter
to add details to WAL> that can be sanity-checked on
the standby (Kuntal Ghosh, Robert Haas)
@@ -1365,9 +1334,10 @@
- This allows more fine-grained replication options, including
- replication between different major versions of PostgreSQL and
- selective-table replication.
+ Logical replication allows more flexibility than physical
+ replication does, including replication between different major
+ versions of PostgreSQL> and selective-table
+ replication.
@@ -1396,15 +1366,16 @@
2017-05-02 [34fc61673] Change hot_standby default value to 'on'
-->
- Reduce configuration necessary to perform streaming backup and
- replication (Magnus Hagander, Dang Minh Huong)
+ Reduce configuration changes necessary to perform streaming backup
+ and replication (Magnus Hagander, Dang Minh Huong)
- Specifically, defaults were changed for , ,
, and .
+ linkend="guc-hot-standby"> to make them suitable for these usages
+ out-of-the-box.
@@ -1446,15 +1417,15 @@
2016-09-03 [35250b6ad] New recovery target recovery_target_lsn
-->
- Add specification of a Log Sequence Number (LSN>)
- stopping point in
- recovery.conf>>
- (Michael Paquier)
+ Allow specification of the recovery stopping point by Log Sequence
+ Number (LSN>) in
+ recovery.conf>>
+ (Michael Paquier)
- Previously only specification of the stop name, time, timeline,
- xid, and immediate were supported.
+ Previously the stopping point could only be selected by timestamp or
+ XID.
@@ -1535,12 +1506,18 @@
2016-11-22 [906bfcad7] Improve handling of "UPDATE ... SET (column_list) = row_
-->
- Allow ROW> to supply values to UPDATE ... SET
- (column_list)> (Tom Lane)
+ Allow standard row constructor syntax in UPDATE ... SET
+ (column_list>) = row_constructor>
+ (Tom Lane)
- Also allow row values to be supplied by table.*.
+ The row_constructor> can now begin with the
+ keyword ROW>; previously that had to be omitted. Also,
+ an occurrence of table_name>.*
+ within the row_constructor> is now expanded into
+ multiple columns, as in other uses
+ of row_constructor>s.
@@ -1549,12 +1526,14 @@
2016-09-05 [c54159d44] Make locale-dependent regex character classes work for l
-->
- Fix regular expression locale class handling for bytes greater
- than U+7FF> (Tom Lane)
+ Fix regular expressions' character class handling for large character
+ codes, particularly Unicode characters above U+7FF>
+ (Tom Lane)
- Previously such classes were not recognized.
+ Previously, such characters were never recognized as belonging to
+ locale-dependent character classes such as [[:alpha:]]>.
@@ -1574,7 +1553,7 @@
Add table partitioning
syntax> that automatically creates partition constraints and
- INSERT> routing (Amit Langote)
+ handles routing of tuple insertions and updates (Amit Langote)
@@ -1590,11 +1569,12 @@
-->
Add AFTER> trigger>
- transition table to record changed rows (Kevin Grittner)
+ transition tables to record changed rows (Kevin Grittner)
- Transition table contents are accessible from server-side languages.
+ Transition tables are accessible from triggers written in
+ server-side languages.
@@ -1614,6 +1594,26 @@
+
+
+
+ When creating a foreign-key constraint, check
+ for REFERENCES> permission on only the referenced table
+ (Tom Lane)
+
+
+
+ Previously REFERENCES> permission on the referencing
+ table was also required. This appears to have stemmed from a
+ misreading of the SQL standard. Since creating a foreign key (or
+ any other type of) constraint requires ownership privilege on the
+ constrained table, additionally requiring REFERENCES>
+ permission seems rather pointless.
+
+
+
- Allow COPY view FROM> on views with INSTEAD
+ Allow COPY view>
+ FROM source>> on views with INSTEAD
INSERT> triggers (Haribabu Kommi)
- The triggers are fed the rows from COPY>.
+ The triggers are fed the data rows read by COPY>.
@@ -1664,13 +1665,13 @@
-->
Allow the specification of a function name without arguments in
- DDL> commands, when unique (Peter Eisentraut)
+ DDL> commands, if it is 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
+ is only one function with that name. This behavior is required by the
SQL> standard.
@@ -1687,25 +1688,15 @@
-
- Add IF NOT EXISTS> for CREATE SERVER>> and
- CREATE USER
- MAPPING>> (Anastasia
- Lubennikova)
-
-
-
-
-
- Add IF NOT EXISTS> clause to CREATE COLLATION>>
- (Peter Eisentraut)
+ Support IF NOT EXISTS>
+ in CREATE SERVER>>,
+ CREATE USER MAPPING>>,
+ and CREATE COLLATION>>
+ (Anastasia Lubennikova, Peter Eisentraut)
@@ -1715,7 +1706,7 @@
2017-03-03 [9eb344faf] Allow vacuums to report oldestxmin
-->
- Have VACUUM VERBOSE>> report
+ Make VACUUM VERBOSE>> report
the number of skipped frozen pages and oldest xmin (Masahiko
Sawada, Simon Riggs)
@@ -1734,11 +1725,6 @@
Improve speed of VACUUM>'s removal of trailing empty
heap pages (Claudio Freire, Álvaro Herrera)
-
-
- This information is also included in output.
-
@@ -1760,8 +1746,8 @@
- This is accessed via ts_headline()> and
- to_tsvector()>.
+ The functions ts_headline()> and
+ to_tsvector()> can now be used on these data types.
@@ -1770,14 +1756,15 @@
2017-03-15 [c7a9fa399] Add support for EUI-64 MAC addresses as macaddr8
-->
- Add support for EUI-64> MAC> addresses as
- MACADDR8>> (Haribabu
- Kommi)
+ Add support for EUI-64> MAC> addresses, as a
+ new data type macaddr8>>
+ (Haribabu Kommi)
- This complements support for EUI-48> MAC>
- addresses as macaddr>.
+ This complements the existing support
+ for EUI-48> MAC> addresses
+ as macaddr>.
@@ -1823,8 +1810,9 @@
- Previously "anyarray" values were converted to JSON>
- strings.
+ Previously columns declared as anyarray> (particularly those
+ in the pg_stats> view) were converted to JSON>
+ strings rather than arrays.
@@ -1854,7 +1842,7 @@
2016-09-14 [656df624c] Add overflow checks to money type input function
-->
- More strictly check the money> type for overflow operations
+ Check for overflow in the money> type's input function
(Peter Eisentraut)
@@ -1879,8 +1867,9 @@
- Similar to regexp_matches()>, but only returns results
- from the first match so it is easier use for simple cases.
+ This is similar to regexp_matches()>, but it only
+ returns results from the first match so it does not need to return a
+ set, making it easier to use for simple cases.
@@ -1889,14 +1878,10 @@
2017-01-18 [d00ca333c] Implement array version of jsonb_delete and operator
-->
- Add version of jsonb's jsonb>'s delete operator> that takes
an array of keys to delete (Magnus Hagander)
-
-
- The JSONB> delete operator also now supports arrays.
-
@@ -1904,13 +1889,18 @@
2017-04-06 [cf35346e8] Make json_populate_record and friends operate recursivel
-->
- Improve json_populate_record()>>
- and friends operate recursively (Nikita Glukhov)
+ Make json_populate_record()>>
+ and related functions process JSON arrays and objects recursively
+ (Nikita Glukhov)
- CLARIFY
+ With this change, array-type fields in the destination SQL type are
+ properly converted from JSON arrays, and composite-type fields are
+ properly converted from JSON objects. Previously, such cases would
+ fail because the text representation of the JSON value would be fed
+ to array_in()> or record_in()>, and its
+ syntax would not match what those input functions expect.
@@ -1921,15 +1911,15 @@
Add function txid_current_ifassigned()>>
- to return NULL> if no transaction id has been assigned
- (Craig Ringer)
+ to return the current transaction ID or 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.
+ which always returns a transaction ID, assigning one if necessary.
+ Unlike that function, this function can be run on standby servers.
@@ -1944,7 +1934,7 @@
- This is useful for checking after an abrupt disconnection if
+ This is useful for checking after an abrupt disconnection whether
your previous transaction committed and you just didn't receive
the acknowledgement.
@@ -1967,13 +1957,15 @@
2016-09-28 [d3cd36a13] Make to_timestamp() and to_date() range-check fields of
-->
- Have to_timestamp()> and to_date()> check
- input values for validity (Artur Zakirov)
+ Make to_timestamp()> and to_date()> reject
+ out-of-range input fields (Artur Zakirov)
- Previously to_date('2009-06-40','YYYY-MM-DD')> was
- accepted and returned '2009-07-10'. It will now generate an error.
+ For example,
+ previously to_date('2009-06-40','YYYY-MM-DD')> was
+ accepted and returned 2009-07-10>. It will now generate
+ an error.
@@ -1991,12 +1983,13 @@
2017-03-27 [70ec3f1f8] PL/Python: Add cursor and execute methods to plan object
-->
- Allow the PL/Python plan object to call cursor and execute methods
+ Allow PL/Python's cursor()> and execute()>
+ functions to be called as methods of their plan-object arguments
(Peter Eisentraut)
- This is a more object oriented style.
+ This allows a more object-oriented programming style.
@@ -2005,24 +1998,13 @@
2016-12-13 [55caaaeba] Improve handling of array elements as getdiag_targets an
-->
- 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)
+ Allow PL/pgSQL's GET DIAGNOSTICS> statement to retrieve
+ values into array elements (Tom Lane)
- Their functionality now happens automatically. Also,
- SPI_palloc()> now requires an active connection.
+ Previously, a syntactic restriction prevented the target variable
+ from being an array element.
@@ -2062,13 +2044,9 @@
2017-03-07 [0d2b1f305] Invent start_proc parameters for PL/Tcl.
-->
- 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>.
+ Add server parameters
+ and , to allow initialization
+ functions to be called on PL/Tcl startup (Tom Lane)
@@ -2104,14 +2082,15 @@
2016-11-29 [721f7bd3c] libpq: Add target_session_attrs parameter.
-->
- Allow the libpq connection string to request a read/write host>
+ Allow libpq connection strings and URIs to request a read/write host>,
+ that is a master server rather than a standby server
(Victor Wagner, Mithun Cy)
- This is useful when multiple libpq host names are
- specified, and is controlled by libpq connection parameter
+ This is useful when multiple host names are
+ specified. It is controlled by libpq connection parameter
target_session_attrs>.
@@ -2121,7 +2100,7 @@
2017-01-24 [ba005f193] Allow password file name to be specified as a libpq conn
-->
- Allow password file name>
+ Allow the password file name>
to be specified as a libpq connection parameter (Julian Markwort)
@@ -2138,14 +2117,16 @@
Add function PQencryptPasswordConn()>>
to allow creation of more types of encrypted passwords on the
- client-side (Michael Paquier, Heikki Linnakangas)
+ client side (Michael Paquier, Heikki Linnakangas)
- Previously only MD5> passwords could be created using MD5>-encrypted passwords could be created
+ using PQencryptPassword()>>.
This new function can also create SCRAM-SHA-256>> passwords.
+ linkend="auth-pg-hba-conf">SCRAM-SHA-256>>-encrypted
+ passwords.
@@ -2154,12 +2135,13 @@
2016-08-16 [a7b5573d6] Remove separate version numbering for ecpg preprocessor.
-->
- ecpg preprocessor version changed from 4.12 to 10 (Tom Lane)
+ Change ecpg> preprocessor version from 4.12 to 10
+ (Tom Lane)
- The ecpg version now matches the PostgreSQL distribution version
- number.
+ Henceforth the ecpg> version will match
+ the PostgreSQL> distribution version number.
@@ -2187,8 +2169,9 @@
- The new syntax uses \if, \elif, \else, and \endif. This is
- particularly helpful for scripting.
+ This feature adds psql>
+ meta-commands \if>, \elif>, \else>,
+ and \endif>. This is primarily helpful for scripting.
@@ -2197,8 +2180,9 @@
2017-03-07 [b2678efd4] psql: Add \gx command
-->
- Add psql> \gx command to perform \g(execute)
- in expanded mode (\x) (Christoph Berg)
+ Add psql> \gx> meta-command to execute
+ (\g>) a query in expanded mode (\x>)
+ (Christoph Berg)
@@ -2207,13 +2191,14 @@
2016-11-03 [a0f357e57] psql: Split up "Modifiers" column in \d and \dD
-->
- Improve psql>'s \d (relation) and \dD (domain)
- commands to specify collation, nullable, and default in separate
- columns (Peter Eisentraut)
+ Improve psql>'s \d> (display relation)
+ and \dD> (display domain) commands to show collation,
+ nullable, and default properties in separate columns (Peter
+ Eisentraut)
- Previous they were in a single "Modifiers" column.
+ Previous they were shown in a single Modifiers> column.
@@ -2222,13 +2207,13 @@
2017-04-01 [f833c847b] Allow psql variable substitution to occur in backtick co
-->
- Expand psql> colon variables when used in
- backtick-executed contexts (Tom Lane)
+ Expand psql> variable references in
+ backtick-executed strings (Tom Lane)
- This is particularly useful for the new psql>
- conditional branch support commands.
+ This is particularly useful in the new psql>
+ conditional branch commands.
@@ -2239,17 +2224,23 @@
2017-02-02 [fd6cd6980] Clean up psql's behavior for a few more control variable
-->
- Prevent psql> special variables from being set to
+ Prevent psql>'s 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>.
+ Previously, setting one of psql>'s special variables
+ to an invalid value silently resulted in the default behavior.
+ \set> on a special variable now fails if the proposed
+ new value is invalid. As a special exception, \set>
+ with an empty or omitted new value, on a boolean-valued special
+ variable, still has the effect of setting the variable
+ to on>; but now it actually acquires that value rather
+ than an empty string. \unset> on a special variable now
+ explicitly sets the variable to its default value, which is also
+ the value it acquires at startup. In sum, a control variable now
+ always has a displayable value that reflects
+ what psql> is actually doing.
@@ -2287,8 +2278,8 @@
2016-11-09 [41124a91e] pgbench: Allow the transaction log file prefix to be cha
-->
- Add pgbench option --log-prefix> to control the log
- file prefix (Masahiko Sawada)
+ Add pgbench> option --log-prefix> to
+ control the log file prefix (Masahiko Sawada)
@@ -2297,8 +2288,13 @@
2017-01-20 [cdc2a7047] Allow backslash line continuations in pgbench's meta com
-->
- Allow pgbench's meta commands to span multiple lines via a
- line-terminating backslash (Fabien Coelho)
+ Allow pgbench>'s meta-commands to span multiple
+ lines (Fabien Coelho)
+
+
+
+ A meta-command can now be continued onto the next line by writing
+ backslash-return.
@@ -2320,7 +2316,7 @@
Add pg_receivewal>>
- option -Z>/ --compress> to support compression
+ option -Z>/ --compress> to specify compression
(Michael Paquier)
@@ -2332,7 +2328,7 @@
Add pg_recvlogical>> option
- (--endpos>) to specify the ending position (Craig Ringer)
+ --endpos> to specify the ending position (Craig Ringer)
@@ -2359,7 +2355,8 @@
- pg_dump>>, pg_dumpall>>.
+ pg_dump>>,
+ pg_dumpall>>,
pg_restore>>
@@ -2373,7 +2370,7 @@
- This added a new -N>/ --exclude-schema> option.
+ This adds a new -N>/ --exclude-schema> option.
@@ -2383,11 +2380,11 @@
-->
Add --no-blobs> option to
- pg_dump> (Guillaume Lelarge)
+ pg_dump> (Guillaume Lelarge)
- This suppresses the dumping of large objects.
+ This suppresses dumping of large objects.
@@ -2397,12 +2394,13 @@
-->
Add pg_dumpall> option
- --no-role-passwords> to dump roles without user passwords
+ --no-role-passwords> to omit role passwords
(Robins Tharakan, Simon Riggs)
- This allows easier dumping for less-privileged users.
+ This allows use of pg_dumpall> by non-superusers;
+ without this option, it fails due to inability to read passwords.
@@ -2411,13 +2409,15 @@
2017-03-22 [96a7128b7] Sync pg_dump and pg_dumpall output
-->
- Issue fsync on the output files generated by
+ Issue fsync()> on the output files generated by
pg_dump> and
- pg_dumpall> (Michael Paquier)
+ pg_dumpall> (Michael Paquier)
- This can be disabled with the --no-sync> option.
+ This provides more security that the output is safely stored on
+ disk before the program exits. This can be disabled with
+ the new --no-sync> option.
@@ -2466,15 +2466,22 @@
- Improve fsync handling of pg_basebackup> and
+ Be more careful about fsync'ing in all required places
+ in pg_basebackup> and
pg_receivewal> (Michael Paquier)
+
+
+
- Also add --nosync> option to disable fsync.
+ Add pg_basebackup> option --no-sync> to
+ disable fsync (Michael Paquier)
@@ -2486,10 +2493,6 @@
Improve pg_basebackup>'s handling of which
directories to skip (David Steele)
-
-
- Also improve the documentation of skipped directories.
-
@@ -2598,13 +2601,19 @@
2016-08-15 [ca9112a42] Stamp HEAD as 10devel.
-->
- New major version numbering (Peter Eisentraut, Tom Lane)
+ Change to two-part release version numbering (Peter Eisentraut, Tom
+ Lane)
+ Release numbers will now have two parts (e.g., 10.1>)
+ rather than three (e.g., 9.6.3>).
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 PostgreSQL version numbers.
+ releases will increase just the second number.
+ Release branches will be referred to by single numbers
+ (e.g., 10> rather than 9.6>).
+ This change is intended to reduce user confusion about what is a
+ major or minor release of PostgreSQL>.
@@ -2669,6 +2678,32 @@
+
+ Remove SPI> functions SPI_push()>,
+ SPI_pop()>, SPI_push_conditional()>,
+ SPI_pop_conditional()>,
+ and SPI_restore_connection()> as unnecessary (Tom Lane)
+
+
+
+ Their functionality now happens automatically. There are now no-op
+ macros by these names so that external modules don't need to be
+ updated immediately, but eventually such calls should be removed.
+
+
+
+ A side effect of this change is that SPI_palloc()> and
+ allied functions now require an active SPI connection; they do not
+ degenerate to simple palloc()> if there is none. That
+ previous behavior was not very useful and posed risks of unexpected
+ memory leaks.
+
+
+
+
+
Add more robust random number generators to be used for
- cryptographic secure uses (Magnus Hagander, Michael Paquier,
+ cryptographically secure uses (Magnus Hagander, Michael Paquier,
Heikki Linnakangas)
- If no strong random number generator can be found, configure
- will fail unless the configure>
- --disable-strong-random> is used. However, with this
- option, pgcrypto functions requiring a strong random number
+ If no strong random number generator can be found, configure will
+ fail unless the configure>
+ option --disable-strong-random> is used. However, with
+ this option, pgcrypto functions requiring a strong random number
generator will be disabled.
+
+
+
+ Remove SCO> and Unixware> ports (Tom Lane)
+
+
+
- Use XSLT> to build the PostgreSQL documentation (Peter
- Eisentraut)
+ Use XSLT> to build the PostgreSQL>
+ documentation (Peter Eisentraut)
@@ -2827,7 +2872,7 @@
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
+ linkend="postgres-fdw">postgres_fdw>> FDW is able to
perform this optimization. There are also improvements in
pushing down joins involving extensions.
@@ -2932,7 +2977,7 @@
- This allows it be less disruptive when run on production systems.
+ This allows it to be less disruptive when run on production systems.
@@ -2941,9 +2986,9 @@
2017-02-03 [e759854a0] pgstattuple: Add pgstathashindex.
-->
- Add pgstathashindex()> function to pgstattuple>> to view hash
- index statistics (Ashutosh Sharma)
+ Add pgstattuple>>
+ function pgstathashindex()> to view hash index
+ statistics (Ashutosh Sharma)
@@ -2952,13 +2997,12 @@
2016-09-29 [fd321a1df] Remove superuser checks in pgstattuple
-->
- Allow pgstattuple>>
- to use GRANT> permissions (Stephen Frost)
+ Use GRANT> permissions to
+ control pgstattuple> function usage (Stephen Frost)
- This allows non-superusers to run these functions if permissions
- allow.
+ This allows DBAs to allow non-superusers to run these functions.
@@ -2967,8 +3011,7 @@
2016-10-28 [d4b5d4cad] pgstattuple: Don't take heavyweight locks when examining
-->
- Reduce locking when pgstattuple>> examines hash
+ Reduce locking when pgstattuple> examines hash
indexes (Amit Kapila)
@@ -2978,34 +3021,30 @@
2017-03-17 [fef2bcdcb] pageinspect: Add page_checksum function
-->
- Add page_checksum()> function to pageinspect>> (Tomas Vondra)
+ Add pageinspect>>
+ function page_checksum()> to show a page's checksum
+ (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)
- Add pageinspect>>
- function bt_page_items()> to print page items from a
- page image (Tomas Vondra)
-
-
-
- Previously only block numbers were supported.
+ Add hash index support to pageinspect> (Jesper
+ Pedersen, Ashutosh Sharma)
--
cgit v1.2.3