]> granicus.if.org Git - postgresql/commitdiff
docs: 9.4 release notes adjustments
authorBruce Momjian <bruce@momjian.us>
Tue, 13 May 2014 19:12:54 +0000 (15:12 -0400)
committerBruce Momjian <bruce@momjian.us>
Tue, 13 May 2014 19:13:02 +0000 (15:13 -0400)
Patch by Andres Freund, slight adjustments by me

doc/src/sgml/release-9.4.sgml

index e537a1fae520a47b9bc4b3126ec5b776a6bb6f1c..cabfbdd1e96081220fa0c8342f059d88be24a9e1 100644 (file)
@@ -29,8 +29,8 @@
 
      <listitem>
       <para>
-       Logical change-set extraction allows database
-       changes to be optionally recorded in <emphasis>logical</> format
+       <link linkend="logicaldecoding">Logical decoding</link> allows database
+       changes to be streamed out in customizable format
       </para>
      </listitem>
 
      </para>
     </listitem>
 
+    <listitem>
+     <para>
+      Handle domains over arrays like plain arrays in PL/Python
+      (Rodolfo Campero)
+     </para>
+
+     <para>
+      Previously they were treated as strings.
+     </para>
+    </listitem>
+
     <listitem>
      <para>
       Have libpq's <link
      </para>
     </listitem>
 
+    <listitem>
+     <para>
+      The maximum number of <link linkend="bgworker">background workers</link>
+      that can be registered
+      by <function>RegisterBackgroundWorker()</function> is now limited to
+      <link linkend="guc-max-worker-processes"><varname>max_worker_processes</></link>
+     </para>
+    </listitem>
+
    </itemizedlist>
 
   </sect2>
 
       <listitem>
        <para>
-        <link linkend="vacuum-for-wraparound">Freeze</link>
-        tuples when tables are written with <link
+        Attempt to <link linkend="vacuum-for-wraparound">freeze</link>
+        tuples when tables are rewritten with <link
         linkend="SQL-CLUSTER"><command>CLUSTER</></link> or <link
         linkend="SQL-VACUUM"><command>VACUUM FULL</></link> (Robert Haas,
         Andres Freund)
        </para>
 
        <para>
-        This avoids the need to freeze the tuples in the future.
+        This can avoid the need to freeze the tuples in the future.
        </para>
       </listitem>
 
 
       <listitem>
        <para>
-        Add <structfield>xid</> and <link
-        linkend="ddl-system-columns"><structfield>xmin</></link>
-        to system views <link
-        linkend="pg-stat-activity-view"><structname>pg_stat_activity</></link>
-        and <link
-        linkend="pg-stat-replication-view"><structname>pg_stat_replication</></link>
+        Add <varname>backend_xid</> and <varname>backend_xmin</> columns to
+        the system view <link linkend="pg-stat-activity-view"><structname>pg_stat_activity</></link>
+        and <varname>backend_xmin</> to <link linkend="pg-stat-replication-view"><structname>pg_stat_replication</></link>
         (Christian Kruse)
        </para>
       </listitem>
        </para>
 
        <para>
-        Such keys are faster and have improved security
-        over previous options.  New variable <link
-        linkend="guc-ssl-ecdh-curve"><varname>ssl_ecdh_curve</></link>
-        controls the curve that is used.
+        Such keys are faster and have improved security over previous
+        options. The new configuration
+        parameter <link linkend="guc-ssl-ecdh-curve"><varname>ssl_ecdh_curve</></link>
+        controls which curve is used.
        </para>
       </listitem>
 
 
       <listitem>
        <para>
-        Add <acronym>SQL</>-level command <link
+        Add <acronym>SQL</>-level <link
         linkend="SQL-ALTERSYSTEM"><command>ALTER SYSTEM</></link> command
-        to edit the <filename>postgresql.conf</> configuration file
-        (Amit Kapila)
+        to adjust server-wide settings (Amit Kapila)
        </para>
 
        <para>
-        Previously <filename>postgresql.conf</> could only be edited at
-        the file system level.
+        Previously such settings could only be changed by
+        editing <filename>postgresql.conf</> at the file system level.
        </para>
       </listitem>
 
        </para>
 
        <para>
-        Hint bits are not normally logged, except when checksums are
-        enabled.  This is useful for tools like <application>pg_rewind</>.
+        Hint bits are not normally logged, except when checksums are enabled.
+        This is useful for external tools like <application>pg_rewind</>.
        </para>
       </listitem>
 
        </para>
 
        <para>
-        Such libraries are auto-<link
-        linkend="SQL-LOAD"><command>LOAD</></link>'ed, unlike <link
-        linkend="guc-local-preload-libraries"><varname>local_preload_libraries</></link>.
+        In contrast
+        to <link linkend="guc-local-preload-libraries"><varname>local_preload_libraries</></link>,
+        this parameter can load any shared library, not just those in
+        the <filename>$libdir/plugins</> directory.
        </para>
       </listitem>
 
 
       <listitem>
        <para>
-        Add <link
-        linkend="recovery-config"><filename>recovery.conf</></link>
-        parameter <link
-        linkend="recovery-min-apply-delay"><varname>recovery_min_apply_delay</></link>
-        to force delayed replication (Robert Haas, Fabr&iacute;zio de
-        Royes Mello, Simon Riggs)
+        Add <link linkend="recovery-config"><filename>recovery.conf</></link>
+        parameter <link linkend="recovery-min-apply-delay"><varname>recovery_min_apply_delay</></link>
+        to delay replication (Robert Haas, Fabr&iacute;zio de Royes Mello,
+        Simon Riggs)
        </para>
 
        <para>
-        This is useful for delaying replaying of user errors on standby
+        This is useful for delaying the replay of user errors on standby
         servers.
        </para>
       </listitem>
        <para>
         Add <link
         linkend="recovery-target"><varname>recovery_target</></link>
-        option <option>immediate</> option to replay
-        <link linkend="wal"><acronym>WAL</></link> stop
-        recovery when a consistent state is reached, i.e.  <link
-        linkend="functions-admin-backup-table"><function>pg_stop_backup()</></link>
-        (MauMau, Heikki Linnakangas)
+        option <option>immediate</> to stop <link
+        linkend="wal"><acronym>WAL</></link> recovery as soon as a
+        consistent state is reached (MauMau, Heikki Linnakangas)
        </para>
       </listitem>
 
        </para>
 
        <para>
-        The timestamp reported by <link
-        linkend="functions-recovery-info-table"><function>pg_last_xact_replay_timestamp()</></link>
-        now shows information about committed records, not commits being
-        replayed.  Recovering to restore points now replay the restore
-        point, rather than stop just before the restore point.
+        The timestamp reported
+        by <link linkend="functions-recovery-info-table"><function>pg_last_xact_replay_timestamp()</></link>
+        now shows information about already-committed records, not of transactions
+        about to be committed. Recovering to a restore point now replays the
+        restore point, rather than stopping just before the restore point.
        </para>
       </listitem>
 
       <listitem>
        <para>
         Add <link linkend="streaming-replication-slots">replication
-        slots</link> to report the <acronym>WAL</> activity on streaming
-        standbys (Andres Freund, Robert Haas)
+        slots</link> to coordinate activity on streaming standbys with the
+        node they are streaming from (Andres Freund, Robert Haas)
        </para>
 
        <para>
      </itemizedlist>
 
      <sect4>
-      <title><link linkend="logicaldecoding">Logical Change-Set Extraction</></title>
+      <title><link linkend="logicaldecoding">Logical Decoding</></title>
 
       <para>
-       Logical change-set extraction allows database
-       changes to be optionally recorded in <emphasis>logical</> format
-       in the <link linkend="wal"><acronym>WAL</></link>.  This format can
-       be easily processed by external tools.  In previous releases, only
-       binary changes were recorded in the <acronym>WAL</>.  To implement
-       this feature, the following changes were made:
+       Logical decoding allows database changes to be optionally streamed in a
+       configurable format. The data is read from
+       the <link linkend="wal"><acronym>WAL</></link> and transformed into the
+       desired target format. To implement this feature, the following changes
+       were made:
       </para>
 
       <itemizedlist>
-
+       <!-- FIXME: This imo needs a pretty fundamental rewrite -->
        <listitem>
         <para>
          Add new <option>logical</> <link
       <listitem>
        <para>
         Add <link linkend="queries-tablefunctions"><literal>ROWS
-        FROM</></link> syntax to allow horizontal concatenation of
-        <literal>FROM</>-clause set-returning functions (Andrew Gierth)
+        FROM()</></link> syntax to allow horizontal concatenation of
+        set-returning functions in the <literal>FROM</>-clause (Andrew Gierth)
        </para>
       </listitem>
 
       <listitem>
        <para>
         Add <link linkend="queries-tablefunctions"><literal>WITH
-        ORDINALITY</></link> which numbers rows returned from
+        ORDINALITY</></link> syntax which numbers rows returned from
         <literal>FROM</>-clause functions (Andrew Gierth, David Fetter)
        </para>
 
        </para>
 
        <para>
-        This was added for consistency, and so querying tables with no
-        columns would not produce an error.
+        <!-- FIXME: drop? -->
+        This was added so views that select from a table with zero columns
+        can be dumped correctly.
        </para>
       </listitem>
 
        </para>
 
        <para>
+        <!-- FIXME: compatibility break entry? -->
         <command>DISCARD ALL</> will now also discard such information.
        </para>
       </listitem>
 
        <listitem>
         <para>
-         Allow quoted strings matching the null string to be converted
-         to NULL in <link linkend="SQL-COPY"><command>COPY FROM</></link>
+         Add <command>FORCE NULL</> option
+         to <link linkend="SQL-COPY"><command>COPY FROM</></link> which causes
+         quoted strings matching the null string to be converted to NULL in
          in <literal>CSV</> mode (Ian Barwick, Michael Paquier)
         </para>
 
 
       <listitem>
        <para>
-        Issue warnings for <link linkend="SQL-SET"><command>SET</></link>
-        outside of a transaction block, as they have no effect (Bruce
-        Momjian)
+        Issue warnings for commands used outside of transaction blocks
+        because they have no effect (Bruce Momjian)
        </para>
 
        <para>
         The cases are <literal>SET
-        LOCAL</>/<literal>CONSTRAINTS</>/<literal>TRANSACTION</> and
+        LOCAL</>, <literal>SET CONSTRAINTS</>, <literal>SET TRANSACTION</> and
         <literal>ABORT</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <link linkend="SQL-CREATEVIEW-updatable-views">auto-updates
-        on views</link> where only some columns are auto-updateable
-        (Dean Rasheed)
+        Allow the updating of <link
+        linkend="SQL-CREATEVIEW-updatable-views">views</link>
+        where only some columns are auto-updateable (Dean Rasheed)
        </para>
 
        <para>
        </para>
 
        <para>
-        Previously, relations moved into the system catalog schema could
-        not be modified.
+        Previously, relations once moved into the system catalog schema could
+        no longer be modified or dropped.
        </para>
       </listitem>
 
         ON</>, <literal>SET WITHOUT CLUSTER</>, <literal>ALTER COLUMN
         SET STATISTICS</>, <literal>ALTER COLUMN</> <literal>SET</>
         <option>(attribute_option)</>, <literal>ALTER COLUMN RESET</>
-        <option>(attribute_option)</>.
+        <option>(attribute_option)</> no longer require <literal>ACCESS
+        EXCLUSIVE</> locks.
        </para>
       </listitem>
 
        </para>
 
        <para>
-        The functions being with <literal>make_</>, e.g. <link
-        linkend="functions-datetime-table"><function>make_date()</></link>.
+        These functions are prefixed with <literal>make_</>,
+        e.g. <link linkend="functions-datetime-table"><function>make_date()</></link>.
        </para>
       </listitem>
 
 
       <listitem>
        <para>
-        Add functions for <structname>pg_class</>,
+        Add functions for looking up objects in <structname>pg_class</>,
         <structname>pg_proc</>, <structname>pg_type</>, and
-        <structname>pg_operator</> lookups that do not generate errors for
+        <structname>pg_operator</> which do not generate errors for
         non-existent objects (Yugo Nagata, Nozomi Anzai,
         Robert Haas)
        </para>
        <para>
         For example, <link
         linkend="functions-info-catalog-table"><function>to_regclass()</></link>
-        does error-free lookups of <structname>pg_class</>, and returns
-        NULL for lookup failures.
+        does lookups of <structname>pg_class</> and returns NULL for
+        non-existent objects.
        </para>
       </listitem>
 
        <para>
         Add function <link
         linkend="functions-admin-dblocation"><function>pg_filenode_relation()</></link>
-        to allow for more efficient filenode to relation lookups  (Andres
+        to allow for more efficient filenode to relation lookups (Andres
         Freund)
        </para>
       </listitem>
       </listitem>
 
       <listitem>
+       <!-- FIXME -->
        <para>
         Allow polymorphic aggregates to have non-polymorphic state data
         types ? (Tom Lane)
 
      <itemizedlist>
 
-      <listitem>
-       <para>
-        Handle domains over arrays like plain arrays in PL/Python
-        (Rodolfo Campero)
-       </para>
-
-       <para>
-        Previously they were treated as strings.
-       </para>
-      </listitem>
-
       <listitem>
        <para>
         Convert <link linkend="datatype-numeric"><type>NUMERIC</></link>s
 
       <listitem>
        <para>
-        Allow <link linkend="APP-VACUUMDB"><application>vacuumdb</></link>
-        <option>--analyze-in-stages</> to analyze in stages of increasing
-        granularity (Peter Eisentraut)
+        Add <link linkend="APP-VACUUMDB"><application>vacuumdb</></link>
+        option <option>--analyze-in-stages</> to analyze in stages of
+        increasing granularity (Peter Eisentraut)
        </para>
 
        <para>