Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for PostgreSQL 16.7.
# Generated by GNU Autoconf 2.69 for PostgreSQL 16.8.
#
# Report bugs to <pgsql-bugs@lists.postgresql.org>.
#
Expand Down Expand Up @@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='PostgreSQL'
PACKAGE_TARNAME='postgresql'
PACKAGE_VERSION='16.7'
PACKAGE_STRING='PostgreSQL 16.7'
PACKAGE_VERSION='16.8'
PACKAGE_STRING='PostgreSQL 16.8'
PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org'
PACKAGE_URL='https://www.postgresql.org/'

Expand Down Expand Up @@ -1450,7 +1450,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures PostgreSQL 16.7 to adapt to many kinds of systems.
\`configure' configures PostgreSQL 16.8 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1515,7 +1515,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of PostgreSQL 16.7:";;
short | recursive ) echo "Configuration of PostgreSQL 16.8:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1691,7 +1691,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
PostgreSQL configure 16.7
PostgreSQL configure 16.8
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2444,7 +2444,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by PostgreSQL $as_me 16.7, which was
It was created by PostgreSQL $as_me 16.8, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -20107,7 +20107,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by PostgreSQL $as_me 16.7, which was
This file was extended by PostgreSQL $as_me 16.8, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -20178,7 +20178,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
PostgreSQL config.status 16.7
PostgreSQL config.status 16.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros

AC_INIT([PostgreSQL], [16.7], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
AC_INIT([PostgreSQL], [16.8], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])

m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
Untested combinations of 'autoconf' and PostgreSQL versions are not
Expand Down
2 changes: 1 addition & 1 deletion doc/src/sgml/config.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -8015,7 +8015,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
various purposes. The cluster name appears in the process title for
all server processes in this cluster. Moreover, it is the default
application name for a standby connection (see <xref
linkend="guc-synchronous-standby-names"/>.)
linkend="guc-synchronous-standby-names"/>).
</para>

<para>
Expand Down
2 changes: 1 addition & 1 deletion doc/src/sgml/libpq.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -5058,7 +5058,7 @@ PGresult *PQgetResult(PGconn *conn);
<literal>PGRES_PIPELINE_SYNC</literal> will be returned.
The result of the next query after the synchronization point follows
immediately (that is, no null pointer is returned after
the synchronization point.)
the synchronization point).
</para>

<note>
Expand Down
2 changes: 1 addition & 1 deletion doc/src/sgml/ref/pgbench.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -898,7 +898,7 @@ pgbench <optional> <replaceable>options</replaceable> </optional> <replaceable>d
Print messages about all errors and failures (errors without retrying)
including which limit for retries was exceeded and how far it was
exceeded for the serialization/deadlock failures. (Note that in this
case the output can be significantly increased.).
case the output can be significantly increased.)
See <xref linkend="failures-and-retries"/> for more information.
</para>
</listitem>
Expand Down
104 changes: 104 additions & 0 deletions doc/src/sgml/release-16.sgml
Original file line number Diff line number Diff line change
@@ -1,6 +1,110 @@
<!-- doc/src/sgml/release-16.sgml -->
<!-- See header comment in release.sgml about typical markup -->

<sect1 id="release-16-8">
<title>Release 16.8</title>

<formalpara>
<title>Release date:</title>
<para>2025-02-20</para>
</formalpara>

<para>
This release contains a few fixes from 16.7.
For information about new features in major release 16, see
<xref linkend="release-16"/>.
</para>

<sect2 id="release-16-8-migration">
<title>Migration to Version 16.8</title>

<para>
A dump/restore is not required for those running 16.X.
</para>

<para>
However, if you are upgrading from a version earlier than 16.5,
see <xref linkend="release-16-5"/>.
</para>
</sect2>

<sect2 id="release-16-8-changes">
<title>Changes</title>

<itemizedlist>

<listitem>
<!--
Author: Andres Freund <andres@anarazel.de>
Branch: master [efdadeb22] 2025-02-14 18:09:19 -0500
Branch: REL_17_STABLE [a92db3d02] 2025-02-14 18:09:21 -0500
Branch: REL_16_STABLE [111f4dd27] 2025-02-14 18:09:23 -0500
Branch: REL_15_STABLE [22ffbbf24] 2025-02-14 18:09:24 -0500
Branch: REL_14_STABLE [985908df1] 2025-02-14 18:09:25 -0500
Branch: REL_13_STABLE [1f7a05324] 2025-02-14 18:09:27 -0500
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [9f45e6a91] 2025-02-15 16:20:21 -0500
Branch: REL_17_STABLE [3abe6e04c] 2025-02-15 16:20:21 -0500
Branch: REL_16_STABLE [991a60a9f] 2025-02-15 16:20:21 -0500
Branch: REL_15_STABLE [e782a63cc] 2025-02-15 16:20:21 -0500
Branch: REL_14_STABLE [c08309584] 2025-02-15 16:20:21 -0500
Branch: REL_13_STABLE [d6d29b213] 2025-02-15 16:20:21 -0500
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [a7f95859e] 2025-02-16 12:46:35 -0500
Branch: REL_17_STABLE [3977bd298] 2025-02-16 12:46:35 -0500
Branch: REL_16_STABLE [644b7d686] 2025-02-16 12:46:35 -0500
Branch: REL_15_STABLE [2226a2e26] 2025-02-16 12:46:35 -0500
Branch: REL_14_STABLE [f864a4cdf] 2025-02-16 12:46:35 -0500
Branch: REL_13_STABLE [9f052613e] 2025-02-16 12:46:35 -0500
-->
<para>
Improve behavior of <application>libpq</application>'s quoting
functions (Andres Freund, Tom Lane)
<ulink url="&commit_baseurl;111f4dd27">&sect;</ulink>
<ulink url="&commit_baseurl;991a60a9f">&sect;</ulink>
<ulink url="&commit_baseurl;644b7d686">&sect;</ulink>
</para>

<para>
The changes made for CVE-2025-1094 had one serious oversight:
<function>PQescapeLiteral()</function>
and <function>PQescapeIdentifier()</function> failed to honor their
string length parameter, instead always reading to the input
string's trailing null. This resulted in including unwanted text in
the output, if the caller intended to truncate the string via the
length parameter. With very bad luck it could cause a crash due to
reading off the end of memory.
</para>

<para>
In addition, modify all these quoting functions so that when invalid
encoding is detected, an invalid sequence is substituted for just
the first byte of the presumed character, not all of it. This
reduces the risk of problems if a calling application performs
additional processing on the quoted string.
</para>
</listitem>

<listitem>
<!--
Author: Andres Freund <andres@anarazel.de>
Branch: master [b64d83115] 2025-02-12 08:15:53 -0500
Branch: REL_17_STABLE [c9a1d2135] 2025-02-12 08:15:53 -0500
Branch: REL_16_STABLE [01cdb98e4] 2025-02-12 08:15:54 -0500
-->
<para>
Fix meson build system to correctly detect availability of
the <filename>bsd_auth.h</filename> system header
(Nazir Bilal Yavuz)
<ulink url="&commit_baseurl;01cdb98e4">&sect;</ulink>
</para>
</listitem>

</itemizedlist>

</sect2>
</sect1>

<sect1 id="release-16-7">
<title>Release 16.7</title>

Expand Down
5 changes: 3 additions & 2 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

project('postgresql',
['c'],
version: '16.7',
version: '16.8',
license: 'PostgreSQL',

# We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for
Expand Down Expand Up @@ -553,7 +553,8 @@ test_c_args = cppflags + cflags
bsd_authopt = get_option('bsd_auth')
bsd_auth = not_found_dep
if cc.check_header('bsd_auth.h', required: bsd_authopt,
args: test_c_args, include_directories: postgres_inc)
args: test_c_args, prefix: '#include <sys/types.h>',
include_directories: postgres_inc)
cdata.set('USE_BSD_AUTH', 1)
bsd_auth = declare_dependency()
endif
Expand Down
8 changes: 4 additions & 4 deletions src/backend/commands/trigger.c
Original file line number Diff line number Diff line change
Expand Up @@ -4971,10 +4971,10 @@ MakeTransitionCaptureState(TriggerDesc *trigdesc, Oid relid, CmdType cmdType)

/* Now build the TransitionCaptureState struct, in caller's context */
state = (TransitionCaptureState *) palloc0(sizeof(TransitionCaptureState));
state->tcs_delete_old_table = trigdesc->trig_delete_old_table;
state->tcs_update_old_table = trigdesc->trig_update_old_table;
state->tcs_update_new_table = trigdesc->trig_update_new_table;
state->tcs_insert_new_table = trigdesc->trig_insert_new_table;
state->tcs_delete_old_table = need_old_del;
state->tcs_update_old_table = need_old_upd;
state->tcs_update_new_table = need_new_upd;
state->tcs_insert_new_table = need_new_ins;
state->tcs_private = table;

return state;
Expand Down
4 changes: 3 additions & 1 deletion src/backend/executor/execMain.c
Original file line number Diff line number Diff line change
Expand Up @@ -2653,13 +2653,15 @@ bool
EvalPlanQualFetchRowMark(EPQState *epqstate, Index rti, TupleTableSlot *slot)
{
ExecAuxRowMark *earm = epqstate->relsubs_rowmark[rti - 1];
ExecRowMark *erm = earm->rowmark;
ExecRowMark *erm;
Datum datum;
bool isNull;

Assert(earm != NULL);
Assert(epqstate->origslot != NULL);

erm = earm->rowmark;

if (RowMarkRequiresRowShareLock(erm->markType))
elog(ERROR, "EvalPlanQual doesn't support locking rowmarks");

Expand Down
Loading