From 85c25fdbd7d624928bb8a1f1fd1e5043ec35dd74 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 29 Jun 2015 15:38:46 -0400 Subject: [PATCH] Desultory review of 9.5 release notes. Minor corrections and clarifications. Notably, for stuff that got moved out of contrib, make sure it's documented somewhere other than "Additional Modules". I'm sure these need more work, but that's all I have time for today. --- doc/src/sgml/release-9.5.sgml | 408 +++++++++++++++++----------------- 1 file changed, 206 insertions(+), 202 deletions(-) diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index ffb2f5d7b6..a010ffcd0f 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -54,75 +54,90 @@ - Adjust operator precedence + Adjust operator precedence to match the SQL standard (Tom Lane) - "<" and ">" now have the same precedence as "<=" - ">=" and "<>", and IS now has lower - precedence. NOT now also has symmetric precedence. - The GUC operator_precedence_warning can be - enabled to warn about queries where the precedence has changed. + The precedence of <=, >= + and <> has been reduced to match that of + <, > + and =. The precedence of IS tests + (e.g., x IS NULL) has been reduced to be + just below these six comparison operators. + Also, multi-keyword operators beginning with NOT now have + the precedence of their base operator (for example, NOT + BETWEEN now has the same precedence as BETWEEN) whereas + before they had inconsistent precedence, behaving like NOT + with respect to their left operand but like their base operator with + respect to their right operand. The new configuration + parameter can be + enabled to warn about queries in which these precedence changes result + in different parsing choices. - Use cast conversions for PL/pgSQL type conversions, - rather than converting to and from text (Tom Lane) + Use assignment cast behavior for data type conversions + in PL/pgSQL assignments, rather than converting to and + from text (Tom Lane) - This causes conversions of booleans to strings to - return true or false, not - t/f. + This change causes conversions of booleans to strings to + produce true or false, not t + or f. Other type conversions may succeed in more cases + than before; for example, assigning a numeric value 3.9 to + an integer variable will now assign 4 rather than failing. If no + assignment-grade cast is defined for the particular source and + destination types, PL/pgSQL will fall back to its old + I/O conversion behavior. - Allow special characters in server - startup option values to be escaped with a backslash (Andres - Freund) + Allow characters in server + command-line options to be escaped with a backslash (Andres Freund) - This allows characters like spaces to be passed inside option values. - Passing a backslash now requires supplying a double-backslash. + Formerly, spaces in the options string always separated options, so + there was no way to include a space in an option value. Including + a backslash in an option value now requires writing \\. - Set the default value of include_realm to not remove - the GSS and SSPI realm from the principal - (Stephen Frost) + Change the default value of include_realm to 1, so that + by default the realm is not removed from a GSS + or SSPI principal name (Stephen Frost) - Fix REASSIGN - and ALTER OWNER TO - to properly reassign ownership of types, foreign data wrappers, - and foreign servers (Bruce Momjian) + Fix REASSIGN OWNED + and ALTER OWNER TO + to properly update permissions lists (ACLs) when changing ownership of + types, foreign data wrappers, and foreign servers (Bruce Momjian) - Remove server-side GUC autocommit, which + Remove server configuration parameter autocommit, which was already deprecated and non-operational (Tom Lane) - Remove pg_authid.rolcatupdate, - as it had no purpose (Adam Brightwell) + Remove pg_authid's + rolcatupdate field, as it had no value (Adam Brightwell) @@ -134,9 +149,9 @@ Changes - Below you will find a detailed account of the changes between + Below you will find a detailed account of the changes between PostgreSQL 9.5 and the previous major - release. + release. @@ -184,22 +199,21 @@ - Add GUC gin_pending_list_limit + Add configuration parameter to control the size of GIN pending lists (Fujii Masao) - Previously this was controlled by work_mem. This can also - be set as an index storage parameter. + Previously the list size was controlled + by . This can also be set as an index + storage parameter. Issue a warning during the creation of hash indexes because they are not + linkend="indexes-types">hash indexes because they are not crash-safe (Bruce Momjian) @@ -237,8 +251,8 @@ - Improve concurrency of shared - buffer replacement (Robert Haas, Amit Kapila) + Improve concurrency of shared buffer replacement + (Robert Haas, Amit Kapila) @@ -269,11 +283,6 @@ Speed up CRC (cyclic redundancy check) computations (Abhijit Menon-Sen, Heikki Linnakangas) - - - Also use CPU instructions for CRC - calculations, if supported - @@ -298,25 +307,23 @@ - Add GUC variable cluster_name (Thomas - Munro) + Add new configuration parameter + (Thomas Munro) - This string, set in postgresql.conf, - allows clients to query the cluster name. This name also appears - in the process title, allowing for easier grouping of processes - belonging to the same cluster. + allows clients to identify the cluster. This name also appears + in the process title of all server processes, allowing for easier + identification of processes belonging to the same cluster. - Prevent non-superusers from changing log_disconnections - on connection startup (Fujii Masao) + Prevent non-superusers from changing on connection startup (Fujii Masao) @@ -337,7 +344,7 @@ - Their presence replaces checks against the certificate's + When they are present, this replaces checks against the certificate's Common Name. @@ -359,7 +366,7 @@ While PQgetssl() - can still be used to then call OpenSSL + can still be used to call OpenSSL functions, PQsslAttribute() returns SSL information in an SSL-implementation-independent way. (Future versions of libpq might support other SSL @@ -369,7 +376,7 @@ - Have libpq honor any OpenSSL + Make libpq honor any OpenSSL thread callbacks (Jan Urbanski) @@ -389,10 +396,9 @@ - Replace checkpoint_segments with min_wal_size and - max_wal_size - (Heikki Linnakangas) + Replace configuration parameter checkpoint_segments + with + and (Heikki Linnakangas) @@ -403,18 +409,17 @@ - Add GUC wal_compression to - enable compression of full page images stored in WAL + Add configuration parameter to + control compression of full page images stored in WAL (Rahila Syed, Michael Paquier) - Allow the recording of transaction - commit timestamps when GUC track_commit_timestamp + Allow recording of transaction + commit timestamps when configuration parameter is enabled (Álvaro Herrera, Petr Jelínek) @@ -427,10 +432,8 @@ - Allow local_preload_libraries - to be set by ALTER ROLE SET (Peter Eisentraut, - Kyotaro Horiguchi) + Allow to be set + by ALTER ROLE SET (Peter Eisentraut, Kyotaro Horiguchi) @@ -443,24 +446,22 @@ - Make GUC debug_assertions + Make configuration parameter read-only (Andres Freund) This means that assertions can no longer be turned - off once enabled at compile-time, allowing for more - efficient code optimization. This also removed the postgres - Allow setting effective_io_concurrency - on systems where it has no effect (Peter Eisentraut) + Allow setting on + systems where it has no effect (Peter Eisentraut) @@ -470,12 +471,12 @@ linkend="linux-memory-overcommit">PG_OOM_ADJUST_FILE and PG_OOM_ADJUST_VALUE - to control Linux OOM killer (Gurjeet Singh) + to help control the Linux OOM killer (Gurjeet Singh) - The previous OOM control involved a compile-time - option. + The previous OOM control infrastructure involved a + compile-time option. @@ -528,15 +529,13 @@ - GUC pause_at_recovery_target was also - removed. + This replaces the old parameter pause_at_recovery_target. - - Add archive_mode + Add new value always to allow standbys to always archive received WAL files (Fujii Masao) @@ -544,10 +543,10 @@ - Add GUC wal_retrieve_retry_interval - to control WAL read retry after failure (Alexey - Vasiliev, Michael Paquier) + Add configuration + parameter to + control WAL read retry after failure + (Alexey Vasiliev, Michael Paquier) @@ -564,23 +563,22 @@ - Add GUC log_replication_commands + Add configuration parameter to log replication commands (Fujii Masao) By default, replication commands, e.g. IDENTIFY_SYSTEM, - are not logged, even when log_statement is set + are not logged, even when is set to all. - Allow the labeling + Allow labeling of the origin of logical replication changes (Andres Freund) @@ -591,7 +589,7 @@ - Report the backends holding replication slots in pg_replication_slots (Craig Ringer) @@ -896,10 +894,8 @@ - This allows the creation of local foreign tables definitions - that match the remote table structure. Currently, only the - postgres_fdw - foreign data wrapper supports this feature. + This command allows automatic creation of local foreign tables + that match the structure of existing tables on a remote server. @@ -922,9 +918,11 @@ - These checks are assumed to be enforced on the remote server, - and are not checked locally. However, they are considered for - optimization and constraint-exclusion checking. + These constraints are assumed to be enforced on the remote server, + and are not enforced locally. However, they are assumed to hold for + purposes of query optimization, such + as constraint + exclusion. @@ -946,9 +944,8 @@ - Add pg_event_trigger_ddl_commands - set-returning function, which returns DDL activity + Add a set-returning function pg_event_trigger_ddl_commands(), which returns DDL activity associated with event triggers (Álvaro Herrera) @@ -1015,8 +1012,8 @@ - Previously the namespace was not returned, leading to invalid - XML. + Previously the namespace was not returned, potentially leading to + invalid XML. @@ -1029,7 +1026,7 @@ - Tighten specification of INTERVAL precision specifications (Bruce Momjian) @@ -1061,19 +1058,19 @@ Add JSONB functions jsonb_set() and jsonb_pretty + linkend="functions-json-processing-table">jsonb_pretty() (Dmitry Dolgov, Andrew Dunstan, Petr Jelínek) - Add several generator functions for JSONB that exist - for JSON (Andrew Dunstan) + Add several generator functions for JSONB that already + existed for JSON (Andrew Dunstan) - The functions are to_jsonb(), jsonb_object(), @@ -1182,10 +1179,10 @@ - Add width_bucket() - which supports any sortable data type and non-uniform bucket widths - (Petr Jelínek) + variant that supports any sortable data type and non-uniform bucket + widths (Petr Jelínek) @@ -1196,9 +1193,10 @@ - User-defined => operators have been issuing - warnings since Postgres 9.0, and were removed in hstore in 9.2. - Previously only := could be used. + Previously only := could be used. This requires removing + the possibility for => to be a user-defined operator. + Creation of user-defined => operators has been issuing + warnings since Postgres 9.0. @@ -1236,18 +1234,18 @@ - Loosen security checks for viewing pg_stat_activity, - pg_cancel_backend(), - and pg_terminate_backend + and executing pg_terminate_backend() (Stephen Frost) - Now, role membership is sufficient; previously only the same - role could perform such operations. + Now, role membership is sufficient; previously only the same + role could perform these operations. @@ -1347,17 +1345,17 @@ - Add specification of conversion routines to/from SQL - data types to procedural languages data types (Peter Eisentraut) + Allow specification of conversion routines between SQL + data types and data types of procedural languages (Peter Eisentraut) - This adds new commands CREATE/DROP TRANSFORM. - This also adds transformations between hstore and ltree to/from ltree types to/from PL/Perl and PL/Python. @@ -1413,6 +1411,14 @@ + + + Add pg_rewind, + which allows re-synchronizing a master server after failback + (Heikki Linnakangas) + + + Allow - Have pg_basebackup use - a tablespace mapping file with the tar format, - to handle file paths of 100+ characters in length and sybolic - links on MS Windows (Amit Kapila) + Make pg_basebackup + use a tablespace mapping file when using tar format, + to support symbolic links and file paths of 100+ characters in length + on MS Windows (Amit Kapila) + + + + + + Add pg_xlogdump option + @@ -1515,7 +1527,7 @@ Add psql setting pager_min_lines - setting to control pager invocation (Andrew Dunstan) + to control pager invocation (Andrew Dunstan) @@ -1529,7 +1541,7 @@ Add psql tab completion when setting the - search_path variable (Jeff Janes) + variable (Jeff Janes) @@ -1539,7 +1551,7 @@ - Improve psql tab-completion for triggers and rules + Improve psql's tab completion for triggers and rules (Andreas Karlsson) @@ -1581,7 +1593,7 @@ - Allow psql \watch to output + Allow psql's \watch to output \timing information (Fujii Masao) @@ -1608,8 +1620,8 @@ - Allow tab completion of psql \c - role names (Ian Barwick) + Allow tab completion of role names + in psql \c commands (Ian Barwick) @@ -1662,7 +1674,7 @@ - Change pg_ctl default shutdown mode from + Change pg_ctl's default shutdown mode from smart to fast (Bruce Momjian) @@ -1740,6 +1752,47 @@ + + <xref linkend="pgbench"> + + + + + + Move pgbench from contrib to src/bin + (Peter Eisentraut) + + + + + + Allow counting of pgbench transactions that take over a specified + amount of time (Fabien Coelho) + + + + This is controlled by new + + + + + Allow pgbench to generate Gaussian/exponential distributions + using \setrandom (Kondo Mitsumasa, Fabien Coelho) + + + + + + Allow pgbench's \set command to handle + multi-operator expressions (Robert Haas, Fabien Coelho) + + + + + + + @@ -1797,7 +1850,8 @@ - Improve dynahash capabilities (Teodor Sigaev, Tom Lane) + Improve hash_create()'s API for selecting + simple-binary-key hash functions (Teodor Sigaev, Tom Lane) @@ -1841,15 +1895,16 @@ - Change columns pg_seclabel.provider and pg_shseclabel.provider - to TEXT (Tom Lane) + linkend="catalog-pg-shseclabel">pg_shseclabel.provider + to be text_pattern_ops (Tom Lane) - This allows these columns to store 64+ characters. + This avoids possible problems with these indexes when different + databases of a cluster have different default collations. @@ -1933,14 +1988,6 @@ - - - Add pg_rewind, - which allows re-synchronizing a master server after failback - (Heikki Linnakangas) - - - Add statistics for minimum, maximum, @@ -1994,14 +2041,7 @@ - Add pg_xlogdump option - - - - - - Allow GIN + Add GIN index inspection functions to pageinspect (Heikki Linnakangas, Peter Geoghegan, Michael Paquier) @@ -2031,51 +2071,15 @@ from contrib to src/test/modules (Álvaro Herrera) + + + These modules are only meant for server testing, so they do not need + to be built or installed when packaging PostgreSQL. + - - <xref linkend="pgbench"> - - - - - - Move pgbench from contrib to src/bin - (Peter Eisentraut) - - - - - - Allow counting of pgbench transactions that take over a specified - amount of time (Fabien Coelho) - - - - This is controlled by new - - - - - Allow pgbench to generate Gaussian/exponential distributions - using \setrandom (Kondo Mitsumasa, Fabien Coelho) - - - - - - Allow pgbench's \set command to handle - multi-operator expressions (Robert Haas, Fabien Coelho) - - - - - - - -- 2.40.0