Commit 6186d0bd authored by Bruce Momjian's avatar Bruce Momjian

doc: markup for PG 11 release notes and included email tips

parent 5631c99d
...@@ -54,33 +54,42 @@ ...@@ -54,33 +54,42 @@
--> -->
<para> <para>
Have pg_dump dump all aspects of a database (Haribabu Kommi) Have <application>pg_dump</application> dump all aspects of a
database (Haribabu Kommi)
</para> </para>
<para> <para>
Previously database attributes like GRANT/REVOKE permissions and ALTER Previously database attributes like
DATABASE SET and ALTER ROLE IN DATABASE SET variable settings were only <command>GRANT</command>/<command>REVOKE</command> permissions
dumped by pg_dumpall. Now pg_dump --create and pg_restore --create and <command>ALTER DATABASE SET</command> and <command>ALTER
will restore all database aspects. pg_dumpall -g will now only output ROLE IN DATABASE SET</command> variable settings were only dumped
role and tablespace-related attributes. pg_dumpall's output (without by <application>pg_dumpall</application>. Now <command>pg_dump
-g) is unchanged. --create</command> and <command>pg_restore --create</command> will
restore all database aspects. <command>pg_dumpall -g</command>
will now only output role and tablespace-related attributes.
<application>pg_dumpall</application>'s output (without
<option>-g</option>) is unchanged.
</para> </para>
<para> <para>
pg_dump and pg_restore, without --clean, no longer dump/restore database <application>pg_dump</application> and
comments and security labels. <application>pg_restore</application>, without
<option>--clean</option>, no longer dump/restore database comments
and security labels.
</para> </para>
<para> <para>
pg_dumpall --clean now restores the "postgres" and "template1" databases <command>pg_dumpall --clean</command> now restores the "postgres"
with the original locale and encoding settings. and "template1" databases with the original locale and encoding
settings.
</para> </para>
<para> <para>
A restore of pg_dumpall will now create databases with their original A restore of <application>pg_dumpall</application> will now create
locale and encoding, and will fail if the creation fails. Previously databases with their original locale and encoding, and will fail if
CREATE DATABASE would be dumped without such specifications if the the creation fails. Previously <command>CREATE DATABASE</command>
database locale and encoding matched the old cluster's defaults. would be dumped without such specifications if the database locale
and encoding matched the old cluster's defaults.
</para> </para>
<para> <para>
...@@ -94,8 +103,10 @@ ...@@ -94,8 +103,10 @@
--> -->
<para> <para>
Correct information schema column tables.table_type to return 'FOREIGN' Correct information schema column
instead of 'FOREIGN TABLE' (Peter Eisentraut) <structname>tables</structname>.<structfield>table_type</structfield>
to return <literal>FOREIGN</literal> instead of <literal>FOREIGN
TABLE</literal> (Peter Eisentraut)
</para> </para>
<para> <para>
...@@ -110,7 +121,8 @@ ...@@ -110,7 +121,8 @@
<para> <para>
Change the ps process display labels to match the Change the ps process display labels to match the
pg_stat_activity.backend_type labels (Peter Eisentraut) <structname>pg_stat_activity</structname>.<structfield>backend_type</structfield>
labels (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -120,14 +132,16 @@ ...@@ -120,14 +132,16 @@
--> -->
<para> <para>
Prevent to_number() from consuming characters when the template Prevent <function>to_number()</function> from consuming characters
separator does not match (Oliver Ford) when the template separator does not match (Oliver Ford)
</para> </para>
<para> <para>
Specifically, SELECT to_number('1234', '9,999') used to return '134'. It Specifically, <command>SELECT to_number('1234', '9,999')</command>
will now return '1234'. "L" and "TH" now only consume characters that used to return <literal>134</literal>. It will now
are not digits, positive/negative signs, decimal points, and commas. return <literal>1234</literal>. <literal>L</literal> and
<literal>TH</literal> now only consume characters that are not
digits, positive/negative signs, decimal points, and commas.
</para> </para>
</listitem> </listitem>
...@@ -137,8 +151,10 @@ ...@@ -137,8 +151,10 @@
--> -->
<para> <para>
Fix to_date(), to_number(), and to_timestamp() to skip a character for Fix <function>to_date()</function>,
each template character (Tom Lane) <function>to_number()</function>, and
<function>to_timestamp()</function> to skip a character for each
template character (Tom Lane)
</para> </para>
<para> <para>
...@@ -152,8 +168,10 @@ ...@@ -152,8 +168,10 @@
--> -->
<para> <para>
Adjust the handling of backslashes inside double-quotes in template Adjust the handling of backslashes inside double-quotes in
strings for to_char(), to_number(), and to_timestamp(). template strings for <function>to_char()</function>,
<function>to_number()</function>, and
<function>to_timestamp()</function>.
</para> </para>
<para> <para>
...@@ -168,15 +186,16 @@ ...@@ -168,15 +186,16 @@
--> -->
<para> <para>
Have libpq's PQhost() always return the actual connected host (Hari Have libpq's <function>PQhost()</function> always return the
Babu) actual connected host (Hari Babu)
</para> </para>
<para> <para>
Previously PQhost() often returned the supplied host parameters, which Previously <function>PQhost()</function> often returned the
could contain several hosts. The same is true of PQport(), which now supplied host parameters, which could contain several hosts.
returns the actual port number, not the multiple supplied port numbers. The same is true of <function>PQport()</function>, which now
ACCURATE? returns the actual port number, not the multiple supplied port
numbers. ACCURATE?
</para> </para>
</listitem> </listitem>
...@@ -186,11 +205,13 @@ ...@@ -186,11 +205,13 @@
--> -->
<para> <para>
Remove relhaspkey column from system table pg_class (Peter Eisentraut) Remove relhaspkey column from system table
<structname>pg_class</structname> (Peter Eisentraut)
</para> </para>
<para> <para>
Applications needing to check for a primary key should consult pg_index. Applications needing to check for a primary key should consult
<structname>pg_index</structname>.
</para> </para>
</listitem> </listitem>
...@@ -200,8 +221,10 @@ ...@@ -200,8 +221,10 @@
--> -->
<para> <para>
Replace system table pg_proc's proisagg and proiswindow with prokind Replace system table <structname>pg_proc</structname>'s
(Peter Eisentraut) <structfield>proisagg</structfield> and
<structfield>proiswindow</structfield> with
<structfield>prokind</structfield> (Peter Eisentraut)
</para> </para>
<para> <para>
...@@ -217,8 +240,8 @@ ...@@ -217,8 +240,8 @@
--> -->
<para> <para>
Cause large object permission checks to happen on large object open, Cause large object permission checks to happen on large object
lo_open(), not read/write (Tom Lane) open, <function>lo_open()</function>, not read/write (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -228,14 +251,16 @@ ...@@ -228,14 +251,16 @@
--> -->
<para> <para>
Remove deprecated contrib/adminpack functions pg_file_read(), Remove deprecated contrib/adminpack functions
pg_file_length(), and pg_logfile_rotate() (Stephen Frost) <function>pg_file_read()</function>,
<function>pg_file_length()</function>, and
<function>pg_logfile_rotate()</function> (Stephen Frost)
</para> </para>
<para> <para>
These function are now present by default. Old adminpack installs will These function are now present by default. Old adminpack installs
continue to have access to these functions until they are updated via will continue to have access to these functions until they are
ALTER EXTENSION ... UPDATE. updated via <command>ALTER EXTENSION ... UPDATE</command>.
</para> </para>
</listitem> </listitem>
...@@ -245,14 +270,14 @@ ...@@ -245,14 +270,14 @@
--> -->
<para> <para>
Honor the capitalization of double-quoted command options (Daniel Honor the capitalization of double-quoted command options
Gustafsson) (Daniel Gustafsson)
</para> </para>
<para> <para>
Previously index options names like ("FillFactor" = 50) were Previously index options names like ("FillFactor" = 50) were
automatically lower-cased. This quoted capitalization will now generate automatically lower-cased. This quoted capitalization will now
an error. generate an error.
</para> </para>
</listitem> </listitem>
...@@ -262,12 +287,13 @@ ...@@ -262,12 +287,13 @@
--> -->
<para> <para>
Remove WITH clause in CREATE FUNCTION (Michael Paquier) Remove <literal>WITH</literal> clause in <command>CREATE
FUNCTION</command> (Michael Paquier)
</para> </para>
<para> <para>
Postgres has long supported a more standard-compliant syntax for this <productname>PostgreSQL</productname> has long supported a more
capability. standard-compliant syntax for this capability.
</para> </para>
</listitem> </listitem>
...@@ -302,8 +328,8 @@ ...@@ -302,8 +328,8 @@
--> -->
<para> <para>
Allow faster partition elimination during query processing (Amit Langote, Allow faster partition elimination during query processing (Amit
David Rowley, Dilip Kumar) Langote, David Rowley, Dilip Kumar)
</para> </para>
<para> <para>
...@@ -317,14 +343,14 @@ ...@@ -317,14 +343,14 @@
--> -->
<para> <para>
Allow partition elimination during query execution (David Rowley, Beena Allow partition elimination during query execution (David Rowley,
Emerson) Beena Emerson)
</para> </para>
<para> <para>
Previously partition elimination could only happen at planning time, Previously partition elimination could only happen at planning
meaning many joins and prepared queries could not use partition time, meaning many joins and prepared queries could not use
elimination. partition elimination.
</para> </para>
</listitem> </listitem>
...@@ -344,8 +370,8 @@ ...@@ -344,8 +370,8 @@
--> -->
<para> <para>
Allow updated rows to automatically move to new partitions based on the Allow updated rows to automatically move to new partitions based
new row contents (Amit Khandekar) on the new row contents (Amit Khandekar)
</para> </para>
</listitem> </listitem>
...@@ -361,8 +387,8 @@ ...@@ -361,8 +387,8 @@
</para> </para>
<para> <para>
The default partition can store rows that don't match any of the other The default partition can store rows that don't match any of the
defined partitions, and is searched accordingly. other defined partitions, and is searched accordingly.
</para> </para>
</listitem> </listitem>
...@@ -373,8 +399,9 @@ ...@@ -373,8 +399,9 @@
--> -->
<para> <para>
Allow UNIQUE indexes on partitioned tables if the partition key Allow <literal>UNIQUE</literal> indexes on partitioned tables if
guarantees uniqueness (&Aacute;lvaro Herrera, Amit Langote) the partition key guarantees uniqueness (&Aacute;lvaro Herrera,
Amit Langote)
</para> </para>
</listitem> </listitem>
...@@ -384,14 +411,15 @@ ...@@ -384,14 +411,15 @@
--> -->
<para> <para>
Allow indexes on a partitioned table to be automatically created in any Allow indexes on a partitioned table to be automatically created
child partitions (&Aacute;lvaro Herrera) in any child partitions (&Aacute;lvaro Herrera)
</para> </para>
<para> <para>
The new command ALTER INDEX ATTACH PARTITION allows indexes to be attached The new command <command>ALTER INDEX ATTACH PARTITION</command>
to partitions. This does not behave as a global index since the allows indexes to be attached to partitions. This does not behave
contents are private to each index. WARN WHEN USING AN EXISTING INDEX? as a global index since the contents are private to each index.
WARN WHEN USING AN EXISTING INDEX?
</para> </para>
</listitem> </listitem>
...@@ -411,12 +439,14 @@ ...@@ -411,12 +439,14 @@
--> -->
<para> <para>
Allow INSERTs, UPDATEs, and COPY on partitioned tables to properly route Allow <command>INSERT</command>, <command>UPDATE</command>, and
<command>COPY</command> on partitioned tables to properly route
rows to foreign partitions (Etsuro Fujita, Amit Langote) rows to foreign partitions (Etsuro Fujita, Amit Langote)
</para> </para>
<para> <para>
This is supported by postgres_fdw foreign tables. This is supported by <application>postgres_fdw</application>
foreign tables.
</para> </para>
</listitem> </listitem>
...@@ -426,13 +456,14 @@ ...@@ -426,13 +456,14 @@
--> -->
<para> <para>
Allow FOR EACH ROW triggers on partitioned tables (&Aacute;lvaro Herrera) Allow <literal>FOR EACH ROW</literal> triggers on partitioned
tables (&Aacute;lvaro Herrera)
</para> </para>
<para> <para>
Creation of a trigger on partitioned tables automatically creates Creation of a trigger on partitioned tables automatically creates
triggers on all partition tables, and on newly-created ones. This also triggers on all partition tables, and on newly-created ones.
allows deferred unique constraints on partitioned tables. This also allows deferred unique constraints on partitioned tables.
</para> </para>
</listitem> </listitem>
...@@ -445,13 +476,13 @@ ...@@ -445,13 +476,13 @@
<para> <para>
Allow equality joins between partitioned tables with identically Allow equality joins between partitioned tables with identically
partitioned child tables to join the child tables directly (Ashutosh partitioned child tables to join the child tables directly
Bapat) (Ashutosh Bapat)
</para> </para>
<para> <para>
This features is disabled by default but can be enabled by changing This features is disabled by default but can be enabled by changing
enable_partitionwise_join. <varname>enable_partitionwise_join</varname>.
</para> </para>
</listitem> </listitem>
...@@ -468,7 +499,7 @@ ...@@ -468,7 +499,7 @@
<para> <para>
This features is disabled by default but can be enabled by changing This features is disabled by default but can be enabled by changing
enable_partitionwise_aggregate. <varname>enable_partitionwise_aggregate</varname>.
</para> </para>
</listitem> </listitem>
...@@ -478,8 +509,8 @@ ...@@ -478,8 +509,8 @@
--> -->
<para> <para>
Allow postgres_fdw to push down aggregates to foreign tables that are Allow <application>postgres_fdw</application> to push down
partitions (Jeevan Chalke) aggregates to foreign tables that are partitions (Jeevan Chalke)
</para> </para>
</listitem> </listitem>
...@@ -499,8 +530,8 @@ ...@@ -499,8 +530,8 @@
--> -->
<para> <para>
Allow indexes to be built in parallel (Peter Allow indexes to be built in parallel (Peter Geoghegan, Rushabh
Geoghegan, Rushabh Lathia, Heikki Linnakangas) Lathia, Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
...@@ -510,8 +541,8 @@ ...@@ -510,8 +541,8 @@
--> -->
<para> <para>
Allow hash joins to be performed in parallel using a shared hash table Allow hash joins to be performed in parallel using a shared hash
(Thomas Munro) table (Thomas Munro)
</para> </para>
</listitem> </listitem>
...@@ -522,8 +553,10 @@ ...@@ -522,8 +553,10 @@
--> -->
<para> <para>
Allow UNION to run each SELECT in parallel if the individual SELECTs cannot be Allow <literal>UNION</literal> to run each
parallelized (Amit Khandekar, Robert Haas, Amul Sul) <command>SELECT</command> in parallel if the individual
<command>SELECT</command>s cannot be parallelized (Amit Khandekar,
Robert Haas, Amul Sul)
</para> </para>
</listitem> </listitem>
...@@ -535,8 +568,8 @@ same commits as above ...@@ -535,8 +568,8 @@ same commits as above
--> -->
<para> <para>
Allow partition scans to more efficiently use parallel workers (Amit Khandekar, Robert Allow partition scans to more efficiently use parallel workers
Haas, Amul Sul) (Amit Khandekar, Robert Haas, Amul Sul)
</para> </para>
</listitem> </listitem>
...@@ -546,12 +579,13 @@ same commits as above ...@@ -546,12 +579,13 @@ same commits as above
--> -->
<para> <para>
Allow LIMIT to be passed to parallel workers (Robert Haas, Tom Lane) Allow <literal>LIMIT</literal> to be passed to parallel workers
(Robert Haas, Tom Lane)
</para> </para>
<para> <para>
This allows workers to reduce returned results and use targeted index This allows workers to reduce returned results and use targeted
scans. index scans.
</para> </para>
</listitem> </listitem>
...@@ -561,8 +595,8 @@ same commits as above ...@@ -561,8 +595,8 @@ same commits as above
--> -->
<para> <para>
Add server option parallel_leader_participation to control if the leader Add server option <varname>parallel_leader_participation</varname>
executes subplans (Thomas Munro) to control if the leader executes subplans (Thomas Munro)
</para> </para>
<para> <para>
...@@ -576,8 +610,9 @@ same commits as above ...@@ -576,8 +610,9 @@ same commits as above
--> -->
<para> <para>
Allow parallelization of commands CREATE TABLE .. AS, SELECT INTO, and CREATE Allow parallelization of commands <command>CREATE TABLE
MATERIALIZED VIEW (Haribabu Kommi) .. AS</command>, <command>SELECT INTO</command>, and
<command>CREATE MATERIALIZED VIEW</command> (Haribabu Kommi)
</para> </para>
</listitem> </listitem>
...@@ -587,7 +622,8 @@ same commits as above ...@@ -587,7 +622,8 @@ same commits as above
--> -->
<para> <para>
Add reporting of parallel worker sort activity to EXPLAIN (Robert Haas, Tom Lane) Add reporting of parallel worker sort activity to
<command>EXPLAIN</command> (Robert Haas, Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -607,13 +643,14 @@ same commits as above ...@@ -607,13 +643,14 @@ same commits as above
--> -->
<para> <para>
Allow indexes to INCLUDE columns that are not part of the unique Allow indexes to <literal>INCLUDE</literal> columns that are not
constraint but are available for index-only scans (Anastasia part of the unique constraint but are available for index-only
Lubennikova, Alexander Korotkov, Teodor Sigaev) scans (Anastasia Lubennikova, Alexander Korotkov, Teodor Sigaev)
</para> </para>
<para> <para>
This is also useful for including columns that don't have btree support. This is also useful for including columns that don't have btree
support.
</para> </para>
</listitem> </listitem>
...@@ -624,8 +661,9 @@ same commits as above ...@@ -624,8 +661,9 @@ same commits as above
--> -->
<para> <para>
Remember the highest btree index page to optimize future monotonically Remember the highest btree index page to optimize future
increasing index additions (Pavan Deolasee, Peter Geoghegan) monotonically increasing index additions (Pavan Deolasee, Peter
Geoghegan)
</para> </para>
</listitem> </listitem>
...@@ -652,11 +690,12 @@ same commits as above ...@@ -652,11 +690,12 @@ same commits as above
--> -->
<para> <para>
Add predicate locking for Hash, GiST and GIN indexes (Shubham Barai) Add predicate locking for Hash, GiST and GIN indexes (Shubham
Barai)
</para> </para>
<para> <para>
This reduces the likelyhood of serialization conflicts. ACCURATE? This reduces the likelihood of serialization conflicts. ACCURATE?
</para> </para>
</listitem> </listitem>
...@@ -666,8 +705,9 @@ same commits as above ...@@ -666,8 +705,9 @@ same commits as above
--> -->
<para> <para>
Allow heap-only-tuple (HOT) updates for expression indexes when the Allow heap-only-tuple (<acronym>HOT</acronym>) updates for
values of the expressions are unchanged (Konstantin Knizhnik) expression indexes when the values of the expressions are unchanged
(Konstantin Knizhnik)
</para> </para>
</listitem> </listitem>
...@@ -685,12 +725,13 @@ same commits as above ...@@ -685,12 +725,13 @@ same commits as above
--> -->
<para> <para>
Add TEXT prefix operator ^@ which is supported by SP-GiST (Ildus Add <type>TEXT</type> prefix operator ^@ which is supported by
Kurbangaliev) SP-GiST (Ildus Kurbangaliev)
</para> </para>
<para> <para>
This is similar to using LIKE 'word%' with btree indexes, but is more efficient. This is similar to using <literal>LIKE</literal> 'word%' with
btree indexes, but is more efficient.
</para> </para>
</listitem> </listitem>
...@@ -700,8 +741,8 @@ same commits as above ...@@ -700,8 +741,8 @@ same commits as above
--> -->
<para> <para>
Allow polygons to be indexed with SP-GiST (Nikita Glukhov, Alexander Allow polygons to be indexed with SP-GiST (Nikita Glukhov,
Korotkov) Alexander Korotkov)
</para> </para>
</listitem> </listitem>
...@@ -734,15 +775,17 @@ same commits as above ...@@ -734,15 +775,17 @@ same commits as above
--> -->
<para> <para>
Improve the selection of the optimizer statistics' most-common-values Improve the selection of the optimizer statistics'
(Jeff Janes, Dean Rasheed) most-common-values (Jeff Janes, Dean Rasheed)
</para> </para>
<para> <para>
Previously most-common-values (MCV) were chosen based on their Previously most-common-values (<acronym>MCV</acronym>) were
significance compared to all column values. Now, MCV are chosen based chosen based on their significance compared to all column
on their significance compared to the non-MCV values. This improves the values. Now, <acronym>MCV</acronym> are chosen based on their
statistics for uniform (fewer) and non-uniform (more) distributions. significance compared to the non-<acronym>MCV</acronym> values.
This improves the statistics for uniform (fewer) and non-uniform
(more) distributions.
</para> </para>
</listitem> </listitem>
...@@ -752,14 +795,14 @@ same commits as above ...@@ -752,14 +795,14 @@ same commits as above
--> -->
<para> <para>
Improve selectivity estimates for &gt;= and &lt;= when the constants are not Improve selectivity estimates for &gt;= and &lt;= when the
common values (Tom Lane) constants are not common values (Tom Lane)
</para> </para>
<para> <para>
Previously such cases used the same selectivity as &gt; and &lt;, Previously such cases used the same selectivity as &gt; and
respectively. This change is particularly useful for BETWEEN with &lt;, respectively. This change is particularly useful for
small ranges. <literal>BETWEEN</literal> with small ranges.
</para> </para>
</listitem> </listitem>
...@@ -769,7 +812,8 @@ same commits as above ...@@ -769,7 +812,8 @@ same commits as above
--> -->
<para> <para>
Optimize var = var to var IS NOT NULL where equivalent (Tom Lane) Optimize var = var to var <literal>IS NOT NULL</literal> where
equivalent (Tom Lane)
</para> </para>
<para> <para>
...@@ -783,8 +827,8 @@ same commits as above ...@@ -783,8 +827,8 @@ same commits as above
--> -->
<para> <para>
Improve row count optimizer estimates for EXISTS and NOT EXISTS queries (Tom Improve row count optimizer estimates for <literal>EXISTS</literal>
Lane) and <literal>NOT EXISTS</literal> queries (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -794,7 +838,8 @@ same commits as above ...@@ -794,7 +838,8 @@ same commits as above
--> -->
<para> <para>
Add optimizer selectivity costs for HAVING clauses (Tom Lane) Add optimizer selectivity costs for <literal>HAVING</literal>
clauses (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -819,7 +864,8 @@ same commits as above ...@@ -819,7 +864,8 @@ same commits as above
--> -->
<para> <para>
Add Just-In-time (JIT) compilation of plans run the by the executor Add Just-In-Time (<acronym>JIT</acronym>) compilation of plans
run the by the executor
(Andres Freund) (Andres Freund)
</para> </para>
</listitem> </listitem>
...@@ -830,14 +876,14 @@ same commits as above ...@@ -830,14 +876,14 @@ same commits as above
--> -->
<para> <para>
Allow bitmap scans to perform index-only scans when possible (Alexander Allow bitmap scans to perform index-only scans when possible
Kuzmenkov) (Alexander Kuzmenkov)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2018-03-29 [851a26e26] While vacuuming a large table, update upper-level FSM da 2018-03-29 [851a26e26] While vacuuming a large table, update upper-level <acronym>FSM</acronym> da
2018-03-30 [c79f6df75] Do index FSM vacuuming sooner. 2018-03-30 [c79f6df75] Do index FSM vacuuming sooner.
--> -->
...@@ -856,7 +902,8 @@ same commits as above ...@@ -856,7 +902,8 @@ same commits as above
--> -->
<para> <para>
Improve performance of committing multiple concurrent transactions (Amit Kapila) Improve performance of committing multiple concurrent transactions
(Amit Kapila)
</para> </para>
</listitem> </listitem>
...@@ -866,8 +913,8 @@ same commits as above ...@@ -866,8 +913,8 @@ same commits as above
--> -->
<para> <para>
Reduce memory usage for queries using set-returning functions in their Reduce memory usage for queries using set-returning functions in
target lists (Andres Freund) their target lists (Andres Freund)
</para> </para>
</listitem> </listitem>
...@@ -877,12 +924,14 @@ same commits as above ...@@ -877,12 +924,14 @@ same commits as above
--> -->
<para> <para>
Allow postgres_fdw to push UPDATEs and DELETEs using joins to foreign Allow <application>postgres_fdw</application> to push
servers (Etsuro Fujita) <command>UPDATE</command>s and <command>DELETE</command>s using
joins to foreign servers (Etsuro Fujita)
</para> </para>
<para> <para>
Previously only non-join UPDATEs and DELETEs were pushed. Previously only non-join <command>UPDATE</command>s and
<command>DELETE</command>s were pushed.
</para> </para>
</listitem> </listitem>
...@@ -902,8 +951,11 @@ same commits as above ...@@ -902,8 +951,11 @@ same commits as above
--> -->
<para> <para>
Show memory usage in log_statement_stats, log_parser_stats, Show memory usage in <varname>log_statement_stats</varname>,
log_planner_stats, log_executor_stats (Justin Pryzby, Peter Eisentraut) <varname>log_parser_stats</varname>,
<varname>log_planner_stats</varname>,
<varname>log_executor_stats</varname> (Justin Pryzby, Peter
Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -913,17 +965,20 @@ same commits as above ...@@ -913,17 +965,20 @@ same commits as above
--> -->
<para> <para>
Add pg_stat_activity.backend_type now shows the type of background worker Add
(Peter Eisentraut) <structname>pg_stat_activity</structname>.<structfield>backend_type</structfield>
now shows the type of background worker (Peter Eisentraut)
</para> </para>
<para> <para>
Add bgw_type to the background worker C structure (Peter Eisentraut) Add <structfield>bgw_type</structfield> to the background worker
C structure (Peter Eisentraut)
</para> </para>
<para> <para>
This is displayed to the user in pg_stat_activity.backend_type and ps This is displayed to the user in
output. <structname>pg_stat_activity</structname>.<structfield>backend_type</structfield>
and <application>ps</application> output.
</para> </para>
</listitem> </listitem>
...@@ -933,8 +988,8 @@ same commits as above ...@@ -933,8 +988,8 @@ same commits as above
--> -->
<para> <para>
Have log_autovacuum_min_duration log skipped tables that are Have <varname>log_autovacuum_min_duration</varname> log skipped
concurrently being dropped (Nathan Bossart) tables that are concurrently being dropped (Nathan Bossart)
</para> </para>
</listitem> </listitem>
...@@ -952,14 +1007,17 @@ same commits as above ...@@ -952,14 +1007,17 @@ same commits as above
--> -->
<para> <para>
Add information_schema columns related to table constraints and triggers Add information_schema columns related to table constraints and
(Michael Paquier) triggers (Michael Paquier)
</para> </para>
<para> <para>
Specifically, table_constraints.enforced, triggers.action_order, Specifically,
triggers.action_reference_old_table, and <structname>table_constraints</structname>.<structfield>enforced</structfield>,
triggers.action_reference_new_table. <structname>triggers</structname>.<structfield>action_order</structfield>,
<structname>triggers</structname>.<structfield>action_reference_old_table</structfield>,
and
<structname>triggers</structname>.<structfield>action_reference_new_table</structfield>.
</para> </para>
</listitem> </listitem>
...@@ -982,20 +1040,22 @@ same commits as above ...@@ -982,20 +1040,22 @@ same commits as above
--> -->
<para> <para>
Add libpq option to support channel binding when using SCRAM Add libpq option to support channel binding when using
authentication (Michael Paquier) <acronym>SCRAM</acronym> authentication (Michael Paquier)
</para> </para>
<para> <para>
Channel binding requires the server end of the TLS connection to prove Channel binding requires the server end of
the <acronym>TLS</acronym> connection to prove
that it knows the password. The options are that it knows the password. The options are
'scram_channel_binding=tls-unique' and <option>scram_channel_binding=tls-unique</option> and
'scram_channel_binding=tls-server-end-point'. <option>scram_channel_binding=tls-server-end-point</option>.
</para> </para>
<para> <para>
WHAT DOES THIS DOC TEXT MEAN? "An empty value specifies that the client will not WHAT DOES THIS DOC TEXT MEAN? "An empty value specifies that
use channel binding. The default value is tls-unique." the client will not use channel binding. The default value
is tls-unique."
</para> </para>
</listitem> </listitem>
...@@ -1005,13 +1065,13 @@ same commits as above ...@@ -1005,13 +1065,13 @@ same commits as above
--> -->
<para> <para>
Allow the server to specify more complex LDAP specifications in Allow the server to specify more complex <acronym>LDAP</acronym>
search+bind mode (Thomas Munro) specifications in search+bind mode (Thomas Munro)
</para> </para>
<para> <para>
Specifically, "ldapsearchfilter" allows pattern matching using Specifically, "ldapsearchfilter" allows pattern matching using
combinations of LDAP attributes. combinations of <acronym>LDAP</acronym> attributes.
</para> </para>
</listitem> </listitem>
...@@ -1022,12 +1082,15 @@ same commits as above ...@@ -1022,12 +1082,15 @@ same commits as above
--> -->
<para> <para>
Allow LDAP authentication to use ldaps (Thomas Munro) Allow <acronym>LDAP</acronym> authentication to use ldaps
(Thomas Munro)
</para> </para>
<para> <para>
We already supported LDAP over TLS by using ldaptls=1. This new TLS We already supported <acronym>LDAP</acronym> over
LDAP method of encrypted LDAP is enabled with ldapscheme=ldaps or <acronym>TLS</acronym> by using ldaptls=1. This new
<acronym>TLS</acronym> <acronym>LDAP</acronym> method of encrypted
<acronym>LDAP</acronym> is enabled with ldapscheme=ldaps or
ldapurl=ldaps://. ldapurl=ldaps://.
</para> </para>
</listitem> </listitem>
...@@ -1038,7 +1101,7 @@ same commits as above ...@@ -1038,7 +1101,7 @@ same commits as above
--> -->
<para> <para>
Improve LDAP logging of errors (Thomas Munro) Improve <acronym>LDAP</acronym> logging of errors (Thomas Munro)
</para> </para>
</listitem> </listitem>
...@@ -1063,11 +1126,13 @@ same commits as above ...@@ -1063,11 +1126,13 @@ same commits as above
</para> </para>
<para> <para>
Specifically, the new roles are: pg_read_server_files, Specifically, the new roles are:
pg_write_server_files, pg_execute_server_program. These roles now also <literal>pg_read_server_files</literal>,
control who can use COPY and extension file_fdw. Previously only <literal>pg_write_server_files</literal>,
super-users could use these functions, and that is still the default <literal>pg_execute_server_program</literal>. These roles now
behavior. also control who can use <command>COPY</command> and extension
<application>file_fdw</application>. Previously only super-users
could use these functions, and that is still the default behavior.
</para> </para>
</listitem> </listitem>
...@@ -1077,13 +1142,17 @@ same commits as above ...@@ -1077,13 +1142,17 @@ same commits as above
--> -->
<para> <para>
Allow access to file system functions to be controlled by GRANT/REVOKE Allow access to file system functions to be controlled by
permissions, rather than super-user checks (Michael Paquier) <command>GRANT</command>/<command>REVOKE</command> permissions,
rather than super-user checks (Michael Paquier)
</para> </para>
<para> <para>
Specifically, these functions were modified: pg_ls_dir(), pg_read_file(), Specifically, these functions were
pg_read_binary_file(), pg_stat_file(). modified: <function>pg_ls_dir()</function>,
<function>pg_read_file()</function>,
<function>pg_read_binary_file()</function>,
<function>pg_stat_file()</function>.
</para> </para>
</listitem> </listitem>
...@@ -1094,8 +1163,9 @@ same commits as above ...@@ -1094,8 +1163,9 @@ same commits as above
--> -->
<para> <para>
Use GRANT/REVOKE to control access to lo_import() and lo_export() Use <command>GRANT</command>/<command>REVOKE</command>
(Michael Paquier) to control access to <function>lo_import()</function> and
<function>lo_export()</function> (Michael Paquier)
</para> </para>
<para> <para>
...@@ -1114,14 +1184,17 @@ same commits as above ...@@ -1114,14 +1184,17 @@ same commits as above
--> -->
<para> <para>
Use view owner not session owner when preventing non-password access to Use view owner not session owner when preventing non-password
postgres_fdw tables (Robert Haas) access to <application>postgres_fdw</application> tables
(Robert Haas)
</para> </para>
<para> <para>
Postgres only allows super-users to access postgres_fdw tables without <productname>PostgreSQL</productname> only allows super-users to
passwords, e.g. via peer. Previously the session owner had to be a access <application>postgres_fdw</application> tables without
super-user to allow such access; now the view owner is checked instead. passwords, e.g. via peer. Previously the session owner had to
be a super-user to allow such access; now the view owner is
checked instead.
</para> </para>
</listitem> </listitem>
...@@ -1131,8 +1204,8 @@ same commits as above ...@@ -1131,8 +1204,8 @@ same commits as above
--> -->
<para> <para>
Fix invalid locking permission check in SELECT FOR UPDATE on views (Tom Fix invalid locking permission check in <command>SELECT FOR
Lane) UPDATE</command> on views (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -1152,13 +1225,15 @@ same commits as above ...@@ -1152,13 +1225,15 @@ same commits as above
--> -->
<para> <para>
Add server setting ssl_passphrase_command to allow supplying of the the Add server setting <varname>ssl_passphrase_command</varname> to
passphrase for SSL key files (Peter Eisentraut) allow supplying of the the passphrase for <acronym>SSL</acronym>
key files (Peter Eisentraut)
</para> </para>
<para> <para>
Also add ssl_passphrase_command_supports_reload to specify whether the Also add <varname>ssl_passphrase_command_supports_reload</varname>
the SSL configuration should be reloaded and ssl_passphrase_command to specify whether the the <acronym>SSL</acronym> configuration
should be reloaded and <varname>ssl_passphrase_command</varname>
called during a server configuration reload. called during a server configuration reload.
</para> </para>
</listitem> </listitem>
...@@ -1169,12 +1244,14 @@ same commits as above ...@@ -1169,12 +1244,14 @@ same commits as above
--> -->
<para> <para>
Add server variable toast_tuple_target to control the minimum length Add server variable <varname>toast_tuple_target</varname>
before TOAST storage will be considered for new rows (Simon Riggs) to control the minimum length before <acronym>TOAST</acronym>
storage will be considered for new rows (Simon Riggs)
</para> </para>
<para> <para>
The default TOAST threshold has not been changed. The default <acronym>TOAST</acronym> threshold has not been
changed.
</para> </para>
</listitem> </listitem>
...@@ -1184,7 +1261,8 @@ same commits as above ...@@ -1184,7 +1261,8 @@ same commits as above
--> -->
<para> <para>
Allow bytes to be specified for server variable sizes (Beena Emerson) Allow bytes to be specified for server variable sizes (Beena
Emerson)
</para> </para>
<para> <para>
...@@ -1208,7 +1286,8 @@ same commits as above ...@@ -1208,7 +1286,8 @@ same commits as above
--> -->
<para> <para>
Allow the WAL file size to be set via initdb (Beena Emerson) Allow the <acronym>WAL</acronym> file size to be set via initdb
(Beena Emerson)
</para> </para>
<para> <para>
...@@ -1222,11 +1301,13 @@ same commits as above ...@@ -1222,11 +1301,13 @@ same commits as above
--> -->
<para> <para>
No longer retain WAL that spans two checkpoints (Simon Riggs) No longer retain <acronym>WAL</acronym> that spans two checkpoints
(Simon Riggs)
</para> </para>
<para> <para>
The retention of WAL records for only one checkpoint is required. The retention of <acronym>WAL</acronym> records for only one
checkpoint is required.
</para> </para>
</listitem> </listitem>
...@@ -1236,8 +1317,9 @@ same commits as above ...@@ -1236,8 +1317,9 @@ same commits as above
--> -->
<para> <para>
Fill the unused portion of force-switched WAL segment files with zeros Fill the unused portion of force-switched <acronym>WAL</acronym>
for improved compressibility (Chapman Flack) segment files with zeros for improved compressibility (Chapman
Flack)
</para> </para>
</listitem> </listitem>
...@@ -1260,8 +1342,8 @@ same commits as above ...@@ -1260,8 +1342,8 @@ same commits as above
--> -->
<para> <para>
Replicate TRUNCATE activity when using logical replication (Simon Riggs, Replicate <command>TRUNCATE</command> activity when using logical
Marco Nenciarini, Peter Eisentraut) replication (Simon Riggs, Marco Nenciarini, Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -1271,8 +1353,8 @@ same commits as above ...@@ -1271,8 +1353,8 @@ same commits as above
--> -->
<para> <para>
Pass prepared transaction information to logical replication subscribers Pass prepared transaction information to logical replication
(Nikhil Sontakke, Stas Kelvich) subscribers (Nikhil Sontakke, Stas Kelvich)
</para> </para>
</listitem> </listitem>
...@@ -1283,8 +1365,8 @@ same commits as above ...@@ -1283,8 +1365,8 @@ same commits as above
--> -->
<para> <para>
Exclude unlogged and temporary tables from streaming base backups (David Exclude unlogged and temporary tables from streaming base backups
Steele) (David Steele)
</para> </para>
<para> <para>
...@@ -1298,8 +1380,8 @@ same commits as above ...@@ -1298,8 +1380,8 @@ same commits as above
--> -->
<para> <para>
Allow heap pages checksums to be checked during streaming base backup Allow heap pages checksums to be checked during streaming base
(Michael Banck) backup (Michael Banck)
</para> </para>
</listitem> </listitem>
...@@ -1309,13 +1391,14 @@ same commits as above ...@@ -1309,13 +1391,14 @@ same commits as above
--> -->
<para> <para>
Allow replication slots to be advanced programatically, rather than be Allow replication slots to be advanced programatically, rather
consumed by subscribers (Petr Jelinek) than be consumed by subscribers (Petr Jelinek)
</para> </para>
<para> <para>
This allows efficient advancement replication slots when the contents do This allows efficient advancement replication slots when the
not need to be consumed. This is performed by pg_replication_slot_advance(). contents do not need to be consumed. This is performed by
<function>pg_replication_slot_advance()</function>.
</para> </para>
</listitem> </listitem>
...@@ -1325,12 +1408,13 @@ same commits as above ...@@ -1325,12 +1408,13 @@ same commits as above
--> -->
<para> <para>
Add timeline information to the backup_label file (Simon Riggs) Add timeline information to the <filename>backup_label</filename>
file (Simon Riggs)
</para> </para>
<para> <para>
Also add a check that the WAL timeline matches the backup_label file's Also add a check that the <acronym>WAL</acronym> timeline matches
timeline. the <filename>backup_label</filename> file's timeline.
</para> </para>
</listitem> </listitem>
...@@ -1340,8 +1424,9 @@ same commits as above ...@@ -1340,8 +1424,9 @@ same commits as above
--> -->
<para> <para>
Add host and port connection information to the pg_stat_wal_receiver Add host and port connection information to the
system view (Haribabu Kommi) <structname>pg_stat_wal_receiver</structname> system view
(Haribabu Kommi)
</para> </para>
</listitem> </listitem>
...@@ -1351,8 +1436,8 @@ same commits as above ...@@ -1351,8 +1436,8 @@ same commits as above
--> -->
<para> <para>
Document that pg_internal.init files do not need to be included in the Document that <filename>pg_internal.init</filename> files do not
base backup (David Steele) need to be included in the base backup (David Steele)
</para> </para>
</listitem> </listitem>
...@@ -1373,15 +1458,16 @@ same commits as above ...@@ -1373,15 +1458,16 @@ same commits as above
--> -->
<para> <para>
Add window function features to complete SQL:2011 compliance (Oliver Add window function features to complete SQL:2011 compliance
Ford, Tom Lane) (Oliver Ford, Tom Lane)
</para> </para>
<para> <para>
Specifically, allow RANGE mode to use PRECEDING and FOLLOWING to specify Specifically, allow <literal>RANGE</literal> mode to use
peer groups with values plus or minus the specified offset. Add <literal>PRECEDING</literal> and <literal>FOLLOWING</literal> to
GROUPS mode to include plus or minus the number of peer groups. Frame specify peer groups with values plus or minus the specified offset.
exclusion syntax was also added. Add <literal>GROUPS</literal> mode to include plus or minus the
number of peer groups. Frame exclusion syntax was also added.
</para> </para>
</listitem> </listitem>
...@@ -1401,8 +1487,8 @@ same commits as above ...@@ -1401,8 +1487,8 @@ same commits as above
--> -->
<para> <para>
Allow NOT NULL to be added to columns without requiring a table rewrite Allow <literal>NOT NULL</literal> to be added to columns without
(Andrew Dunstan, Serge Rielau) requiring a table rewrite (Andrew Dunstan, Serge Rielau)
</para> </para>
</listitem> </listitem>
...@@ -1413,7 +1499,8 @@ same commits as above ...@@ -1413,7 +1499,8 @@ same commits as above
--> -->
<para> <para>
Allow views to be locked by locking the underlying tables (Yugo Nagata) Allow views to be locked by locking the underlying tables
(Yugo Nagata)
</para> </para>
</listitem> </listitem>
...@@ -1423,12 +1510,13 @@ same commits as above ...@@ -1423,12 +1510,13 @@ same commits as above
--> -->
<para> <para>
Allow ALTER INDEX to set statistics-gathering targets for expression Allow <command>ALTER INDEX</command> to set statistics-gathering
indexes (Alexander Korotkov, Adrien nayrat) targets for expression indexes (Alexander Korotkov, Adrien nayrat)
</para> </para>
<para> <para>
In psql, \d+ now shows the statistics target for indexes. In <application>psql</application>, \d+ now shows the statistics
target for indexes.
</para> </para>
</listitem> </listitem>
...@@ -1438,13 +1526,16 @@ same commits as above ...@@ -1438,13 +1526,16 @@ same commits as above
--> -->
<para> <para>
Allow multiple tables to be specified in one VACUUM or ANALYZE command Allow multiple tables to be specified in one
<command>VACUUM</command> or <command>ANALYZE</command> command
(Nathan Bossart) (Nathan Bossart)
</para> </para>
<para> <para>
Also, if any table mentioned in VACUUM uses a column list, then ANALYZE Also, if any table mentioned in <command>VACUUM</command> uses
keyword must be supplied; previously ANALYZE was implied in such cases. a column list, then <command>ANALYZE</command> keyword must be
supplied; previously <command>ANALYZE</command> was implied in
such cases.
</para> </para>
</listitem> </listitem>
...@@ -1454,11 +1545,13 @@ same commits as above ...@@ -1454,11 +1545,13 @@ same commits as above
--> -->
<para> <para>
Add parenthesized options syntax to ANALYZE (Nathan Bossart) Add parenthesized options syntax to <command>ANALYZE</command>
(Nathan Bossart)
</para> </para>
<para> <para>
This is similar to the syntax supported by VACUUM. This is similar to the syntax supported by
<command>VACUUM</command>.
</para> </para>
</listitem> </listitem>
...@@ -1469,13 +1562,13 @@ same commits as above ...@@ -1469,13 +1562,13 @@ same commits as above
--> -->
<para> <para>
Add CREATE AGGREGATE option to specify the behavior of the aggregate Add <command>CREATE AGGREGATE</command> option to specify the
finalization function (Tom Lane) behavior of the aggregate finalization function (Tom Lane)
</para> </para>
<para> <para>
This is useful for allowing aggregate functions be optimized and to work This is useful for allowing aggregate functions be optimized and
as window functions. to work as window functions.
</para> </para>
</listitem> </listitem>
...@@ -1499,7 +1592,8 @@ same commits as above ...@@ -1499,7 +1592,8 @@ same commits as above
</para> </para>
<para> <para>
This also allows array_agg() to be used on domains. This also allows <function>array_agg()</function> to be used
on domains.
</para> </para>
</listitem> </listitem>
...@@ -1516,8 +1610,9 @@ same commits as above ...@@ -1516,8 +1610,9 @@ same commits as above
</para> </para>
<para> <para>
Also allow PL/PL/Perl, PL/Python, and PL/Tcl to handle composite-domain Also allow PL/PL/Perl, PL/Python, and PL/Tcl to handle
function arguments and results. Also improve PL/Python domain handling. composite-domain function arguments and results. Also improve
PL/Python domain handling.
</para> </para>
</listitem> </listitem>
...@@ -1548,11 +1643,14 @@ same commits as above ...@@ -1548,11 +1643,14 @@ same commits as above
--> -->
<para> <para>
Add SHA-2 family of hash functions (Peter Eisentraut) Add <acronym>SHA</acronym>-2 family of hash functions (Peter
Eisentraut)
</para> </para>
<para> <para>
Specifically, sha224(), sha256(), sha384(), sha512() were added. Specifically, <function>sha224()</function>,
<function>sha256()</function>, <function>sha384()</function>,
<function>sha512()</function> were added.
</para> </para>
</listitem> </listitem>
...@@ -1562,7 +1660,8 @@ same commits as above ...@@ -1562,7 +1660,8 @@ same commits as above
--> -->
<para> <para>
Add support for 64-bit non-cryptographic hash functions (Robert Haas, Amul Sul) Add support for 64-bit non-cryptographic hash functions (Robert
Haas, Amul Sul)
</para> </para>
</listitem> </listitem>
...@@ -1572,17 +1671,22 @@ same commits as above ...@@ -1572,17 +1671,22 @@ same commits as above
--> -->
<para> <para>
Allow to_char() and to_timestamp() to specify the time zone's hours and Allow <function>to_char()</function> and
minutes from UTC (Nikita Glukhov, Andrew Dunstan) <function>to_timestamp()</function> to specify the time zone's
hours and minutes from <acronym>UTC</acronym> (Nikita Glukhov,
Andrew Dunstan)
</para> </para>
<para> <para>
This is done with format specifications TZH and TZM. This is done with format specifications <literal>TZH</literal>
and <literal>TZM</literal>.
</para>
</listitem>
<listitem>
<!-- <!--
2018-01-09 [69c3936a1] Expression evaluation based aggregate transition invocat 2018-01-09 [69c3936a1] Expression evaluation based aggregate transition invocat
--> -->
</para>
<para> <para>
Improve the speed of aggregate computations (Andres Freund) Improve the speed of aggregate computations (Andres Freund)
...@@ -1595,9 +1699,10 @@ same commits as above ...@@ -1595,9 +1699,10 @@ same commits as above
--> -->
<para> <para>
Add text search function websearch_to_tsquery() that supports a queries Add text search function
syntax similar to that used by web search engines (Victor Drobny, Dmitry <function>websearch_to_tsquery()</function> that supports a queries
Ivanov) syntax similar to that used by web search engines (Victor Drobny,
Dmitry Ivanov)
</para> </para>
</listitem> </listitem>
...@@ -1607,8 +1712,9 @@ same commits as above ...@@ -1607,8 +1712,9 @@ same commits as above
--> -->
<para> <para>
Add functionjson(b)_to_tsvector to create usable text search queries Add function <function>json(b)_to_tsvector()</function> to create
matching JSON/JSONB values (Dmitry Dolgov) text search query for matching <type>JSON</type>/<type>JSONB
</type>values (Dmitry Dolgov)
</para> </para>
</listitem> </listitem>
...@@ -1631,14 +1737,16 @@ same commits as above ...@@ -1631,14 +1737,16 @@ same commits as above
--> -->
<para> <para>
Add SQL procedures, which can start and commit their own transactions Add SQL procedures, which can start and commit their own
transactions
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
<para> <para>
They are created with the new CREATE PROCEDURE command and invoked via They are created with the new <command>CREATE PROCEDURE</command>
CALL. The new ALTER/DROP ROUTINE commands allows altering/dropping of command and invoked via <command>CALL</command>. The new
procedures, functions, and aggregates. <command>ALTER</command>/<command>DROP ROUTINE</command> commands
allows altering/dropping of procedures, functions, and aggregates.
</para> </para>
</listitem> </listitem>
...@@ -1651,14 +1759,16 @@ same commits as above ...@@ -1651,14 +1759,16 @@ same commits as above
--> -->
<para> <para>
Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl, and SPI Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl,
server-side languages (Peter Eisentraut) and <acronym>SPI</acronym> server-side languages (Peter Eisentraut)
</para> </para>
<para> <para>
Transaction control is only available to top-transaction-level CALLs or Transaction control is only available to top-transaction-level
in nested PL/pgSQL DO and CALL blocks that only contain other PL/pgSQL <command>CALL</command>s or in nested PL/pgSQL DO and
DO and CALL blocks. ACCURATE? <command>CALL</command> blocks that only contain other PL/pgSQL
<command>DO</command> and <command>CALL</command> blocks.
ACCURATE?
</para> </para>
</listitem> </listitem>
...@@ -1668,8 +1778,8 @@ same commits as above ...@@ -1668,8 +1778,8 @@ same commits as above
--> -->
<para> <para>
Add the ability to define PL/pgSQL record types as not null, constant, or Add the ability to define PL/pgSQL record types as not null,
with initial values (Tom Lane) constant, or with initial values (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -1679,8 +1789,9 @@ same commits as above ...@@ -1679,8 +1789,9 @@ same commits as above
--> -->
<para> <para>
Add extension jsonb_plpython to transform JSONB to/from PL/Python Add extension <application>jsonb_plpython</application> to
types (Anthony Bykov) transform <type>JSONB </type>to/from PL/Python types (Anthony
Bykov)
</para> </para>
</listitem> </listitem>
...@@ -1690,8 +1801,8 @@ same commits as above ...@@ -1690,8 +1801,8 @@ same commits as above
--> -->
<para> <para>
Add extension jsonb_plpython to transform JSONB to/from PL/Perl types Add extension <application>jsonb_plperl</application> to
(Anthony Bykov) transform <type>JSONB </type>to/from PL/Perl types (Anthony Bykov)
</para> </para>
</listitem> </listitem>
...@@ -1730,23 +1841,24 @@ same commits as above ...@@ -1730,23 +1841,24 @@ same commits as above
</para> </para>
<para> <para>
Compression is already disabled in modern OpenSSL versions and the libpq Compression is already disabled in modern OpenSSL versions and
setting had no effect in that case. the libpq setting had no effect in that case.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-08-25 [d22e9d530] Implement DO CONTINUE action for ECPG WHENEVER statement 2017-08-25 [d22e9d530] Implement <literal>DO CONTINUE</literal> action for <literal>ECPG WHENEVER</literal> statement
--> -->
<para> <para>
Add DO CONTINUE action to the ECPG WHENEVER statement (Vinayak Pokale) Add <literal>DO CONTINUE</literal> action to the <literal>ECPG
WHENEVER</literal> statement (Vinayak Pokale)
</para> </para>
<para> <para>
This generates a C 'continue' statement, causing a return to the top of This generates a C 'continue' statement, causing a return to the
the contained loop when the specified condition occurs. top of the contained loop when the specified condition occurs.
</para> </para>
</listitem> </listitem>
...@@ -1760,7 +1872,7 @@ same commits as above ...@@ -1760,7 +1872,7 @@ same commits as above
</para> </para>
<para> <para>
This mode is enabled with -C. This mode is enabled with <option>-C</option>.
</para> </para>
</listitem> </listitem>
...@@ -1783,8 +1895,8 @@ same commits as above ...@@ -1783,8 +1895,8 @@ same commits as above
--> -->
<para> <para>
Add psql command \gdesc to display the column names and types of the Add <application>psql</application> command \gdesc to display
query output (Pavel Stehule) the column names and types of the query output (Pavel Stehule)
</para> </para>
</listitem> </listitem>
...@@ -1794,12 +1906,15 @@ same commits as above ...@@ -1794,12 +1906,15 @@ same commits as above
--> -->
<para> <para>
Add psql variables to report query activity and errors (Fabien Coelho) Add <application>psql</application> variables to report query
activity and errors (Fabien Coelho)
</para> </para>
<para> <para>
Specifically, the new variables are ERROR, SQLSTATE, ROW_COUNT, Specifically, the new variables are <literal>ERROR</literal>,
LAST_ERROR_MESSAGE, and LAST_ERROR_SQLSTATE. <literal>SQLSTATE</literal>, <literal>ROW_COUNT</literal>,
<literal>LAST_ERROR_MESSAGE</literal>, and
<literal>LAST_ERROR_SQLSTATE</literal>.
</para> </para>
</listitem> </listitem>
...@@ -1809,12 +1924,13 @@ same commits as above ...@@ -1809,12 +1924,13 @@ same commits as above
--> -->
<para> <para>
Allow psql to test for the existence of a variable (Fabien Coelho) Allow <application>psql</application> to test for the existence
of a variable (Fabien Coelho)
</para> </para>
<para> <para>
Specifically , the syntax :{?variable_name} allows a variable's Specifically , the syntax <literal>:{?variable_name}</literal>
existence to be tested in an \if statement. allows a variable's existence to be tested in an \if statement.
</para> </para>
</listitem> </listitem>
...@@ -1824,13 +1940,15 @@ same commits as above ...@@ -1824,13 +1940,15 @@ same commits as above
--> -->
<para> <para>
Add PSQL_PAGER to control psql's pager (Pavel Stehule) Add <envar>PSQL_PAGER</envar> to control
<application>psql</application>'s pager (Pavel Stehule)
</para> </para>
<para> <para>
This allows psql's default pager to be specified as a separate environment This allows <application>psql</application>'s default pager to
variable from the pager for other applications. PAGER is still honored be specified as a separate environment variable from the pager
if PSQL_PAGER is not set. for other applications. <envar>PAGER</envar> is still honored
if <envar>PSQL_PAGER</envar> is not set.
</para> </para>
</listitem> </listitem>
...@@ -1840,12 +1958,13 @@ same commits as above ...@@ -1840,12 +1958,13 @@ same commits as above
--> -->
<para> <para>
Have psql \d+ show a partition count of zero (Amit Langote) Have <application>psql</application> \d+ show a partition count
of zero (Amit Langote)
</para> </para>
<para> <para>
Previously no partition information would be displayed for such tables. Previously no partition information would be displayed for such
Also indicate which partitions are themselves partitioned. tables. Also indicate which partitions are themselves partitioned.
ACCURATE? ACCURATE?
</para> </para>
</listitem> </listitem>
...@@ -1856,14 +1975,15 @@ same commits as above ...@@ -1856,14 +1975,15 @@ same commits as above
--> -->
<para> <para>
Have psql report the proper user name before the password prompt (Tom Have <application>psql</application> report the proper user name
Lane) before the password prompt (Tom Lane)
</para> </para>
<para> <para>
Previously, combinations of -U and a user name embedded in a URI caused Previously, combinations of <option>-U</option> and a user name
incorrect reporting. Also suppress the user name before the password embedded in a <acronym>URI</acronym> caused incorrect reporting.
prompt when --password is specified. Also suppress the user name before the password prompt when
<option>--password</option> is specified.
</para> </para>
</listitem> </listitem>
...@@ -1873,13 +1993,13 @@ same commits as above ...@@ -1873,13 +1993,13 @@ same commits as above
--> -->
<para> <para>
Allow 'quit' and 'exit' to exit psql when used in an empty buffer (Bruce Allow 'quit' and 'exit' to exit <application>psql</application>
Momjian) when used in an empty buffer (Bruce Momjian)
</para> </para>
<para> <para>
Also add hints of how to exit when 'quit' and 'exit' are used alone on a Also add hints of how to exit when 'quit' and 'exit' are used alone
line in a non-empty buffer. Add a similar hint for 'help'. on a line in a non-empty buffer. Add a similar hint for 'help'.
</para> </para>
</listitem> </listitem>
...@@ -1889,8 +2009,8 @@ same commits as above ...@@ -1889,8 +2009,8 @@ same commits as above
--> -->
<para> <para>
Have psql hint at using control-D when \q is entered alone on a line but Have <application>psql</application> hint at using control-D when
ignored (Bruce Momjian) \q is entered alone on a line but ignored (Bruce Momjian)
</para> </para>
<para> <para>
...@@ -1904,7 +2024,8 @@ same commits as above ...@@ -1904,7 +2024,8 @@ same commits as above
--> -->
<para> <para>
Improve tab-completion for ALTER INDEX RESET/SET (Masahiko Sawada) Improve tab-completion for <command>ALTER INDEX
RESET</command>/<command>SET</command> (Masahiko Sawada)
</para> </para>
</listitem> </listitem>
...@@ -1914,8 +2035,9 @@ same commits as above ...@@ -1914,8 +2035,9 @@ same commits as above
--> -->
<para> <para>
Add infrastructure to allow psql to customize tab completion queries Add infrastructure to allow <application>psql</application>
based on the server version (Tom Lane) to customize tab completion queries based on the server version
(Tom Lane)
</para> </para>
<para> <para>
...@@ -1939,7 +2061,8 @@ same commits as above ...@@ -1939,7 +2061,8 @@ same commits as above
--> -->
<para> <para>
Add major scripting features to pgbench (Fabien Coelho) Add pgbench expressions support for NULLs, booleans, and some
functions and operators (Fabien Coelho)
</para> </para>
</listitem> </listitem>
...@@ -1949,7 +2072,7 @@ same commits as above ...@@ -1949,7 +2072,7 @@ same commits as above
--> -->
<para> <para>
Add \if macro support to pgbench (Fabien Coelho) Add \if conditional support to pgbench (Fabien Coelho)
</para> </para>
</listitem> </listitem>
...@@ -1959,8 +2082,8 @@ same commits as above ...@@ -1959,8 +2082,8 @@ same commits as above
--> -->
<para> <para>
Allow the use of non-ASCII characters in pgbench variable names (Fabien Allow the use of non-<acronym>ASCII</acronym> characters in
Coelho) pgbench variable names (Fabien Coelho)
</para> </para>
</listitem> </listitem>
...@@ -1970,8 +2093,8 @@ same commits as above ...@@ -1970,8 +2093,8 @@ same commits as above
--> -->
<para> <para>
Add pgbench option --init-steps to control the initialization steps Add pgbench option <option>--init-steps</option> to control the
performed (Masahiko Sawada) initialization steps performed (Masahiko Sawada)
</para> </para>
</listitem> </listitem>
...@@ -1981,8 +2104,8 @@ same commits as above ...@@ -1981,8 +2104,8 @@ same commits as above
--> -->
<para> <para>
Add approximated Zipfian-distributed random generator to pgbench (Alik Add approximated Zipfian-distributed random generator to pgbench
Khilazhev) (Alik Khilazhev)
</para> </para>
</listitem> </listitem>
...@@ -2002,8 +2125,9 @@ same commits as above ...@@ -2002,8 +2125,9 @@ same commits as above
--> -->
<para> <para>
Allow pgbench to do exponentiation with pow() and power() (Ra&uacute;l Allow pgbench to do exponentiation with <function>pow()</function>
Mar&iacute;n Rodr&iacute;guez) and <function>power()</function> (Ra&uacute;l Mar&iacute;n
Rodr&iacute;guez)
</para> </para>
</listitem> </listitem>
...@@ -2024,8 +2148,9 @@ same commits as above ...@@ -2024,8 +2148,9 @@ same commits as above
--> -->
<para> <para>
Make pgbench statistics more accurate when using --latency-limit and Make pgbench statistics more accurate when using
--rate (Fabien Coelho) <option>--latency-limit</option> and <option>--rate</option>
(Fabien Coelho)
</para> </para>
</listitem> </listitem>
...@@ -2047,16 +2172,20 @@ same commits as above ...@@ -2047,16 +2172,20 @@ same commits as above
--> -->
<para> <para>
Add pg_basebackup option to create a named replication slot (Michael Banck) Add <application>pg_basebackup</application> option to create a
named replication slot (Michael Banck)
</para> </para>
<para> <para>
The option --create-slot creates the named replication slot (--slot) The option <option>--create-slot</option> creates
when the WAL streaming method (-wal-method=stream) is used. the named replication slot (<option>--slot</option>)
when the <acronym>WAL</acronym> streaming method
(<option>-wal-method=stream</option>) is used.
</para> </para>
<para> <para>
IS IT CLEAR FROM THE DOCS THAT THE REPLICATION SLOT IS NOT TEMPORARY? IS IT CLEAR FROM THE DOCS THAT THE REPLICATION SLOT IS NOT
TEMPORARY?
</para> </para>
</listitem> </listitem>
...@@ -2066,15 +2195,17 @@ same commits as above ...@@ -2066,15 +2195,17 @@ same commits as above
--> -->
<para> <para>
Allow initdb to set group read access to the data directory (David Allow initdb to set group read access to the data directory
Steele) (David Steele)
</para> </para>
<para> <para>
This is accomplished with the initdb --allow-group-access flag. This is accomplished with the initdb
Administrators can also set group permissions on the empty data <option>--allow-group-access</option> flag. Administrators
directory before running initdb. Server variable data_directory_mode can also set group permissions on the empty data
allows reading of data directory group permissions. directory before running initdb. Server variable
<varname>data_directory_mode</varname> allows reading of data
directory group permissions.
</para> </para>
</listitem> </listitem>
...@@ -2085,8 +2216,8 @@ same commits as above ...@@ -2085,8 +2216,8 @@ same commits as above
--> -->
<para> <para>
Add pg_verify_checksums tool to verify database checksums while offline Add <application>pg_verify_checksums</application> tool to verify
(Magnus Hagander) database checksums while offline (Magnus Hagander)
</para> </para>
</listitem> </listitem>
...@@ -2096,8 +2227,9 @@ same commits as above ...@@ -2096,8 +2227,9 @@ same commits as above
--> -->
<para> <para>
Allow pg_resetwal to change the WAL segment size via --wal-segsize (Nathan Allow <application>pg_resetwal</application> to
Bossart) change the <acronym>WAL</acronym> segment size via
<option>--wal-segsize</option> (Nathan Bossart)
</para> </para>
</listitem> </listitem>
...@@ -2107,7 +2239,8 @@ same commits as above ...@@ -2107,7 +2239,8 @@ same commits as above
--> -->
<para> <para>
Add long options to pg_resetwal and pg_controldata (Nathan Bossart, Add long options to <application>pg_resetwal</application>
and <application>pg_controldata</application> (Nathan Bossart,
Peter Eisentraut) Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -2118,8 +2251,9 @@ same commits as above ...@@ -2118,8 +2251,9 @@ same commits as above
--> -->
<para> <para>
Add pg_receivewal option --no-sync to prevent synchronous WAL writes Add <application>pg_receivewal</application> option
(Michael Paquier) <option>--no-sync</option> to prevent synchronous
<acronym>WAL</acronym> writes (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -2129,8 +2263,9 @@ same commits as above ...@@ -2129,8 +2263,9 @@ same commits as above
--> -->
<para> <para>
Add pg_receivewal option --endpos to specify when WAL receiving should Add <application>pg_receivewal</application> option
stop (Michael Paquier) <option>--endpos</option> to specify when <acronym>WAL</acronym>
receiving should stop (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -2140,7 +2275,8 @@ same commits as above ...@@ -2140,7 +2275,8 @@ same commits as above
--> -->
<para> <para>
Allow pg_ctl to send the SIGKILL signal to processes (Andres Freund) Allow <application>pg_ctl</application> to send the
<literal>SIGKILL</literal> signal to processes (Andres Freund)
</para> </para>
<para> <para>
...@@ -2154,7 +2290,8 @@ same commits as above ...@@ -2154,7 +2290,8 @@ same commits as above
--> -->
<para> <para>
Reduce the number of files copied by pg_rewind (Michael Paquier) Reduce the number of files copied by
<application>pg_rewind</application> (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -2164,7 +2301,8 @@ same commits as above ...@@ -2164,7 +2301,8 @@ same commits as above
--> -->
<para> <para>
Prevent pg_rewind from running as root (Magnus Hagander) Prevent <application>pg_rewind</application> from running as
<literal>root</literal> (Magnus Hagander)
</para> </para>
</listitem> </listitem>
...@@ -2184,11 +2322,12 @@ same commits as above ...@@ -2184,11 +2322,12 @@ same commits as above
--> -->
<para> <para>
Add pg_dumpall option --encoding to control encoding (Michael Paquier) Add <application>pg_dumpall</application> option
<option>--encoding</option> to control encoding (Michael Paquier)
</para> </para>
<para> <para>
pg_dump already had this option. <application>pg_dump</application> already had this option.
</para> </para>
</listitem> </listitem>
...@@ -2198,14 +2337,17 @@ same commits as above ...@@ -2198,14 +2337,17 @@ same commits as above
--> -->
<para> <para>
Add pg_dump option --load-via-partition-root to force loading of data Add <application>pg_dump</application> option
into the partition's root table, rather than the original partitions <option>--load-via-partition-root</option> to force loading of
data into the partition's root table, rather than the original
partitions
(Rushabh Lathia) (Rushabh Lathia)
</para> </para>
<para> <para>
This is useful if the system to be loaded has a different collation This is useful if the system to be loaded has a different collation
definitions or endianness, requiring the rows to be stored in different partitions. definitions or endianness, requiring the rows to be stored in
different partitions.
</para> </para>
</listitem> </listitem>
...@@ -2215,11 +2357,15 @@ same commits as above ...@@ -2215,11 +2357,15 @@ same commits as above
--> -->
<para> <para>
Add ability to suppress dumping and restoring of comments (Robins Tharakan) Add ability to suppress dumping and restoring of comments
(Robins Tharakan)
</para> </para>
<para> <para>
The new pg_dump, pg_dumpall, and pg_restore option is --no-comments. The new <application>pg_dump</application>,
<application>pg_dumpall</application>, and
<application>pg_restore</application> option is
<option>--no-comments</option>.
</para> </para>
</listitem> </listitem>
...@@ -2241,8 +2387,8 @@ same commits as above ...@@ -2241,8 +2387,8 @@ same commits as above
--> -->
<para> <para>
Add support for with huge(large) pages on Windows (Takayuki Tsunakawa, Add support for with huge(large) pages on Windows (Takayuki
Thomas Munro) Tsunakawa, Thomas Munro)
</para> </para>
</listitem> </listitem>
...@@ -2252,7 +2398,8 @@ same commits as above ...@@ -2252,7 +2398,8 @@ same commits as above
--> -->
<para> <para>
Add support for ARMv8 hardware CRC calculations (Yuqi Gu, Heikki Linnakangas) Add support for <productname>ARMv8</productname> hardware
<acronym>CRC</acronym> calculations (Yuqi Gu, Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
...@@ -2262,7 +2409,8 @@ same commits as above ...@@ -2262,7 +2409,8 @@ same commits as above
--> -->
<para> <para>
Add configure flag --with-llvm to test for LLVM support (Andres Freund) Add configure flag <option>--with-llvm</option> to test for
<acronym>LLVM</acronym> support (Andres Freund)
</para> </para>
</listitem> </listitem>
...@@ -2272,8 +2420,8 @@ same commits as above ...@@ -2272,8 +2420,8 @@ same commits as above
--> -->
<para> <para>
Have configure check for the availability of a C++ compiler (Andres Have configure check for the availability of a C++ compiler
Freund) (Andres Freund)
</para> </para>
</listitem> </listitem>
...@@ -2286,13 +2434,13 @@ same commits as above ...@@ -2286,13 +2434,13 @@ same commits as above
--> -->
<para> <para>
Convert documentation to DocBook XML (Peter Eisentraut, Alexander Convert documentation to DocBook <acronym>XML</acronym> (Peter
Lakhin, J&uuml;rgen Purtz) Eisentraut, Alexander Lakhin, J&uuml;rgen Purtz)
</para> </para>
<para> <para>
The file names still use an 'sgml' extension for compatibility with back The file names still use an 'sgml' extension for compatibility
branches. with back branches.
</para> </para>
</listitem> </listitem>
...@@ -2304,8 +2452,8 @@ same commits as above ...@@ -2304,8 +2452,8 @@ same commits as above
--> -->
<para> <para>
Overhaul the way system tables are defined for bootstrap use (John Overhaul the way system tables are defined for bootstrap use
Naylor) (John Naylor)
</para> </para>
</listitem> </listitem>
...@@ -2315,8 +2463,8 @@ same commits as above ...@@ -2315,8 +2463,8 @@ same commits as above
--> -->
<para> <para>
Allow background workers to attach to databases that normally disallow Allow background workers to attach to databases that normally
connections (Magnus Hagander) disallow connections (Magnus Hagander)
</para> </para>
</listitem> </listitem>
...@@ -2326,7 +2474,8 @@ same commits as above ...@@ -2326,7 +2474,8 @@ same commits as above
--> -->
<para> <para>
Speed up lookups of builtin function names matching oids (Andres Freund) Speed up lookups of builtin function names matching oids (Andres
Freund)
</para> </para>
<para> <para>
...@@ -2375,7 +2524,9 @@ same commits as above ...@@ -2375,7 +2524,9 @@ same commits as above
--> -->
<para> <para>
Make the computation of system column pg_class.reltuples consistent Make the computation of system column
<structname>pg_class</structname>.<structfield>reltuples</structfield>
consistent
(Tomas Vondra) (Tomas Vondra)
</para> </para>
</listitem> </listitem>
...@@ -2400,8 +2551,8 @@ same commits as above ...@@ -2400,8 +2551,8 @@ same commits as above
</para> </para>
<para> <para>
Replacement sorts were determined to be no longer useful. Also remove Replacement sorts were determined to be no longer useful.
server variable replacement sorts. Also remove server variable replacement sorts.
</para> </para>
</listitem> </listitem>
...@@ -2421,14 +2572,16 @@ same commits as above ...@@ -2421,14 +2572,16 @@ same commits as above
--> -->
<para> <para>
Allow extension pg_prewarm to restore the previous shared buffer Allow extension <application>pg_prewarm</application> to restore
contents on startup (Mithun Cy, Robert Haas) the previous shared buffer contents on startup (Mithun Cy,
Robert Haas)
</para> </para>
<para> <para>
This is accomplished by having pg_prewarm store the shared buffer This is accomplished by having
relation/offset values to disk occasionally during server operation and <application>pg_prewarm</application> store the shared buffer
shutdown. relation/offset values to disk occasionally during server operation
and shutdown.
</para> </para>
</listitem> </listitem>
...@@ -2438,14 +2591,15 @@ same commits as above ...@@ -2438,14 +2591,15 @@ same commits as above
--> -->
<para> <para>
Add pgtrgm function strict_word_similarity() to compute the similarity Add pgtrgm function <function>strict_word_similarity()</function>
of whole words (Alexander Korotkov) to compute the similarity of whole words (Alexander Korotkov)
</para> </para>
<para> <para>
The function word_similarity() already existed for this purpose, but it The function <function>word_similarity()</function> already
was designed to find similar parts of words, while existed for this purpose, but it was designed to find similar
strict_word_similarity() computes the similarity to whole words. parts of words, while <function>strict_word_similarity()</function>
computes the similarity to whole words.
</para> </para>
</listitem> </listitem>
...@@ -2455,13 +2609,13 @@ same commits as above ...@@ -2455,13 +2609,13 @@ same commits as above
--> -->
<para> <para>
Allow creation of indexes on citext-extension columns that can be used Allow creation of indexes on citext-extension columns that can
by LIKE comparisons (Alexey Chernyshov) be used by <literal>LIKE</literal> comparisons (Alexey Chernyshov)
</para> </para>
<para> <para>
Specifically, indexes must be created using the citext_pattern_ops Specifically, indexes must be created using the
operator class. <literal>citext_pattern_ops</literal> operator class.
</para> </para>
</listitem> </listitem>
...@@ -2471,8 +2625,9 @@ same commits as above ...@@ -2471,8 +2625,9 @@ same commits as above
--> -->
<para> <para>
Allow btree_gin to index bool, bpchar, name and uuid data types (Matheus Allow <application>btree_gin</application> to index
Oliveira) <type>bool</type>, <type>bpchar</type>, <type>name</type> and
<type>uuid</type> data types (Matheus Oliveira)
</para> </para>
</listitem> </listitem>
...@@ -2482,8 +2637,8 @@ same commits as above ...@@ -2482,8 +2637,8 @@ same commits as above
--> -->
<para> <para>
Allow cube and seg extensions using GiST indexes to perform index-only Allow cube and seg extensions using GiST indexes to perform
scans (Andrey Borodin) index-only scans (Andrey Borodin)
</para> </para>
</listitem> </listitem>
...@@ -2493,8 +2648,8 @@ same commits as above ...@@ -2493,8 +2648,8 @@ same commits as above
--> -->
<para> <para>
Allow retrieval of negative cube coordinates using the ~&gt; operator Allow retrieval of negative cube coordinates using the ~&gt;
(Alexander Korotkov) operator (Alexander Korotkov)
</para> </para>
<para> <para>
...@@ -2508,7 +2663,8 @@ same commits as above ...@@ -2508,7 +2663,8 @@ same commits as above
--> -->
<para> <para>
Add Vietnamese letter detection to the unaccent extension (Dang Minh Huong, Michael Paquier) Add Vietnamese letter detection to the unaccent extension (Dang
Minh Huong, Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -2518,7 +2674,8 @@ same commits as above ...@@ -2518,7 +2674,8 @@ same commits as above
--> -->
<para> <para>
Enhance contrib/amcheck to check that each heap tuple has an index entry Enhance contrib/amcheck to check that each heap tuple has an
index entry
(Peter Geoghegan) (Peter Geoghegan)
</para> </para>
</listitem> </listitem>
...@@ -2534,8 +2691,8 @@ same commits as above ...@@ -2534,8 +2691,8 @@ same commits as above
</para> </para>
<para> <para>
Previously only super-users could call adminpack functions; now role Previously only super-users could call adminpack functions;
permissions are checked. now role permissions are checked.
</para> </para>
</listitem> </listitem>
...@@ -2545,12 +2702,13 @@ same commits as above ...@@ -2545,12 +2702,13 @@ same commits as above
--> -->
<para> <para>
Increase pg_stat_statement's query id to 64 bits (Robert Haas) Increase <structname>pg_stat_statement</structname>'s query id
to 64 bits (Robert Haas)
</para> </para>
<para> <para>
This greatly reduces the chance of query id hash collisions. The query This greatly reduces the chance of query id hash collisions.
id can now potentially display as a negative value. The query id can now potentially display as a negative value.
</para> </para>
</listitem> </listitem>
...@@ -2560,8 +2718,8 @@ same commits as above ...@@ -2560,8 +2718,8 @@ same commits as above
--> -->
<para> <para>
Install errcodes.txt to provide access to the error codes reported by Install errcodes.txt to provide access to the error codes reported
Postgres (Thomas Munro) by <productname>PostgreSQL</productname> (Thomas Munro)
</para> </para>
</listitem> </listitem>
...@@ -2571,8 +2729,8 @@ same commits as above ...@@ -2571,8 +2729,8 @@ same commits as above
--> -->
<para> <para>
Prevent extensions from creating custom server variables that take a Prevent extensions from creating custom server variables that
quoted list of values (Tom Lane) take a quoted list of values (Tom Lane)
</para> </para>
<para> <para>
...@@ -2586,8 +2744,8 @@ same commits as above ...@@ -2586,8 +2744,8 @@ same commits as above
--> -->
<para> <para>
Remove contrib/start-scripts/osx since they are no longer recommended Remove contrib/start-scripts/osx since they are no longer
(Tom Lane) recommended (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -2601,8 +2759,8 @@ same commits as above ...@@ -2601,8 +2759,8 @@ same commits as above
</para> </para>
<para> <para>
This extension no longer served as a usable security tool or example of This extension no longer served as a usable security tool or
how to write an extension. example of how to write an extension.
</para> </para>
</listitem> </listitem>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment