@ -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-ALTERTABL E"><command>ALTER OWNER TO</></>
and <link linkend="SQL-ALTERTYP E"><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 l ist 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>
Hav e <application>libpq</> honor any <productname>OpenSSL</>
Mak e <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 in volved 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 backend s holding replication slots in <link
Report the processe s 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 function s 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 typ es (Peter Eisentraut)
data types and da ta 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 t o/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 name s (Ian Barwick)
in <application>psql</> <literal>\c</> command s (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-shs eclabel"><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>