Commit 68ab9acd authored by Tom Lane's avatar Tom Lane

Doc: update v10 release notes through today.

Add item about number of times statement-level triggers will be fired.
Rearrange the compatibility items into (what seems to me) a less
random ordering.
parent 6f44fe7f
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<formalpara> <formalpara>
<title>Release date:</title> <title>Release date:</title>
<para>2017-??-?? (current as of 2017-09-07, commit 08cb36417)</para> <para>2017-??-?? (current as of 2017-09-17, commit 244b4a37e)</para>
</formalpara> </formalpara>
<sect2> <sect2>
...@@ -157,6 +157,38 @@ ...@@ -157,6 +157,38 @@
<listitem> <listitem>
<!-- <!--
2017-08-04 [c30f1770a] Apply ALTER ... SET NOT NULL recursively in ALTER ... AD
-->
<para>
When <command>ALTER TABLE ... ADD PRIMARY KEY</> marks
columns <literal>NOT NULL</>, that change now propagates to
inheritance child tables as well (Michael Paquier)
</para>
</listitem>
<listitem>
<!--
2017-09-16 [54d4d0ff6] Fix SQL-spec incompatibilities in new transition table f
2017-09-17 [5cc234931] Ensure that BEFORE STATEMENT triggers fire the right num
-->
<para>
Prevent statement-level triggers from firing more than once per
statement (Tom Lane)
</para>
<para>
Cases involving writable CTEs updating the same table updated by the
containing statement, or by another writable CTE, fired <literal>BEFORE
STATEMENT</> or <literal>AFTER STATEMENT</> triggers more than once.
Also, if there were statement-level triggers on a table affected by a
foreign key enforcement action (such as <literal>ON DELETE CASCADE</>),
they could fire more than once per outer SQL statement. This is
contrary to the SQL standard, so change it.
</para>
</listitem>
<listitem>
<!--
2016-12-20 [1753b1b02] Add pg_sequence system catalog 2016-12-20 [1753b1b02] Add pg_sequence system catalog
2016-11-18 [67dc4ccbb] Add pg_sequences view 2016-11-18 [67dc4ccbb] Add pg_sequences view
2017-05-15 [f8dc1985f] Fix ALTER SEQUENCE locking 2017-05-15 [f8dc1985f] Fix ALTER SEQUENCE locking
...@@ -249,88 +281,72 @@ ...@@ -249,88 +281,72 @@
<listitem> <listitem>
<!-- <!--
2017-05-08 [eb61136dc] Remove support for password_encryption='off' / 'plain'. 2017-03-27 [3371e4d9b] Change default of log_directory to 'log'
--> -->
<para> <para>
Remove the ability to store unencrypted passwords on the server Change the default value of the <xref linkend="guc-log-directory">
(Heikki Linnakangas) server parameter from <filename>pg_log</> to <filename>log</>
</para> (Andreas Karlsson)
<para>
The <xref linkend="guc-password-encryption"> server parameter
no longer supports <literal>off</> or <literal>plain</>.
The <literal>UNENCRYPTED</> option is no longer supported in
<command>CREATE/ALTER USER ... PASSSWORD</>. Similarly, the
<option>--unencrypted</> option has been removed
from <application>createuser</>. Unencrypted passwords migrated from
older versions will be stored encrypted in this release. The default
setting for <varname>password_encryption</> is still
<literal>md5</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2016-10-26 [94aceed31] Support multi-dimensional arrays in PL/python. 2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral
2016-10-26 [cfd9c87a5] Only treat Python Lists as array dimensions.
--> -->
<para> <para>
Allow multi-dimensional arrays to be passed into PL/Python functions, Add configuration option <xref linkend="guc-ssl-dh-params-file"> to
and returned as nested Python lists (Alexey Grishchenko, Dave Cramer, specify file name for custom OpenSSL DH parameters (Heikki Linnakangas)
Heikki Linnakangas)
</para> </para>
<para> <para>
This feature requires a backwards-incompatible change to the handling This replaces the hardcoded, undocumented file
of arrays of composite types in PL/Python. Previously, you could name <filename>dh1024.pem</>. Note that <filename>dh1024.pem</> is
return an array of composite values by writing, e.g., <literal>[[col1, no longer examined by default; you must set this option if you want
col2], [col1, col2]]</>; but now that is interpreted as a to use custom DH parameters.
two-dimensional array. Composite types in arrays must now be written
as Python tuples, not lists, to resolve the ambiguity; that is,
write <literal>[(col1, col2), (col1, col2)]</> instead.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility. 2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral
--> -->
<para> <para>
Remove PL/Tcl's <quote>module</> auto-loading facility (Tom Lane) Increase the size of the default DH parameters used for OpenSSL
</para> ephemeral DH ciphers to 2048 bits (Heikki Linnakangas)
<para>
This functionality has been replaced by new server
parameters <xref linkend="guc-pltcl-start-proc">
and <xref linkend="guc-pltclu-start-proc">, which are easier to use
and more similar to features available in other PLs.
</para> </para>
</listitem>
<listitem>
<!--
2017-03-27 [3371e4d9b] Change default of log_directory to 'log'
-->
<para> <para>
Change the default value of the <xref linkend="guc-log-directory"> The size of the compiled-in DH parameters has been increased from
server parameter from <filename>pg_log</> to <filename>log</> 1024 to 2048 bits, making DH key exchange more resistant to
(Andreas Karlsson) brute-force attacks. However, some old SSL implementations, notably
some revisions of Java Runtime Environment version 6, will not accept
DH parameters longer than 1024 bits, and hence will not be able to
connect over SSL. If it's necessary to support such old clients, you
can use custom 1024-bit DH parameters instead of the compiled-in
defaults. See <xref linkend="guc-ssl-dh-params-file">.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2016-12-23 [e13486eba] Remove sql_inheritance GUC. 2017-05-08 [eb61136dc] Remove support for password_encryption='off' / 'plain'.
--> -->
<para> <para>
Remove <varname>sql_inheritance</> server parameter (Robert Haas) Remove the ability to store unencrypted passwords on the server
(Heikki Linnakangas)
</para> </para>
<para> <para>
Changing this setting from the default value caused queries referencing The <xref linkend="guc-password-encryption"> server parameter
parent tables to not include child tables. The <acronym>SQL</> no longer supports <literal>off</> or <literal>plain</>.
standard requires them to be included, however, and this has been the The <literal>UNENCRYPTED</> option is no longer supported in
default since <productname>PostgreSQL</> 7.1. <command>CREATE/ALTER USER ... PASSSWORD</>. Similarly, the
<option>--unencrypted</> option has been removed
from <application>createuser</>. Unencrypted passwords migrated from
older versions will be stored encrypted in this release. The default
setting for <varname>password_encryption</> is still
<literal>md5</>.
</para> </para>
</listitem> </listitem>
...@@ -369,95 +385,100 @@ ...@@ -369,95 +385,100 @@
<listitem> <listitem>
<!-- <!--
2016-10-12 [64f3524e2] Remove pg_dump/pg_dumpall support for dumping from pre-8 2016-12-23 [e13486eba] Remove sql_inheritance GUC.
--> -->
<para> <para>
Remove <application>pg_dump</>/<application>pg_dumpall</> support Remove <varname>sql_inheritance</> server parameter (Robert Haas)
for dumping from pre-8.0 servers (Tom Lane)
</para> </para>
<para> <para>
Users needing to dump from pre-8.0 servers will need to use dump Changing this setting from the default value caused queries referencing
programs from <productname>PostgreSQL</> 9.6 or earlier. The parent tables to not include child tables. The <acronym>SQL</>
resulting output should still load successfully into newer servers. standard requires them to be included, however, and this has been the
default since <productname>PostgreSQL</> 7.1.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-02-23 [b6aa17e0a] De-support floating-point timestamps. 2016-10-26 [94aceed31] Support multi-dimensional arrays in PL/python.
2016-10-26 [cfd9c87a5] Only treat Python Lists as array dimensions.
--> -->
<para> <para>
Remove support for floating-point timestamps and intervals (Tom Lane) Allow multi-dimensional arrays to be passed into PL/Python functions,
and returned as nested Python lists (Alexey Grishchenko, Dave Cramer,
Heikki Linnakangas)
</para> </para>
<para> <para>
This removes configure's <option>--disable-integer-datetimes</> This feature requires a backwards-incompatible change to the handling
option. Floating-point timestamps have few advantages and have not of arrays of composite types in PL/Python. Previously, you could
been the default since <productname>PostgreSQL</> 8.3. return an array of composite values by writing, e.g., <literal>[[col1,
col2], [col1, col2]]</>; but now that is interpreted as a
two-dimensional array. Composite types in arrays must now be written
as Python tuples, not lists, to resolve the ambiguity; that is,
write <literal>[(col1, col2), (col1, col2)]</> instead.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2016-10-11 [2f1eaf87e] Drop server support for FE/BE protocol version 1.0. 2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility.
--> -->
<para> <para>
Remove server support for client/server protocol version 1.0 (Tom Lane) Remove PL/Tcl's <quote>module</> auto-loading facility (Tom Lane)
</para> </para>
<para> <para>
This protocol hasn't had client support This functionality has been replaced by new server
since <productname>PostgreSQL</> 6.3. parameters <xref linkend="guc-pltcl-start-proc">
and <xref linkend="guc-pltclu-start-proc">, which are easier to use
and more similar to features available in other PLs.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral 2016-10-12 [64f3524e2] Remove pg_dump/pg_dumpall support for dumping from pre-8
--> -->
<para> <para>
Add configuration option <xref linkend="guc-ssl-dh-params-file"> to Remove <application>pg_dump</>/<application>pg_dumpall</> support
specify file name for custom OpenSSL DH parameters (Heikki Linnakangas) for dumping from pre-8.0 servers (Tom Lane)
</para> </para>
<para> <para>
This replaces the hardcoded, undocumented file Users needing to dump from pre-8.0 servers will need to use dump
name <filename>dh1024.pem</>. Note that <filename>dh1024.pem</> is programs from <productname>PostgreSQL</> 9.6 or earlier. The
no longer examined by default; you must set this option if you want resulting output should still load successfully into newer servers.
to use custom DH parameters.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral 2017-02-23 [b6aa17e0a] De-support floating-point timestamps.
--> -->
<para> <para>
Increase the size of the default DH parameters used for OpenSSL Remove support for floating-point timestamps and intervals (Tom Lane)
ephemeral DH ciphers to 2048 bits (Heikki Linnakangas)
</para> </para>
<para> <para>
The size of the compiled-in DH parameters has been increased from This removes configure's <option>--disable-integer-datetimes</>
1024 to 2048 bits, making DH key exchange more resistant to option. Floating-point timestamps have few advantages and have not
brute-force attacks. However, some old SSL implementations, notably been the default since <productname>PostgreSQL</> 8.3.
some revisions of Java Runtime Environment version 6, will not accept
DH parameters longer than 1024 bits, and hence will not be able to
connect over SSL. If it's necessary to support such old clients, you
can use custom 1024-bit DH parameters instead of the compiled-in
defaults. See <xref linkend="guc-ssl-dh-params-file">.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-08-04 [c30f1770a] Apply ALTER ... SET NOT NULL recursively in ALTER ... AD 2016-10-11 [2f1eaf87e] Drop server support for FE/BE protocol version 1.0.
--> -->
<para> <para>
When <command>ALTER TABLE ... ADD PRIMARY KEY</> marks Remove server support for client/server protocol version 1.0 (Tom Lane)
columns <literal>NOT NULL</>, that change now propagates to </para>
inheritance child tables as well (Michael Paquier)
<para>
This protocol hasn't had client support
since <productname>PostgreSQL</> 6.3.
</para> </para>
</listitem> </listitem>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment