mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-05 13:26:52 +02:00
Desultory review of 9.5 release notes.
Minor corrections and clarifications. Notably, for stuff that got moved out of contrib, make sure it's documented somewhere other than "Additional Modules". I'm sure these need more work, but that's all I have time for today.
This commit is contained in:
parent
cbc8d65639
commit
85c25fdbd7
@ -54,75 +54,90 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Adjust <link linkend="functions-comparison">operator precedence</>
|
Adjust <link linkend="sql-precedence">operator precedence</>
|
||||||
to match the <acronym>SQL</> standard (Tom Lane)
|
to match the <acronym>SQL</> standard (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
"<" and ">" now have the same precedence as "<="
|
The precedence of <literal><=</literal>, <literal>>=</literal>
|
||||||
">=" and "<>", and <literal>IS</> now has lower
|
and <literal><></literal> has been reduced to match that of
|
||||||
precedence. <literal>NOT</> now also has symmetric precedence.
|
<literal><</literal>, <literal>></literal>
|
||||||
The <acronym>GUC</> <varname>operator_precedence_warning</> can be
|
and <literal>=</literal>. The precedence of <literal>IS</> tests
|
||||||
enabled to warn about queries where the precedence has changed.
|
(e.g., <replaceable>x</> <literal>IS NULL</>) has been reduced to be
|
||||||
|
just below these six comparison operators.
|
||||||
|
Also, multi-keyword operators beginning with <literal>NOT</> now have
|
||||||
|
the precedence of their base operator (for example, <literal>NOT
|
||||||
|
BETWEEN</> now has the same precedence as <literal>BETWEEN</>) whereas
|
||||||
|
before they had inconsistent precedence, behaving like <literal>NOT</>
|
||||||
|
with respect to their left operand but like their base operator with
|
||||||
|
respect to their right operand. The new configuration
|
||||||
|
parameter <xref linkend="guc-operator-precedence-warning"> can be
|
||||||
|
enabled to warn about queries in which these precedence changes result
|
||||||
|
in different parsing choices.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Use cast conversions for <application>PL/pgSQL</> type conversions,
|
Use assignment cast behavior for data type conversions
|
||||||
rather than converting to and from text (Tom Lane)
|
in <application>PL/pgSQL</> assignments, rather than converting to and
|
||||||
|
from text (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This causes conversions of booleans to strings to
|
This change causes conversions of booleans to strings to
|
||||||
return <literal>true</> or <literal>false</>, not
|
produce <literal>true</> or <literal>false</>, not <literal>t</>
|
||||||
<literal>t</>/<literal>f</>.
|
or <literal>f</>. Other type conversions may succeed in more cases
|
||||||
|
than before; for example, assigning a numeric value <literal>3.9</> to
|
||||||
|
an integer variable will now assign 4 rather than failing. If no
|
||||||
|
assignment-grade cast is defined for the particular source and
|
||||||
|
destination types, <application>PL/pgSQL</> will fall back to its old
|
||||||
|
I/O conversion behavior.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow special characters in <link linkend="libpq-envars">server
|
Allow characters in <link linkend="libpq-connect-options">server
|
||||||
startup option values</> to be escaped with a backslash (Andres
|
command-line options</> to be escaped with a backslash (Andres Freund)
|
||||||
Freund)
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This allows characters like spaces to be passed inside option values.
|
Formerly, spaces in the options string always separated options, so
|
||||||
Passing a backslash now requires supplying a double-backslash.
|
there was no way to include a space in an option value. Including
|
||||||
|
a backslash in an option value now requires writing <literal>\\</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Set the default value of <link
|
Change the default value of <link
|
||||||
linkend="gssapi-auth"><varname>include_realm</></> to not remove
|
linkend="gssapi-auth"><varname>include_realm</></> to 1, so that
|
||||||
the <acronym>GSS</> and <acronym>SSPI</> realm from the principal
|
by default the realm is not removed from a <acronym>GSS</>
|
||||||
(Stephen Frost)
|
or <acronym>SSPI</> principal name (Stephen Frost)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Fix <link linkend="SQL-REASSIGN-OWNED"><command>REASSIGN</></>
|
Fix <link linkend="SQL-REASSIGN-OWNED"><command>REASSIGN OWNED</></>
|
||||||
and <link linkend="SQL-ALTERTABLE"><command>ALTER OWNER TO</></>
|
and <link linkend="SQL-ALTERTYPE"><command>ALTER OWNER TO</></>
|
||||||
to properly reassign ownership of types, foreign data wrappers,
|
to properly update permissions lists (ACLs) when changing ownership of
|
||||||
and foreign servers (Bruce Momjian)
|
types, foreign data wrappers, and foreign servers (Bruce Momjian)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Remove server-side <acronym>GUC</> <varname>autocommit</>, which
|
Remove server configuration parameter <varname>autocommit</>, which
|
||||||
was already deprecated and non-operational (Tom Lane)
|
was already deprecated and non-operational (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Remove <link
|
Remove <link linkend="catalog-pg-authid"><structname>pg_authid</></>'s
|
||||||
linkend="catalog-pg-authid"><structname>pg_authid</>.<structname>rolcatupdate</></>,
|
<structfield>rolcatupdate</> field, as it had no value (Adam Brightwell)
|
||||||
as it had no purpose (Adam Brightwell)
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -134,9 +149,9 @@
|
|||||||
<title>Changes</title>
|
<title>Changes</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Below you will find a detailed account of the changes between
|
Below you will find a detailed account of the changes between
|
||||||
<productname>PostgreSQL</productname> 9.5 and the previous major
|
<productname>PostgreSQL</productname> 9.5 and the previous major
|
||||||
release.
|
release.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
@ -184,22 +199,21 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <acronym>GUC</> <link
|
Add configuration parameter <xref linkend="guc-gin-pending-list-limit">
|
||||||
linkend="guc-gin-pending-list-limit"><varname>gin_pending_list_limit</></>
|
|
||||||
to control the size of <acronym>GIN</> pending lists (Fujii Masao)
|
to control the size of <acronym>GIN</> pending lists (Fujii Masao)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Previously this was controlled by <link
|
Previously the list size was controlled
|
||||||
linkend="guc-work-mem"><varname>work_mem</></>. This can also
|
by <xref linkend="guc-work-mem">. This can also be set as an index
|
||||||
be set as an index storage parameter.
|
storage parameter.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Issue a warning during the creation of <link
|
Issue a warning during the creation of <link
|
||||||
linkend="SQL-CREATEINDEX">hash</> indexes because they are not
|
linkend="indexes-types">hash</> indexes because they are not
|
||||||
crash-safe (Bruce Momjian)
|
crash-safe (Bruce Momjian)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -237,8 +251,8 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Improve concurrency of <link linkend="guc-shared-buffers">shared
|
Improve concurrency of shared buffer replacement
|
||||||
buffer</> replacement (Robert Haas, Amit Kapila)
|
(Robert Haas, Amit Kapila)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -269,11 +283,6 @@
|
|||||||
Speed up <acronym>CRC</> (cyclic redundancy check) computations
|
Speed up <acronym>CRC</> (cyclic redundancy check) computations
|
||||||
(Abhijit Menon-Sen, Heikki Linnakangas)
|
(Abhijit Menon-Sen, Heikki Linnakangas)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
Also use <acronym>CPU</> instructions for <acronym>CRC</>
|
|
||||||
calculations, if supported
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -298,25 +307,23 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <acronym>GUC</> variable <link
|
Add new configuration parameter <xref linkend="guc-cluster-name">
|
||||||
linkend="guc-cluster-name"><varname>cluster_name</></> (Thomas
|
(Thomas Munro)
|
||||||
Munro)
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This string, set in <link
|
This string, typically set in <link
|
||||||
linkend="config-setting-configuration-file"><filename>postgresql.conf</></>,
|
linkend="config-setting-configuration-file"><filename>postgresql.conf</></>,
|
||||||
allows clients to query the cluster name. This name also appears
|
allows clients to identify the cluster. This name also appears
|
||||||
in the process title, allowing for easier grouping of processes
|
in the process title of all server processes, allowing for easier
|
||||||
belonging to the same cluster.
|
identification of processes belonging to the same cluster.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Prevent non-superusers from changing <link
|
Prevent non-superusers from changing <xref
|
||||||
linkend="guc-log-disconnections"><varname>log_disconnections</></>
|
linkend="guc-log-disconnections"> on connection startup (Fujii Masao)
|
||||||
on connection startup (Fujii Masao)
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -337,7 +344,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Their presence replaces checks against the certificate's
|
When they are present, this replaces checks against the certificate's
|
||||||
<quote>Common Name</>.
|
<quote>Common Name</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -359,7 +366,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
While <link linkend="libpq-pqgetssl"><function>PQgetssl()</></>
|
While <link linkend="libpq-pqgetssl"><function>PQgetssl()</></>
|
||||||
can still be used to then call <productname>OpenSSL</>
|
can still be used to call <productname>OpenSSL</>
|
||||||
functions, <function>PQsslAttribute()</> returns <acronym>SSL</>
|
functions, <function>PQsslAttribute()</> returns <acronym>SSL</>
|
||||||
information in an <acronym>SSL</>-implementation-independent way.
|
information in an <acronym>SSL</>-implementation-independent way.
|
||||||
(Future versions of libpq might support other <acronym>SSL</>
|
(Future versions of libpq might support other <acronym>SSL</>
|
||||||
@ -369,7 +376,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Have <application>libpq</> honor any <productname>OpenSSL</>
|
Make <application>libpq</> honor any <productname>OpenSSL</>
|
||||||
thread callbacks (Jan Urbanski)
|
thread callbacks (Jan Urbanski)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -389,10 +396,9 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Replace <varname>checkpoint_segments</> with <link
|
Replace configuration parameter <varname>checkpoint_segments</>
|
||||||
linkend="guc-min-wal-size"><varname>min_wal_size</></> and
|
with <xref linkend="guc-min-wal-size">
|
||||||
<link linkend="guc-max-wal-size"><varname>max_wal_size</></>
|
and <xref linkend="guc-max-wal-size"> (Heikki Linnakangas)
|
||||||
(Heikki Linnakangas)
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -403,18 +409,17 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <acronym>GUC</> <link
|
Add configuration parameter <xref linkend="guc-wal-compression"> to
|
||||||
linkend="guc-wal-compression"><varname>wal_compression</></> to
|
control compression of full page images stored in <acronym>WAL</>
|
||||||
enable compression of full page images stored in <acronym>WAL</>
|
|
||||||
(Rahila Syed, Michael Paquier)
|
(Rahila Syed, Michael Paquier)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow the recording of transaction
|
Allow recording of transaction
|
||||||
commit timestamps when <acronym>GUC</> <link
|
commit timestamps when configuration parameter <xref
|
||||||
linkend="guc-track-commit-timestamp"><varname>track_commit_timestamp</></>
|
linkend="guc-track-commit-timestamp">
|
||||||
is enabled (Álvaro Herrera, Petr Jelínek)
|
is enabled (Álvaro Herrera, Petr Jelínek)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -427,10 +432,8 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow <link
|
Allow <xref linkend="guc-local-preload-libraries"> to be set
|
||||||
linkend="guc-local-preload-libraries"><varname>local_preload_libraries</></>
|
by <command>ALTER ROLE SET</> (Peter Eisentraut, Kyotaro Horiguchi)
|
||||||
to be set by <command>ALTER ROLE SET</> (Peter Eisentraut,
|
|
||||||
Kyotaro Horiguchi)
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -443,24 +446,22 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Make <acronym>GUC</> <link
|
Make configuration parameter <xref linkend="guc-debug-assertions">
|
||||||
linkend="guc-debug-assertions"><varname>debug_assertions</></>
|
|
||||||
read-only (Andres Freund)
|
read-only (Andres Freund)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This means that assertions can no longer be turned
|
This means that assertions can no longer be turned
|
||||||
off once enabled at compile-time, allowing for more
|
off if they were enabled at compile time, allowing for more
|
||||||
efficient code optimization. This also removed the <link
|
efficient code optimization. This change also removed the <link
|
||||||
linkend="app-postgres-options">postgres</> <option>-A</> option.
|
linkend="app-postgres-options">postgres</> <option>-A</> option.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow setting <link
|
Allow setting <xref linkend="guc-effective-io-concurrency"> on
|
||||||
linkend="guc-effective-io-concurrency"><varname>effective_io_concurrency</></>
|
systems where it has no effect (Peter Eisentraut)
|
||||||
on systems where it has no effect (Peter Eisentraut)
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -470,12 +471,12 @@
|
|||||||
linkend="linux-memory-overcommit"><envar>PG_OOM_ADJUST_FILE</></>
|
linkend="linux-memory-overcommit"><envar>PG_OOM_ADJUST_FILE</></>
|
||||||
and <link
|
and <link
|
||||||
linkend="linux-memory-overcommit"><envar>PG_OOM_ADJUST_VALUE</></>
|
linkend="linux-memory-overcommit"><envar>PG_OOM_ADJUST_VALUE</></>
|
||||||
to control Linux <acronym>OOM</> killer (Gurjeet Singh)
|
to help control the Linux <acronym>OOM</> killer (Gurjeet Singh)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The previous <acronym>OOM</> control involved a compile-time
|
The previous <acronym>OOM</> control infrastructure involved a
|
||||||
option.
|
compile-time option.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -528,15 +529,13 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<acronym>GUC</> <varname>pause_at_recovery_target</> was also
|
This replaces the old parameter <varname>pause_at_recovery_target</>.
|
||||||
removed.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link linkend="guc-archive-mode"><varname>archive_mode</></>
|
Add new <xref linkend="guc-archive-mode"> value
|
||||||
<literal>always</> to allow standbys to always archive received
|
<literal>always</> to allow standbys to always archive received
|
||||||
<acronym>WAL</> files (Fujii Masao)
|
<acronym>WAL</> files (Fujii Masao)
|
||||||
</para>
|
</para>
|
||||||
@ -544,10 +543,10 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <acronym>GUC</> <link
|
Add configuration
|
||||||
linkend="guc-wal-retrieve-retry-interval"><varname>wal_retrieve_retry_interval</></>
|
parameter <xref linkend="guc-wal-retrieve-retry-interval"> to
|
||||||
to control <acronym>WAL</> read retry after failure (Alexey
|
control <acronym>WAL</> read retry after failure
|
||||||
Vasiliev, Michael Paquier)
|
(Alexey Vasiliev, Michael Paquier)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -564,23 +563,22 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <acronym>GUC</> <link
|
Add configuration parameter <xref
|
||||||
linkend="guc-log-replication-commands"><varname>log_replication_commands</></>
|
linkend="guc-log-replication-commands">
|
||||||
to log replication commands (Fujii Masao)
|
to log replication commands (Fujii Masao)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
By default, replication commands, e.g. <link
|
By default, replication commands, e.g. <link
|
||||||
linkend="protocol-replication"><literal>IDENTIFY_SYSTEM</></>,
|
linkend="protocol-replication"><literal>IDENTIFY_SYSTEM</></>,
|
||||||
are not logged, even when <link
|
are not logged, even when <xref linkend="guc-log-statement"> is set
|
||||||
linkend="guc-log-statement"><varname>log_statement</></> is set
|
|
||||||
to <literal>all</>.
|
to <literal>all</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow the <link linkend="pg-replication-origin-create">labeling</>
|
Allow <link linkend="pg-replication-origin-create">labeling</>
|
||||||
of the origin of logical replication changes (Andres Freund)
|
of the origin of logical replication changes (Andres Freund)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -591,7 +589,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Report the backends holding replication slots in <link
|
Report the processes holding replication slots in <link
|
||||||
linkend="catalog-pg-replication-slots"><structname>pg_replication_slots</></>
|
linkend="catalog-pg-replication-slots"><structname>pg_replication_slots</></>
|
||||||
(Craig Ringer)
|
(Craig Ringer)
|
||||||
</para>
|
</para>
|
||||||
@ -896,10 +894,8 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This allows the creation of local foreign tables definitions
|
This command allows automatic creation of local foreign tables
|
||||||
that match the remote table structure. Currently, only the
|
that match the structure of existing tables on a remote server.
|
||||||
<link linkend="postgres-fdw"><application>postgres_fdw</></>
|
|
||||||
foreign data wrapper supports this feature.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -922,9 +918,11 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
These checks are assumed to be enforced on the remote server,
|
These constraints are assumed to be enforced on the remote server,
|
||||||
and are not checked locally. However, they are considered for
|
and are not enforced locally. However, they are assumed to hold for
|
||||||
optimization and constraint-exclusion checking.
|
purposes of query optimization, such
|
||||||
|
as <link linkend="ddl-partitioning-constraint-exclusion">constraint
|
||||||
|
exclusion</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -946,9 +944,8 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link
|
Add a set-returning function <link
|
||||||
linkend="pg-event-trigger-ddl-command-end-functions"><function>pg_event_trigger_ddl_commands</></>
|
linkend="pg-event-trigger-ddl-command-end-functions"><function>pg_event_trigger_ddl_commands()</></>, which returns <acronym>DDL</> activity
|
||||||
set-returning function, which returns <acronym>DDL</> activity
|
|
||||||
associated with event triggers (Álvaro Herrera)
|
associated with event triggers (Álvaro Herrera)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1015,8 +1012,8 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Previously the namespace was not returned, leading to invalid
|
Previously the namespace was not returned, potentially leading to
|
||||||
<type>XML</>.
|
invalid <type>XML</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1029,7 +1026,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Tighten specification of <link
|
Tighten syntax of <link
|
||||||
linkend="datatype-interval-input"><type>INTERVAL</></> precision
|
linkend="datatype-interval-input"><type>INTERVAL</></> precision
|
||||||
specifications (Bruce Momjian)
|
specifications (Bruce Momjian)
|
||||||
</para>
|
</para>
|
||||||
@ -1061,19 +1058,19 @@
|
|||||||
Add <type>JSONB</> functions <link
|
Add <type>JSONB</> functions <link
|
||||||
linkend="functions-json-processing-table"><function>jsonb_set()</></>
|
linkend="functions-json-processing-table"><function>jsonb_set()</></>
|
||||||
and <link
|
and <link
|
||||||
linkend="functions-json-processing-table"><function>jsonb_pretty</></>
|
linkend="functions-json-processing-table"><function>jsonb_pretty()</></>
|
||||||
(Dmitry Dolgov, Andrew Dunstan, Petr Jelínek)
|
(Dmitry Dolgov, Andrew Dunstan, Petr Jelínek)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add several generator functions for <type>JSONB</> that exist
|
Add several generator functions for <type>JSONB</> that already
|
||||||
for <type>JSON</> (Andrew Dunstan)
|
existed for <type>JSON</> (Andrew Dunstan)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The functions are <link
|
These are <link
|
||||||
linkend="functions-json-creation-table"><function>to_jsonb()</></>,
|
linkend="functions-json-creation-table"><function>to_jsonb()</></>,
|
||||||
<link
|
<link
|
||||||
linkend="functions-json-creation-table"><function>jsonb_object()</></>,
|
linkend="functions-json-creation-table"><function>jsonb_object()</></>,
|
||||||
@ -1182,10 +1179,10 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link
|
Add a <link
|
||||||
linkend="functions-math-func-table"><function>width_bucket()</></>
|
linkend="functions-math-func-table"><function>width_bucket()</></>
|
||||||
which supports any sortable data type and non-uniform bucket widths
|
variant that supports any sortable data type and non-uniform bucket
|
||||||
(Petr Jelínek)
|
widths (Petr Jelínek)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1196,9 +1193,10 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
User-defined <literal>=></> operators have been issuing
|
Previously only <literal>:=</> could be used. This requires removing
|
||||||
warnings since Postgres 9.0, and were removed in hstore in 9.2.
|
the possibility for <literal>=></> to be a user-defined operator.
|
||||||
Previously only <literal>:=</> could be used.
|
Creation of user-defined <literal>=></> operators has been issuing
|
||||||
|
warnings since Postgres 9.0.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1236,18 +1234,18 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Loosen security checks for viewing <link
|
Loosen security checks for viewing queries in <link
|
||||||
linkend="pg-stat-activity-view"><structname>pg_stat_activity</></>,
|
linkend="pg-stat-activity-view"><structname>pg_stat_activity</></>,
|
||||||
<link
|
executing <link
|
||||||
linkend="functions-admin-signal-table"><function>pg_cancel_backend()</></>,
|
linkend="functions-admin-signal-table"><function>pg_cancel_backend()</></>,
|
||||||
and <link
|
and executing <link
|
||||||
linkend="functions-admin-signal-table"><function>pg_terminate_backend</></>
|
linkend="functions-admin-signal-table"><function>pg_terminate_backend()</></>
|
||||||
(Stephen Frost)
|
(Stephen Frost)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Now, role membership is sufficient; previously only the same
|
Now, role membership is sufficient; previously only the same
|
||||||
role could perform such operations.
|
role could perform these operations.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1347,17 +1345,17 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add specification of conversion routines to/from <acronym>SQL</>
|
Allow specification of conversion routines between <acronym>SQL</>
|
||||||
data types to procedural languages data types (Peter Eisentraut)
|
data types and data types of procedural languages (Peter Eisentraut)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This adds new commands <link
|
This change adds new commands <link
|
||||||
linkend="SQL-CREATETRANSFORM"><command>CREATE</></>/<link
|
linkend="SQL-CREATETRANSFORM"><command>CREATE</></>/<link
|
||||||
linkend="SQL-DROPTRANSFORM"><command>DROP TRANSFORM</></>.
|
linkend="SQL-DROPTRANSFORM"><command>DROP TRANSFORM</></>.
|
||||||
This also adds transformations between <link
|
This also adds optional transformations between the <link
|
||||||
linkend="hstore"><application>hstore</></> and <link
|
linkend="hstore"><application>hstore</></> and <link
|
||||||
linkend="ltree"><application>ltree</></> to/from <link
|
linkend="ltree"><application>ltree</></> types to/from <link
|
||||||
linkend="plperl"><application>PL/Perl</></> and <link
|
linkend="plperl"><application>PL/Perl</></> and <link
|
||||||
linkend="plpython"><application>PL/Python</></>.
|
linkend="plpython"><application>PL/Python</></>.
|
||||||
</para>
|
</para>
|
||||||
@ -1413,6 +1411,14 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add <link linkend="app-pgrewind"><application>pg_rewind</></>,
|
||||||
|
which allows re-synchronizing a master server after failback
|
||||||
|
(Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow <link
|
Allow <link
|
||||||
@ -1456,11 +1462,17 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Have <link
|
Make <link linkend="app-pgbasebackup"><application>pg_basebackup</></>
|
||||||
linkend="app-pgbasebackup"><application>pg_basebackup</></> use
|
use a tablespace mapping file when using <application>tar</> format,
|
||||||
a tablespace mapping file with the <application>tar</> format,
|
to support symbolic links and file paths of 100+ characters in length
|
||||||
to handle file paths of 100+ characters in length and sybolic
|
on <systemitem class="osname">MS Windows</> (Amit Kapila)
|
||||||
links on <systemitem class="osname">MS Windows</> (Amit Kapila)
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add <link linkend="pgxlogdump"><application>pg_xlogdump</></> option
|
||||||
|
<option>--stats</> to display summary statistics (Abhijit Menon-Sen)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1515,7 +1527,7 @@
|
|||||||
<para>
|
<para>
|
||||||
Add <application>psql</> setting <link
|
Add <application>psql</> setting <link
|
||||||
linkend="APP-PSQL-meta-commands"><varname>pager_min_lines</></>
|
linkend="APP-PSQL-meta-commands"><varname>pager_min_lines</></>
|
||||||
setting to control pager invocation (Andrew Dunstan)
|
to control pager invocation (Andrew Dunstan)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1529,7 +1541,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <application>psql</> tab completion when setting the
|
Add <application>psql</> tab completion when setting the
|
||||||
<varname>search_path</> variable (Jeff Janes)
|
<xref linkend="guc-search-path"> variable (Jeff Janes)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -1539,7 +1551,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Improve <application>psql</> tab-completion for triggers and rules
|
Improve <application>psql</>'s tab completion for triggers and rules
|
||||||
(Andreas Karlsson)
|
(Andreas Karlsson)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1581,7 +1593,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow <application>psql</> <command>\watch</> to output
|
Allow <application>psql</>'s <command>\watch</> to output
|
||||||
<command>\timing</> information (Fujii Masao)
|
<command>\timing</> information (Fujii Masao)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -1608,8 +1620,8 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow tab completion of <application>psql</> <literal>\c</>
|
Allow tab completion of role names
|
||||||
role names (Ian Barwick)
|
in <application>psql</> <literal>\c</> commands (Ian Barwick)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1662,7 +1674,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Change <application>pg_ctl</> default shutdown mode from
|
Change <application>pg_ctl</>'s default shutdown mode from
|
||||||
<literal>smart</> to <literal>fast</> (Bruce Momjian)
|
<literal>smart</> to <literal>fast</> (Bruce Momjian)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1740,6 +1752,47 @@
|
|||||||
|
|
||||||
</sect4>
|
</sect4>
|
||||||
|
|
||||||
|
<sect4>
|
||||||
|
<title><xref linkend="pgbench"></title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Move pgbench from <filename>contrib</> to <filename>src/bin</>
|
||||||
|
(Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow counting of pgbench transactions that take over a specified
|
||||||
|
amount of time (Fabien Coelho)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is controlled by new <option>--latency-limit</> option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow pgbench to generate Gaussian/exponential distributions
|
||||||
|
using <command>\setrandom</> (Kondo Mitsumasa, Fabien Coelho)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow <application>pgbench</>'s <command>\set</> command to handle
|
||||||
|
multi-operator expressions (Robert Haas, Fabien Coelho)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect4>
|
||||||
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
@ -1797,7 +1850,8 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Improve dynahash capabilities (Teodor Sigaev, Tom Lane)
|
Improve <function>hash_create()</>'s API for selecting
|
||||||
|
simple-binary-key hash functions (Teodor Sigaev, Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1841,15 +1895,16 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Change columns <link
|
Change index opclass for columns <link
|
||||||
linkend="catalog-pg-seclabel"><structname>pg_seclabel</></>.<structname>provider</>
|
linkend="catalog-pg-seclabel"><structname>pg_seclabel</></>.<structname>provider</>
|
||||||
and <link
|
and <link
|
||||||
linkend="catalog-pg-seclabel"><structname>pg_shseclabel</></>.<structname>provider</>
|
linkend="catalog-pg-shseclabel"><structname>pg_shseclabel</></>.<structname>provider</>
|
||||||
to <type>TEXT</> (Tom Lane)
|
to be <literal>text_pattern_ops</> (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This allows these columns to store 64+ characters.
|
This avoids possible problems with these indexes when different
|
||||||
|
databases of a cluster have different default collations.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1933,14 +1988,6 @@
|
|||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Add <link linkend="app-pgrewind"><application>pg_rewind</></>,
|
|
||||||
which allows re-synchronizing a master server after failback
|
|
||||||
(Heikki Linnakangas)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add statistics for minimum, maximum,
|
Add statistics for minimum, maximum,
|
||||||
@ -1994,14 +2041,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link linkend="pgxlogdump"><application>pg_xlogdump</></> option
|
Add <link linkend="GIN"><acronym>GIN</></>
|
||||||
<option>--stats</> to display summary statistics (Abhijit Menon-Sen)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Allow <link linkend="GIN"><acronym>GIN</></>
|
|
||||||
index inspection functions to <link
|
index inspection functions to <link
|
||||||
linkend="pageinspect"><application>pageinspect</></> (Heikki
|
linkend="pageinspect"><application>pageinspect</></> (Heikki
|
||||||
Linnakangas, Peter Geoghegan, Michael Paquier)
|
Linnakangas, Peter Geoghegan, Michael Paquier)
|
||||||
@ -2031,51 +2071,15 @@
|
|||||||
from <filename>contrib</> to <filename>src/test/modules</>
|
from <filename>contrib</> to <filename>src/test/modules</>
|
||||||
(Álvaro Herrera)
|
(Álvaro Herrera)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These modules are only meant for server testing, so they do not need
|
||||||
|
to be built or installed when packaging <productname>PostgreSQL</>.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<sect4>
|
|
||||||
<title><xref linkend="pgbench"></title>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Move pgbench from <filename>contrib</> to <filename>src/bin</>
|
|
||||||
(Peter Eisentraut)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Allow counting of pgbench transactions that take over a specified
|
|
||||||
amount of time (Fabien Coelho)
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This is controlled by new <option>--latency-limit</> option.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Allow pgbench to generate Gaussian/exponential distributions
|
|
||||||
using <command>\setrandom</> (Kondo Mitsumasa, Fabien Coelho)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Allow <application>pgbench</>'s <command>\set</> command to handle
|
|
||||||
multi-operator expressions (Robert Haas, Fabien Coelho)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
</sect4>
|
|
||||||
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
Loading…
Reference in New Issue
Block a user