Make an editing pass over v11 release notes.
authorTom Lane
Sat, 13 Oct 2018 20:31:09 +0000 (16:31 -0400)
committerTom Lane
Sat, 13 Oct 2018 20:31:09 +0000 (16:31 -0400)
Set the release date.  Do a bunch of copy-editing and markup improvement,
rearrange some stuff into what seemed a more sensible order, move some
things that did not seem to be in the right section.

doc/src/sgml/release-11.sgml

index ca42f28cc9f71b69fe27fdde490fb851adbd569c..0d6b921f5b064410bad226d9c5808cfe75f0da9f 100644 (file)
@@ -6,7 +6,7 @@
 
   
    Release date:
-   2018-10-?? (CURRENT AS OF 2018-09-20)
+   2018-10-18
   
 
   
        
        
         
-         UPDATE statements that change a partition key
-         now move affected rows to the appropriate partitions
+         Support for PRIMARY KEYFOREIGN
+         KEY, indexes, and triggers on partitioned tables
         
        
        
         
-         Improved SELECT performance from enhanced partition
-         elimination strategies during query processing and execution
+         Allow creation of a default partition for storing
+         data that does not match any of the remaining partitions
         
        
        
         
-         Support for PRIMARY KEYFOREIGN
-         KEY, indexes, and triggers on partitioned tables
+         UPDATE statements that change a partition key
+         column now move affected rows to the appropriate partitions
         
        
        
         
-         Having a "default" partition for storing data that does not match any
-         of the remaining partitions
+         Improved SELECT performance due to enhanced
+         partition elimination strategies during query processing
         
        
       
       
        
         
-         B-tree indexes can now be built in parallel with
-         CREATE INDEX
+         CREATE INDEX can now use parallel processing
+         while building B-tree indexes
         
        
        
         
-         Parallelized CREATE TABLE .. AS,
+         Parallelization is now possible in CREATE TABLE
+         ... AS,
          CREATE MATERIALIZED VIEW, and certain
          queries using UNION
         
        
        
         
-         Performance improvements for parallelized hash joins and parallelized
-         sequential scans
+         Parallelized hash joins and parallelized sequential scans now
+         perform better
         
        
       
 
     
      
-      SQL stored procedures that support embedded transactions. Stored
-      procedures can be created with 
-      CREATE PROCEDURE and executed with
-      CALL
+      SQL stored procedures that support embedded transactions
      
     
 
     
      
-      Optional Just-in-Time (JIT) compilation of some SQL code, including
-      support for fast evaluation of expressions
+      Optional Just-in-Time (JIT) compilation for some SQL code, speeding
+      evaluation of expressions
      
     
 
 
     
      
-      Covering indexes, which can be utilized using the
+      Covering indexes can now be created, using the
       INCLUDE clause of CREATE INDEX
      
     
     
      
       Many other useful performance improvements, including making
-      ALTER TABLE .. ADD COLUMN with a
+      ALTER TABLE ... ADD COLUMN with a
       non-null column default faster
      
     
 -->
 
        
-        Hav
+        Mak
         linkend="app-pgdump">pg_dump
-        dump all aspects of a database (Haribabu Kommi)
+        dump the properties of a database, not just its contents
+        (Haribabu Kommi)
        
 
        
-        Previously database attributes like
+        Previously, attributes of the database itself, such as database-level
         GRANT/REVOKE permissions and
-        ALTER DATABASE SET and ALTER ROLE IN
-        DATABASE SET variable settings were only dumped by 
-        linkend="app-pg-dumpall">pg_dumpall.
+        ALTER 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
+        pg_restore --create will restore these database
+        properties in addition to the objects within the
+        database.  pg_dumpall -g now only dumps role-
+        and tablespace-related attributes.
+        pg_dumpall's complete output (without
         ) is unchanged.
        
 
        
         pg_dump and
         pg_restore, without
-        , 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.
+        , no longer dump/restore database-level
+        comments and security labels; those are now treated as properties of
+        the database.
        
 
        
-        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
+        pg_dumpall's output script will now always
+        create databases with their original locale and encoding, and hence
+        will fail if the locale or encoding name is unknown to the
+        destination system.  Previously CREATE DATABASE
+        would be emitted without these specifications if the database locale
         and encoding matched the old cluster's defaults.
        
-      
-
-      
-
-
-       
-        Correct information schema column 
-        linkend="infoschema-tables">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 for background workers to match the 
-        linkend="pg-stat-activity-view">pg_stat_activity.backend_type
-        labels (Peter Eisentraut)
+        pg_dumpall --clean now restores the original
+        locale and encoding settings of the postgres
+        and template1 databases, as well as those of
+        user-created databases.
        
       
 
 
       
 
+       
+        Fully enforce uniqueness of table and domain constraint names
+        (Tom Lane)
+       
+
+       
+        PostgreSQL expects the names of a table's
+        constraints to be distinct, and likewise for the names of a domain's
+        constraints.  However, there was not rigid enforcement of this, and
+        previously there were corner cases where duplicate names could be
+        created.
+       
+      
+
+      
+
 
        
-        In the Extended Query
-        Protocol, have statement_timeout
-        apply to each Execute message, not to all commands before Sync
-        (Tatsuo Ishii, Andres Freund)
+        In the extended query
+        protocol,
+        make statement_timeout
+        apply to each Execute message separately, not to all commands before
+        Sync (Tatsuo Ishii, Andres Freund)
        
       
 
 -->
 
        
-        Remove relhaspkey column from system
-        table pg_class (Peter Eisentraut)
+        Remove the relhaspkey column from system
+        catalog pg_class (Peter Eisentraut)
        
 
        
 -->
 
        
-        Replace system table pg_proc's
+        Replace system catalog pg_proc's
         proisagg and
-        proiswindow with
+        proiswindow columns with
         prokind (Peter Eisentraut)
        
 
        
-        This new column more clearly identifies functions, procedures,
+        This new column more clearly distinguishes functions, procedures,
         aggregates, and window functions.
        
       
 
       
 
+
+       
+        Correct information schema column 
+        linkend="infoschema-tables">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 for background workers to match the 
+        linkend="pg-stat-activity-view">pg_stat_activity.backend_type
+        labels (Peter Eisentraut)
+       
+      
+
+      
+
 
        
         Cause large object permission checks
-        to happen on large object open, 
+        to happen during large object open, 
         linkend="lo-open">lo_open(), not
-        read/write (Tom Lane, Michael Paquier)
+        when a read or write is attempted (Tom Lane, Michael Paquier)
+       
+
+       
+        If write access is requested and not available, an error will now be
+        thrown even if the large object is never written to.
+       
+      
+
+      
+
+       
+        Prevent non-superusers from reindexing shared catalogs
+        (Michael Paquier, Robert Haas)
+       
+
+       
+        Previously, database owners were also allowed to do this, but
+        now it is considered outside the bounds of their privileges.
        
       
 
 -->
 
        
-        Remove deprecated contrib/adminpack functions
+        Remove deprecated 
+        linkend="adminpack">adminpack functions
         pg_file_read(),
         pg_file_length(), and
         pg_logfile_rotate() (Stephen Frost)
        
 
        
-        These functions are now present by default.  Old 
-        linkend="adminpack">adminpack
-        installs will continue to have access to these functions until
-        they are updated via ALTER EXTENSION ... UPDATE.
+        Equivalent functionality is now present in the core backend.
+        Existing adminpack installs will continue to have
+        access to these functions until they are updated via ALTER
+        EXTENSION ... UPDATE.
        
       
 
        
 
        
-        Previously index options names like ("FillFactor" = 50) were
-        automatically lower-cased.  This quoted capitalization will now
+        Previously, option names in certain SQL commands were forcibly
+        lower-cased even if entered with double quotes; thus for example
+        "FillFactor" would be accepted as an index storage
+        option, though properly its name is lower-case.  Such cases will now
         generate an error.
        
       
 -->
 
        
-        Remove server variable replacement_sort_tuples
+        Remove server parameter replacement_sort_tuples
         (Peter Geoghegan)
        
 
 
       
 
 
        
-        Allow faster partition elimination during query processing (Amit
-        Langote, David Rowley, Dilip Kumar)
+        Allow the creation of partitions based on hashing a key column
+        (Amul Sul)
        
+      
+
+      
+
 
        
-        This speeds access to partitioned tables with many partitions.
+        Allow UNIQUE indexes on partitioned tables if
+        the partition key is part of the index (Álvaro Herrera,
+        Amit Langote)
        
       
 
       
 
 
        
-        Allow partition elimination during query execution (David Rowley,
-        Beena Emerson)
+        Allow indexes on a partitioned table to be automatically created
+        in new child partitions (Álvaro Herrera)
        
 
        
-        Previously partition elimination could only happen at planning
-        time, meaning many joins and prepared queries could not use
-        partition elimination.
+        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.
        
       
 
       
 
 
        
-        Allow the creation of partitions based on hashing a key (Amul Sul)
+        Allow foreign keys on partitioned tables (Álvaro Herrera)
        
       
 
       
 
 
        
-        Allow updated rows to automatically move to new partitions based
-        on the new row contents (Amit Khandekar)
+        Allow FOR EACH ROW triggers on partitioned
+        tables (Álvaro Herrera)
+       
+
+       
+        Creation of a trigger on a partitioned table automatically creates
+        triggers on all existing partitions, and on newly-created ones.
+        This also allows deferred unique constraints on partitioned tables.
        
       
 
        
 
        
-        The default partition can store rows that don't match any of the
+        The default partition will 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 updated rows to automatically move to new partitions based
+        on the new row contents (Amit Khandekar)
        
       
 
       
 
 
        
-        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.
+        Allow INSERTUPDATE, and
+        COPY on partitioned tables to properly route
+        rows to foreign partitions (Etsuro Fujita, Amit Langote)
        
-      
-
-      
-
 
        
-        Allow foreign keys on partitioned tables (Álvaro Herrera)
+        This is supported by postgres_fdw
+        foreign tables.
        
       
 
       
 
 
        
-        Allow INSERTUPDATE, and
-        COPY on partitioned tables to properly route
-        rows to foreign partitions (Etsuro Fujita, Amit Langote)
+        Allow faster partition elimination during query processing (Amit
+        Langote, David Rowley, Dilip Kumar)
        
 
        
-        This is supported by postgres_fdw
-        foreign tables.
+        This speeds access to partitioned tables with many partitions.
        
       
 
       
 
 
        
-        Allow FOR EACH ROW triggers on partitioned
-        tables (Álvaro Herrera)
+        Allow partition elimination during query execution (David Rowley,
+        Beena Emerson)
        
 
        
-        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.
+        Previously partition elimination only happened at planning
+        time, meaning many joins and prepared queries could not use
+        partition elimination.
        
       
 
 
        
         Allow 
-        linkend="postgres-fdw"><application>postgres_fdw>
+        linkend="postgres-fdw"><filename>postgres_fdw>
         to push down aggregates to foreign tables that are partitions
         (Jeevan Chalke)
        
@@ -804,9 +851,9 @@ same commits as above
 -->
 
        
-        Add server option 
+        Add server parameter 
         linkend="guc-parallel-leader-participation">parallel_leader_participation
-        to control if the leader executes subplans (Thomas Munro)
+        to control whether the leader also executes subplans (Thomas Munro)
        
 
        
@@ -821,7 +868,7 @@ same commits as above
 
        
         Allow parallelization of commands CREATE TABLE
-        .. AS, SELECT INTO, and
+        ... AS, SELECT INTO, and
         CREATE MATERIALIZED VIEW (Haribabu Kommi)
        
       
@@ -844,7 +891,7 @@ same commits as above
 -->
 
        
-        Add reporting of parallel worker sort activity to
+        Add reporting of parallel workers' sort activity in
         EXPLAIN (Robert Haas, Tom Lane)
        
 
@@ -865,16 +912,18 @@ same commits as above
 -->
 
        
-        Allow indexes to 
-        linkend="sql-createindex">INCLUDE columns
-        that are not part of the unique constraint but are available
-        for index-only scans (Anastasia Lubennikova, Alexander Korotkov,
-        Teodor Sigaev)
+        Allow B-tree indexes to include columns that are not part of the
+        search key or unique constraint, but are available to be read by
+        index-only scans (Anastasia Lubennikova, Alexander Korotkov, Teodor
+        Sigaev)
        
 
        
-        This is also useful for including columns that don't have btree
-        support.
+        This is enabled by the new INCLUDE clause of 
+        linkend="sql-createindex">CREATE INDEX.
+        It facilitates building covering indexes that optimize
+        specific types of queries.  Columns can be included even if their
+        data types don't have B-tree support.
        
       
 
@@ -885,9 +934,8 @@ same commits as above
 -->
 
        
-        Remember the highest btree index page to optimize future
-        monotonically increasing index additions (Pavan Deolasee, Peter
-        Geoghegan)
+        Improve performance of monotonically increasing index additions
+        (Pavan Deolasee, Peter Geoghegan)
        
       
 
@@ -897,12 +945,7 @@ same commits as above
 -->
 
        
-        Allow entire hash index pages to be scanned (Ashutosh Sharma)
-       
-
-       
-        Previously for each hash index entry, we need to refind the scan
-        position within the page.  This cuts down on lock/unlock traffic.
+        Improve performance of hash index scans (Ashutosh Sharma)
        
       
 
@@ -919,7 +962,8 @@ same commits as above
        
 
        
-        This reduces the likelihood of serialization conflicts.
+        This reduces the likelihood of serialization conflicts in
+        serializable-mode transactions.
        
       
 
@@ -949,13 +993,14 @@ same commits as above
 -->
 
        
-        Add TEXT prefix operator ^@ which is supported by
-        SP-GiST (Ildus Kurbangaliev)
+        Add prefix-match
+        operator text ^@ text,
+        which is supported by SP-GiST (Ildus Kurbangaliev)
        
 
        
-        This is similar to using <literal>LIKE 'word%' with
-        btree indexes, but is more efficient.
+        This is similar to using <replaceable>var LIKE
+        'word%' with a btree index, but it is more efficient.
        
       
 
@@ -999,17 +1044,17 @@ same commits as above
 -->
 
        
-        Improve the selection of the optimizer statistics'
-        most-common-values (Jeff Janes, Dean Rasheed)
+        Improve selection of the most common values for statistics
+        (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.
+        Previously the most common values (MCVs) were
+        identified based on their frequency compared to all column
+        values.  Now, MCVs are chosen based on their
+        frequency compared to the non-MCV values.
+        This improves the robustness of the algorithm for both uniform and
+        non-uniform distributions.
        
       
 
@@ -1019,14 +1064,16 @@ same commits as above
 -->
 
        
-        Improve selectivity estimates for >= and <= when the
-        constants are not common values (Tom Lane)
+        Improve selectivity estimates for >=
+        and <= (Tom Lane)
        
 
        
-        Previously such cases used the same selectivity as > and
-        <, respectively.  This change is particularly useful for
-        BETWEEN with small ranges.
+        Previously such cases used the same selectivity estimates
+        as > and <, respectively,
+        unless the comparison constants are MCVs.
+        This change is particularly helpful for queries
+        involving BETWEEN with small ranges.
        
       
 
@@ -1036,8 +1083,10 @@ same commits as above
 -->
 
        
-        Optimize var = var to var IS NOT NULL where
-        equivalent (Tom Lane)
+        Reduce var =
+        var
+        to var IS NOT NULL
+        where equivalent (Tom Lane)
        
 
        
@@ -1051,7 +1100,7 @@ same commits as above
 -->
 
        
-        Improve row count optimizer estimates for EXISTS
+        Improve optimizer's row count estimates for EXISTS
         and NOT EXISTS queries (Tom Lane)
        
       
@@ -1062,8 +1111,8 @@ same commits as above
 -->
 
        
-        Add optimizer selectivity costs for HAVING
-        clauses (Tom Lane)
+        Make the optimizer account for evaluation costs and selectivity
+        of HAVING clauses (Tom Lane)
        
 
       
@@ -1085,6 +1134,7 @@ same commits as above
 2018-03-26 [32af96b2b] JIT tuple deforming in LLVM JIT provider.
 2018-03-27 [f4f5845b3] Quick adaption of JIT tuple deforming to the fast defaul
 2018-03-28 [9370462e9] Add inlining support to LLVM JIT provider.
+2018-09-15 [0fdadfb01] In v11, disable JIT by default (it's still enabled by de
 -->
 
        
@@ -1095,7 +1145,7 @@ same commits as above
 
        
         This feature requires LLVM to be
-        available, and it is not currently enabled by default, even in
+        available.  It is not currently enabled by default, even in
         builds that support it.
        
       
@@ -1118,7 +1168,8 @@ same commits as above
 -->
 
        
-        Update the free space map during vacuum (Claudio Freire)
+        Update the free space map during VACUUM
+        (Claudio Freire)
        
 
        
@@ -1132,8 +1183,8 @@ same commits as above
 -->
 
        
-        Allow vacuum to avoid unnecessary index scans (Masahiko Sawada,
-        Alexander Korotkov)
+        Allow VACUUM to avoid unnecessary index scans
+        (Masahiko Sawada, Alexander Korotkov)
        
       
 
@@ -1161,12 +1212,22 @@ same commits as above
 
       
 
+
+       
+        Improve the speed of aggregate computations (Andres Freund)
+       
+      
+
+      
+
 
        
         Allow 
-        linkend="postgres-fdw"><application>postgres_fdw>
+        linkend="postgres-fdw"><filename>postgres_fdw>
         to push UPDATEs and DELETEs
         using joins to foreign servers (Etsuro Fujita)
        
@@ -1178,6 +1239,23 @@ same commits as above
 
       
 
+      
+
+
+       
+        Add support for large pages on Windows
+        (Takayuki Tsunakawa, Thomas Munro)
+       
+
+       
+        This is controlled by the 
+        linkend="guc-huge-pages">huge_pages configuration
+        parameter.
+       
+      
+
      
 
     
@@ -1193,10 +1271,10 @@ same commits as above
 -->
 
        
-        Show memory usage in 
+        Show memory usage in output from 
         linkend="runtime-config-statistics-monitor">log_statement_stats,
         log_parser_stats,
-        log_planner_stats,
+        log_planner_stats, and
         log_executor_stats (Justin Pryzby, Peter
         Eisentraut)
        
@@ -1208,20 +1286,13 @@ same commits as above
 -->
 
        
-        Add 
+        Add column 
         linkend="pg-stat-activity-view">pg_stat_activity.backend_type
-        now shows the type of background worker (Peter Eisentraut)
+        to show the type of a 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.
+        The type is also visible in ps output.
        
       
 
@@ -1231,7 +1302,7 @@ same commits as above
 -->
 
        
-        Hav
+        Mak
         linkend="guc-log-autovacuum-min-duration">log_autovacuum_min_duration
         log skipped tables that are concurrently being dropped (Nathan
         Bossart)
@@ -1252,17 +1323,19 @@ same commits as above
 -->
 
        
-        Add information_schema columns related to table constraints and
-        triggers (Peter Eisentraut)
+        Add information_schema columns related to table
+        constraints and triggers (Peter Eisentraut)
        
 
        
         Specifically,
-        table_constraints.enforced,
         triggers.action_order,
         triggers.action_reference_old_table,
         and
-        triggers.action_reference_new_table.
+        triggers.action_reference_new_table
+        are now populated, where before they were always null.  Also,
+        table_constraints.enforced
+        now exists but is not yet usefully populated.
        
 
       
@@ -1301,16 +1374,17 @@ same commits as above
 -->
 
        
-        Allow LDAP authentication to use ldaps
-        (Thomas Munro)
+        Allow LDAP authentication to use
+        encrypted LDAP (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://.
+        TLS by using ldaptls=1.
+        This new TLS LDAP method for
+        encrypted LDAP is enabled
+        with ldapscheme=ldaps
+        or ldapurl=ldaps://.
        
       
 
@@ -1320,7 +1394,7 @@ same commits as above
 -->
 
        
-        Improve LDAP logging of errors (Thomas Munro)
+        Improve logging of LDAP errors (Thomas Munro)
        
 
       
@@ -1341,16 +1415,17 @@ same commits as above
 -->
 
        
-        Add default roles which control file system access (Stephen Frost)
+        Add default roles that
+        enable file system access (Stephen Frost)
        
 
        
-        Specifically, the new roles are: 
-        linkend="default-roles-table">pg_read_server_files>,
-        pg_write_server_files,
+        Specifically, the new roles are:
+        pg_read_server_files>,
+        pg_write_server_files, and
         pg_execute_server_program.  These roles now also
-        control who can use COPY and extension 
-        linkend="file-fdw"><application>file_fdw.
+        control who can use server-side COPY and the 
+        linkend="file-fdw"><filename>file_fdw extension.
         Previously only superusers could use these functions, and that
         is still the default behavior.
        
@@ -1390,12 +1465,11 @@ same commits as above
        
 
        
-        Previously, superusers were exclusively granted access to these
-        functions.
+        Previously, only superusers were granted access to these functions.
        
 
        
-        Compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS
+        The compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS
         has been removed.
        
       
@@ -1408,13 +1482,13 @@ same commits as above
        
         Use view owner not session owner when
         preventing non-password access to 
-        linkend="postgres-fdw"><application>postgres_fdw>
+        linkend="postgres-fdw"><filename>postgres_fdw>
         tables (Robert Haas)
        
 
        
         PostgreSQL only allows superusers to
-        access <application>postgres_fdw> tables without
+        access <filename>postgres_fdw> tables without
         passwords, e.g. via peer.  Previously the
         session owner had to be a superuser to allow such access;  now
         the view owner is checked instead.
@@ -1471,8 +1545,8 @@ same commits as above
        
         Add storage parameter 
         linkend="sql-createtable-storage-parameters">toast_tuple_target
-        to control the minimum length before TOAST
-        storage will be considered for new rows (Simon Riggs)
+        to control the minimum tuple length before TOAST
+        storage will be considered (Simon Riggs)
        
 
        
@@ -1489,12 +1563,13 @@ same commits as above
 
        
         Allow server options related to memory and file sizes to be
-        specified as number of bytes (Beena Emerson)
+        specified as number of bytes (Beena Emerson)
        
 
        
-        The new unit is "B".  This is in addition to "kB", "MB", "GB"
-        and "TB".
+        The new unit is B.  This is in addition to the
+        existing units kBMBGB
+        and TB.
        
 
       
@@ -1514,8 +1589,8 @@ same commits as above
 -->
 
        
-        Allow the WAL file size to be set via initdb
-        (Beena Emerson)
+        Allow the WAL file size to be set
+        during initdb (Beena Emerson)
        
 
        
@@ -1534,8 +1609,8 @@ same commits as above
        
 
        
-        The retention of WAL records for only one
-        checkpoint is required.
+        Retention of WAL records is only required for one
+        checkpoint.
        
       
 
@@ -1610,7 +1685,7 @@ same commits as above
 -->
 
        
-        Allow heap pages checksums to be checked during streaming base
+        Allow heap pages' checksums to be checked during streaming base
         backup (Michael Banck)
        
       
@@ -1626,7 +1701,7 @@ same commits as above
        
 
        
-        This allows efficient advancement replication slots when the
+        This allows efficient advancement of replication slots when the
         contents do not need to be consumed.  This is performed by
         pg_replication_slot_advance().
        
@@ -1665,36 +1740,6 @@ same commits as above
 
    
 
-   
-    <link linkend="sql-window">Window Functions</link>
-
-    
-
-      
-
-
-       
-        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
 
@@ -1707,9 +1752,13 @@ same commits as above
 
        
         Allow ALTER TABLE to add a column with
-        a non-null default without a table rewrite (Andrew Dunstan,
+        a non-null default without doing a table rewrite (Andrew Dunstan,
         Serge Rielau)
        
+
+       
+        This is enabled when the default value is a constant.
+       
       
 
       
@@ -1735,8 +1784,8 @@ same commits as above
        
 
        
-        In psql\d+ now shows the statistics
-        target for indexes.
+        In psql\d+ now shows
+        the statistics target for indexes.
        
       
 
@@ -1783,12 +1832,12 @@ same commits as above
 
        
         Add CREATE AGGREGATE option to specify the
-        behavior of the aggregate finalization function (Tom Lane)
+        behavior of the aggregate's finalization function (Tom Lane)
        
 
        
-        This is useful for allowing aggregate functions to be optimized and
-        to work as window functions.
+        This is helpful for allowing user-defined aggregate functions to be
+        optimized and to work as window functions.
        
 
       
@@ -1842,8 +1891,8 @@ same commits as above
 -->
 
        
-        Add casts from jsonb scalars to numeric and boolean data types
-        (Anastasia Lubennikova)
+        Add casts from JSONB scalars to numeric and boolean data
+        types (Anastasia Lubennikova)
        
 
       
@@ -1859,6 +1908,28 @@ same commits as above
 
       
 
+
+       
+        Add all window function framing
+        options specified by SQL:2011 (Oliver Ford, Tom Lane)
+       
+
+       
+        Specifically, allow RANGE mode to use
+        PRECEDING and FOLLOWING to
+        select rows having grouping values within 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.
+       
+
+      
+
+      
+
 
@@ -1907,16 +1978,6 @@ same commits as above
 
       
 
-
-       
-        Improve the speed of aggregate computations (Andres Freund)
-       
-      
-
-      
-
 
@@ -1934,10 +1995,10 @@ same commits as above
 -->
 
        
-        Add function 
+        Add functions 
         linkend="textsearch-functions-table">json(b)_to_tsvector()
         to create a text search query for matching
-        JSON/JSONB values (Dmitry Dolgov)
+        JSON/JSONB values (Dmitry Dolgov)
        
 
       
@@ -1957,6 +2018,8 @@ same commits as above
 2018-02-22 [76b6aa41f] Support parameters in CALL
 2018-03-14 [33803f67f] Support INOUT arguments in procedures
 2018-04-14 [a8677e3ff] Support named and default arguments in CALL
+2018-08-22 [e0dc839e7] Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax
+2018-08-22 [fd4417e8a] Change PROCEDURE to FUNCTION in CREATE OPERATOR syntax
 -->
 
        
@@ -1968,9 +2031,21 @@ same commits as above
         They are created with the new 
         linkend="sql-createprocedure">CREATE
         PROCEDURE command and invoked via 
-        linkend="sql-call">CALL.  The new
-        ALTER/DROP ROUTINE commands
-        allows altering/dropping of procedures, functions, and aggregates.
+        linkend="sql-call">CALL.
+       
+
+       
+        The new ALTER/DROP ROUTINE
+        commands allow altering/dropping of all routine-like objects,
+        including procedures, functions, and aggregates.
+       
+
+       
+        Also, writing FUNCTION is now preferred
+        over writing PROCEDURE in CREATE
+        OPERATOR and CREATE TRIGGER, because the
+        referenced object must be a function not a procedure.  However, the
+        old syntax is still accepted for compatibility.
        
       
 
@@ -1988,9 +2063,9 @@ same commits as above
        
 
        
-        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
+        Transaction control is only available within top-transaction-level
+        procedures and nested DO and
+        CALL blocks that only contain other
         DO and CALL blocks.
        
       
@@ -2001,8 +2076,8 @@ same commits as above
 -->
 
        
-        Add the ability to define PL/pgSQL record types as not null,
-        constant, or with initial values (Tom Lane)
+        Add the ability to define PL/pgSQL composite-type variables as not
+        null, constant, or with initial values (Tom Lane)
        
       
 
@@ -2029,8 +2104,8 @@ same commits as above
 -->
 
        
-        Add extension <application>jsonb_plpython> to
-        transform JSONB to/from PL/Python types (Anthony
+        Add extension <filename>jsonb_plpython> to
+        transform JSONB to/from PL/Python types (Anthony
         Bykov)
        
       
@@ -2041,8 +2116,8 @@ same commits as above
 -->
 
        
-        Add extension <application>jsonb_plperl> to transform
-        JSONB to/from PL/Perl types (Anthony Bykov)
+        Add extension <filename>jsonb_plperl> to transform
+        JSONB to/from PL/Perl types (Anthony Bykov)
        
 
       
@@ -2066,8 +2141,8 @@ same commits as above
        
 
        
-        Compression is already disabled in modern OpenSSL versions and
-        the libpq setting had no effect in that case.
+        Compression is already disabled in modern OpenSSL versions, so that
+        the libpq setting had no effect with such libraries.
        
       
 
@@ -2077,13 +2152,15 @@ same commits as above
 -->
 
        
-        Add DO CONTINUE action to the ECPG
-        WHENEVER statement (Vinayak Pokale)
+        Add DO CONTINUE option
+        to ecpg's 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.
+        This generates a C continue statement, causing a
+        return to the top of the contained loop when the specified condition
+        occurs.
        
       
 
@@ -2093,7 +2170,8 @@ same commits as above
 -->
 
        
-        Add ecpg mode to enable Oracle Pro*C handling of char arrays.
+        Add an ecpg mode to enable Oracle
+        Pro*C-style handling of char arrays.
        
 
        
@@ -2120,8 +2198,9 @@ same commits as above
 -->
 
        
-        Add psql command \gdesc to display
-        the column names and types of the query output (Pavel Stehule)
+        Add psql command \gdesc
+        to display the column names and types of the query output (Pavel
+        Stehule)
        
       
 
@@ -2154,8 +2233,9 @@ same commits as above
        
 
        
-        Specifically , the syntax :{?variable_name}
-        allows a variable's existence to be tested in an \if statement.
+        Specifically, the syntax :{?variable_name} allows
+        a variable's existence to be tested in an \if
+        statement.
        
       
 
@@ -2165,7 +2245,7 @@ same commits as above
 -->
 
        
-        Add PSQL_PAGER to control
+        Allow environment variable PSQL_PAGER to control
         psql's pager (Pavel Stehule)
        
 
@@ -2183,8 +2263,8 @@ same commits as above
 -->
 
        
-        Have psql \d+ always show the partition information (Amit Langote,
-        Ashutosh Bapat)
+        Make psql's \d+ command always show the table's
+        partitioning information (Amit Langote, Ashutosh Bapat)
        
 
        
@@ -2200,8 +2280,8 @@ same commits as above
 -->
 
        
-        Have psql report the proper user name
-        before the password prompt (Tom Lane)
+        Ensure that psql reports the proper user
+        name when prompting for a password (Tom Lane)
        
 
        
@@ -2219,14 +2299,14 @@ same commits as above
 
        
         Allow quit and exit to
-        exit psql when used in an empty buffer
+        exit psql when given with no prior input
         (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.
+        Also print hints about how to exit when quit and
+        exit are used alone on a line while the input
+        buffer is not empty.  Add a similar hint for help.
        
       
 
@@ -2236,7 +2316,7 @@ same commits as above
 -->
 
        
-        Havpsql hint at using control-D
+        Makpsql hint at using control-D
         when \q is entered alone on a line but ignored
         (Bruce Momjian)
        
@@ -2253,7 +2333,7 @@ same commits as above
 -->
 
        
-        Improve tab-completion for ALTER INDEX
+        Improve tab completion for ALTER INDEX
         RESET/SET (Masahiko Sawada)
        
       
@@ -2265,12 +2345,12 @@ same commits as above
 
        
         Add infrastructure to allow psql
-        to customize tab completion queries based on the server version
+        to adapt its tab completion queries based on the server version
         (Tom Lane)
        
 
        
-        Previously tab completion queries could fail.
+        Previously tab completion queries could fail against older servers.
        
 
       
@@ -2290,7 +2370,7 @@ same commits as above
 -->
 
        
-        Add pgbench expressions support for
+        Add pgbench expression support for
         NULLs, booleans, and some functions and operators (Fabien Coelho)
        
       
@@ -2335,7 +2415,7 @@ same commits as above
 -->
 
        
-        Add an approximated Zipfian-distributed random generator to
+        Add an approximately Zipfian-distributed random generator to
         pgbench (Alik Khilazhev)
        
       
@@ -2430,8 +2510,8 @@ same commits as above
        
 
        
-        This is accomplished with the initdb
-         flag.  Administrators
+        This is accomplished with the new initdb option
+        .  Administrators
         can also set group permissions on the empty data
         directory before running initdb.  Server variable 
         linkend="guc-data-directory">data_directory_mode
@@ -2515,7 +2595,7 @@ same commits as above
        
 
        
-        This was originally unsupported due to concerns over its misuse.
+        This was previously unsupported due to concerns over possible misuse.
        
       
 
@@ -2559,7 +2639,8 @@ same commits as above
 
        
         Add pg_dumpall option
-         to control encoding (Michael Paquier)
+         to control output encoding
+        (Michael Paquier)
        
 
        
@@ -2576,14 +2657,13 @@ same commits as above
         Add pg_dump option
          to force loading of
         data into the partition's root table, rather than the original
-        partitions
-(Rushabh Lathia)
+        partition (Rushabh Lathia)
        
 
        
-        This is useful if the system to be loaded has different collation
-        definitions or endianness, requiring the rows to be stored in
-        different partitions.
+        This is useful if the system to be loaded to has different collation
+        definitions or endianness, possibly requiring rows to be stored in
+        different partitions than previously.
        
       
 
@@ -2593,8 +2673,8 @@ same commits as above
 -->
 
        
-        Add an option to suppress dumping and restoring comments
-        (Robins Tharakan)
+        Add an option to suppress dumping and restoring database object
+        comments (Robins Tharakan)
        
 
        
@@ -2619,30 +2699,36 @@ same commits as above
 
       
 
-
        
-        Add support for large pages on Windows
-        (Takayuki Tsunakawa, Thomas Munro)
+        Add PGXS support for installing include
+        files (Andrew Gierth)
        
 
        
-        This is controlled by the 
-        linkend="guc-huge-pages">huge_pages configuration
-        parameter.
+        This supports creating extension modules that depend on other
+        modules.  Formerly there was no easy way for the dependent module to
+        find the referenced one's include files.  Several
+        existing contrib modules that define data types
+        have been adjusted to install relevant files.  Also, PL/Perl and
+        PL/Python now install their include files, to support creation of
+        transform modules for those languages.
        
       
 
       
 
 
        
-        Add support for ARMv8 hardware
-        CRC calculations (Yuqi Gu, Heikki
-        Linnakangas, Thomas Munro)
+        Install errcodes.txt to allow extensions to access
+        the list of error codes known to PostgreSQL
+        (Thomas Munro)
        
       
 
@@ -2685,6 +2771,46 @@ same commits as above
 
       
 
+
+       
+        Overhaul the way that initial system catalog contents are defined
+        (John Naylor)
+       
+
+       
+        The initial data is now represented in Perl data structures, making
+        it much easier to manipulate mechanically.
+       
+      
+
+      
+
+
+       
+        Prevent extensions from creating custom server parameters that
+        take a quoted list of values (Tom Lane)
+       
+
+       
+        This cannot be supported at present because knowledge of the
+        parameter's property would be required even before the extension is
+        loaded.
+       
+      
+
+      
+
 
        
-        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)
        
       
 
       
 
 
        
-        Allow background workers to attach to databases that normally
-        disallow connections (Magnus Hagander)
+        Add support for hardware CRC calculations
+        on ARMv8 (Yuqi Gu, Heikki Linnakangas,
+        Thomas Munro)
        
       
 
@@ -2739,12 +2860,11 @@ same commits as above
 -->
 
        
-        Speed up lookups of built-in function names matching OIDs (Andres
-        Freund)
+        Speed up lookups of built-in functions by OID (Andres Freund)
        
 
        
-        The previous binary search now uses a lookup array.
+        The previous binary search has been replaced by a lookup array.
        
       
 
@@ -2764,7 +2884,7 @@ same commits as above
 -->
 
        
-        Improve access speed to system caches (Andres Freund)
+        Improve speed of access to system caches (Andres Freund)
        
       
 
@@ -2791,7 +2911,7 @@ same commits as above
        
         Make the computation of system column
         pg_class.reltuples
-        consistent (Tomas Vondra)
+        more consistent (Tomas Vondra)
        
       
 
@@ -2823,16 +2943,15 @@ same commits as above
 
        
         Allow extension 
-        linkend="pgprewarm"><application>pg_prewarm>
+        linkend="pgprewarm"><filename>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.
+        This is accomplished by having pg_prewarm store
+        the shared buffers' relation and block number data to disk
+        occasionally during server operation, and at shutdown.
        
       
 
@@ -2842,7 +2961,7 @@ same commits as above
 -->
 
        
-        Add <application>pg_trgm>
+        Add <filename>pg_trgm>
         function strict_word_similarity() to compute
         the similarity of whole words (Alexander Korotkov)
        
@@ -2861,14 +2980,14 @@ same commits as above
 -->
 
        
-        Allow creation of indexes on 
-        linkend="citext">citext extension
-        columns that can be used by LIKE comparisons
+        Allow creation of indexes that can be used by LIKE
+        comparisons
+        on citext columns
         (Alexey Chernyshov)
        
 
        
-        Specifically, indexes must be created using the
+        To do this, the index must be created using the
         citext_pattern_ops operator class.
        
       
@@ -2880,7 +2999,7 @@ same commits as above
 
        
         Allow 
-        linkend="btree-gin"><application>btree_gin>
+        linkend="btree-gin"><filename>btree_gin>
         to index boolbpcharname
         and uuid data types (Matheus Oliveira)
        
@@ -2892,9 +3011,9 @@ same commits as above
 -->
 
        
-        Allow <application>cube>
-        and <application>seg>
-        extensions using GiST indexes to perform index-only scans
+        Allow <filename>cube>
+        and <filename>seg>
+        extensions to perform index-only scans using GiST indexes
         (Andrey Borodin)
        
       
@@ -2905,8 +3024,8 @@ same commits as above
 -->
 
        
-        Allow retrieval of negative cube coordinates using the ~>
-        operator (Alexander Korotkov)
+        Allow retrieval of negative cube coordinates using
+        the ~> operator (Alexander Korotkov)
        
 
        
@@ -2921,8 +3040,8 @@ same commits as above
 -->
 
        
-        Add Vietnamese letter detection to the 
-        linkend="unaccent"><application>unaccent>
+        Add Vietnamese letter handling to the 
+        linkend="unaccent"><filename>unaccent>
         extension (Dang Minh Huong, Michael Paquier)
        
       
@@ -2934,7 +3053,7 @@ same commits as above
 
        
         Enhance 
-        linkend="amcheck"><application>amcheck>
+        linkend="amcheck"><filename>amcheck>
         to check that each heap tuple has an index entry (Peter Geoghegan)
        
       
@@ -2946,13 +3065,13 @@ same commits as above
 
        
         Have 
-        linkend="adminpack"><application>adminpack>
+        linkend="adminpack"><filename>adminpack>
         use the new default file system access roles (Stephen Frost)
        
 
        
-        Previously only superusers could call adminpack functions;
-        now role permissions are checked.
+        Previously only superusers could call adminpack
+        functions; now role permissions are checked.
        
       
 
@@ -2962,40 +3081,13 @@ same commits as above
 -->
 
        
-        Increase  pg_stat_statement's query id
+        Widen 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 PostgreSQL
-        (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.
+        This greatly reduces the chance of query ID hash collisions.
+        The query ID can now potentially display as a negative value.
        
       
 
@@ -3005,8 +3097,10 @@ same commits as above
 -->
 
        
-        Remove contrib/start-scripts/osx since they
-        are no longer recommended (Tom Lane)
+        Remove the contrib/start-scripts/osx scripts
+        since they are no longer recommended
+        (use contrib/start-scripts/macos instead)
+        (Tom Lane)
        
       
 
@@ -3016,12 +3110,12 @@ same commits as above
 -->
 
        
-        Remove extension chkpass (Peter Eisentraut)
+        Remove the chkpass extension (Peter Eisentraut)
        
 
        
-        This extension no longer served as a usable security tool or
-        example of how to write an extension.
+        This extension is no longer considered to be a usable security tool
+        or example of how to write an extension.