On Fri, May 9, 2014 at 04:53:18PM +0200, Andres Freund wrote: > Hi, > > I've attached a fair number of fixes for the current state of the > release notes. Many of them are fixing factual errors, others are more > minors. > I think the whole 'logical decoding' section will need an entire > rewrite, but I'll do that separately. > > I've added a couple of <!-- FIXME --> for things that are clearly > unfinished.
Slightly adjusted attached patch applied. Thanks. Let me know if you have any follow-on changes. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +
commit 062f53518927f9bfe1820578ce79d3180b1aa2ca Author: Bruce Momjian <br...@momjian.us> Date: Tue May 13 15:12:54 2014 -0400 docs: 9.4 release notes adjustments Patch by Andres Freund, slight adjustments by me diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml new file mode 100644 index e537a1f..cabfbdd *** a/doc/src/sgml/release-9.4.sgml --- b/doc/src/sgml/release-9.4.sgml *************** *** 29,36 **** <listitem> <para> ! Logical change-set extraction allows database ! changes to be optionally recorded in <emphasis>logical</> format </para> </listitem> --- 29,36 ---- <listitem> <para> ! <link linkend="logicaldecoding">Logical decoding</link> allows database ! changes to be streamed out in customizable format </para> </listitem> *************** *** 223,228 **** --- 223,239 ---- <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 linkend="libpq-pqconnectdbparams"><function>PQconnectdbParams()</></link> and <link *************** *** 263,268 **** --- 274,288 ---- </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> *************** *** 452,466 **** <listitem> <para> ! <link linkend="vacuum-for-wraparound">Freeze</link> ! tuples when tables are written 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. </para> </listitem> --- 472,486 ---- <listitem> <para> ! 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 can avoid the need to freeze the tuples in the future. </para> </listitem> *************** *** 545,556 **** <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> (Christian Kruse) </para> </listitem> --- 565,573 ---- <listitem> <para> ! 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> *************** *** 571,580 **** </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. </para> </listitem> --- 588,597 ---- </para> <para> ! 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> *************** *** 617,631 **** <listitem> <para> ! Add <acronym>SQL</>-level command <link linkend="SQL-ALTERSYSTEM"><command>ALTER SYSTEM</></link> command ! to edit the <filename>postgresql.conf</> configuration file ! (Amit Kapila) </para> <para> ! Previously <filename>postgresql.conf</> could only be edited at ! the file system level. </para> </listitem> --- 634,647 ---- <listitem> <para> ! Add <acronym>SQL</>-level <link linkend="SQL-ALTERSYSTEM"><command>ALTER SYSTEM</></link> command ! to adjust server-wide settings (Amit Kapila) </para> <para> ! Previously such settings could only be changed by ! editing <filename>postgresql.conf</> at the file system level. </para> </listitem> *************** *** 680,687 **** </para> <para> ! Hint bits are not normally logged, except when checksums are ! enabled. This is useful for tools like <application>pg_rewind</>. </para> </listitem> --- 696,703 ---- </para> <para> ! Hint bits are not normally logged, except when checksums are enabled. ! This is useful for external tools like <application>pg_rewind</>. </para> </listitem> *************** *** 702,710 **** </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>. </para> </listitem> --- 718,727 ---- </para> <para> ! 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> *************** *** 775,790 **** <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ízio de ! Royes Mello, Simon Riggs) </para> <para> ! This is useful for delaying replaying of user errors on standby servers. </para> </listitem> --- 792,805 ---- <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 delay replication (Robert Haas, Fabrízio de Royes Mello, ! Simon Riggs) </para> <para> ! This is useful for delaying the replay of user errors on standby servers. </para> </listitem> *************** *** 793,803 **** <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) </para> </listitem> --- 808,816 ---- <para> Add <link linkend="recovery-target"><varname>recovery_target</></link> ! 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> *************** *** 807,817 **** </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. </para> </listitem> --- 820,830 ---- </para> <para> ! 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> *************** *** 831,838 **** <listitem> <para> Add <link linkend="streaming-replication-slots">replication ! slots</link> to report the <acronym>WAL</> activity on streaming ! standbys (Andres Freund, Robert Haas) </para> <para> --- 844,851 ---- <listitem> <para> Add <link linkend="streaming-replication-slots">replication ! slots</link> to coordinate activity on streaming standbys with the ! node they are streaming from (Andres Freund, Robert Haas) </para> <para> *************** *** 872,890 **** </itemizedlist> <sect4> ! <title><link linkend="logicaldecoding">Logical Change-Set Extraction</></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: </para> <itemizedlist> ! <listitem> <para> Add new <option>logical</> <link --- 885,902 ---- </itemizedlist> <sect4> ! <title><link linkend="logicaldecoding">Logical Decoding</></title> <para> ! 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 *************** *** 953,967 **** <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) </para> </listitem> <listitem> <para> Add <link linkend="queries-tablefunctions"><literal>WITH ! ORDINALITY</></link> which numbers rows returned from <literal>FROM</>-clause functions (Andrew Gierth, David Fetter) </para> --- 965,979 ---- <listitem> <para> Add <link linkend="queries-tablefunctions"><literal>ROWS ! 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> syntax which numbers rows returned from <literal>FROM</>-clause functions (Andrew Gierth, David Fetter) </para> *************** *** 978,985 **** </para> <para> ! This was added for consistency, and so querying tables with no ! columns would not produce an error. </para> </listitem> --- 990,998 ---- </para> <para> ! <!-- FIXME: drop? --> ! This was added so views that select from a table with zero columns ! can be dumped correctly. </para> </listitem> *************** *** 1000,1013 **** </para> <para> <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> in <literal>CSV</> mode (Ian Barwick, Michael Paquier) </para> --- 1013,1028 ---- </para> <para> + <!-- FIXME: compatibility break entry? --> <command>DISCARD ALL</> will now also discard such information. </para> </listitem> <listitem> <para> ! 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> *************** *** 1019,1032 **** <listitem> <para> ! Issue warnings for <link linkend="SQL-SET"><command>SET</></link> ! outside of a transaction block, as they have no effect (Bruce ! Momjian) </para> <para> The cases are <literal>SET ! LOCAL</>/<literal>CONSTRAINTS</>/<literal>TRANSACTION</> and <literal>ABORT</>. </para> </listitem> --- 1034,1046 ---- <listitem> <para> ! 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>SET CONSTRAINTS</>, <literal>SET TRANSACTION</> and <literal>ABORT</>. </para> </listitem> *************** *** 1083,1091 **** <listitem> <para> ! Allow <link linkend="SQL-CREATEVIEW-updatable-views">auto-updates ! on views</link> where only some columns are auto-updateable ! (Dean Rasheed) </para> <para> --- 1097,1105 ---- <listitem> <para> ! Allow the updating of <link ! linkend="SQL-CREATEVIEW-updatable-views">views</link> ! where only some columns are auto-updateable (Dean Rasheed) </para> <para> *************** *** 1147,1154 **** </para> <para> ! Previously, relations moved into the system catalog schema could ! not be modified. </para> </listitem> --- 1161,1168 ---- </para> <para> ! Previously, relations once moved into the system catalog schema could ! no longer be modified or dropped. </para> </listitem> *************** *** 1204,1210 **** 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)</>. </para> </listitem> --- 1218,1225 ---- 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)</> no longer require <literal>ACCESS ! EXCLUSIVE</> locks. </para> </listitem> *************** *** 1375,1382 **** </para> <para> ! The functions being with <literal>make_</>, e.g. <link ! linkend="functions-datetime-table"><function>make_date()</></link>. </para> </listitem> --- 1390,1397 ---- </para> <para> ! These functions are prefixed with <literal>make_</>, ! e.g. <link linkend="functions-datetime-table"><function>make_date()</></link>. </para> </listitem> *************** *** 1419,1427 **** <listitem> <para> ! Add functions for <structname>pg_class</>, <structname>pg_proc</>, <structname>pg_type</>, and ! <structname>pg_operator</> lookups that do not generate errors for non-existent objects (Yugo Nagata, Nozomi Anzai, Robert Haas) </para> --- 1434,1442 ---- <listitem> <para> ! Add functions for looking up objects in <structname>pg_class</>, <structname>pg_proc</>, <structname>pg_type</>, and ! <structname>pg_operator</> which do not generate errors for non-existent objects (Yugo Nagata, Nozomi Anzai, Robert Haas) </para> *************** *** 1429,1436 **** <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. </para> </listitem> --- 1444,1451 ---- <para> For example, <link linkend="functions-info-catalog-table"><function>to_regclass()</></link> ! does lookups of <structname>pg_class</> and returns NULL for ! non-existent objects. </para> </listitem> *************** *** 1438,1444 **** <para> Add function <link linkend="functions-admin-dblocation"><function>pg_filenode_relation()</></link> ! to allow for more efficient filenode to relation lookups (Andres Freund) </para> </listitem> --- 1453,1459 ---- <para> Add function <link linkend="functions-admin-dblocation"><function>pg_filenode_relation()</></link> ! to allow for more efficient filenode to relation lookups (Andres Freund) </para> </listitem> *************** *** 1509,1514 **** --- 1524,1530 ---- </listitem> <listitem> + <!-- FIXME --> <para> Allow polymorphic aggregates to have non-polymorphic state data types ? (Tom Lane) *************** *** 1591,1607 **** <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 to <type>decimal</> values in PL/Python (Szymon Guz, Ronan Dunklau) </para> --- 1607,1612 ---- *************** *** 1676,1684 **** <listitem> <para> ! Allow <link linkend="APP-VACUUMDB"><application>vacuumdb</></link> ! <option>--analyze-in-stages</> to analyze in stages of increasing ! granularity (Peter Eisentraut) </para> <para> --- 1681,1689 ---- <listitem> <para> ! Add <link linkend="APP-VACUUMDB"><application>vacuumdb</></link> ! option <option>--analyze-in-stages</> to analyze in stages of ! increasing granularity (Peter Eisentraut) </para> <para>
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers