doc: first draft of Postgres 10 release notes
authorBruce Momjian
Tue, 25 Apr 2017 01:26:33 +0000 (21:26 -0400)
committerBruce Momjian
Tue, 25 Apr 2017 01:26:33 +0000 (21:26 -0400)
doc/src/sgml/filelist.sgml
doc/src/sgml/ref/create_table.sgml
doc/src/sgml/release-10.sgml [new file with mode: 0644]
doc/src/sgml/release.sgml

index e2aa1d2a0e1d2d54cc6b6625d52dbfd7c1e6dbb7..2ec83af58e929c8005e2d1201d24743fc97cd49e 100644 (file)
 
 
 
+
 
 
 
index 1881d9257af1e8a18dbd93b16e2c7d32c87ed1b3..a3dc744efa5ec7765d3dde8deac4f458df26ff3c 100644 (file)
@@ -248,7 +248,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
     
    
 
-   
+    id="SQL-CREATETABLE-PARTITION">
     PARTITION OF parent_table FOR VALUES partition_bound_spec
     
      
diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml
new file mode 100644 (file)
index 0000000..cbb432f
--- /dev/null
@@ -0,0 +1,2850 @@
+
+
+
+  Release 10
+
+  
+   Release Date
+   2017-09-XX
+   CURRENT AS OF 2017-04-22
+  
+
+  
+   Overview
+
+   
+    Major enhancements in PostgreSQL 10 include:
+   
+
+   
+
+   
+
+    
+   
+
+   
+    The above items are explained in more detail in the sections below.
+   
+
+  
+
+  
+
+  Migration to Version 10
+
+   
+    A dump/restore using , or use of 
+    linkend="pgupgrade">, is required for those wishing to migrate data
+    from any previous release.
+   
+
+   
+    Version 10 contains a number of changes that may affect compatibility
+    with previous releases.  Observe the following incompatibilities:
+   
+
+   
+
+
+
+
+Improve hash bucket split performance by reducing locking requirements
+(Amit Kapila, Mithun Cy)
+
+
+
+Also cache hash index meta-information for faster lookups.  Additional
+hash performance improvements have also been made.  pg_upgrade'd hash
+indexes from previous major Postgres versions must be rebuilt.
+
+
+
+
+
+
+Change the default log directory from pg_log to log (Andreas
+Karlsson)
+
+
+
+
+
+
+Rename transaction status directory pg_clog directory to pg_xact
+(Michael Paquier)
+
+
+
+
+
+
+Have  stream the WAL needed to restore the backup by
+default (Magnus Hagander)
+
+
+
+This changes the pg_basebackup 
+An option value none has been added to recreate the old
+behavior.  The pg_basebackup option 
+
+
+
+
+
+
+Make all  actions wait by default for completion (Peter Eisentraut)
+
+
+
+Previously some pg_ctl actions didn't wait for completion, and required
+the use of 
+
+
+
+
+
+
+Allow multi-dimensional arrays to be passed into PL/Python functions,
+and returned as nested Python lists (Alexey Grishchenko, Dave Cramer,
+Heikki Linnakangas)
+
+
+
+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
+
+
+
+
+
+
+Remove PL/Tcl's "module" auto-loading facility (Tom Lane)
+
+
+
+Replaced by new PL/Tcl startup GUCs.
+
+
+
+
+
+
+Remove sql_inheritance GUC (Robert Haas)
+
+
+
+Changing this from the default value caused queries referencing parent
+tables to not include children tables.  The SQL standard requires such
+behavior and this has been the default since Postgres 7.1.
+
+
+
+
+
+
+Add GUCs  and
+
+to control parallel operation (Amit Kapila, Robert Haas)
+
+
+
+This replaces min_parallel_relation_size, which was too generic.
+
+
+
+
+
+
+Remove support for floating-point datetimes/timestamps (Tom Lane)
+
+
+
+This removes configure's 
+Floating-point datetimes/timestamps have not been the default
+since Postgres 8.3 and have few advantages.
+
+
+
+
+
+
+Remove support for client/server protocol version 1.0 (Tom Lane)
+
+
+
+This protocol hasn't had client support since Postgres 6.3.
+
+
+
+
+
+
+Remove contrib/tsearch2 (Robert Haas)
+
+
+
+This removes compatibility with the contrib version of full text search
+that shipped in pre-8.3 Postgres versions.
+
+
+
+   
+
+  
+
+  
+   Changes
+
+   
+    Below you will find a detailed account of the changes between
+    PostgreSQL 10 and the previous major
+    release.
+   
+
+   
+    Server
+
+    
+     Parallel Queries
+
+     
+
+
+
+
+Support parallel btree index scans (Rahila Syed, Amit Kapila, Robert
+Haas)
+
+
+
+Allows btree index pages to be checked by separate parallel workers.
+
+
+
+
+
+
+Support parallel bitmap heap scans (Dilip Kumar)
+
+
+
+This allows a single index scan to dispatch parallel workers to process
+different areas of the heap.
+
+
+
+
+
+
+Allow merge joins to be performed in parallel (Dilip Kumar)
+
+
+
+
+
+
+Support parallel bitmap heap scans (Dilip Kumar)
+
+
+
+This allows a single index scan to dispatch parallel workers to process
+different areas of the heap.
+
+
+
+
+
+
+Improve ability of parallel workers to return pre-sorted data (Rushabh
+Lathia)
+
+
+
+
+
+
+Increase parallel query usage in procedural language functions (Robert
+Haas)
+
+
+
+
+
+
+Add GUC  to limit the number of worker processes
+that can be used for parallelism (Julien Rouhaud)
+
+
+
+This can be set lower than  to reserve worker
+processes for non-parallel purposes.
+
+
+
+
+
+
+Rename pg_xlog to pg_wal (Michael Paquier)
+
+
+
+This prevents the write-ahead log directory from being confused as
+containing server activity logs, and erroneously truncated.
+
+
+
+
+
+
+Rename SQL functions, tools, and options that reference xlog to wal
+(Robert Haas)
+
+
+
+For example, pg_switch_xlog() becomes pg_switch_wal(), pg_receivexlog
+becomes pg_receivewal, and 
+require adjustments for prior-version scripts.
+
+
+
+
+
+
+Allow COALESCE and CASE to return multiple rows when evaluating
+set-returning functions (Andres Freund).  
+
+
+
+This also prevents conditionals like CASE from controlling the
+execution of set-returning functions because set-returning functions
+are now executed earlier.
+
+
+
+
+
+
+Remove pg_dump/pg_dumpall support for dumping from pre-8.0 servers (Tom
+Lane)
+
+
+
+Users needing dump support for pre-8.0 servers need to use dump binaries
+from Postgres 9.6.
+
+
+
+     
+
+    
+
+    
+     Indexes
+
+     
+
+
+
+
+Add write-ahead logging support to hash indexes (Amit Kapila)
+
+
+
+This makes hash indexes crash-safe and replicated, and removes the
+warning message about their use.
+
+
+
+
+
+
+Allow single-page hash pruning (Ashutosh Sharma)
+
+
+
+
+
+
+Add full text search support for JSON and JSONB (Dmitry Dolgov)
+
+
+
+This is accessed via ts_headline() and to_tsvector. RIGHT SECTION?
+
+
+
+
+
+
+Add SP-GiST index support for INET and CIDR data types (Emre Hasegeli)
+
+
+
+These data types already had GiST support.
+
+
+
+
+
+
+Reduce page locking during vacuuming of GIN indexes (Andrey Borodin)
+
+
+
+
+
+
+Cause BRIN index summarization to happen more aggressively (Álvaro
+Herrera)
+
+
+
+Specifically, summarize the previous page range when a new page range is
+created.
+
+
+
+
+
+
+Add function brin_desummarize_range() to remove BRIN summarization of a
+specified range (Álvaro Herrera)
+
+
+
+This allows future BRIN index summarization to be more compact.  CLARIFY
+
+
+
+     
+     
+    
+
+    
+     Locking
+
+     
+
+
+
+
+Only check for REFERENCES permission on referenced tables (Tom Lane)
+
+
+
+Previously REFERENCES permission on the referencing table was also
+required.
+
+
+
+
+
+
+Reduce locking required for adding values to enum types (Andrew Dunstan,
+Tom Lane)
+
+
+
+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.
+
+
+
+
+
+
+Allow tuning of predicate lock promotion thresholds (Dagfinn Ilmari
+Mannsåker)
+
+
+
+The new settings are  and
+max_pred_locks_per_page.
+
+
+
+     
+
+    
+
+    
+     Optimizer
+
+     
+
+
+
+
+Add the ability to compute a correlation ratio and the number of
+distinct values on several columns (Tomas Vondra, David Rowley)
+
+
+
+New commands are CREATE,
+ALTER, and
+DROP STATISTICS.  This is helpful in
+estimating query memory usage and ... HOW IS RATIO USED?
+
+
+
+
+
+
+Improve planner matching of boolean indexes (Tom Lane)
+
+
+
+
+
+
+Improve optimization of FULL JOIN queries containing subqueries in the
+FROM clause (Etsuro Fujita)
+
+
+
+
+
+
+Improve performance of queries referencing row level security
+restrictions (Tom Lane)
+
+
+
+The optimizer now has more flexibility in reordering executor behavior.
+
+
+
+
+
+
+Remove createlang and droplang (Peter Eisentraut)
+
+
+
+
+
+
+Remove support for version-0 function calling conventions (Andres
+Freund)
+
+
+
+
+
+
+Remove SCO and Unixware ports (Tom Lane)
+
+
+
+     
+
+    
+
+     
+     General Performance
+
+     
+
+
+
+
+Speed up SUM() calculations (Heikki Linnakangas)
+
+
+
+This uses an optimized numeric accumulator.
+
+
+
+
+
+
+Improve the performance of character encoding conversions by using radix
+trees (Kyotaro Horiguchi, Heikki Linnakangas)
+
+
+
+
+
+
+Reduce the function call overhead during query execution (Andres Freund)
+
+
+
+This is particularly helpful for queries that process many rows.
+
+
+
+
+
+
+Improve the performance of grouping sets (Andrew Gierth)
+
+
+
+
+
+
+Use uniqueness guarantees to optimize certain join types (David Rowley)
+
+
+
+
+
+
+Improve sort performance of the macaddr data type (Brandur Leach)
+
+
+
+     
+
+    
+
+    
+     Monitoring
+
+     
+
+
+
+
+Add pg_sequences view to show all sequences (Peter Eisentraut)
+
+
+
+
+
+
+Create a pg_sequence system catalog to store sequence metadata (Andreas
+Karlsson)
+
+
+
+Sequence metadata includes start, increment, etc, which is now
+transactional.  Sequence counters are still stored in separate heap
+relations.
+
+
+
+
+
+
+Allow explicit control over EXPLAIN's display of planning and execution
+time (Stephen Frost)
+
+
+
+By default planning and execution is display by EXPLAIN ANALYZE and not
+display in other cases.  The new EXPLAIN option SUMMARY allows explicit
+control of this.
+
+
+
+
+
+
+Properly update the statistics collector during REFRESH MATERIALIZED VIEW
+(Jim Mlodgenski)
+
+
+
+
+
+
+Add default monitoring roles (Dave Page)
+
+
+
+New roles pg_monitor, pg_read_all_settings, pg_read_all_stats, and
+pg_stat_scan_tables allow simplified permission configuration.
+
+
+
+      
+      
+      
+      Logging
+
+      
+
+
+
+
+Change  default to include current timestamp with milliseconds
+and the process id (Christoph Berg)
+
+
+
+The previous default was not to output a prefix.
+
+
+
+
+
+
+Add functions to return the log and WAL directory names (Dave Page)
+
+
+
+The new functions are pg_ls_logdir() and
+pg_ls_waldir() and can be
+executed by non-super users with the proper permissions.
+
+
+
+
+
+
+Add function pg_current_logfile() to read syslog's current stderr and
+csvlog output file names (Gilles Darold)
+
+
+
+
+
+
+Report the address and port number of successful startup socket binding
+in the server logs (Tom Lane)
+
+
+
+Also, report bind socket failure details in the server logs.
+
+
+
+
+
+
+Reduce log chatter about the starting and stopping of launcher
+subprocesses (Tom Lane)
+
+
+
+These are now DEBUG1-level messages.
+
+
+
+
+
+
+Reduce message verbosity of lower-numbered debug levels controlled by
+ (Robert Haas)
+
+
+
+This also changes the verbosity of  debug levels.
+
+
+
+      
+      
+      
+      
+      <link linkend="pg-stat-activity-view"><structname>pg_stat_activity</></link>
+
+      
+
+
+
+
+Add pg_stat_activity reporting of latch wait states (Michael Paquier,
+Robert Haas)
+
+
+
+This includes the remaining wait events, like client reads, client
+writes, and synchronous replication.
+
+
+
+
+
+
+Add pg_stat_activity reporting of waits on reads, writes, and fsyncs
+(Rushabh Lathia)
+
+
+
+
+
+
+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)
+
+
+
+This simplifies monitoring.
+
+
+
+
+
+
+Allow pg_stat_activity to show the source query being executed by parallel workers 
+(Rafia Sabih)
+
+
+
+
+
+
+Rename pg_stat_activity.wait_event_type values LWLockTranche and
+LWLockNamed to LWLock (Robert Haas)
+
+
+
+This makes the output more consistent.
+
+
+
+      
+
+      
+      
+    
+
+    
+     <acronym>Authentication</>
+
+     
+
+
+
+
+Add SCRAM-SHA-256 support for password negotiation and storage (Michael
+Paquier, Heikki Linnakangas)
+
+
+
+This proves better security than the existing 'md5' negotiation and
+storage method.
+
+
+
+
+
+
+Change GUC  from boolean to enum (Michael Paquier)
+
+
+
+This was necessary to support additional password hashing options.
+
+
+
+
+
+
+Add view pg_hba_file_rules to display the contents of pg_hba.conf
+(Haribabu Kommi)
+
+
+
+This shows the file contents, not the currently active settings.
+
+
+
+
+
+
+Support multiple RADIUS servers (Magnus Hagander)
+
+
+
+All the RADIUS related parameters are now plural and support a
+comma-separated list of servers.
+
+
+
+     
+
+    
+
+    
+     Server Configuration
+
+     
+
+
+
+
+Allow SSL configuration to be updated at SIGHUP (Andreas Karlsson, Tom Lane)
+
+
+
+This allows SSL to be reconfigured without a server 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 (Tsunakawa, Takayuki)
+
+
+
+
+
+
+Reduce locking required to change table params (Simon Riggs, Fabrízio
+Mello)
+
+
+
+For example, changing a table's  setting can now
+be done with a more lightweight lock.
+
+
+
+
+
+
+Make the maximum value of  effectively unlimited
+(Jim Nasby)
+
+
+
+    
+
+    
+
+    
+     Reliability
+
+     
+
+
+
+
+Perform an fsync on the directory after creating or unlinking files
+(Michael Paquier)
+
+
+
+This reduces the risk of data loss after a power failure.
+
+
+
+
+
+
+Remove orphaned temporary tables more aggressively (Robert Haas, Tom Lane)
+
+
+
+Previously such tables were removed only when necessary. SECTION?
+
+
+
+      
+
+      
+      <link linkend="wal">Write-Ahead Log</> (<acronym>WAL</>)
+
+      
+
+
+
+
+Prevent checkpoints and WAL archiving on otherwise-idle systems (Michael
+Paquier)
+
+
+
+
+
+
+Add GUC  to add details to WAL that can be
+sanity-checked on the standby (Kuntal Ghosh, Michael Paquier, Robert
+Haas)
+
+
+
+Any sanity-check failure generates a fatal error on the standby.
+
+
+
+
+
+
+Increase the maximum configurable WAL size to 1 gigabyte (Beena Emerson)
+
+
+
+      
+      
+      
+
+    
+
+   
+
+   
+    Replication and Recovery
+
+     
+
+
+
+
+Add the ability to logically replicate tables to standby servers (Petr
+Jelinek)
+
+
+
+This allows more fine-grained replication options, including replication
+between different major versions of Postgres and selective-table
+replication.
+
+
+
+
+
+
+Allow waiting for commit acknowledgement from standby servers
+irrespective of the order they appear in 
+(Masahiko Sawada)
+
+
+
+Previously the server always waited for the active standbys that
+appeared first in synchronous_standby_names.  The new
+synchronous_standby_names keyword ANY allows waiting for any number of
+standbys irrespective of their ordering.  This is known as quorum commit.
+
+
+
+
+
+
+
+Reduce configuration necessary to perform streaming backup and
+replication (Magnus Hagander)
+
+
+
+Specifically, defaults were changed for ,
+, and
+.
+
+
+
+
+
+
+Enable replication from localhost connections by default in pg_hba.conf
+(Michael Paquier)
+
+
+
+Previously pg_hba.conf's replication connection lines were commented
+out.  This is particularly useful for .
+
+
+
+
+
+
+Add columns to pg_stat_replication to report replication delay times
+(Thomas Munro)
+
+
+
+The new columns are write_lag, flush_lag, and replay_lag.
+
+
+
+
+
+
+Add specification of a Log Sequence Number (LSN) stopping point in
+recovery.conf (Michael Paquier)
+
+
+
+Previously only specification of the stop name, time, and xid were
+supported.
+
+
+
+
+
+
+Allow users to disable pg_stop_backup()'s waiting for all WAL to be
+archived (David Steele)
+
+
+
+An optional second argument to pg_stop_backup() controls that behavior.
+
+
+
+
+
+
+Allow creation of 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 (Simon Riggs)
+
+
+
+     
+
+   
+
+   
+    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.
+
+
+
+     
+
+   
+
+   
+    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.
+
+
+
+    
+
+   
+
+   
+    Data Types
+
+    
+
+
+
+
+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)
+
+
+
+    
+
+   
+
+   
+    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 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.
+
+
+
+     
+
+   
+
+   
+    Server-Side Languages
+
+    
+
+
+
+
+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.
+
+
+
+    
+
+    
+    <link linkend="pltcl">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 GUCs to allow initialization routines to be called on PL/Tcl startup
+(Tom Lane)
+
+
+
+The GUCs are pltcl.start_proc and pltclu.start_proc.
+
+
+
+    
+   
+    
+    
+   
+
+   
+    Client Interfaces
+
+    
+
+
+
+
+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.
+
+
+
+    
+
+   
+   
+   
+    Client Applications
+
+     
+      <xref linkend="APP-PSQL">
+
+      
+
+
+
+
+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)
+
+
+
+      
+
+    
+
+    
+     <xref linkend="pgbench">
+
+     
+
+
+
+
+Add pgbench option 
+Sawada)
+
+
+
+
+
+
+Allow pgbench's meta commands to span multiple lines via a
+line-terminating backslash (Fabien Coelho)
+
+
+
+     
+
+    
+
+   
+
+   
+    Server Applications
+
+    
+
+
+
+
+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.
+
+
+
+    
+
+    
+    <link linkend="APP-PGDUMP"><application>pg_dump</></>, <link linkend="APP-PG-DUMPALL"><application>pg_dumpall</></>.</div> <div class="diff add">+    <link linkend="APP-PGRESTORE"><application>pg_restore</></>
+
+    
+
+
+
+
+Allow pg_restore to exclude schemas (Michael Banck)
+
+
+
+This added a new 
+
+
+
+
+
+
+Add pg_dump 
+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 
+
+
+
+    
+
+   
+   
+   
+
+    <xref linkend="app-pgbasebackup">
+
+    
+
+
+
+
+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.
+
+
+
+    
+
+   
+   
+   
+    <application><xref linkend="app-pg-ctl"></>
+
+    
+
+
+
+
+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 
+
+
+
+   
+    
+   
+   
+   
+
+   
+    Source Code
+
+     
+
+
+
+
+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.
+
+
+
+
+
+
+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.
+
+
+
+
+
+
+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 semaphores 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)
+
+
+
+    
+
+   
+
+   
+    Additional Modules
+
+    
+
+
+
+
+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.
+
+
+
+
+
+
+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 without 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.
+
+
+
+     
+
+   
+
+
index 9919332278fffe05860b847d813dd31047623d8d..c8776c4f9742e730dfcb1abbd36ac3c9f24d661f 100644 (file)
@@ -74,6 +74,7 @@ For new features, add links to the documentation sections.
   The reason for splitting the release notes this way is so that appropriate
   subsets can easily be copied into back branches.
 -->
+&release-10;
 &release-9.6;
 &release-9.5;
 &release-9.4;