Skip to content

Commit 5f26aa8

Browse files
committed
Merge branch 'PGPRO9_6' into PGPRO9_6_TASK941
2 parents 95f0d6a + f92195f commit 5f26aa8

File tree

36 files changed

+1071
-163
lines changed

36 files changed

+1071
-163
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ all check install installdirs installcheck installcheck-parallel uninstall clean
2929
\
3030
if [ x"$${GMAKE+set}" = xset ]; then \
3131
echo "Using GNU make found at $${GMAKE}"; \
32+
unset MAKEFLAGS; unset MAKELEVEL; \
3233
$${GMAKE} $@ ; \
3334
else \
3435
echo "You must use GNU make to build PostgreSQL." ; \

config/perl.m4

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ AC_DEFUN([PGAC_CHECK_PERL_CONFIGS],
5959
# to a different libc ABI than core Postgres uses. The available information
6060
# says that all the symbols that affect Perl's own ABI begin with letters,
6161
# so it should be sufficient to adopt -D switches for symbols not beginning
62-
# with underscore.
62+
# with underscore. An exception is that we need to let through
63+
# -D_USE_32BIT_TIME_T if it's present. (We probably could restrict that to
64+
# only get through on Windows, but for the moment we let it through always.)
6365
# For debugging purposes, let's have the configure output report the raw
6466
# ccflags value as well as the set of flags we chose to adopt.
6567
AC_DEFUN([PGAC_CHECK_PERL_EMBED_CCFLAGS],
@@ -68,7 +70,7 @@ AC_MSG_CHECKING([for CFLAGS recommended by Perl])
6870
perl_ccflags=`$PERL -MConfig -e ['print $Config{ccflags}']`
6971
AC_MSG_RESULT([$perl_ccflags])
7072
AC_MSG_CHECKING([for CFLAGS to compile embedded Perl])
71-
perl_embed_ccflags=`$PERL -MConfig -e ['foreach $f (split(" ",$Config{ccflags})) {print $f, " " if ($f =~ /^-D[^_]/)}']`
73+
perl_embed_ccflags=`$PERL -MConfig -e ['foreach $f (split(" ",$Config{ccflags})) {print $f, " " if ($f =~ /^-D[^_]/ || $f =~ /^-D_USE_32BIT_TIME_T/)}']`
7274
AC_SUBST(perl_embed_ccflags)dnl
7375
AC_MSG_RESULT([$perl_embed_ccflags])
7476
])# PGAC_CHECK_PERL_EMBED_CCFLAGS

configure

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,7 @@ infodir
780780
docdir
781781
oldincludedir
782782
includedir
783+
runstatedir
783784
localstatedir
784785
sharedstatedir
785786
sysconfdir
@@ -903,6 +904,7 @@ datadir='${datarootdir}'
903904
sysconfdir='${prefix}/etc'
904905
sharedstatedir='${prefix}/com'
905906
localstatedir='${prefix}/var'
907+
runstatedir='${localstatedir}/run'
906908
includedir='${prefix}/include'
907909
oldincludedir='/usr/include'
908910
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1155,6 +1157,15 @@ do
11551157
| -silent | --silent | --silen | --sile | --sil)
11561158
silent=yes ;;
11571159

1160+
-runstatedir | --runstatedir | --runstatedi | --runstated \
1161+
| --runstate | --runstat | --runsta | --runst | --runs \
1162+
| --run | --ru | --r)
1163+
ac_prev=runstatedir ;;
1164+
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
1165+
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
1166+
| --run=* | --ru=* | --r=*)
1167+
runstatedir=$ac_optarg ;;
1168+
11581169
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
11591170
ac_prev=sbindir ;;
11601171
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1292,7 +1303,7 @@ fi
12921303
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
12931304
datadir sysconfdir sharedstatedir localstatedir includedir \
12941305
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1295-
libdir localedir mandir
1306+
libdir localedir mandir runstatedir
12961307
do
12971308
eval ac_val=\$$ac_var
12981309
# Remove trailing slashes.
@@ -1445,6 +1456,7 @@ Fine tuning of the installation directories:
14451456
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
14461457
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
14471458
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
1459+
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
14481460
--libdir=DIR object code libraries [EPREFIX/lib]
14491461
--includedir=DIR C header files [PREFIX/include]
14501462
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -7584,7 +7596,7 @@ perl_ccflags=`$PERL -MConfig -e 'print $Config{ccflags}'`
75847596
$as_echo "$perl_ccflags" >&6; }
75857597
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLAGS to compile embedded Perl" >&5
75867598
$as_echo_n "checking for CFLAGS to compile embedded Perl... " >&6; }
7587-
perl_embed_ccflags=`$PERL -MConfig -e 'foreach $f (split(" ",$Config{ccflags})) {print $f, " " if ($f =~ /^-D[^_]/)}'`
7599+
perl_embed_ccflags=`$PERL -MConfig -e 'foreach $f (split(" ",$Config{ccflags})) {print $f, " " if ($f =~ /^-D[^_]/ || $f =~ /^-D_USE_32BIT_TIME_T/)}'`
75887600
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $perl_embed_ccflags" >&5
75897601
$as_echo "$perl_embed_ccflags" >&6; }
75907602

contrib/postgres_fdw/postgres_fdw.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4261,7 +4261,6 @@ postgresGetForeignJoinPaths(PlannerInfo *root,
42614261
* the path list of the joinrel, if one exists. We must be careful to
42624262
* call it before adding any ForeignPath, since the ForeignPath might
42634263
* dominate the only suitable local path available. We also do it before
4264-
* reconstruct the row for EvalPlanQual(). Find an alternative local path
42654264
* calling foreign_join_ok(), since that function updates fpinfo and marks
42664265
* it as pushable if the join is found to be pushable.
42674266
*/

doc/src/sgml/catalogs.sgml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,10 +1280,8 @@
12801280
<entry><structfield>rolreplication</structfield></entry>
12811281
<entry><type>bool</type></entry>
12821282
<entry>
1283-
Role is a replication role. That is, this role can initiate streaming
1284-
replication (see <xref linkend="streaming-replication">) and set/unset
1285-
the system backup mode using <function>pg_start_backup</> and
1286-
<function>pg_stop_backup</>
1283+
Role is a replication role. A replication role can initiate replication
1284+
connections and create and drop replication slots.
12871285
</entry>
12881286
</row>
12891287

@@ -8914,10 +8912,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
89148912
<entry><type>bool</type></entry>
89158913
<entry></entry>
89168914
<entry>
8917-
Role is a replication role. That is, this role can initiate streaming
8918-
replication (see <xref linkend="streaming-replication">) and set/unset
8919-
the system backup mode using <function>pg_start_backup</> and
8920-
<function>pg_stop_backup</>
8915+
Role is a replication role. A replication role can initiate replication
8916+
connections and create and drop replication slots.
89218917
</entry>
89228918
</row>
89238919

doc/src/sgml/ref/create_role.sgml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,11 @@ CREATE ROLE <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replac
167167
<term><literal>NOREPLICATION</literal></term>
168168
<listitem>
169169
<para>
170-
These clauses determine whether a role is allowed to initiate
171-
streaming replication or put the system in and out of backup mode.
170+
These clauses determine whether a role is a replication role. A role
171+
must have this attribute (or be a superuser) in order to be able to
172+
connect to the server in replication mode (physical or logical
173+
replication) and in order to be able to create or drop replication
174+
slots.
172175
A role having the <literal>REPLICATION</> attribute is a very
173176
highly privileged role, and should only be used on roles actually
174177
used for replication. If not specified,

doc/src/sgml/release-9.2.sgml

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,145 @@
11
<!-- doc/src/sgml/release-9.2.sgml -->
22
<!-- See header comment in release.sgml about typical markup -->
33

4+
<sect1 id="release-9-2-23">
5+
<title>Release 9.2.23</title>
6+
7+
<formalpara>
8+
<title>Release date:</title>
9+
<para>2017-08-31</para>
10+
</formalpara>
11+
12+
<para>
13+
This release contains a small number of fixes from 9.2.22.
14+
For information about new features in the 9.2 major release, see
15+
<xref linkend="release-9-2">.
16+
</para>
17+
18+
<para>
19+
The <productname>PostgreSQL</> community will stop releasing updates
20+
for the 9.2.X release series in September 2017.
21+
Users are encouraged to update to a newer release branch soon.
22+
</para>
23+
24+
<sect2>
25+
<title>Migration to Version 9.2.23</title>
26+
27+
<para>
28+
A dump/restore is not required for those running 9.2.X.
29+
</para>
30+
31+
<para>
32+
However, if you are upgrading from a version earlier than 9.2.22,
33+
see <xref linkend="release-9-2-22">.
34+
</para>
35+
36+
</sect2>
37+
38+
<sect2>
39+
<title>Changes</title>
40+
41+
<itemizedlist>
42+
43+
<listitem>
44+
<para>
45+
Show foreign tables
46+
in <structname>information_schema</>.<structname>table_privileges</>
47+
view (Peter Eisentraut)
48+
</para>
49+
50+
<para>
51+
All other relevant <structname>information_schema</> views include
52+
foreign tables, but this one ignored them.
53+
</para>
54+
55+
<para>
56+
Since this view definition is installed by <application>initdb</>,
57+
merely upgrading will not fix the problem. If you need to fix this
58+
in an existing installation, you can, as a superuser, do this
59+
in <application>psql</>:
60+
<programlisting>
61+
BEGIN;
62+
DROP SCHEMA information_schema CASCADE;
63+
\i <replaceable>SHAREDIR</>/information_schema.sql
64+
COMMIT;
65+
</programlisting>
66+
(Run <literal>pg_config --sharedir</> if you're uncertain
67+
where <replaceable>SHAREDIR</> is.) This must be repeated in each
68+
database to be fixed.
69+
</para>
70+
</listitem>
71+
72+
<listitem>
73+
<para>
74+
Clean up handling of a fatal exit (e.g., due to receipt
75+
of <systemitem>SIGTERM</>) that occurs while trying to execute
76+
a <command>ROLLBACK</> of a failed transaction (Tom Lane)
77+
</para>
78+
79+
<para>
80+
This situation could result in an assertion failure. In production
81+
builds, the exit would still occur, but it would log an unexpected
82+
message about <quote>cannot drop active portal</>.
83+
</para>
84+
</listitem>
85+
86+
<listitem>
87+
<para>
88+
Remove assertion that could trigger during a fatal exit (Tom Lane)
89+
</para>
90+
</listitem>
91+
92+
<listitem>
93+
<para>
94+
Correctly identify columns that are of a range type or domain type over
95+
a composite type or domain type being searched for (Tom Lane)
96+
</para>
97+
98+
<para>
99+
Certain <command>ALTER</> commands that change the definition of a
100+
composite type or domain type are supposed to fail if there are any
101+
stored values of that type in the database, because they lack the
102+
infrastructure needed to update or check such values. Previously,
103+
these checks could miss relevant values that are wrapped inside range
104+
types or sub-domains, possibly allowing the database to become
105+
inconsistent.
106+
</para>
107+
</listitem>
108+
109+
<listitem>
110+
<para>
111+
Change <application>ecpg</>'s parser to allow <literal>RETURNING</>
112+
clauses without attached C variables (Michael Meskes)
113+
</para>
114+
115+
<para>
116+
This allows <application>ecpg</> programs to contain SQL constructs
117+
that use <literal>RETURNING</> internally (for example, inside a CTE)
118+
rather than using it to define values to be returned to the client.
119+
</para>
120+
</listitem>
121+
122+
<listitem>
123+
<para>
124+
Improve selection of compiler flags for PL/Perl on Windows (Tom Lane)
125+
</para>
126+
127+
<para>
128+
This fix avoids possible crashes of PL/Perl due to inconsistent
129+
assumptions about the width of <type>time_t</> values.
130+
A side-effect that may be visible to extension developers is
131+
that <literal>_USE_32BIT_TIME_T</> is no longer defined globally
132+
in <productname>PostgreSQL</> Windows builds. This is not expected
133+
to cause problems, because type <type>time_t</> is not used
134+
in any <productname>PostgreSQL</> API definitions.
135+
</para>
136+
</listitem>
137+
138+
</itemizedlist>
139+
140+
</sect2>
141+
</sect1>
142+
4143
<sect1 id="release-9-2-22">
5144
<title>Release 9.2.22</title>
6145

0 commit comments

Comments
 (0)