<para>
Values
- <literal>1</literal>/<literal>0</literal>/<literal>no-verify</literal>
+ <literal>1</literal>/<literal>0</literal>/<literal>no-verify</literal>
are no longer supported; only the strings
- <literal>verify-ca</literal> and <literal>verify-full</literal>
+ <literal>verify-ca</literal> and <literal>verify-full</literal>
can be used. Also, disallow <literal>verify-ca</literal> if cert
authentication is enabled since cert requires
- <literal>verify-full</literal> checking.
+ <literal>verify-full</literal> checking.
</para>
</listitem>
</para>
<para>
- <function>EXTRACT(date)</function> now throws an error for units
+ <function>EXTRACT(date)</function> now throws an error for units
that are not part of the date data type.
</para>
</listitem>
<para>
Prevent <xref linkend="tablefunc"/>'s function
- <function>normal_rand()</function> from accepting negative values
+ <function>normal_rand()</function> from accepting negative values
(Ashutosh Bapat)
</para>
<para>
Remove factorial operators <literal>!</literal> and
- <literal>!!</literal> (Mark Dilger)
+ <literal>!!</literal> (Mark Dilger)
</para>
<para>
The <link
linkend="functions-math"><function>factorial()</function></link>
function is still supported. Also remove function
- <function>numeric_fac()</function>.
+ <function>numeric_fac()</function>.
</para>
</listitem>
</para>
<para>
- <application>pg_dump</application> and
- <application>pg_upgrade</application> will warn if postfix operators
+ <application>pg_dump</application> and
+ <application>pg_upgrade</application> will warn if postfix operators
are being dumped.
</para>
</listitem>
<para>
For example, disregard <literal>^</literal> in its expansion in
- <literal>\1</literal> in <literal>(^\d+).*\1</literal>.
+ <literal>\1</literal> in <literal>(^\d+).*\1</literal>.
</para>
</listitem>
<para>
Require <link linkend="runtime-config-custom">custom server
variable</link> names to match the pattern used for unquoted
- <acronym>SQL</acronym> identifiers (Tom Lane)
+ <acronym>SQL</acronym> identifiers (Tom Lane)
</para>
</listitem>
<para>
Remove server variable
- <varname>vacuum_cleanup_index_scale_factor</varname> (Peter Geoghegan)
+ <varname>vacuum_cleanup_index_scale_factor</varname> (Peter Geoghegan)
</para>
<para>
This setting was ignored starting in
- <productname>PostgreSQL</productname> version 13.3.
+ <productname>PostgreSQL</productname> version 13.3.
</para>
</listitem>
<para>
Pass doubled quote marks in <xref linkend="ecpg"/>
- <acronym>SQL</acronym> command strings literally (Tom Lane)
+ <acronym>SQL</acronym> command strings literally (Tom Lane)
</para>
<para>
<para>
Disallow single-quoting of the language name in the
- <link linkend="sql-createlanguage"><command>CREATE/DROP
+ <link linkend="sql-createlanguage"><command>CREATE/DROP
LANGUAGE</command></link> command (Peter Eisentraut)
</para>
</listitem>
<para>
This was needed for warning applications about
- <productname>PostgreSQL</productname> 9.5 changes.
+ <productname>PostgreSQL</productname> 9.5 changes.
</para>
</listitem>
<title>Changes</title>
<para>
- Below you will find a detailed account of the changes between
- <productname>PostgreSQL</productname> 14 and the previous major
- release.
+ Below you will find a detailed account of the changes between
+ <productname>PostgreSQL</productname> 14 and the previous major
+ release.
</para>
<sect3>
<para>
Previously tuples whose insertion would have exceeded the page's
- <link linkend="sql-createtable">fill factor</link> were instead
+ <link linkend="sql-createtable">fill factor</link> were instead
added to new pages.
</para>
</listitem>
<para>
Add Set Server Name Indication (<acronym>SNI</acronym>) for
- <acronym>SSL</acronym> connection packets (Peter Eisentraut)
+ <acronym>SSL</acronym> connection packets (Peter Eisentraut)
</para>
<para>
</para>
<para>
- <link linkend="sql-vacuum"><command>VACUUM</command></link>
+ <link linkend="sql-vacuum"><command>VACUUM</command></link>
now has a <literal>PROCESS_TOAST</literal> which can be set to
false to disable <acronym>TOAST</acronym> processing, and <link
linkend="app-vacuumdb"><application>vacuumdb</application></link>
-->
<para>
- <link linkend="autovacuum">Autovacuum</link> now analyzes
+ <link linkend="autovacuum">Autovacuum</link> now analyzes
partitioned tables (Yuzuko Hosoya, Álvaro Herrera)
</para>
<para>
Allow <link linkend="spgist">SP-GiST</link> to use
- <literal>INCLUDE</literal>'d columns (Pavel Borisov)
+ <literal>INCLUDE</literal>'d columns (Pavel Borisov)
</para>
</listitem>
<para>
Previously a sequential scan was required for non-equality
- <type>TID</type> specifications.
+ <type>TID</type> specifications.
</para>
</listitem>
If server variable <xref linkend="guc-compute-query-id"/>
is enabled, display the query id in <link
linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>,
- <link linkend="sql-explain"><command>EXPLAIN
+ <link linkend="sql-explain"><command>EXPLAIN
VERBOSE</command></link>, <link
linkend="runtime-config-logging">csvlog</link>, and optionally in
- <xref linkend="guc-log-line-prefix"/> (Julien Rouhaud)
+ <xref linkend="guc-log-line-prefix"/> (Julien Rouhaud)
</para>
<para>
<para>
Make the archiver process visible in
- <structname>pg_stat_activity</structname> (Kyotaro Horiguchi)
+ <structname>pg_stat_activity</structname> (Kyotaro Horiguchi)
</para>
</listitem>
<para>
The output functions begin with <link
linkend="logicaldecoding-output-plugin-stream-start"><literal>stream</literal></link>.
- <application>test_decoding</application> also supports these.
+ <application>test_decoding</application> also supports these.
</para>
</listitem>
<para>
Immediately <acronym>WAL</acronym>-log subtransaction and top-level
- <type>XID</type> association (Tomas Vondra, Dilip Kumar, Amit
+ <type>XID</type> association (Tomas Vondra, Dilip Kumar, Amit
Kapila)
</para>
<para>
This allows <link linkend="logicaldecoding">logical decoding</link>
to work efficiently in presence of a large amount of
- <acronym>DDL</acronym>.
+ <acronym>DDL</acronym>.
</para>
</listitem>
<para>
Allow an alias to be specified for <literal>JOIN</literal>'s
- <literal>USING</literal> clause (Peter Eisentraut)
+ <literal>USING</literal> clause (Peter Eisentraut)
</para>
<para>
The alias is created by using <literal>AS</literal> after the
- <literal>USING</literal> clause and represents an alias for the
- <literal>USING</literal> columns.
+ <literal>USING</literal> clause and represents an alias for the
+ <literal>USING</literal> columns.
</para>
</listitem>
<para>
For example, <literal>GROUP BY CUBE (a,b), CUBE (b,c)</literal>
will generate duplicate grouping combinations without
- <literal>DISTINCT</literal>.
+ <literal>DISTINCT</literal>.
</para>
</listitem>
<para>
Previously non-function call
- <acronym>SQL</acronym> standard syntax, e.g. <link
+ <acronym>SQL</acronym> standard syntax, e.g. <link
linkend="functions-formatting"><function>EXTRACT</function></link>,
were converted to non-<acronym>SQL</acronym> standard function
calls.
</para>
<para>
- <type>JSONB</type> subscripting can be used to extract and assign
+ <type>JSONB</type> subscripting can be used to extract and assign
to portions of <type>JSONB</type> documents.
</para>
</listitem>
<para>
The previous limit was 4k bytes. Also remove function
- <function>t_readline()</function>.
+ <function>t_readline()</function>.
</para>
</listitem>
<para>
Allow <link linkend="protocol-format-codes">binary data
transfer</link> to be more forgiving of array and record
- <type>OID</type> mismatches (Tom Lane)
+ <type>OID</type> mismatches (Tom Lane)
</para>
</listitem>
Allow <acronym>SQL</acronym>-language <link
linkend="sql-createfunction">functions</link> and <link
linkend="sql-createprocedure">procedures</link> to use
- <acronym>SQL</acronym>-standard function bodies (Peter Eisentraut)
+ <acronym>SQL</acronym>-standard function bodies (Peter Eisentraut)
</para>
<para>
<para>
Allow <link linkend="sql-createprocedure">procedures</link> to have
- <literal>OUT</literal> parameters (Peter Eisentraut)
+ <literal>OUT</literal> parameters (Peter Eisentraut)
</para>
</listitem>
<para>
The functions are <link
linkend="functions-array"><function>array_append()</function></link>,
- <function>array_prepend()</function>,
- <function>array_cat()</function>,
- <function>array_position()</function>,
- <function>array_positions()</function>,
- <function>array_remove()</function>,
- <function>array_replace()</function>, and <link
+ <function>array_prepend()</function>,
+ <function>array_cat()</function>,
+ <function>array_position()</function>,
+ <function>array_positions()</function>,
+ <function>array_remove()</function>,
+ <function>array_replace()</function>, and <link
linkend="functions-math"><function>width_bucket()</function></link>.
Previously only identical data types could be used.
</para>
<para>
The new syntax is <literal>SUBSTRING(text SIMILAR pattern ESCAPE
escapechar)</literal>. The previous standard syntax was
- <literal>SUBSTRING(text FROM pattern FOR escapechar)</literal>,
+ <literal>SUBSTRING(text FROM pattern FOR escapechar)</literal>,
and is still supported by Postgres.
</para>
</listitem>
<para>
Cause <link
linkend="functions-math"><function>exp()</function></link> and
- <function>power()</function> for negative-infinity exponents to
+ <function>power()</function> for negative-infinity exponents to
return zero (Tom Lane)
</para>
<para>
Change <link
linkend="functions-info"><function>pg_describe_object()</function></link>,
- <function>pg_identify_object()</function>, and
- <function>pg_identify_object_as_address()</function> to always report
+ <function>pg_identify_object()</function>, and
+ <function>pg_identify_object_as_address()</function> to always report
helpful error messages for non-existent objects (Michael Paquier)
</para>
</listitem>
<para>
New options are <literal>read-only</literal>,
- <literal>primary</literal>, <literal>standby</literal>, and
- <literal>prefer-standby</literal>.
+ <literal>primary</literal>, <literal>standby</literal>, and
+ <literal>prefer-standby</literal>.
</para>
</listitem>
<para>
The options are <option>--no-index-cleanup</option> and
- <option>--no-truncate</option>.
+ <option>--no-truncate</option>.
</para>
</listitem>
<para>
Add <link
linkend="pgbench"><application>pgbench</application></link>
- <function>permute()</function> function to randomly shuffle values
+ <function>permute()</function> function to randomly shuffle values
(Fabien Coelho, Hironobu Suzuki, Dean Rasheed)
</para>
</listitem>
<para>
Allow <application>psql</application>'s \dt and \di to show
- <acronym>TOAST</acronym> tables and their indexes (Justin Pryzby)
+ <acronym>TOAST</acronym> tables and their indexes (Justin Pryzby)
</para>
</listitem>
<para>
When editing the previous query or a file with
- <application>psql</application>'s \e, or using \ef and \ev, ignore
+ <application>psql</application>'s \e, or using \ef and \ev, ignore
the contents if the editor exits without saving (Laurenz Albe)
</para>
<para>
Remove support for the <link
linkend="app-postgres"><application>postmaster</application></link>
- <option>-o</option> option (Magnus Hagander)
+ <option>-o</option> option (Magnus Hagander)
</para>
<para>
<para>
With the removal of the ! operator in this release,
- <function>factorial()</function> is the only built-in way to compute
+ <function>factorial()</function> is the only built-in way to compute
a factorial.
</para>
</listitem>
<para>
Change SHA1, SHA2, and MD5 hash computations to use the
- <productname>OpenSSL</productname> <acronym>EVP API</acronym>
+ <productname>OpenSSL</productname> <acronym>EVP API</acronym>
(Michael Paquier)
</para>
<para>
Allow <function>pgstattuple_approx()</function> to report on
- <acronym>TOAST</acronym> tables (Peter Eisentraut)
+ <acronym>TOAST</acronym> tables (Peter Eisentraut)
</para>
</listitem>
<para>
Move query hash computation from
- <application>pg_stat_statements</application> to the core server
+ <application>pg_stat_statements</application> to the core server
(Julien Rouhaud)
</para>
<para>
Add row counts for utility commands to
- <structname>pg_stat_statements</structname>> (Fujii Masao, Katsuragi
+ <structname>pg_stat_statements</structname>> (Fujii Masao, Katsuragi
Yuta, Seino Yuki)
</para>
</listitem>
<para>
Allow <application>postgres_fdw</application> to
- <command>INSERT</command> rows in bulk (Takayuki Tsunakawa, Tomas
+ <command>INSERT</command> rows in bulk (Takayuki Tsunakawa, Tomas
Vondra, Amit Langote)
</para>
</listitem>
<para>
Add <application>postgres_fdw</application> function
- <function>postgres_fdw_get_connections()</function> to report open
+ <function>postgres_fdw_get_connections()</function> to report open
foreign server connections (Bharath Rupireddy)
</para>
</listitem>