docs: initial draft of PG 11 release notes
authorBruce Momjian
Fri, 11 May 2018 14:54:03 +0000 (10:54 -0400)
committerBruce Momjian
Fri, 11 May 2018 14:54:03 +0000 (10:54 -0400)
doc/src/sgml/filelist.sgml
doc/src/sgml/release-11.sgml [new file with mode: 0644]
doc/src/sgml/release.sgml

index 56b8da04488e5eef65a553aa8fbcfd8e7c4ea9b4..f010cd4c3bca47584d1a19b9a467e0586a4c1a7f 100644 (file)
 
 
 
+
 
 
 
diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml
new file mode 100644 (file)
index 0000000..1b5db29
--- /dev/null
@@ -0,0 +1,2630 @@
+
+
+
+  Release 11
+
+  
+   Release date:
+   2018-??-?? (CURRENT AS OF 2018-05-01)
+  
+
+  
+   Overview
+
+   
+    Major enhancements in PostgreSQL 11 include:
+   
+
+   
+
+   
+
+   XXX
+   
+
+   
+    The above items are explained in more detail in the sections below.
+   
+
+  
+
+  
+
+  Migration to Version 11
+
+   
+    A dump/restore using , or use of 
+    linkend="pgupgrade"/>, is required for those wishing to migrate data
+    from any previous release.
+   
+
+   
+    Version 11 contains a number of changes that may affect compatibility
+    with previous releases.  Observe the following incompatibilities:
+   
+
+   
+
+    
+
+
+       
+        Have pg_dump dump all aspects of a database (Haribabu Kommi)
+       
+
+       
+        Previously database attributes like GRANT/REVOKE permissions and ALTER
+        DATABASE SET and ALTER ROLE IN DATABASE SET variable settings were only
+        dumped by pg_dumpall.  Now pg_dump --create and pg_restore --create
+        will restore all database aspects.  pg_dumpall -g will now only output
+        role and tablespace-related attributes.  pg_dumpall's output (without
+        -g) is unchanged.
+       
+
+       
+        pg_dump and pg_restore, without --clean, no longer dump/restore database
+        comments and security labels.
+       
+
+       
+        pg_dumpall --clean now restores the "postgres" and "template1" databases
+        with the original locale and encoding settings.
+       
+
+       
+        A restore of pg_dumpall will now create databases with their original
+        locale and encoding, and will fail if the creation fails.  Previously
+        CREATE DATABASE would be dumped without such specifications if the
+        database locale and encoding matched the old cluster's defaults.
+       
+
+       
+        DID I GET EVERYTHING?
+       
+      
+
+      
+
+
+       
+        Correct information schema column tables.table_type to return 'FOREIGN'
+        instead of 'FOREIGN TABLE' (Peter Eisentraut)
+       
+
+       
+        This new output matches the SQL standard.
+       
+      
+
+      
+
+
+       
+        Change the ps process display labels to match the
+        pg_stat_activity.backend_type labels (Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Prevent to_number() from consuming characters when the template
+        separator does not match (Oliver Ford)
+       
+
+       
+        Specifically, SELECT to_number('1234', '9,999') used to return '134'.  It
+        will now return '1234'.  "L" and "TH" now only consume characters that
+        are not digits, positive/negative signs, decimal points, and commas.
+       
+      
+
+      
+
+
+       
+        Fix to_date(), to_number(), and to_timestamp() to skip a character for
+        each template character (Tom Lane)
+       
+
+       
+        Previously _bytes_ were skipped.
+       
+      
+
+      
+
+
+       
+        Adjust the handling of backslashes inside double-quotes in template
+        strings for to_char(), to_number(), and to_timestamp().
+       
+
+       
+        Such a backslash now escapes the character after it, particularly
+        a double-quote or another backslash.
+       
+      
+
+      
+
+
+       
+        Have libpq's PQhost() always return the actual connected host (Hari
+        Babu)
+       
+
+       
+        Previously PQhost() often returned the supplied host parameters, which
+        could contain several hosts.  The same is true of PQport(), which now
+        returns the actual port number, not the multiple supplied port numbers.
+        ACCURATE?
+       
+      
+
+      
+
+
+       
+        Remove relhaspkey column from system table pg_class (Peter Eisentraut)
+       
+
+       
+        Applications needing to check for a primary key should consult pg_index.
+       
+      
+
+      
+
+
+       
+        Replace system table pg_proc's proisagg and proiswindow with prokind
+        (Peter Eisentraut)
+       
+
+       
+        This new column more clearly identifies functions, procedures,
+        aggregates, and window functions.
+       
+      
+
+      
+
+
+       
+        Cause large object permission checks to happen on large object open,
+        lo_open(), not read/write (Tom Lane)
+       
+      
+
+      
+
+
+       
+        Remove deprecated contrib/adminpack functions pg_file_read(),
+        pg_file_length(), and pg_logfile_rotate() (Stephen Frost)
+       
+
+       
+        These function are now present by default.  Old adminpack installs will
+        continue to have access to these functions until they are updated via
+        ALTER EXTENSION ... UPDATE.
+       
+      
+
+      
+
+
+       
+        Honor the capitalization of double-quoted command options (Daniel
+        Gustafsson)
+       
+
+       
+        Previously index options names like ("FillFactor" = 50) were
+        automatically lower-cased.  This quoted capitalization will now generate
+        an error.
+       
+      
+
+      
+
+
+       
+        Remove WITH clause in CREATE FUNCTION (Michael Paquier)
+       
+
+       
+        Postgres has long supported a more standard-compliant syntax for this
+        capability.
+       
+
+      
+
+   
+
+  
+
+  
+   Changes
+
+   
+    Below you will find a detailed account of the changes between
+    PostgreSQL 10 and the previous major
+    release.
+   
+
+   
+    Server
+
+    
+     Partitioning
+
+     
+
+      
+
+
+       
+        Allow faster partition elimination during query processing (Amit Langote,
+        David Rowley, Dilip Kumar)
+       
+
+       
+        This speeds access to partitioned tables with many partitions.
+       
+      
+
+      
+
+
+       
+        Allow partition elimination during query execution (David Rowley, Beena
+        Emerson)
+       
+
+       
+        Previously partition elimination could only happen at planning time,
+        meaning many joins and prepared queries could not use partition
+        elimination.
+       
+      
+
+      
+
+
+       
+        Allow the creation of partitions based on hashing a key (Amul Sul)
+       
+      
+
+      
+
+
+       
+        Allow updated rows to automatically move to new partitions based on the
+        new row contents (Amit Khandekar)
+       
+      
+
+      
+
+
+       
+        Allow partitioned tables to have a default partition (Jeevan Ladhe,
+        Beena Emerson, Ashutosh Bapat, Rahila Syed, Robert Haas)
+       
+
+       
+        The default partition can store rows that don't match any of the other
+        defined partitions, and is searched accordingly.
+       
+      
+
+      
+
+
+       
+        Allow UNIQUE indexes on partitioned tables if the partition key
+        guarantees uniqueness (Álvaro Herrera, Amit Langote)
+       
+      
+
+      
+
+
+       
+        Allow indexes on a partitioned table to be automatically created in any
+        child partitions (Álvaro Herrera)
+       
+
+       
+        The new command ALTER INDEX ATTACH PARTITION allows indexes to be attached
+        to partitions.  This does not behave as a global index since the
+        contents are private to each index.  WARN WHEN USING AN EXISTING INDEX?
+       
+      
+
+      
+
+
+       
+        Allow foreign keys on partitioned tables (Álvaro Herrera)
+       
+      
+
+      
+
+
+       
+        Allow INSERTs, UPDATEs, and COPY on partitioned tables to properly route
+        rows to foreign partitions (Etsuro Fujita, Amit Langote)
+       
+
+       
+        This is supported by postgres_fdw foreign tables.
+       
+      
+
+      
+
+
+       
+        Allow FOR EACH ROW triggers on partitioned tables (Álvaro Herrera)
+       
+
+       
+        Creation of a trigger on partitioned tables automatically creates
+        triggers on all partition tables, and on newly-created ones.  This also
+        allows deferred unique constraints on partitioned tables.
+       
+      
+
+      
+
+
+       
+        Allow equality joins between partitioned tables with identically
+        partitioned child tables to join the child tables directly (Ashutosh
+        Bapat)
+       
+
+       
+        This features is disabled by default but can be enabled by changing
+        enable_partitionwise_join.
+       
+      
+
+      
+
+
+       
+        Perform aggregation on each partition, and then merge the results
+        (Jeevan Chalke, Ashutosh Bapat, Robert Haas)
+       
+
+       
+        This features is disabled by default but can be enabled by changing
+        enable_partitionwise_aggregate.
+       
+      
+
+      
+
+
+       
+        Allow postgres_fdw to push down aggregates to foreign tables that are
+        partitions (Jeevan Chalke)
+       
+
+      
+
+     
+
+    
+
+    
+     Parallel Queries
+
+     
+
+      
+
+
+       
+        Allow indexes to be built in parallel (Peter
+        Geoghegan, Rushabh Lathia, Heikki Linnakangas)
+       
+      
+
+      
+
+
+       
+        Allow hash joins to be performed in parallel using a shared hash table
+        (Thomas Munro)
+       
+      
+
+      
+
+
+       
+        Allow UNION to run each SELECT in parallel if the individual SELECTs cannot be
+        parallelized (Amit Khandekar, Robert Haas, Amul Sul)
+       
+      
+
+      
+
+
+       
+        Allow partition scans to more efficiently use parallel workers (Amit Khandekar, Robert
+        Haas, Amul Sul)
+       
+      
+
+      
+
+
+       
+        Allow LIMIT to be passed to parallel workers (Robert Haas, Tom Lane)
+       
+
+       
+        This allows workers to reduce returned results and use targeted index
+        scans.
+       
+      
+
+      
+
+
+       
+        Add server option parallel_leader_participation to control if the leader
+        executes subplans (Thomas Munro)
+       
+
+       
+        The default is enabled, meaning the leader will execute subplans.
+       
+      
+
+      
+
+
+       
+        Allow parallelization of commands CREATE TABLE .. AS, SELECT INTO, and CREATE
+        MATERIALIZED VIEW (Haribabu Kommi)
+       
+      
+
+      
+
+
+       
+        Add reporting of parallel worker sort activity to EXPLAIN (Robert Haas, Tom Lane)
+       
+
+      
+
+     
+
+    
+
+    
+     Indexes
+
+     
+
+      
+
+
+       
+        Allow indexes to INCLUDE columns that are not part of the unique
+        constraint but are available for index-only scans (Anastasia
+        Lubennikova, Alexander Korotkov, Teodor Sigaev)
+       
+
+       
+        This is also useful for including columns that don't have btree support.
+       
+      
+
+      
+
+
+       
+        Remember the highest btree index page to optimize future monotonically
+        increasing index additions (Pavan Deolasee, Peter Geoghegan)
+       
+      
+
+      
+
+
+       
+        Allow entire hash index pages to be scanned (Ashutosh Sharma)
+       
+
+       
+        Previously each hash index entry has to be locked and scanned
+        separately.
+       
+      
+
+      
+
+
+       
+        Add predicate locking for Hash, GiST and GIN indexes (Shubham Barai)
+       
+
+       
+        This reduces the likelyhood of serialization conflicts.  ACCURATE?
+       
+      
+
+      
+
+
+       
+        Allow heap-only-tuple (HOT) updates for expression indexes when the
+        values of the expressions are unchanged (Konstantin Knizhnik)
+       
+
+      
+
+     
+
+     
+      SP-Gist
+
+      
+
+      
+
+
+       
+        Add TEXT prefix operator ^@ which is supported by SP-GiST (Ildus
+        Kurbangaliev)
+       
+
+       
+        This is similar to using LIKE 'word%' with btree indexes, but is more efficient.
+       
+      
+
+      
+
+
+       
+        Allow polygons to be indexed with SP-GiST (Nikita Glukhov, Alexander
+        Korotkov)
+       
+      
+
+      
+
+
+       
+        Allow SP-GiST indexes to optionally use compression (Teodor Sigaev,
+        Heikki Linnakangas, Alexander Korotkov, Nikita Glukhov)
+       
+
+      
+
+      
+
+     
+
+    
+
+    
+     Optimizer
+
+     
+
+      
+
+
+       
+        Improve the selection of the optimizer statistics' most-common-values
+        (Jeff Janes, Dean Rasheed)
+       
+
+       
+        Previously most-common-values (MCV) were chosen based on their
+        significance compared to all column values.  Now, MCV are chosen based
+        on their significance compared to the non-MCV values.  This improves the
+        statistics for uniform (fewer) and non-uniform (more) distributions.
+       
+      
+
+      
+
+
+       
+        Improve selectivity estimates for >= and <= when the constants are not
+        common values (Tom Lane)
+       
+
+       
+        Previously such cases used the same selectivity as > and <,
+        respectively.  This change is particularly useful for BETWEEN with
+        small ranges.
+       
+      
+
+      
+
+
+       
+        Optimize var = var to var IS NOT NULL where equivalent (Tom Lane)
+       
+
+       
+        This leads to better selectivity estimates.
+       
+      
+
+      
+
+
+       
+        Improve row count optimizer estimates for EXISTS and NOT EXISTS queries (Tom
+        Lane)
+       
+      
+
+      
+
+
+       
+        Add optimizer selectivity costs for HAVING clauses (Tom Lane)
+       
+
+      
+
+     
+
+    
+
+    
+     General Performance
+
+     
+
+      
+
+
+       
+        Add Just-In-time (JIT) compilation of plans run the by the executor
+(Andres Freund)
+       
+      
+
+      
+
+
+       
+        Allow bitmap scans to perform index-only scans when possible (Alexander
+        Kuzmenkov)
+       
+      
+
+      
+
+
+       
+        Update the free space map during vacuum (Claudio Freire)
+       
+
+       
+        This allows free space to be reused more quickly.
+       
+      
+
+      
+
+
+       
+        Improve performance of committing multiple concurrent transactions (Amit Kapila)
+       
+      
+
+      
+
+
+       
+        Reduce memory usage for queries using set-returning functions in their
+        target lists (Andres Freund)
+       
+      
+
+      
+
+
+       
+        Allow postgres_fdw to push UPDATEs and DELETEs using joins to foreign
+        servers (Etsuro Fujita)
+       
+
+       
+        Previously only non-join UPDATEs and DELETEs were pushed.
+       
+
+      
+
+     
+
+    
+
+    
+     Monitoring
+
+     
+
+      
+
+
+       
+        Show memory usage in log_statement_stats, log_parser_stats,
+        log_planner_stats, log_executor_stats (Justin Pryzby, Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Add pg_stat_activity.backend_type now shows the type of background worker
+(Peter Eisentraut)
+       
+
+       
+        Add bgw_type to the background worker C structure (Peter Eisentraut)
+       
+
+       
+        This is displayed to the user in pg_stat_activity.backend_type and ps
+        output.
+       
+      
+
+      
+
+
+       
+        Have log_autovacuum_min_duration log skipped tables that are
+        concurrently being dropped (Nathan Bossart)
+       
+
+      
+
+     
+
+     
+      Information Schema
+
+      
+
+      
+
+
+       
+        Add information_schema columns related to table constraints and triggers
+        (Michael Paquier)
+       
+
+       
+        Specifically, table_constraints.enforced, triggers.action_order,
+        triggers.action_reference_old_table, and
+        triggers.action_reference_new_table.
+       
+
+      
+
+      
+
+     
+    
+
+    
+     <acronym>Authentication</acronym>
+
+     
+
+      
+
+
+       
+        Add libpq option to support channel binding when using SCRAM
+        authentication (Michael Paquier)
+       
+
+       
+        Channel binding requires the server end of the TLS connection to prove
+        that it knows the password.  The options are
+        'scram_channel_binding=tls-unique' and
+        'scram_channel_binding=tls-server-end-point'.
+       
+
+       
+        WHAT DOES THIS DOC TEXT MEAN?  "An empty value specifies that the client will not
+        use channel binding.  The default value is tls-unique."
+       
+      
+
+      
+
+
+       
+        Allow the server to specify more complex LDAP specifications in
+        search+bind mode (Thomas Munro)
+       
+
+       
+        Specifically, "ldapsearchfilter" allows pattern matching using
+        combinations of LDAP attributes.
+       
+      
+
+      
+
+
+       
+        Allow LDAP authentication to use ldaps (Thomas Munro)
+       
+
+       
+        We already supported LDAP over TLS by using ldaptls=1.  This new TLS
+        LDAP method of encrypted LDAP is enabled with ldapscheme=ldaps or
+        ldapurl=ldaps://.
+       
+      
+
+      
+
+
+       
+        Improve LDAP logging of errors (Thomas Munro)
+       
+
+      
+
+     
+
+    
+
+    
+     Permissions
+
+     
+
+      
+
+
+       
+        Add default roles which controls file system access (Stephen Frost)
+       
+
+       
+        Specifically, the new roles are: pg_read_server_files,
+        pg_write_server_files, pg_execute_server_program.  These roles now also
+        control who can use COPY and extension file_fdw.  Previously only
+        super-users could use these functions, and that is still the default
+        behavior.
+       
+      
+
+      
+
+
+       
+        Allow access to file system functions to be controlled by GRANT/REVOKE
+        permissions, rather than super-user checks (Michael Paquier)
+       
+
+       
+        Specifically, these functions were modified:  pg_ls_dir(), pg_read_file(),
+        pg_read_binary_file(), pg_stat_file().
+       
+      
+
+      
+
+
+       
+        Use GRANT/REVOKE to control access to lo_import() and lo_export()
+        (Michael Paquier)
+       
+
+       
+        Previously super users were exclusively granted to access these
+        functions.
+       
+
+       
+        Compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS has been removed.
+       
+      
+
+      
+
+
+       
+        Use view owner not session owner when preventing non-password access to
+        postgres_fdw tables (Robert Haas)
+       
+
+       
+        Postgres only allows super-users to access postgres_fdw tables without
+        passwords, e.g. via peer.  Previously the session owner had to be a
+        super-user to allow such access;  now the view owner is checked instead.
+       
+      
+
+      
+
+
+       
+        Fix invalid locking permission check in SELECT FOR UPDATE on views (Tom
+        Lane)
+       
+
+      
+
+     
+
+    
+
+    
+     Server Configuration
+
+     
+
+      
+
+
+       
+        Add server setting ssl_passphrase_command to allow supplying of the the
+        passphrase for SSL key files (Peter Eisentraut)
+       
+
+       
+        Also add ssl_passphrase_command_supports_reload to specify whether the
+        the SSL configuration should be reloaded and ssl_passphrase_command
+        called during a server configuration reload.
+       
+      
+
+      
+
+
+       
+        Add server variable toast_tuple_target to control the minimum length
+        before TOAST storage will be considered for new rows (Simon Riggs)
+       
+
+       
+        The default TOAST threshold has not been changed.
+       
+      
+
+      
+
+
+       
+        Allow bytes to be specified for server variable sizes (Beena Emerson)
+       
+
+       
+        The specification is "B".
+       
+
+      
+
+    
+
+    
+
+    
+     <link linkend="wal">Write-Ahead Log</link> (<acronym>WAL</acronym>)
+
+     
+
+      
+
+
+       
+        Allow the WAL file size to be set via initdb (Beena Emerson)
+       
+
+       
+        Previously the 16MB default could only be changed at compile time.
+       
+      
+
+      
+
+
+       
+        No longer retain WAL that spans two checkpoints (Simon Riggs)
+       
+
+       
+        The retention of WAL records for only one checkpoint is required.
+       
+      
+
+      
+
+
+       
+        Fill the unused portion of force-switched WAL segment files with zeros
+        for improved compressibility (Chapman Flack)
+       
+
+      
+
+     
+
+    
+
+   
+
+   
+    Base Backup and Streaming Replication
+
+    
+
+      
+
+
+       
+        Replicate TRUNCATE activity when using logical replication (Simon Riggs,
+        Marco Nenciarini, Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Pass prepared transaction information to logical replication subscribers
+        (Nikhil Sontakke, Stas Kelvich)
+       
+      
+
+      
+
+
+       
+        Exclude unlogged and temporary tables from streaming base backups (David
+        Steele)
+       
+
+       
+        There is no need to copy such files.
+       
+      
+
+      
+
+
+       
+        Allow heap pages checksums to be checked during streaming base backup
+        (Michael Banck)
+       
+      
+
+      
+
+
+       
+        Allow replication slots to be advanced programatically, rather than be
+        consumed by subscribers (Petr Jelinek)
+       
+
+       
+        This allows efficient advancement replication slots when the contents do
+        not need to be consumed.  This is performed by pg_replication_slot_advance().
+       
+      
+
+      
+
+
+       
+        Add timeline information to the backup_label file (Simon Riggs)
+       
+
+       
+        Also add a check that the WAL timeline matches the backup_label file's
+        timeline.
+       
+      
+
+      
+
+
+       
+        Add host and port connection information to the pg_stat_wal_receiver
+        system view (Haribabu Kommi)
+       
+      
+
+      
+
+
+       
+        Document that pg_internal.init files do not need to be included in the
+        base backup (David Steele)
+       
+
+      
+
+    
+
+   
+
+   
+    Window Functions
+
+    
+
+      
+
+
+       
+        Add window function features to complete SQL:2011 compliance (Oliver
+        Ford, Tom Lane)
+       
+
+       
+        Specifically, allow RANGE mode to use PRECEDING and FOLLOWING to specify
+        peer groups with values plus or minus the specified offset.  Add
+        GROUPS mode to include plus or minus the number of peer groups.  Frame
+        exclusion syntax was also added.
+       
+
+      
+
+    
+
+   
+
+   
+    Utility Commands
+
+    
+
+      
+
+
+       
+        Allow NOT NULL to be added to columns without requiring a table rewrite
+        (Andrew Dunstan, Serge Rielau)
+       
+      
+
+      
+
+
+       
+        Allow views to be locked by locking the underlying tables (Yugo Nagata)
+       
+      
+
+      
+
+
+       
+        Allow ALTER INDEX to set statistics-gathering targets for expression
+        indexes (Alexander Korotkov, Adrien nayrat)
+       
+
+       
+        In psql, \d+ now shows the statistics target for indexes.
+       
+      
+
+      
+
+
+       
+        Allow multiple tables to be specified in one VACUUM or ANALYZE command
+        (Nathan Bossart)
+       
+
+       
+        Also, if any table mentioned in VACUUM uses a column list, then ANALYZE
+        keyword must be supplied;  previously ANALYZE was implied in such cases.
+       
+      
+
+      
+
+
+       
+        Add parenthesized options syntax to ANALYZE (Nathan Bossart)
+       
+
+       
+        This is similar to the syntax supported by VACUUM.
+       
+      
+
+      
+
+
+       
+        Add CREATE AGGREGATE option to specify the behavior of the aggregate
+        finalization function (Tom Lane)
+       
+
+       
+        This is useful for allowing aggregate functions be optimized and to work
+        as window functions.
+       
+
+      
+
+    
+
+   
+
+   
+    Data Types
+
+    
+
+      
+
+
+       
+        Allow the creation of arrays of domains (Tom Lane)
+       
+
+       
+        This also allows array_agg() to be used on domains.
+       
+      
+
+      
+
+
+       
+        Support domains over composite types (Tom Lane)
+       
+
+       
+        Also allow PL/PL/Perl, PL/Python, and PL/Tcl to handle composite-domain
+        function arguments and results.  Also improve PL/Python domain handling.
+       
+      
+
+      
+
+
+       
+        Add casts from jsonb scalars to numeric and boolean data types
+(Anastasia Lubennikova)
+       
+
+      
+
+    
+
+   
+
+   
+    Functions
+
+    
+
+      
+
+
+       
+        Add SHA-2 family of hash functions (Peter Eisentraut)
+       
+
+       
+        Specifically, sha224(), sha256(), sha384(), sha512() were added.
+       
+      
+
+      
+
+
+       
+        Add support for 64-bit non-cryptographic hash functions (Robert Haas, Amul Sul)
+       
+      
+
+      
+
+
+       
+        Allow to_char() and to_timestamp() to specify the time zone's hours and
+        minutes from UTC (Nikita Glukhov, Andrew Dunstan)
+       
+
+       
+        This is done with format specifications TZH and TZM.
+    
+
+       
+
+       
+        Improve the speed of aggregate computations (Andres Freund)
+       
+      
+
+      
+
+
+       
+        Add text search function  websearch_to_tsquery() that supports a queries
+        syntax similar to that used by web search engines (Victor Drobny, Dmitry
+        Ivanov)
+       
+      
+
+      
+
+
+       
+        Add functionjson(b)_to_tsvector to create usable text search queries
+        matching JSON/JSONB values (Dmitry Dolgov)
+       
+
+      
+
+    
+
+   
+
+   
+    Server-Side Languages
+
+    
+
+      
+
+
+       
+        Add SQL procedures, which can start and commit their own transactions
+(Peter Eisentraut)
+       
+
+       
+        They are created with the new CREATE PROCEDURE command and invoked via
+        CALL.  The new ALTER/DROP ROUTINE commands allows altering/dropping of
+        procedures, functions, and aggregates.
+       
+      
+
+      
+
+
+       
+        Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl, and SPI
+        server-side languages (Peter Eisentraut)
+       
+
+       
+        Transaction control is only available to top-transaction-level CALLs or
+        in nested PL/pgSQL DO and CALL blocks that only contain other PL/pgSQL
+        DO and CALL blocks.  ACCURATE?
+       
+      
+
+      
+
+
+       
+        Add the ability to define PL/pgSQL record types as not null, constant, or
+        with initial values (Tom Lane)
+       
+      
+
+      
+
+
+       
+        Add extension jsonb_plpython to transform JSONB to/from PL/Python
+        types (Anthony Bykov)
+       
+      
+
+      
+
+
+       
+        Add extension jsonb_plpython to transform JSONB to/from PL/Perl types
+        (Anthony Bykov)
+       
+
+      
+
+    
+
+   
+
+   
+    Client Interfaces
+
+    
+
+      
+
+
+       
+        Add libpq parameter to allow physical and logical replication
+        connections (Michael Paquier)
+       
+
+       
+        The libpq connection parameter is called replication.
+       
+      
+
+      
+
+
+       
+        Change libpq to disable compression by default (Peter Eisentraut)
+       
+
+       
+        Compression is already disabled in modern OpenSSL versions and the libpq
+        setting had no effect in that case.
+       
+      
+
+      
+
+
+       
+        Add DO CONTINUE action to the ECPG WHENEVER statement (Vinayak Pokale)
+       
+
+       
+        This generates a C 'continue' statement, causing a return to the top of
+        the contained loop when the specified condition occurs.
+       
+      
+
+      
+
+
+       
+        Add ecpg mode to enable Oracle Pro*C handling of char arrays.
+       
+
+       
+        This mode is enabled with -C.
+       
+
+      
+
+    
+
+   
+
+   
+    Client Applications
+
+    
+     <xref linkend="app-psql"/>
+
+     
+
+      
+
+
+       
+        Add psql command \gdesc to display the column names and types of the
+        query output (Pavel Stehule)
+       
+      
+
+      
+
+
+       
+        Add psql variables to report query activity and errors (Fabien Coelho)
+       
+
+       
+        Specifically, the new variables are ERROR, SQLSTATE, ROW_COUNT,
+        LAST_ERROR_MESSAGE, and LAST_ERROR_SQLSTATE.
+       
+      
+
+      
+
+
+       
+        Allow psql to test for the existence of a variable (Fabien Coelho)
+       
+
+       
+        Specifically , the syntax :{?variable_name} allows a variable's
+        existence to be tested in an \if statement.
+       
+      
+
+      
+
+
+       
+        Add PSQL_PAGER to control psql's pager (Pavel Stehule)
+       
+
+       
+        This allows psql's default pager to be specified as a separate environment
+        variable from the pager for other applications.  PAGER is still honored
+        if PSQL_PAGER is not set.
+       
+      
+
+      
+
+
+       
+        Have psql \d+ show a partition count of zero (Amit Langote)
+       
+
+       
+        Previously no partition information would be displayed for such tables. 
+        Also indicate which partitions are themselves partitioned.
+        ACCURATE?
+       
+      
+
+      
+
+
+       
+        Have psql report the proper user name before the password prompt (Tom
+        Lane)
+       
+
+       
+        Previously, combinations of -U and a user name embedded in a URI caused
+        incorrect reporting.  Also suppress the user name before the password
+        prompt when --password is specified.
+       
+      
+
+      
+
+
+       
+        Allow 'quit' and 'exit' to exit psql when used in an empty buffer (Bruce
+        Momjian)
+       
+
+       
+        Also add hints of how to exit when 'quit' and 'exit' are used alone on a
+        line in a non-empty buffer.  Add a similar hint for 'help'.
+       
+      
+
+      
+
+
+       
+        Have psql hint at using control-D when \q is entered alone on a line but
+        ignored (Bruce Momjian)
+       
+
+       
+        For example, \q does not exit when supplied in character strings.
+       
+      
+
+      
+
+
+       
+        Improve tab-completion for ALTER INDEX RESET/SET (Masahiko Sawada)
+       
+      
+
+      
+
+
+       
+        Add infrastructure to allow psql to customize tab completion queries
+        based on the server version (Tom Lane)
+       
+
+       
+        Previously tab completion queries could fail.
+       
+
+      
+
+     
+
+    
+
+    
+     <xref linkend="pgbench"/>
+
+     
+
+      
+
+
+       
+        Add major scripting features to pgbench (Fabien Coelho)
+       
+      
+
+      
+
+
+       
+        Add \if macro support to pgbench (Fabien Coelho)
+       
+      
+
+      
+
+
+       
+        Allow the use of non-ASCII characters in pgbench variable names (Fabien
+        Coelho)
+       
+      
+
+      
+
+
+       
+        Add pgbench option --init-steps to control the initialization steps
+        performed (Masahiko Sawada)
+       
+      
+
+      
+
+
+       
+        Add approximated Zipfian-distributed random generator to pgbench (Alik
+        Khilazhev)
+       
+      
+
+      
+
+
+       
+        Allow the random seed to be set in pgbench (Fabien Coelho)
+       
+      
+
+      
+
+
+       
+        Allow pgbench to do exponentiation with pow() and  power() (Raúl
+        Marín Rodríguez)
+       
+      
+
+      
+
+
+       
+        Add hashing functions to pgbench (Ildar Musin)
+       
+      
+
+      
+
+
+       
+        Make pgbench statistics more accurate when using --latency-limit and
+        --rate (Fabien Coelho)
+       
+
+      
+
+     
+
+    
+
+   
+
+   
+    Server Applications
+
+    
+
+      
+
+
+       
+        Add pg_basebackup option to create a named replication slot (Michael Banck)
+       
+
+       
+        The option --create-slot creates the named replication slot (--slot)
+        when the WAL streaming method (-wal-method=stream) is used.
+       
+
+       
+        IS IT CLEAR FROM THE DOCS THAT THE REPLICATION SLOT IS NOT TEMPORARY?
+       
+      
+
+      
+
+
+       
+        Allow initdb to set group read access to the data directory (David
+        Steele)
+       
+
+       
+        This is accomplished with the initdb --allow-group-access flag. 
+        Administrators can also set group permissions on the empty data
+        directory before running initdb.  Server variable data_directory_mode
+        allows reading of data directory group permissions.
+       
+      
+
+      
+
+
+       
+        Add pg_verify_checksums tool to verify database checksums while offline
+        (Magnus Hagander)
+       
+      
+
+      
+
+
+       
+        Allow pg_resetwal to change the WAL segment size via --wal-segsize (Nathan
+        Bossart)
+       
+      
+
+      
+
+
+       
+        Add long options to pg_resetwal and pg_controldata (Nathan Bossart,
+        Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Add pg_receivewal option --no-sync to prevent synchronous WAL writes
+        (Michael Paquier)
+       
+      
+
+      
+
+
+       
+        Add pg_receivewal option --endpos to specify when WAL receiving should
+        stop (Michael Paquier)
+       
+      
+
+      
+
+
+       
+        Allow pg_ctl to send the SIGKILL signal to processes (Andres Freund)
+       
+
+       
+        This was originally unsupported due to concerns over its misuse.
+       
+      
+
+      
+
+
+       
+        Reduce the number of files copied by pg_rewind (Michael Paquier)
+       
+      
+
+      
+
+
+       
+        Prevent pg_rewind from running as root (Magnus Hagander)
+       
+
+      
+
+     
+
+    
+     <link linkend="app-pgdump"><application>pg_dump</application></link>,</div> <div class="diff add">+     <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>,</div> <div class="diff add">+     <link linkend="app-pgrestore"><application>pg_restore</application></link>
+
+     
+
+      
+
+
+       
+        Add pg_dumpall option --encoding to control encoding (Michael Paquier)
+       
+
+       
+        pg_dump already had this option.
+       
+      
+
+      
+
+
+       
+        Add pg_dump option --load-via-partition-root to force loading of data
+        into the partition's root table, rather than the original partitions
+(Rushabh Lathia)
+       
+
+       
+        This is useful if the system to be loaded has a different collation
+        definitions or endianness, requiring the rows to be stored in different partitions.
+       
+      
+
+      
+
+
+       
+        Add ability to suppress dumping and restoring of comments (Robins Tharakan)
+       
+
+       
+        The new pg_dump, pg_dumpall, and pg_restore option is --no-comments.
+       
+
+      
+
+     
+
+    
+
+   
+
+   
+    Source Code
+
+    
+
+      
+
+
+       
+        Add support for with huge(large) pages on Windows (Takayuki Tsunakawa,
+        Thomas Munro)
+       
+      
+
+      
+
+
+       
+        Add support for ARMv8 hardware CRC calculations (Yuqi Gu, Heikki Linnakangas)
+       
+      
+
+      
+
+
+       
+        Add configure flag --with-llvm to test for LLVM support (Andres Freund)
+       
+      
+
+      
+
+
+       
+        Have configure check for the availability of a C++ compiler (Andres
+        Freund)
+       
+      
+
+      
+
+
+       
+        Convert documentation to DocBook XML (Peter Eisentraut, Alexander 
+        Lakhin, Jürgen Purtz)
+       
+
+       
+        The file names still use an 'sgml' extension for compatibility with back
+        branches.
+       
+      
+
+      
+
+
+       
+        Overhaul the way system tables are defined for bootstrap use (John
+        Naylor)
+       
+      
+
+      
+
+
+       
+        Allow background workers to attach to databases that normally disallow
+        connections (Magnus Hagander)
+       
+      
+
+      
+
+
+       
+        Speed up lookups of builtin function names matching oids (Andres Freund)
+       
+
+       
+        The previous binary search now uses a lookup array.
+       
+      
+
+      
+
+
+       
+        Speed up construction of query results (Andres Freund)
+       
+      
+
+      
+
+
+       
+        Improve access speed to system caches (Andres Freund)
+       
+      
+
+      
+
+
+       
+        Add a generational memory allocator which is optimized for serial
+        allocation/deallocation (Tomas Vondra)
+       
+
+       
+        This reduces memory usage for logical decoding.
+       
+      
+
+      
+
+
+       
+        Make the computation of system column pg_class.reltuples consistent
+(Tomas Vondra)
+       
+      
+
+      
+
+
+       
+        Update to use perltidy version 20170521 (Tom Lane)
+       
+      
+
+      
+
+
+       
+        Remove the ability to perform replacement sorts (Peter Geoghegan)
+       
+
+       
+        Replacement sorts were determined to be no longer useful.  Also remove
+        server variable replacement sorts.
+       
+
+      
+
+    
+
+   
+
+   
+    Additional Modules
+
+    
+
+      
+
+
+       
+        Allow extension pg_prewarm to restore the previous shared buffer
+        contents on startup (Mithun Cy, Robert Haas)
+       
+
+       
+        This is accomplished by having pg_prewarm store the shared buffer
+        relation/offset values to disk occasionally during server operation and
+        shutdown.
+       
+      
+
+      
+
+
+       
+        Add pgtrgm function strict_word_similarity() to compute the similarity
+        of whole words (Alexander Korotkov)
+       
+
+       
+        The function word_similarity() already existed for this purpose, but it
+        was designed to find similar parts of words, while
+        strict_word_similarity() computes the similarity to whole words.
+       
+      
+
+      
+
+
+       
+        Allow creation of indexes on citext-extension columns that can be used
+        by LIKE comparisons (Alexey Chernyshov)
+       
+
+       
+        Specifically, indexes must be created using the citext_pattern_ops
+        operator class.
+       
+      
+
+      
+
+
+       
+        Allow btree_gin to index bool, bpchar, name and uuid data types (Matheus
+        Oliveira)
+       
+      
+
+      
+
+
+       
+        Allow cube and seg extensions using GiST indexes to perform index-only
+        scans (Andrey Borodin)
+       
+      
+
+      
+
+
+       
+        Allow retrieval of negative cube coordinates using the ~> operator
+        (Alexander Korotkov)
+       
+
+       
+        This is useful for knn-gist searches.  HOW?
+       
+      
+
+      
+
+
+       
+        Add Vietnamese letter detection to the unaccent extension (Dang Minh Huong, Michael Paquier)
+       
+      
+
+      
+
+
+       
+        Enhance contrib/amcheck to check that each heap tuple has an index entry
+(Peter Geoghegan)
+       
+      
+
+      
+
+
+       
+        Have contrib/adminpack use the new default file system access roles
+        (Stephen Frost)
+       
+
+       
+        Previously only super-users could call adminpack functions;  now role
+        permissions are checked.
+       
+      
+
+      
+
+
+       
+        Increase  pg_stat_statement's query id to 64 bits (Robert Haas)
+       
+
+       
+        This greatly reduces the chance of query id hash collisions.  The query
+        id can now potentially display as a negative value.
+       
+      
+
+      
+
+
+       
+        Install errcodes.txt to provide access to the error codes reported by
+        Postgres (Thomas Munro)
+       
+      
+
+      
+
+
+       
+        Prevent extensions from creating custom server variables that take a
+        quoted list of values (Tom Lane)
+       
+
+       
+        This was never intended to be supported.
+       
+      
+
+      
+
+
+       
+        Remove contrib/start-scripts/osx since they are no longer recommended
+        (Tom Lane)
+       
+      
+
+      
+
+
+       
+        Remove extension chkpass (Peter Eisentraut)
+       
+
+       
+        This extension no longer served as a usable security tool or example of
+        how to write an extension.
+       
+
+      
+
+    
+
+   
+
+  
+
+  
+   Acknowledgments
+
+   
+    The following individuals (in alphabetical order) have contributed to this
+    release as patch authors, committers, reviewers, testers, or reporters of
+    issues.
+   
+
+   
+    XXX
+   
+  
+
index 646d252b0c3b3a2b264bc1dde0446da7b2637c50..11a7f171c60b09ed8dfd43c658988048861c6f3f 100644 (file)
@@ -76,6 +76,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-11;
 &release-10;
 &release-9.6;
 &release-9.5;