Commit a64560d9 authored by Bruce Momjian's avatar Bruce Momjian

Add doc links to 9.4 release notes, and add major features list

parent 0f928a85
......@@ -3155,7 +3155,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
<sect2>
<sect2 id="datatype-line">
<title>Lines</title>
<indexterm>
......@@ -3187,7 +3187,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
<sect2>
<sect2 id="datatype-lseg">
<title>Line Segments</title>
<indexterm>
......@@ -3302,7 +3302,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
<sect2>
<sect2 id="datatype-polygon">
<title>Polygons</title>
<indexterm>
......@@ -3335,7 +3335,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
<sect2>
<sect2 id="datatype-circle">
<title>Circles</title>
<indexterm>
......
......@@ -23,6 +23,37 @@
<listitem>
<para>
Allow materialized views to be refreshed without blocking reads
</para>
</listitem>
<listitem>
<para>
Logical change-set extraction allows database
changes to be optionally recorded in <emphasis>logical</> format
</para>
</listitem>
<listitem>
<para>
Allow <link linkend="bgworker">background workers</link>
to be dynamically registered, started and terminated
</para>
</listitem>
<listitem>
<para>
Add structured (non-text) data type (<link
linkend="datatype-json"><type>JSONB</></link>) for storing
<type>JSON</> data
</para>
</listitem>
<listitem>
<para>
Add <acronym>SQL</>-level command <link
linkend="SQL-ALTERSYSTEM"><command>ALTER SYSTEM</></link> command
to edit the <filename>postgresql.conf</> configuration file
</para>
</listitem>
......@@ -54,41 +85,55 @@
<listitem>
<para>
Cause consecutive whitespace in <function>to_timestamp()</> and <function>to_date()</> format strings to consume a corresponding number of characters in the input
string (whitespace or not), then conditionally additional adjacent whitespace if not in <literal>FX</> mode (Jeevan Chalke)
Cause consecutive whitespace in <link
linkend="functions-formatting-table"><function>to_timestamp()</></link>
and <function>to_date()</> format strings to consume a corresponding
number of characters in the input string (whitespace or not), then
conditionally additional adjacent whitespace if not in <literal>FX</>
mode (Jeevan Chalke)
</para>
<para>
Previously consecutive whitespace characters in a non-<literal>FX</> format string behaved like a single whitespace character and consumed all
adjacent whitespace in the input string. For example, previously format string space-space-space would consume only the first space in ' 12', while it will not consume all three characters.
Previously consecutive whitespace characters in a non-<literal>FX</>
format string behaved like a single whitespace character and consumed
all adjacent whitespace in the input string. For example, previously
format string space-space-space would consume only the first space in
' 12', while it will not consume all three characters.
</para>
</listitem>
<listitem>
<para>
Tighten checks for multi-dimensional array input (Bruce Momjian)
Tighten checks for multi-dimensional <link
linkend="arrays">array</link> input (Bruce Momjian)
</para>
<para>
Previously an input array string that started with a single-element array dimension could later contain multi-dimensional
segments.
Previously an input array string that started with a single-element
array dimension could later contain multi-dimensional segments,
e.g. <literal>'{{1}, {2,3}}'::int[]</>.
</para>
</listitem>
<listitem>
<para>
Change empty arrays returned by intarray to be zero-dimensional arrays (Bruce Momjian)
Change empty arrays returned by <application>intarray</> to be
zero-dimensional arrays (Bruce Momjian)
</para>
<para>
Previously empty arrays were returned as one-dimensional empty arrays whose text representation looks the same as
zero-dimensional arrays. intarray's behavior in this area now matches the built-in array operators.
Previously empty arrays were returned as one-dimensional empty arrays
whose text representation looked the same as zero-dimensional arrays
(<literal>{}</>). <application>intarray</>'s behavior in this area
now matches the built-in array operators.
</para>
</listitem>
<listitem>
<para>
NULL <literal>VARIADIC</> function arguments are now disallowed (Pavel Stehule)
NULL <link
linkend="xfunc-sql-variadic-functions"><literal>VARIADIC</></link>
function arguments are now disallowed (Pavel Stehule)
</para>
<para>
......@@ -98,17 +143,23 @@
<listitem>
<para>
<command>SHOW TIME ZONE</> now outputs constant time zone offsets in <acronym>POSIX</>-style zone format (Tom Lane)
<link linkend="SQL-SHOW"><command>SHOW TIME ZONE</></link> now
outputs constant time zone offsets in <acronym>POSIX</>-style zone
format (Tom Lane)
</para>
<para>
Previously it was returned in <type>INTERVAL</> format. The new format can be passed to <command>SET TIME ZONE</>.
Previously it was returned in <link
linkend="datatype-interval-output"><type>INTERVAL</></link> format.
The new format can be passed to <command>SET TIME ZONE</>.
</para>
</listitem>
<listitem>
<para>
Rename <command>EXPLAIN ANALYZE</>'s "total runtime" output to "execution time" (Tom Lane)
Rename <link linkend="SQL-EXPLAIN"><command>EXPLAIN
ANALYZE</></link>'s "total runtime" output to "execution time"
(Tom Lane)
</para>
<para>
......@@ -118,17 +169,23 @@
<listitem>
<para>
Fix <function>ts_rank_cd()</> to ignore stripped lexemes (Alex Hill)
Fix <link
linkend="textsearch-functions-table"><function>ts_rank_cd()</></link>
to ignore stripped lexemes (Alex Hill)
</para>
<para>
Previously, stripped lexemes got a default location and could be considered if mixed with non-stripped lexemes.
Previously, stripped lexemes got a default location and could be
considered if mixed with non-stripped lexemes.
</para>
</listitem>
<listitem>
<para>
Prevent <literal>CHECK</> constraints from referencing system columns, except tableoid (Amit Kapila)
Prevent <link
linkend="ddl-constraints-check-constraints"><literal>CHECK</></link>
constraints from referencing system columns, except
<structname>tableoid</> (Amit Kapila)
</para>
<para>
......@@ -138,54 +195,71 @@
<listitem>
<para>
Use the last specified <varname>recovery_target</> if multiple are specified (Heikki Linnakangas)
Use the last specified <link
linkend="recovery-target"><varname>recovery_target</></link> if
multiple are specified (Heikki Linnakangas)
</para>
</listitem>
<listitem>
<para>
Remove system column <structname>pg_class.reltoastidxid</> (Michael Paquier)
Remove system column <link
linkend="catalog-pg-class"><structname>pg_class.reltoastidxid</></link>
(Michael Paquier)
</para>
</listitem>
<listitem>
<para>
Remove support for native krb5 authentication (Magnus Hagander)
Remove support for native <application>krb5</> authentication
(Magnus Hagander)
</para>
<para>
The proper way to use Kerberos authentication is with <acronym>GSSAPI</>.
The proper way to use <application>Kerberos</> authentication is
with <acronym>GSSAPI</>.
</para>
</listitem>
<listitem>
<para>
Have libpq's <function>PQconnectdbParams()</> and <function>PQpingParams()</> functions accept "" as default (Adrian Vondendriesch)
Have libpq's <link
linkend="libpq-pqconnectdbparams"><function>PQconnectdbParams()</></link>
and <link
linkend="libpq-pqpingparams"><function>PQpingParams()</></link>
functions process zero-length strings as defaults (Adrian
Vondendriesch)
</para>
<para>
Previously, these functions treated "" option values as defaults only in some cases.
Previously, these functions treated zero-length string values as
defaults only in some cases.
</para>
</listitem>
<listitem>
<para>
Remove system column <structname>pg_rewrite.ev_attr</> (Kevin Grittner)
Remove system column <link
linkend="catalog-pg-rewrite"><structname>pg_rewrite.ev_attr</></link>
(Kevin Grittner)
</para>
<para>
Per-column rules have not been supported since 7.3.
Per-column rules have not been supported since
<application>PostgreSQL</> 7.3.
</para>
</listitem>
<listitem>
<para>
<application>Pg_upgrade</> now uses <option>-U</> to specify the user name (Bruce Momjian)
<link linkend="pgupgrade"><application>Pg_upgrade</></link> now
uses <option>-U</> to specify the user name (Bruce Momjian)
</para>
<para>
Previously, <option>-u</> was used to specify the user name. Also spell the long option as <option>--username</>, again for consistency with other
tools.
Previously, <option>-u</> was used to specify the user name.
Also spell the long option as <option>--username</>, again for
consistency with other tools.
</para>
</listitem>
......@@ -209,44 +283,57 @@
<listitem>
<para>
Have <command>VACUUM</> properly report dead but not removable rows to the statistics collector (Hari Babu)
Have <link linkend="SQL-VACUUM"><command>VACUUM</></link> properly
report dead but not removable rows to the statistics collector
(Hari Babu)
</para>
<para>
Previously these were reported as live rows.
</para>
</listitem>
<listitem>
<para>
Allow background workers to be dynamically registered, started and terminated (Robert Haas)
Allow <link linkend="bgworker">background workers</link> to be
dynamically registered, started and terminated (Robert Haas)
</para>
<para>
<function>worker_spi_launch()</> in <application>worker_spi</> shows an example of its use.
<function>worker_spi_launch()</> in <application>worker_spi</>
shows an example of its use.
</para>
</listitem>
<listitem>
<para>
Allow dynamic allocation of shared memory segments (Robert Haas, Amit Kapila)
Allow dynamic allocation of shared memory segments (Robert Haas,
Amit Kapila)
</para>
<para>
This is illustrated in <link
linkend="test-shm-mq"><application>test_shm_mq</></link>.
</para>
</listitem>
<listitem>
<para>
Improve <acronym>SSL</> renegotiation handling (&Aacute;lvaro Herrera)
Improve <acronym>SSL</> renegotiation handling (&Aacute;lvaro
Herrera)
</para>
</listitem>
<listitem>
<para>
During immediate shutdown, send uncatchable termination signals to child processes that have not already shutdown (MauMau,
During immediate shutdown, send uncatchable termination signals
to child processes that have not already shutdown (MauMau,
&Aacute;lvaro Herrera)
</para>
<para>
This reduces the likelihood of orphaned child processes after postmaster shutdown.
This reduces the likelihood of orphaned child processes after
<link linkend="app-postmaster"><application>postmaster</></link>
shutdown.
</para>
</listitem>
......@@ -265,28 +352,39 @@
<listitem>
<para>
Improve speed of multi-key <acronym>GIN</> lookups (Alexander Korotkov, Heikki Linnakangas)
Improve speed of multi-key <link
linkend="GIN"><acronym>GIN</></link> lookups (Alexander Korotkov,
Heikki Linnakangas)
</para>
</listitem>
<listitem>
<para>
Reduce <acronym>GIN</> index size (Alexander Korotkov, Heikki Linnakangas)
Reduce <link linkend="GIN"><acronym>GIN</></link> index size
(Alexander Korotkov, Heikki Linnakangas)
</para>
<para>
Indexes upgraded via <application>pg_upgrade</> will work fine but will use the old larger <acronym>GIN</> format; <command>REINDEX</> will recreate the index in the new
format.
Indexes upgraded via <link
linkend="pgupgrade"><application>pg_upgrade</></link> will work
fine but will use the old larger <acronym>GIN</> format; <link
linkend="SQL-REINDEX"><command>REINDEX</></link> will recreate
the index in the new format.
</para>
</listitem>
<listitem>
<para>
Add <acronym>GiST</> index support for <type>INET</> and <type>CIDR</> data types (Emre Hasegeli)
Add <link linkend="GiST"><acronym>GiST</></link> index support
for <link linkend="datatype-inet"><type>INET</></link> and
<link linkend="datatype-cidr"><type>CIDR</></link> data types
(Emre Hasegeli)
</para>
<para>
Such indexes improve subnet and supernet lookups and ordering comparisons.
Such indexes improve <link
linkend="cidr-inet-operators-table">subnet</link> and supernet
lookups and ordering comparisons.
</para>
</listitem>
......@@ -298,7 +396,8 @@
<listitem>
<para>
Make the handling of interrupted B-tree page splits more robust (Heikki Linnakangas)
Make the handling of interrupted B-tree page splits more robust
(Heikki Linnakangas)
</para>
</listitem>
......@@ -313,7 +412,8 @@
<listitem>
<para>
Allow multiple backends to simultaneously insert into <acronym>WAL</> buffers (Heikki Linnakangas)
Allow multiple backends to simultaneously insert into <link
linkend="wal"><acronym>WAL</></link> buffers (Heikki Linnakangas)
</para>
<para>
......@@ -323,29 +423,40 @@
<listitem>
<para>
Conditionally write only the modified portion of updated rows to <acronym>WAL</> (Amit Kapila)
Conditionally write only the modified portion of updated rows to
<link linkend="wal"><acronym>WAL</></link> (Amit Kapila)
</para>
</listitem>
<listitem>
<para>
Improve performance of <literal>WINDOW</> aggregate functions (David Rowley, Florian Pflug, Tom Lane)
Improve performance of <link
linkend="syntax-window-functions"><literal>WINDOW</></link>
aggregate functions (David Rowley, Florian Pflug, Tom Lane)
</para>
</listitem>
<listitem>
<para>
Improve speed of aggregates which use <type>NUMERIC</>s (Hadi Moshayedi)
Improve speed of aggregates which use <link
linkend="datatype-numeric"><type>NUMERIC</></link>s (Hadi
Moshayedi)
</para>
<para>
These include <function>sum()</>, <function>avg()</>, <function>stddev()</>, and <function>variance()</>.
These include <function>SUM()</>, <function>AVG()</>, <link
linkend="functions-aggregate-statistics-table"><function>STDDEV()</></link>,
and <function>VARIANCE()</>.
</para>
</listitem>
<listitem>
<para>
Freeze tuples when tables are written with <command>CLUSTER</> or <command>VACUUM FULL</> (Robert Haas, Andres Freund)
<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>
......@@ -355,31 +466,39 @@
<listitem>
<para>
Improve speed of <command>COPY</> with <literal>DEFAULT</> <function>nextval()</> columns (Simon Riggs)
Improve speed of <link linkend="SQL-COPY"><command>COPY</></link>
with <literal>DEFAULT</> <link
linkend="functions-sequence-table"><function>nextval()</></link>
columns (Simon Riggs)
</para>
</listitem>
<listitem>
<para>
Improve speed of accesessing many different sequences in the same session (David Rowley)
Improve speed of accesessing many different <link
linkend="SQL-CREATESEQUENCE">sequences</link> in the same session
(David Rowley)
</para>
</listitem>
<listitem>
<para>
Allow sorting and btree index builds to use over four gigabytes of memory (Noah Misch)
Allow sorting and B-tree <link linkend="SQL-CREATEINDEX">index
builds</link> to use over four gigabytes of memory (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Reduce memory allocated by <literal>DO</> blocks (Tom Lane)
Reduce memory allocated by <link
linkend="SQL-DO"><literal>DO</></link> blocks (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Have the optimizer be more aggressive in creating restrictions from mixed <literal>AND</>/<literal>OR</> clauses (Tom Lane)
Have the optimizer be more aggressive in creating restrictions
from mixed <literal>AND</>/<literal>OR</> clauses (Tom Lane)
</para>
</listitem>
......@@ -389,8 +508,8 @@
</para>
<para>
This reduces memory consumption for backends accessing only a few tables, and improves performance for backend accessing many
tables.
This reduces memory consumption for backends accessing only a few
tables, and improves performance for backend accessing many tables.
</para>
</listitem>
......@@ -405,23 +524,34 @@
<listitem>
<para>
Expose the estimation of number of changed tuples since last analyze (Mark Kirkwood)
Expose the estimation of number of changed tuples since last <link
linkend="vacuum-for-statistics">analyze</link> (Mark Kirkwood)
</para>
<para>
This appears in <structname>pg_stat_all_tables.n_mod_since_analyze</>.
This appears in <link
linkend="pg-stat-all-tables-view"><structname>pg_stat_all_tables.n_mod_since_analyze</></link>.
</para>
</listitem>
<listitem>
<para>
Add <structname>pg_stat_archiver</> system view to report <acronym>WAL</> archiver activity (Gabriele Bartolini)
Add <link
linkend="pg-stat-archiver-view"><structname>pg_stat_archiver</></link>
system view to report <link linkend="wal"><acronym>WAL</></link>
archiver activity (Gabriele Bartolini)
</para>
</listitem>
<listitem>
<para>
Add xid and xmin to system views <structname>pg_stat_activity</> and <structname>pg_stat_replication</> (Christian Kruse)
Add <structname>xid</> and <link
linkend="ddl-system-columns"><structname>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>
......@@ -436,34 +566,43 @@
<listitem>
<para>
Add support for <acronym>SSL</> <acronym>ECDH</> key exchange (Marko Kreen)
Add support for <acronym>SSL</> <acronym>ECDH</> key exchange
(Marko Kreen)
</para>
<para>
Such keys are faster and have improved security over previous options. New variable <varname>ssl_ecdh_curve</> controls the curve that is
used.
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>
<listitem>
<para>
Improve the default <varname>ssl_ciphers</> ciphers (Marko Kreen)
Improve the default <link
linkend="guc-ssl-ciphers"><varname>ssl_ciphers</></link> ciphers
(Marko Kreen)
</para>
</listitem>
<listitem>
<para>
Allow the server to specify the preferred <acronym>SSL</> cipher order (Marko Kreen)
Allow the server to specify the preferred <acronym>SSL</> cipher
order (Marko Kreen)
</para>
<para>
This is controlled by the new configuration parameter <varname>ssl_prefer_server_ciphers</>.
This is controlled by the new configuration parameter <link
linkend="guc-ssl-prefer-server-ciphers"><varname>ssl_prefer_server_ciphers</></link>.
</para>
</listitem>
<listitem>
<para>
Have <varname>log_connections</> show <acronym>SSL</> encryption information (Andreas Kunert)
Have <link
linkend="guc-log-connections"><varname>log_connections</></link>
show <acronym>SSL</> encryption information (Andreas Kunert)
</para>
</listitem>
......@@ -478,18 +617,23 @@
<listitem>
<para>
Add <acronym>SQL</>-level command <command>ALTER SYSTEM</> command to edit the <filename>postgresql.conf</> configuration file (Amit Kapila)
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.
Previously <filename>postgresql.conf</> could only be edited at
the file system level.
</para>
</listitem>
<listitem>
<para>
Add <varname>huge_pages</> configuration parameter to use huge memory pages on Linux (Christian Kruse,
Richard Poole, Abhijit Menon-Sen)
Add <link linkend="guc-huge-pages"><varname>huge_pages</></link>
configuration parameter to use huge memory pages on Linux
(Christian Kruse, Richard Poole, Abhijit Menon-Sen)
</para>
<para>
......@@ -499,72 +643,97 @@
<listitem>
<para>
Show <acronym>PID</>s of lock holders and waiters and improve relation
information in <varname>log_lock_waits</> log messages (Christian Kruse)
Show <acronym>PID</>s of lock holders and
waiters and improve relation information in <link
linkend="guc-log-lock-waits"><varname>log_lock_waits</></link>
log messages (Christian Kruse)
</para>
</listitem>
<listitem>
<para>
Add parameter <varname>autovacuum_work_mem</> to control the amount of memory used by autovacuum workers (Peter Geoghegan)
Add parameter <link
linkend="guc-autovacuum-work-mem"><varname>autovacuum_work_mem</></link>
to control the amount of memory used by autovacuum workers
(Peter Geoghegan)
</para>
</listitem>
<listitem>
<para>
Add <varname>max_worker_processes</> to limit the number of background workers (Robert Haas)
Add <link
linkend="guc-max-worker-processes"><varname>max_worker_processes</></link>
to limit the number of background workers (Robert Haas)
</para>
<para>
This is helpful in configuring the standby server to have the required same number of worker processes as the primary.
This is helpful in configuring the standby server to have the
required same number of worker processes as the primary.
</para>
</listitem>
<listitem>
<para>
Add configuration parameter <varname>wal_log_hints</> to enable logging of hint bits (Sawada Masahiko)
Add configuration parameter <link
linkend="guc-wal-log-hints"><varname>wal_log_hints</></link>
to enable logging of hint bits (Sawada Masahiko)
</para>
<para>
Hint bits are not normally logged, except when checksums are enabled. This is useful for tools like <application>pg_rewind</>.
Hint bits are not normally logged, except when checksums are
enabled. This is useful for tools like <application>pg_rewind</>.
</para>
</listitem>
<listitem>
<para>
Allow printf-style space padding to be specified in <varname>log_line_prefix</> (David Rowley)
Allow printf-style space padding to be specified in <link
linkend="guc-log-line-prefix"><varname>log_line_prefix</></link>
(David Rowley)
</para>
</listitem>
<listitem>
<para>
Add superuser-only <varname>session_preload_libraries</> configuration parameter to load libraries at session start (Peter Eisentraut)
Add superuser-only <link
linkend="guc-session-preload-libraries"><varname>session_preload_libraries</></link>
configuration parameter to load libraries at session start
(Peter Eisentraut)
</para>
<para>
Such libraries are auto-<command>LOAD</>'ed, unlike <varname>local_preload_libraries</>.
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>
<listitem>
<para>
Reduce server logging level when loading shared libraries (Peter Geoghegan)
Reduce server logging level when loading shared libraries (Peter
Geoghegan)
</para>
<para>
The previous level was <literal>LOG</>, which was too verbose for per-session libraries.
The previous level was <literal>LOG</>, which was too verbose
for per-session libraries.
</para>
</listitem>
<listitem>
<para>
Auto-tune <varname>effective_cache_size</> to be four-times shared buffers (Bruce Momjian, Tom Lane)
Auto-tune <link
linkend="guc-effective-cache-size"><varname>effective_cache_size</></link>
to be four-times shared buffers (Bruce Momjian, Tom Lane)
</para>
</listitem>
<listitem>
<para>
Increase <varname>work_mem</> and <varname>maintenance_work_mem</> defaults by four-times (Bruce Momjian)
Increase <link
linkend="guc-work-mem"><varname>work_mem</></link> and <link
linkend="guc-maintenance-work-mem"><varname>maintenance_work_mem</></link>
defaults by four-times (Bruce Momjian)
</para>
<para>
......@@ -574,18 +743,22 @@
<listitem>
<para>
Allow terabyte units to be specified for configuration variable values (Simon Riggs)
Allow terabyte units to be specified for configuration variable
values (Simon Riggs)
</para>
</listitem>
<listitem>
<para>
Have Windows <acronym>ASCII</>-encoded databases and server process (e.g. postmaster) emit messages in the <envar>LC_CTYPE</>-defined language (Alexander Law,
Have Windows <acronym>ASCII</>-encoded databases and server process
(e.g. <link linkend="app-postmaster">postmaster) emit messages
in the <envar>LC_CTYPE</></link>-defined language (Alexander Law,
Noah Misch)
</para>
<para>
Previously these messages were output using the Windows <acronym>ANSI</> code page.
Previously these messages were output using the Windows
<acronym>ANSI</> code page.
</para>
</listitem>
......@@ -602,20 +775,29 @@
<listitem>
<para>
Allow <filename>recovery.conf</> parameter <varname>min_recovery_apply_delay</> to force delayed replication (Robert
Haas, Fabr&iacute;zio de Royes Mello, Simon Riggs)
Allow <link
linkend="recovery-config"><filename>recovery.conf</></link>
parameter <link
linkend="min-recovery-apply-delay"><varname>min_recovery_apply_delay</></link>
to force delayed replication (Robert Haas, Fabr&iacute;zio de
Royes Mello, Simon Riggs)
</para>
<para>
This is useful for delaying replaying of user errors on standby servers.
This is useful for delaying replaying of user errors on standby
servers.
</para>
</listitem>
<listitem>
<para>
Add <varname>recovery_target</> option <option>immediate</> option to replay <acronym>WAL</> stop recovery when a consistent state is reached, i.e.
<function>pg_stop_backup()</> (MauMau,
Heikki Linnakangas)
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>
......@@ -625,14 +807,20 @@
</para>
<para>
The timestamp reported by <function>pg_last_xact_replay_timestamp()</> now shows information about committed records, not commits being
replayed. Recovering to restore points now replay the restore point, rather than stop just before the restore point.
The timestamp reported by <link
linkend="functions-recovery-info-table"><function>pg_last_xact_replay_timestamp()</></link>
now shows information about 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>
<listitem>
<para>
<function>pg_switch_xlog()</> now clears the trailing unused space in the <acronym>WAL</> file (Heikki Linnakangas)
<link
linkend="functions-admin-backup-table"><function>pg_switch_xlog()</></link>
now clears the trailing unused space in the <acronym>WAL</> file
(Heikki Linnakangas)
</para>
<para>
......@@ -642,30 +830,37 @@
<listitem>
<para>
Add replication slots to report the <acronym>WAL</> activity on streaming standbys (Andres Freund, Robert Haas)
Add <link linkend="streaming-replication-slots">replication
slots</link> to report the <acronym>WAL</> activity on streaming
standbys (Andres Freund, Robert Haas)
</para>
<para>
Replication slots allow preservation of resources like <acronym>WAL</> files on the
primary that are needed by standby servers.
Replication slots allow preservation of resources like
<acronym>WAL</> files on the primary that are needed by standby
servers.
</para>
</listitem>
<listitem>
<para>
Reduce spinlock contention during <acronym>WAL</> replay (Heikki Linnakangas)
Reduce spinlock contention during <acronym>WAL</> replay (Heikki
Linnakangas)
</para>
</listitem>
<listitem>
<para>
Report failure return codes from external recovery commands (Peter Eisentraut)
Report failure return codes from <link
linkend="archive-recovery-settings">external recovery commands</>
(Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Write <acronym>WAL</> records of running transactions more frequently (Andres Freund)
Write <acronym>WAL</> records of running transactions more
frequently (Andres Freund)
</para>
<para>
......@@ -677,55 +872,70 @@
</itemizedlist>
<sect4>
<title>Logical Change-Set Extraction</title>
<title><link linkend="logicaldecoding">Logical Change-Set Extraction</></title>
<para>
The new Logical change-set extraction feature allows database
Logical change-set extraction allows database
changes to be optionally recorded in <emphasis>logical</> format
in the <acronym>WAL</>. 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:
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 "logical" <varname>wal_level</> to enable logical change-set encoding in <acronym>WAL</> (Andres Freund)
Add new <option>logical</> <link
linkend="guc-wal-level"><varname>wal_level</></link> to enable
logical change-set encoding in <acronym>WAL</> (Andres Freund)
</para>
<para>
This interacts with <literal>REPLICA IDENTITY</>.
This interacts with <link
linkend="catalog-pg-class"><literal>REPLICA IDENTITY</></link>.
</para>
</listitem>
<listitem>
<para>
Add tool <application>pg_recvlogical</> to receive data logical decoding data (Andres Freund)
Allow <link
linkend="app-pgreceivexlog"><application>pg_recvlogical</></link>
to receive data logical decoding data (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Add <application>test_decoding</> module to illustrate logical decoding at the <acronym>SQL</> level (Andres Freund)
Add <link
linkend="test-decoding"><application>test_decoding</></link>
module to illustrate logical decoding at the <acronym>SQL</>
level (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Allow logical decoding via the walsender interface ? (Andres Freund)
Allow logical decoding via the walsender interface ? (Andres
Freund)
</para>
</listitem>
<listitem>
<para>
Add table-level parameter <literal>REPLICA IDENTITY</> to control logical replication (Andres Freund)
Add table-level parameter <link
linkend="catalog-pg-class"><literal>REPLICA IDENTITY</></link>
to control logical replication (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Add relation option <option>user_catalog_table</> to identify user-created tables involved in logical change-set encoding (Andres Freund)
Add relation option <link
linkend="SQL-CREATETABLE-storage-parameters"><option>user_catalog_table</></link>
to identify user-created tables involved in logical change-set
encoding (Andres Freund)
</para>
</listitem>
......@@ -742,27 +952,34 @@
<listitem>
<para>
Add <literal>ROWS FROM</> syntax to allow horizontal concatenation of <literal>FROM</>-clause set-returning functions (Andrew Gierth)
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 <literal>WITH ORDINALITY</> which numbers rows returned from <literal>FROM</>-clause functions (Andrew Gierth, David Fetter)
Add <link linkend="queries-tablefunctions"><literal>WITH
ORDINALITY</></link> which numbers rows returned from
<literal>FROM</>-clause functions (Andrew Gierth, David Fetter)
</para>
<para>
This is particularly useful for functions like <function>unnest()</>.
This is particularly useful for functions like
<function>unnest()</>.
</para>
</listitem>
<listitem>
<para>
Allow <command>SELECT</> with an empty target list (Tom Lane)
Allow <link linkend="SQL-SELECT"><command>SELECT</></link> with
an empty target list (Tom Lane)
</para>
<para>
This was added for consistency, and so querying tables with no columns would not produce an error.
This was added for consistency, and so querying tables with no
columns would not produce an error.
</para>
</listitem>
......@@ -777,7 +994,9 @@
<listitem>
<para>
Add <command>DISCARD SEQUENCES</> command to discard cached sequence information (Fabr&iacute;zio de Royes Mello, Robert Haas)
Add <link linkend="SQL-DISCARD"><command>DISCARD
SEQUENCES</></link> command to discard cached sequence information
(Fabr&iacute;zio de Royes Mello, Robert Haas)
</para>
<para>
......@@ -788,47 +1007,55 @@
<listitem>
<para>
Allow quoted strings matching the null string to be converted
to NULL in <command>COPY FROM</> in <literal>CSV</> mode (Ian Barwick, Michael Paquier)
to NULL in <link linkend="SQL-COPY"><command>COPY FROM</></link>
in <literal>CSV</> mode (Ian Barwick, Michael Paquier)
</para>
<para>
Previously only unquoted matching strings would be imported as
NULLs.
Previously only unquoted matching strings would be imported
as NULLs.
</para>
</listitem>
<listitem>
<para>
Issue warnings for <command>SET</> outside of a transaction block, as they have no effect (Bruce Momjian)
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</>.
The cases are <literal>SET
LOCAL</>/<literal>CONSTRAINTS</>/<literal>TRANSACTION</> and
<literal>ABORT</>.
</para>
</listitem>
</itemizedlist>
<sect4>
<title><command>EXPLAIN</></title>
<title><link linkend="SQL-EXPLAIN"><command>EXPLAIN</></link></title>
<itemizedlist>
<listitem>
<para>
Have <command>EXPLAIN ANALYZE</> output planning time (Andreas Karlsson)
Have <command>EXPLAIN ANALYZE</> output planning time (Andreas
Karlsson)
</para>
</listitem>
<listitem>
<para>
Have <command>EXPLAIN</> print the grouping columns in Agg and Group nodes (Tom Lane)
Have <command>EXPLAIN</> print the grouping columns in Agg and
Group nodes (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Have <command>EXPLAIN ANALYZE</> show bitmap heap scan exact/lossy block information (Etsuro Fujita)
Have <command>EXPLAIN ANALYZE</> show bitmap heap scan exact/lossy
block information (Etsuro Fujita)
</para>
</listitem>
......@@ -843,38 +1070,48 @@
<listitem>
<para>
Allow materialized views to be refreshed without blocking reads (Kevin Grittner)
Allow materialized views to be refreshed without blocking reads
(Kevin Grittner)
</para>
<para>
This is done with <command>REFRESH MATERIALIZED VIEW CONCURRENTLY</>.
This is done with <link
linkend="SQL-REFRESHMATERIALIZEDVIEW"><command>REFRESH MATERIALIZED
VIEW CONCURRENTLY</></link>.
</para>
</listitem>
<listitem>
<para>
Allow auto-updates on views where only some columns are auto-updateable (Dean Rasheed)
Allow <link linkend="SQL-CREATEVIEW-updatable-views">auto-updates
on views</link> where only some columns are auto-updateable
(Dean Rasheed)
</para>
<para>
Previously the presence of a non-auto-updateable column prevented all columns from being auto-updated. Deletes are now supported
Previously the presence of a non-auto-updateable column prevented
all columns from being auto-updated. Deletes are now supported
on suitable views even if no auto-updateable columns are present.
</para>
</listitem>
<listitem>
<para>
Allow control over whether <command>INSERT</>s and <command>UPDATE</>s can add rows to an auto-updateable view that would no longer appear in the view (Dean Rasheed)
Allow control over whether <command>INSERT</>s and
<command>UPDATE</>s can add rows to an auto-updateable view that
would no longer appear in the view (Dean Rasheed)
</para>
<para>
This is controlled with the new <literal>WITH CHECK OPTION</>.
This is controlled with the new <link
linkend="SQL-CREATEVIEW"><literal>WITH CHECK OPTION</></link>.
</para>
</listitem>
<listitem>
<para>
Allow security barrier views to be automatically updateable (Dean Rasheed)
Allow <link linkend="rules-privileges">security barrier views</>
to be automatically updateable (Dean Rasheed)
</para>
</listitem>
......@@ -891,35 +1128,44 @@
<listitem>
<para>
Allow triggers on foreign tables (Ronan Dunklau)
Allow triggers on <link linkend="SQL-CREATEFOREIGNTABLE">foreign
tables</> (Ronan Dunklau)
</para>
</listitem>
<listitem>
<para>
Fix <command>DROP IF EXISTS</> to more consistently not error for non-existent objects (Pavel Stehule, Dean Rasheed)
Fix <command>DROP IF EXISTS</> to more consistently not error
for non-existent objects (Pavel Stehule, Dean Rasheed)
</para>
</listitem>
<listitem>
<para>
Improve the internal definition of system relations (Andres Freund, Robert Haas)
Improve the internal definition of system relations (Andres Freund,
Robert Haas)
</para>
<para>
Previously, relations moved into the system catalog schema could not be modified.
Previously, relations moved into the system catalog schema could
not be modified.
</para>
</listitem>
<listitem>
<para>
Allow <command>ALTER TABLESPACE</> options to be also set by <command>CREATE TABLESPACE</> (Vik Fearing)
Allow <link linkend="SQL-ALTERTABLESPACE"><command>ALTER
TABLESPACE</></link> options to be also set by <link
linkend="SQL-CREATETABLESPACE"><command>CREATE TABLESPACE</></link>
(Vik Fearing)
</para>
</listitem>
<listitem>
<para>
Allow <command>CREATE AGGREGATE</> to supply the size of the aggregate's transition state data (Hadi Moshayedi)
Allow <link linkend="SQL-CREATEAGGREGATE"><command>CREATE
AGGREGATE</></link> to supply the size of the aggregate's
transition state data (Hadi Moshayedi)
</para>
</listitem>
......@@ -932,24 +1178,33 @@
<listitem>
<para>
Allow moving groups of objects from one tablespace to another using <command>ALTER TABLESPACE</> ... <literal>MOVE</> (Stephen Frost)
Allow moving groups of objects from one tablespace to another
using <link linkend="SQL-ALTERTABLESPACE"><command>ALTER
TABLESPACE</></link> ... <literal>MOVE</> (Stephen Frost)
</para>
</listitem>
<listitem>
<para>
Allow the changing of foreign key constraint via <command>ALTER TABLE</> ... <literal>ALTER CONSTRAINT</> (Simon Riggs)
Allow the changing of foreign key constraint via <link
linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></link>
... <literal>ALTER CONSTRAINT</> (Simon Riggs)
</para>
</listitem>
<listitem>
<para>
Reduce lock levels of some <command>ALTER TABLE</> commands (Simon Riggs, Noah Misch)
Reduce lock levels of some <link
linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></link> commands
(Simon Riggs, Noah Misch)
</para>
<para>
Specifically, <literal>VALIDATE CONSTRAINT</>, <literal>CLUSTER 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)</>.
Specifically, <literal>VALIDATE CONSTRAINT</>, <literal>CLUSTER
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>
......@@ -966,35 +1221,48 @@
<listitem>
<para>
Fully-implement the line data type (Peter Eisentraut)
Fully-implement the <link
linkend="datatype-line"><type>line</></link> data type (Peter
Eisentraut)
</para>
<para>
The line <emphasis>segment</> data type (<type>LSEG</>) has always been fully supported.
The line <emphasis>segment</> data type (<link
linkend="datatype-lseg"><type>LSEG</></link>) has always been
fully supported.
</para>
</listitem>
<listitem>
<para>
Add <type>PG_LSN</> data type to represent a <acronym>WAL</> log sequence number (<acronym>LSN</>) (Robert Haas, Michael Paquier)
Add <link linkend="datatype-pg-lsn"><type>PG_LSN</></link>
data type to represent a <acronym>WAL</> log sequence number
(<acronym>LSN</>) (Robert Haas, Michael Paquier)
</para>
</listitem>
<listitem>
<para>
Allow single-point <type>POLYGON</>s to be converted to circles (Bruce Momjian)
Allow single-point <link
linkend="datatype-polygon"><type>POLYGON</></link>s to be converted
to <link linkend="datatype-circle"><type>CIRCLE</></link>s
(Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Allow 5+ digit years for non-<acronym>ISO</> timestamp/date strings, where appropriate (Bruce Momjian)
Allow 5+ digit years for non-<acronym>ISO</> <link
linkend="datatype-datetime"><type>TIMESTAMP</></link> and
<type>DATE</> strings, where appropriate (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Add checks for overflow/underflow of <type>INTERVAL</> values (Bruce Momjian)
Add checks for overflow/underflow of <link
linkend="datatype-datetime"><type>INTERVAL</></link> values
(Bruce Momjian)
</para>
</listitem>
......@@ -1007,29 +1275,39 @@
<listitem>
<para>
Add structured (non-text) data type (jsonb) for storing <type>JSON</> data (Oleg Bartunov, Teodor Sigaev,
Alexander Korotkov, Peter Geoghegan, and Andrew Dunstan)
Add structured (non-text) data type (<link
linkend="datatype-json"><type>JSONB</></link>) for storing
<type>JSON</> data (Oleg Bartunov, Teodor Sigaev, Alexander
Korotkov, Peter Geoghegan, and Andrew Dunstan)
</para>
<para>
This allows for faster access to values in the <type>JSON</> document and faster and more useful indexing of <type>JSON</>.
This allows for faster access to values in the <type>JSON</>
document and faster and more useful indexing of <type>JSON</>.
<type>JSONB</> are also typed as appropriate scalar SQL types.
</para>
</listitem>
<listitem>
<para>
Add new <type>JSON</> functions to allow for the construction of arbitrarily complex json trees (Andrew Dunstan, Laurence Rowe)
Add new <type>JSON</> functions to allow for the construction
of arbitrarily complex json trees (Andrew Dunstan, Laurence Rowe)
</para>
<para>
New functions include <function>json_array_elements_text()</>, <function>json_build_array()</>, <function>json_object()</>, <function>json_object_agg()</>, <function>json_to_record()</>,
New functions include <link
linkend="functions-json-processing-table"><function>json_array_elements_text()</></link>,
<function>json_build_array()</>, <function>json_object()</>,
<function>json_object_agg()</>, <function>json_to_record()</>,
and <function>json_to_recordset()</>.
</para>
</listitem>
<listitem>
<para>
Add <function>json_typeof()</> to return the data type of a <type>JSON</> value (Andrew Tipton)
Add <link
linkend="functions-json-processing-table"><function>json_typeof()</></link>
to return the data type of a <type>JSON</> value (Andrew Tipton)
</para>
</listitem>
......@@ -1047,7 +1325,10 @@
<listitem>
<para>
Add <function>pg_sleep_for(interval)</> and <function>pg_sleep_until(timestamp)</> to specify sophisticated delays (Vik Fearing, Julien Rouhaud)
Add <link
linkend="functions-datetime-delay"><function>pg_sleep_for(interval)</></link>
and <function>pg_sleep_until(timestamp)</> to specify sophisticated
delays (Vik Fearing, Julien Rouhaud)
</para>
<para>
......@@ -1057,55 +1338,74 @@
<listitem>
<para>
Add <function>cardinality()</> function for arrays (Marko Tiikkaja)
Add <link
linkend="array-functions-table"><function>cardinality()</></link>
function for arrays (Marko Tiikkaja)
</para>
<para>
This returns the total number of elements in the array, or zero for an array with no elements.
This returns the total number of elements in the array, or zero
for an array with no elements.
</para>
</listitem>
<listitem>
<para>
Add <acronym>SQL</> functions to allow large object reads/writes at arbitrary offsets (Pavel Stehule)
Add <acronym>SQL</> functions to allow <link
linkend="lo-interfaces">large object reads/writes</link> at
arbitrary offsets (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Allow <function>unnest()</> to take multiple arguments, which are individually unnested then horizontally concatenated (Andrew Gierth)
Allow <link
linkend="array-functions-table"><function>unnest()</></link>
to take multiple arguments, which are individually unnested then
horizontally concatenated (Andrew Gierth)
</para>
</listitem>
<listitem>
<para>
Add functions to construct times, dates, timestamps, timestamptzs, and intervals from individual values, rather than strings (Pavel Stehule)
Add functions to construct <type>time</>s, <type>date</>s,
<type>timestamp</>s, <type>timestamptz</>s, and <type>interval</>s
from individual values, rather than strings (Pavel Stehule)
</para>
<para>
The functions being with "make_", e.g. <function>make_date()</>.
The functions being with <literal>make_</>, e.g. <link
linkend="functions-datetime-table"><function>make_date()</></link>.
</para>
</listitem>
<listitem>
<para>
Have <function>to_char(<literal>TZ</>)</> return the proper value for constant time zone offsets (Tom Lane)
Have <link
linkend="functions-formatting-table"><function>to_char(<literal>TZ</>)</></link>
return the proper value for constant time zone offsets (Tom Lane)
</para>
<para>
Previously, <literal>to_char(CURRENT_TIMESTAMP, 'TZ')</> returned NULL if the <literal>TIME ZONE</> was set to a constant like <literal>-4</>.
Previously, <literal>to_char(CURRENT_TIMESTAMP, 'TZ')</> returned
NULL if the <literal>TIME ZONE</> was set to a constant like
<literal>-4</>.
</para>
</listitem>
<listitem>
<para>
Add timezone offset output option <literal>OF</> to <function>to_char()</> (Bruce Momjian)
Add timezone offset output option <literal>OF</> to <link
linkend="functions-formatting-table"><function>to_char()</></link>
(Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Improve the random seed used for <function>random()</> (Honza Horak)
Improve the random seed used for <link
linkend="functions-math-random-table"><function>random()</></link>
(Honza Horak)
</para>
</listitem>
......@@ -1118,34 +1418,48 @@
<listitem>
<para>
Add functions for error-free <structname>pg_class</>, <structname>pg_proc</>, <structname>pg_type</>, and <structname>pg_operator</> lookups (Yugo Nagata, Nozomi Anzai, Robert Haas)
Add functions for error-free <structname>pg_class</>,
<structname>pg_proc</>, <structname>pg_type</>, and
<structname>pg_operator</> lookups (Yugo Nagata, Nozomi Anzai,
Robert Haas)
</para>
<para>
For example, <function>to_regclass()</> does error-free lookups of <structname>pg_class</>, and returns NULL for lookup failures.
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>
<listitem>
<para>
Add function <function>pg_filenode_relation()</> to allow for more efficient
filenode to relation lookups (Andres Freund)
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>
<listitem>
<para>
Add <structname>information_schema</> column <structname>parameters.parameter_default</> (Peter Eisentraut)
Add <link
linkend="information-schema"><structname>information_schema</></link>
column <link
linkend="infoschema-parameters"><structname>parameters.parameter_default</></link>
(Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Have <structname>information_schema.schemata</> show all accessible schema (Peter Eisentraut)
Have <link
linkend="infoschema-schemata"><structname>information_schema.schemata</></link>
show all accessible schema (Peter Eisentraut)
</para>
<para>
Previously it only showed _owned_ schemas.
Previously it only showed <emphasis>owned</> schemas.
</para>
</listitem>
......@@ -1160,21 +1474,31 @@
<listitem>
<para>
Add aggregates <function>percentile_cont()</>, <function>percentile_disc()</>, <function>rank()</>, <function>dense_rank()</>, <function>percent_rank()</>, <function>cume_dist()</>, and <function>mode()</> (Atri Sharma, Andrew
Gierth)
Add aggregates <link
linkend="functions-orderedset-table"><function>percentile_cont()</></link>,
<function>percentile_disc()</>, <link
linkend="functions-hypothetical-table"><function>rank()</></link>,
<function>dense_rank()</>, <function>percent_rank()</>,
<function>cume_dist()</>, and <link
linkend="functions-orderedset-table"><function>mode()</></link>
(Atri Sharma, Andrew Gierth)
</para>
</listitem>
<listitem>
<para>
Add control over which values are passed into
aggregate functions using the <literal>FILTER</> clause (David Fetter)
Add control over which values are passed
into aggregate functions using the <link
linkend="syntax-aggregates"><literal>FILTER</></link> clause
(David Fetter)
</para>
</listitem>
<listitem>
<para>
Support ordered-set (<literal>WITHIN GROUP</>) aggregates (Atri Sharma, Andrew Gierth, Tom Lane)
Support ordered-set (<link
linkend="syntax-aggregates"><literal>WITHIN GROUP</></link>)
aggregates (Atri Sharma, Andrew Gierth, Tom Lane)
</para>
<para>
......@@ -1184,13 +1508,16 @@
<listitem>
<para>
Allow polymorphic aggregates to have non-polymorphic state data types ? (Tom Lane)
Allow polymorphic aggregates to have non-polymorphic state data
types ? (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Allow <literal>VARIADIC</> aggregate functions (Tom Lane)
Allow <link
linkend="xfunc-sql-variadic-functions"><literal>VARIADIC</></link>
aggregate functions (Tom Lane)
</para>
</listitem>
......@@ -1203,37 +1530,47 @@
<sect3>
<title>Server-Side Languages</title>
<sect4>
<title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
<itemizedlist>
<listitem>
<para>
Add event trigger support to PL/Perl and PL/Tcl (Dimitri Fontaine)
Add event trigger support to <link linkend="plperl">PL/Perl</>
and <link linkend="pltcl">PL/Tcl</> (Dimitri Fontaine)
</para>
</listitem>
</itemizedlist>
<sect4>
<title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
<itemizedlist>
<listitem>
<para>
Add ability to store the PL/PgSQL call stack into a variable using <literal>PG_CONTEXT</> (Pavel Stehule, Stephen Frost)
Add ability to store the PL/PgSQL
call stack into a variable using <link
linkend="plpgsql-get-diagnostics-context"><literal>PG_CONTEXT</></link>
(Pavel Stehule, Stephen Frost)
</para>
</listitem>
<listitem>
<para>
Add option <option>print_strict_params</> to output parameters passed to
queries generating <literal>STRICT</> errors (Marko Tiikkaja)
Add option <link
linkend="plpgsql-statements-assignment"><option>print_strict_params</></link>
to output parameters passed to queries generating <link
linkend="plpgsql-statements-sql-onerow"><literal>STRICT</></link>
errors (Marko Tiikkaja)
</para>
</listitem>
<listitem>
<para>
Add option to enable additional PL/pgSQL errors and warnings (Marko Tiikkaja, Petr Jelinek)
Add variables <link
linkend="plpgsql-extra-checks"><varname>plpgsql.extra_warnings</></link>
and <varname>plpgsql.extra_errors</>to enable additional PL/pgSQL
warnings and errors (Marko Tiikkaja, Petr Jelinek)
</para>
<para>
......@@ -1252,7 +1589,8 @@
<listitem>
<para>
Handle domains over arrays like plain arrays in PL/python (Rodolfo Campero)
Handle domains over arrays like plain arrays in PL/Python
(Rodolfo Campero)
</para>
<para>
......@@ -1262,11 +1600,12 @@
<listitem>
<para>
Convert <type>NUMERIC</>s to "decimal" values in PL/Python (Szymon Guz, Ronan Dunklau)
Convert <link linkend="datatype-numeric"><type>NUMERIC</></link>s
to <type>decimal</> values in PL/Python (Szymon Guz, Ronan Dunklau)
</para>
<para>
Previously these were converted to <literal>float</>s.
Previously these were converted to <type>float</>s.
</para>
</listitem>
......@@ -1282,13 +1621,17 @@
<listitem>
<para>
Add libpq function <function>PQhostaddr()</> to return the server's <acronym>IP</> address (Fujii Masao)
Add libpq function <link
linkend="libpq-pqhostaddr"><function>PQhostaddr()</></link>
to return the server's <acronym>IP</> address (Fujii Masao)
</para>
</listitem>
<listitem>
<para>
Make libpq's <function>PQconndefaults()</> ignore invalid service files (Steve Singer, Bruce Momjian)
Make libpq's <link
linkend="libpq-pqconndefaults"><function>PQconndefaults()</></link>
ignore invalid service files (Steve Singer, Bruce Momjian)
</para>
<para>
......@@ -1298,13 +1641,17 @@
<listitem>
<para>
Allow libpq to support <acronym>TLS</> versions beyond <literal>TLSv1</> (Marko Kreen)
Allow libpq to support <acronym>TLS</> versions beyond
<literal>TLSv1</> (Marko Kreen)
</para>
</listitem>
<listitem>
<para>
Document that libpq's <function>PQclientEncoding()</> returns -1 for an encoding lookup failure (Bruce Momjian)
Document that libpq's <link
linkend="libpq-pqclientencoding"><function>PQclientEncoding()</></link>
returns <literal>-1</> for an encoding lookup failure (Bruce
Momjian)
</para>
</listitem>
......@@ -1319,13 +1666,17 @@
<listitem>
<para>
Add createuser <option>-g</> to specify role membership (Chistopher Browne)
Add <link
linkend="APP-CREATEUSER"><application>createuser</></link>
<option>-g</> to specify role membership (Chistopher Browne)
</para>
</listitem>
<listitem>
<para>
Allow vacuumdb <option>--analyze-in-stages</> to analyze in stages of increasing granularity (Peter Eisentraut)
Allow <link linkend="APP-VACUUMDB"><application>vacuumdb</></link>
<option>--analyze-in-stages</> to analyze in stages of increasing
granularity (Peter Eisentraut)
</para>
<para>
......@@ -1335,41 +1686,54 @@
<listitem>
<para>
Allow <application>pg_xlogdump</> to report a live log stream with <option>--follow</> (Heikki Linnakangas)
Allow <link linkend="pgxlogdump"><application>pg_xlogdump</></link>
to report a live log stream with <option>--follow</> (Heikki
Linnakangas)
</para>
</listitem>
<listitem>
<para>
Have <command>pg_resetxlog -n</> output current and potentially changed values (Rajeev Rastogi)
Have <link linkend="APP-PGRESETXLOG"><command>pg_resetxlog
-n</></link> output current and potentially changed values
(Rajeev Rastogi)
</para>
</listitem>
<listitem>
<para>
Allow <function>sizeof()</> in ecpg C array definitions (Michael Meskes)
Allow <function>sizeof()</> in <link linkend="ecpg">ecpg</link>
C array definitions (Michael Meskes)
</para>
</listitem>
<listitem>
<para>
Have ecpg properly handle nesting requirements in C and <acronym>SQL</> mode for C-style comments (Michael Meskes)
Have <link linkend="ecpg">ecpg</link> properly handle nesting
requirements in C and <acronym>SQL</> mode for C-style comments
(Michael Meskes)
</para>
</listitem>
<listitem>
<para>
Have <application>pg_ctl</> return '4' for an inaccessible data directory specification (Amit Kapila, Bruce Momjian)
Have <link linkend="app-pg-ctl"><application>pg_ctl</></link>
return <literal>4</> for an inaccessible data directory
specification (Amit Kapila, Bruce Momjian)
</para>
<para>
This more closely matches the Linux Standard Base Core Specification.
This more closely matches the Linux Standard Base (<acronym>LSB</>)
Core Specification.
</para>
</listitem>
<listitem>
<para>
On Windows, interpret <application>pg_ctl</>'s non-absolute path <option>-D</> directories relative to <application>pg_ctl</>'s current directory (Kumar Rajeev Rastogi)
On Windows, interpret <link
linkend="app-pg-ctl"><application>pg_ctl</></link>'s non-absolute
path <option>-D</> directories relative to <application>pg_ctl</>'s
current directory (Kumar Rajeev Rastogi)
</para>
</listitem>
......@@ -1382,19 +1746,23 @@
<listitem>
<para>
Allow field wrapping to <application>psql</>'s "extended" mode (Sergey Muraviov)
Allow field wrapping to <application>psql</>'s "extended" mode
(Sergey Muraviov)
</para>
</listitem>
<listitem>
<para>
Suppress "No rows" in <application>psql</> expanded mode when the footer is disabled (Bruce Momjian)
Suppress "No rows" in <application>psql</> <link
linkend="APP-PSQL-meta-commands"><option>expanded</></link>
mode when the footer is disabled (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Allow Control-C to abort <application>psql</> hung at connection startup (Peter Eisentraut)
Allow Control-C to abort <application>psql</> hung at connection
startup (Peter Eisentraut)
</para>
</listitem>
......@@ -1407,79 +1775,96 @@
<listitem>
<para>
Have <application>psql</> \db+ show tablespace options (Magnus Hagander)
Have <application>psql</> <command>\db+</> show tablespace options
(Magnus Hagander)
</para>
</listitem>
<listitem>
<para>
Have <application>psql</> \do+ display the functions which implement the operators (Marko Tiikkaja)
Have <application>psql</> <command>\do+</> display the functions
which implement the operators (Marko Tiikkaja)
</para>
</listitem>
<listitem>
<para>
Have <application>psql</> \d+ output an <literal>OID</> line only if an oid column exists in a table (Bruce Momjian)
Have <application>psql</> <command>\d+</> output an
<literal>OID</> line only if an oid column exists in a table
(Bruce Momjian)
</para>
<para>
Previously, the presence or absence of an oid column was always reported.
Previously, the presence or absence of an oid column was always
reported.
</para>
</listitem>
<listitem>
<para>
Have \d display disabled system triggers (Bruce Momjian)
Have <command>\d</> display disabled system triggers (Bruce
Momjian)
</para>
<para>
Previously if you disabled all triggers, only user triggers would show as disabled.
Previously if you disabled all triggers, only user triggers
would show as disabled.
</para>
</listitem>
<listitem>
<para>
Fix <application>psql</> \copy to no longer require a space between 'stdin' and a semicolon (Etsuro Fujita)
Fix <application>psql</> <command>\copy</> to no longer require
a space between <literal>stdin</> and a semicolon (Etsuro Fujita)
</para>
</listitem>
<listitem>
<para>
Output the row count at the end of <application>psql</> \copy just like <command>COPY</> (Kumar Rajeev Rastogi)
Output the row count at the end of
<application>psql</> <command>\copy</> just like <link
linkend="SQL-COPY"><command>COPY</></link> (Kumar Rajeev Rastogi)
</para>
</listitem>
<listitem>
<para>
Fix <application>psql</> \conninfo to display the server's <acronym>IP</> address for clients that connect using 'hostaddr' (Fujii Masao)
Fix <application>psql</> <command>\conninfo</> to display the
server's <acronym>IP</> address for clients that connect using
<literal>hostaddr</> (Fujii Masao)
</para>
<para>
Previously \conninfo could not display the server's <acronym>IP</> address in such cases.
Previously <command>\conninfo</> could not display the server's
<acronym>IP</> address in such cases.
</para>
</listitem>
<listitem>
<para>
Mention the <acronym>SSL</> protocol version in <application>psql</>'s \conninfo (Marko Kreen)
Mention the <acronym>SSL</> protocol version in
<application>psql</>'s <command>\conninfo</> (Marko Kreen)
</para>
</listitem>
<listitem>
<para>
Add <application>psql</> tab completion for \pset (Pavel Stehule)
Add <application>psql</> tab completion for <command>\pset</>
(Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Allow <application>psql</> \pset with no arguments to show all settings (Gilles Darold)
Allow <application>psql</> <command>\pset</> with no arguments
to show all settings (Gilles Darold)
</para>
</listitem>
<listitem>
<para>
In <application>psql</>, output the written history file name (\s) without adding an absolute path prefix (Tom Lane)
In <application>psql</>, output the written history file name
(<command>\s</>) without adding an absolute path prefix (Tom Lane)
</para>
<para>
......@@ -1500,7 +1885,10 @@
<listitem>
<para>
Allow <application>pg_restore</> options <option>-I</>, <option>-P</>, <option>-T</> and <option>-n</> to be specified multiple times (Heikki Linnakangas)
Allow <link
linkend="APP-PGRESTORE"><application>pg_restore</></link> options
<option>-I</>, <option>-P</>, <option>-T</> and <option>-n</>
to be specified multiple times (Heikki Linnakangas)
</para>
<para>
......@@ -1510,12 +1898,17 @@
<listitem>
<para>
Add <literal>IF EXISTS</> clauses when removing old objects during dump and restore (Pavel Stehule)
Add <literal>IF EXISTS</> clauses when removing old objects during
dump and restore (Pavel Stehule)
</para>
<para>
This suppresses errors when removing old objects. The new <option>--if-exists</> option to <application>pg_dump</>, <application>pg_dumpall</>, and <application>pg_restore</> is only
available when <option>--clean</> is also specified.
This suppresses errors when removing old objects.
The new <option>--if-exists</> option to <link
linkend="APP-PGDUMP"><application>pg_dump</></link>, <link
linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link>, and
<link linkend="APP-PGRESTORE"><application>pg_restore</></link>
is only available when <option>--clean</> is also specified.
</para>
</listitem>
......@@ -1524,23 +1917,27 @@
</sect4>
<sect4>
<title><application>pg_basebackup</></title>
<title><link linkend="app-pgbasebackup"><application>pg_basebackup</></link></title>
<itemizedlist>
<listitem>
<para>
Add <application>pg_basebackup</> option <option>--xlogdir</> to specify the <filename>pg_xlog</> direction location (Haribabu Kommi)
Add <application>pg_basebackup</> option <option>--xlogdir</>
to specify the <filename>pg_xlog</> direction location (Haribabu
Kommi)
</para>
</listitem>
<listitem>
<para>
Allow <application>pg_basebackup</> to relocate tablespaces in the backup copy (Steeve Lennmark)
Allow <application>pg_basebackup</> to relocate tablespaces in
the backup copy (Steeve Lennmark)
</para>
<para>
This is particularly useful for using <application>pg_basebackup</> on the same machine as the primary.
This is particularly useful for using <application>pg_basebackup</>
on the same machine as the primary.
</para>
</listitem>
......@@ -1550,7 +1947,8 @@
</para>
<para>
This can be controlled with the <application>pg_basebackup</> <option>--max-rate</> parameter.
This can be controlled with the <application>pg_basebackup</>
<option>--max-rate</> parameter.
</para>
</listitem>
......@@ -1567,7 +1965,8 @@
<listitem>
<para>
Improve the way tuples are frozen, to preserve forensic information (Robert Haas, Andres Freund)
Improve the way tuples are frozen, to preserve forensic information
(Robert Haas, Andres Freund)
</para>
<para>
......@@ -1577,17 +1976,21 @@
<listitem>
<para>
No longer require function prototypes for function marked with the <function>PG_FUNCTION_INFO_V1</> macro (Peter Eisentraut)
No longer require function prototypes for function marked with the
<link linkend="xfunc-c"><function>PG_FUNCTION_INFO_V1</></link>
macro (Peter Eisentraut)
</para>
<para>
This eliminates needless boilerplate prototypes whose lack generates compiler warnings.
This eliminates needless boilerplate prototypes whose lack
generates compiler warnings.
</para>
</listitem>
<listitem>
<para>
Remove SnapshotNow and HeapTupleSatisfiesNow (Robert Haas)
Remove <function>SnapshotNow()</> and
<function>HeapTupleSatisfiesNow()</> (Robert Haas)
</para>
<para>
......@@ -1598,54 +2001,58 @@
<listitem>
<para>
Add <acronym>API</> for memory allocations over four gigabytes
(Noah Misch)
</para>
</listitem>
<listitem>
<para>
Add <acronym>API</> for memory allocations over four gigabytes (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Add <function>psprintf()</> to simplify memory allocation during string composition (Peter Eisentraut, Tom Lane)
Add <function>psprintf()</> to simplify memory allocation during
string composition (Peter Eisentraut, Tom Lane)
</para>
</listitem>
<listitem>
<para>
Add <function>printf()</> modifier "z" to specify <type>size_t</> values (Andres Freund)
Add <function>printf()</> modifier "z" to specify <type>size_t</>
values (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Change <acronym>API</> of <function>appendStringInfoVA()</> to better use <function>vsnprintf()</> (David Rowley, Tom Lane)
Change <acronym>API</> of <function>appendStringInfoVA()</>
to better use <function>vsnprintf()</> (David Rowley, Tom Lane)
</para>
</listitem>
<listitem>
<para>
Allow new types of external toast datums to be created (Andres Freund)
Allow new types of external toast datums to be created (Andres
Freund)
</para>
</listitem>
<listitem>
<para>
Add single-reader, single-writer, lightweight shared message queue (Robert Haas)
Add single-reader, single-writer, lightweight shared message queue
(Robert Haas)
</para>
</listitem>
<listitem>
<para>
Improve spinlock speed on x86_64 <acronym>CPU</>s (Heikki Linnakangas)
Improve spinlock speed on x86_64 <acronym>CPU</>s (Heikki
Linnakangas)
</para>
</listitem>
<listitem>
<para>
Remove spinlock support for unsupported platforms <acronym>SINIX</>, Sun3, and <acronym>NS32K</> (Robert Haas)
Remove spinlock support for unsupported platforms
<productname>SINIX</>, <productname>Sun3</>, and
<productname>NS32K</> (Robert Haas)
</para>
</listitem>
......@@ -1657,25 +2064,30 @@
<listitem>
<para>
Reduce the number of semaphores required by <option>--disable-spinlocks</> (Robert Haas)
Reduce the number of semaphores required by
<option>--disable-spinlocks</> (Robert Haas)
</para>
</listitem>
<listitem>
<para>
Rewrite <application>duplicate_oids</> Unix shell script in <application>Perl</> (Andrew Dunstan)
Rewrite <application>duplicate_oids</> Unix shell script in
<application>Perl</> (Andrew Dunstan)
</para>
</listitem>
<listitem>
<para>
Add Test Anything Protocol (<acronym>TAP</>) tests for client programs (Peter Eisentraut)
Add Test Anything Protocol (<acronym>TAP</>) tests for client
programs (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Add make targets <option>check-tests</> and <option>installcheck-tests</> which allow per-test specification (Andrew Dunstan)
Add make targets <option>check-tests</> and
<option>installcheck-tests</> which allow per-test specification
(Andrew Dunstan)
</para>
</listitem>
......@@ -1691,7 +2103,8 @@
<listitem>
<para>
Improve support for <envar>VPATH</> builds of <acronym>PGXS</> modules (Cédric Villemain, Andrew Dunstan)
Improve support for <envar>VPATH</> builds of <acronym>PGXS</>
modules (Cédric Villemain, Andrew Dunstan)
</para>
</listitem>
......@@ -1703,7 +2116,8 @@
<listitem>
<para>
Add configure flag that appends custom text to the <envar>PG_VERSION</> string (Oskari Saarenmaa)
Add configure flag that appends custom text to the
<envar>PG_VERSION</> string (Oskari Saarenmaa)
</para>
<para>
......@@ -1719,19 +2133,21 @@
<listitem>
<para>
Various security and sanity fixes reported by the Coverity scanner (Stephen Frost)
Various security and sanity fixes reported by the
<productname>Coverity</> scanner (Stephen Frost)
</para>
</listitem>
<listitem>
<para>
Improve valgrind error reporting (Noah Misch)
Improve <application>valgrind</> error reporting (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Improve Emacs configuration file <filename>emacs.samples</> (Peter Eisentraut)
Improve <application>Emacs</> configuration file
<filename>emacs.samples</> (Peter Eisentraut)
</para>
<para>
......@@ -1741,17 +2157,20 @@
<listitem>
<para>
Allow pgindent to be supplied a command-line list of typedefs (Bruce Momjian)
Allow <application>pgindent</> to be supplied a command-line list
of typedefs (Bruce Momjian)
</para>
<para>
pgindent is also now smarter about blank lines around preprocessor conditionals.
<application>Pgindent</> is also now smarter about blank lines
around preprocessor conditionals.
</para>
</listitem>
<listitem>
<para>
Avoid most uses of dlltool in Cygwin and Mingw builds (Marco Atzeri, Hiroshi Inoue)
Avoid most uses of dlltool in <productname>Cygwin</> and
<productname>Mingw</> builds (Marco Atzeri, Hiroshi Inoue)
</para>
</listitem>
......@@ -1766,100 +2185,130 @@
<listitem>
<para>
Add <application>pg_prewarm</> to preload relation data into the shared buffer cache (Robert Haas)
Add <link linkend="pgprewarm"><application>pg_prewarm</></link>
to preload relation data into the shared buffer cache (Robert Haas)
</para>
<para>
This is useful at server start to produce more consistent performance.
This is useful at server start to produce more consistent
performance.
</para>
</listitem>
<listitem>
<para>
Add <acronym>UUID</> random number generator <function>gen_random_uuid()</> to pgcrypto (Oskari Saarenmaa)
Add <acronym>UUID</> random number generator
<function>gen_random_uuid()</> to <link
linkend="pgcrypto"><application>pgcrypto</></link> (Oskari
Saarenmaa)
</para>
<para>
This allows the creation of version 4 <acronym>UUID</>s without requiring the installation of uuid-ossp.
This allows the creation of version 4 <acronym>UUID</>s without
requiring the installation of uuid-ossp.
</para>
</listitem>
<listitem>
<para>
Add logging of trigger execution to <application>auto_explain</> (Horiguchi Kyotaro)
Add logging of trigger execution to <link
linkend="auto-explain"><application>auto_explain</></link>
(Horiguchi Kyotaro)
</para>
</listitem>
<listitem>
<para>
Allow reporting of the <application>pg_stat_statements</>'s internal query hash identifier (Daniel Farina, Sameer Thakur, Peter Geoghegan)
Allow reporting of the <link
linkend="pgstatstatements"><application>pg_stat_statements</></link>'s
internal query hash identifier (Daniel Farina, Sameer Thakur,
Peter Geoghegan)
</para>
</listitem>
<listitem>
<para>
Have <application>pg_stat_statements</> use a flat file for query text storage, allowing higher limits (Peter Geoghegan)
Have <link
linkend="pgstatstatements"><application>pg_stat_statements</></link>
use a flat file for query text storage, allowing higher limits
(Peter Geoghegan)
</para>
<para>
Also add the ability to retrieve all <application>pg_stat_statements</> information except the query text. This allows programs to reuse the query
text already retrieved by referencing queryid.
Also add the ability to retrieve all
<application>pg_stat_statements</> information except the query
text. This allows programs to reuse the query text already
retrieved by referencing queryid.
</para>
</listitem>
<listitem>
<para>
Fix pgstattuple to not report rows from uncommitted transactions as dead (Robert Haas)
Fix <link linkend="pgstattuple"><application>pgstattuple</></link>
to not report rows from uncommitted transactions as dead
(Robert Haas)
</para>
</listitem>
<listitem>
<para>
Have pgstattuple functions use regclass-type arguments (Satoshi Nagayasu)
Have <link linkend="pgstattuple"><application>pgstattuple</></link>
functions use regclass-type arguments (Satoshi Nagayasu)
</para>
<para>
While text-type arguments are still supported, they will be removed in a later major release.
While text-type arguments are still supported, they will be
removed in a later major release.
</para>
</listitem>
<listitem>
<para>
Improve consistency of pgrowlocks output to honor snapshot rules more consistently (Robert Haas)
Improve consistency of <link
linkend="pgrowlocks"><application>pgrowlocks</></link> output to
honor snapshot rules more consistently (Robert Haas)
</para>
</listitem>
<listitem>
<para>
Improve indexing of <application>pg_trgm</> values to discourage indexing whitespace (Alexander Korotkov)
Improve indexing of <link
linkend="pgtrgm"><application>pg_trgm</></link> values to
discourage indexing whitespace (Alexander Korotkov)
</para>
</listitem>
<listitem>
<para>
Store cube data more compactly (Stas Kelvich)
Store <link linkend="cube"><type>cube</></link> data more compactly
(Stas Kelvich)
</para>
<para>
Existing data must be dumped/restored to use the new format. The old format can still be read.
Existing data must be dumped/restored to use the new format.
The old format can still be read.
</para>
</listitem>
<listitem>
<para>
Reduce vacuumlo client-side memory usage by using a cursor (Andrew Dunstan)
Reduce <link linkend="vacuumlo"><application>vacuumlo</></link>
client-side memory usage by using a cursor (Andrew Dunstan)
</para>
</listitem>
<listitem>
<para>
Dramatically reduce memory consumption in <application>pg_upgrade</> (Bruce Momjian)
Dramatically reduce memory consumption in <link
linkend="pgupgrade"><application>pg_upgrade</></link> (Bruce
Momjian)
</para>
</listitem>
<listitem>
<para>
Pass <application>pg_upgrade</> user names (<option>-U</>) to analyze scripts (Bruce Momjian)
Pass <link linkend="pgupgrade"><application>pg_upgrade</></link>
user names (<option>-U</>) to analyze scripts (Bruce Momjian)
</para>
</listitem>
......@@ -1872,7 +2321,8 @@
<listitem>
<para>
Allow pgbench to process script files of any line length (Sawada Masahiko)
Allow pgbench to process script files of any line length (Sawada
Masahiko)
</para>
<para>
......@@ -1882,7 +2332,8 @@
<listitem>
<para>
Add <application>pg_bench</> option (<option>--rate</>) to control the transaction rate (Fabien Coelho)
Add <application>pg_bench</> option (<option>--rate</>) to control
the transaction rate (Fabien Coelho)
</para>
</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