== PostgreSQL Weekly News - August 12 2018 ==

From: David Fetter <david(dot)fetter(at)gmail(dot)com>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - August 12 2018 ==
Date: 2018-08-12 21:06:09
Message-ID: 20180812210606.GA13586@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - August 12 2018 ==

PostgreSQL security releases 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24, and 11 Beta 3 are out.
Please read the announcement below and upgrade as soon as possible.
https://www.postgresql.org/about/news/1878/

== PostgreSQL Product News ==

PostGIS 2.5.0beta2 the industry standard geographic information
system package for PostgreSQL, released.
https://postgis.net/2018/08/11/postgis-2.5.0beta2/

pgmetrics 1.4, a command-line tool to extract and display metrics from a PostgreSQL
server, released.
https://pgmetrics.io/

== PostgreSQL Jobs for August ==

http://archives.postgresql.org/pgsql-jobs/2018-08/

== PostgreSQL Local ==

PostgreOpen Silicon Valley 2018 will be held in San Francisco on September 5-7, 2018.
https://2018.postgresopen.org/

The Portland PostgreSQL Users Group will be holding a PGDay on September 10,
2018 in Portland, OR. The CfP is open at https://goo.gl/forms/E0CiUQGSZGMYwh922
https://pdx.postgresql.us/pdxpgday2018

PostgresConf South Africa 2018 will take place in Johannesburg on October 9, 2018
https://postgresconf.org/conferences/SouthAfrica2018

PostgreSQL Conference Europe 2018 will be held on October 23-26, 2018 at the
Lisbon Marriott Hotel in Lisbon, Portugal.
https://2017.pgconf.eu/

2Q PGConf will be on December 4-5, 2018 in Chicago, IL. The CfP is open through
August 27, 2018 at midnight Pacific Time at http://www.2qpgconf.com/#cfp
http://www.2qpgconf.com/

PGConf.ASIA 2018 will take place on December 10-12, 2018 in Akihabara, Tokyo,
Japan.
http://www.pgconf.asia/EN/2018/

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm PST8PDT to david(at)fetter(dot)org(dot)

== Applied Patches ==

Tom Lane pushed:

- Ensure pg_dump_sort.c sorts null vs non-null namespace consistently. The
original coding here (which is, I believe, my fault) supposed that it didn't
need to concern itself with the possibility that one object of a given
type-priority has a namespace while another doesn't. But that's not reliably
true anymore, if it ever was; and if it does happen then it's possible that
DOTypeNameCompare returns self-inconsistent comparison results. That leads to
unspecified behavior in qsort() and a resultant weird output order from
pg_dump. This should end up being only a cosmetic problem, because any
ordering constraints that actually matter should be enforced by the later
dependency-based sort. Still, it's a bug, so back-patch. Report and fix by
Jacob Champion, though I editorialized on his patch to the extent of making
NULL sort after non-NULL, for consistency with our usual sorting definitions.
Discussion:
https://postgr.es/m/CABAq_6Hw+V-Kj7PNfD5tgOaWT_-qaYkc+SRmJkPLeUjYXLdxwQ@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/5b5ed4756c9b3efff787f4921659a9d4d51726e5

- Fix pg_upgrade to handle event triggers in extensions correctly. pg_dump with
--binary-upgrade must emit ALTER EXTENSION ADD commands for all objects that
are members of extensions. It forgot to do so for event triggers, as per bug
#15310 from Nick Barnes. Back-patch to 9.3 where event triggers were
introduced. Haribabu Kommi Discussion:
https://postgr.es/m/153360083872.1395.4593932457718151600@wrigleys.postgresql.org
https://git.postgresql.org/pg/commitdiff/03838b804905e3fd26ec648c7df1505cf0d8e413

- Fix incorrect initialization of BackendActivityBuffer. Since commit
c8e8b5a6e, this has been zeroed out using the wrong length. In practice the
length would always be too small, leading to not zeroing the whole buffer
rather than clobbering additional memory; and that's pretty harmless, both
because shmem would likely start out as zeroes and because we'd reinitialize
any given entry before use. Still, it's bogus, so fix it. Reported by
Petru-Florin Mihancea (bug #15312) Discussion:
https://postgr.es/m/153363913073.1303.6518849192351268091@wrigleys.postgresql.org
https://git.postgresql.org/pg/commitdiff/41db97399d6b5492cb4538680531f81f4711b0f4

- Don't record FDW user mappings as members of extensions. CreateUserMapping
has a recordDependencyOnCurrentExtension call that's been there since
extensions were introduced (very possibly my fault). However, there's no
support anywhere else for user mappings as members of extensions, nor are they
listed as a possible member object type in the documentation. Nor does it
really seem like a good idea for user mappings to belong to extensions when
roles don't. Hence, remove the bogus call. (As we saw in bug #15310, the
lack of any pg_dump support for this case ensures that any such membership
record would silently disappear during pg_upgrade. So there's probably no
need for us to do anything else about cleaning up after this mistake.)
Discussion: https://postgr.es/m/27952.1533667213@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/9b7c56d6cba9d23318d98af58f0c1adc85869bbf

- Match RelOptInfos by relids not pointer equality. Commit 1c2cb2744 added some
code that tried to detect whether two RelOptInfos were the "same" rel by
pointer comparison; but it turns out that inheritance_planner breaks that,
through its shenanigans with copying some relations forward into new
subproblems. Compare relid sets instead. Add a regression test case to
exercise this area. Problem reported by Rushabh Lathia; diagnosis and fix by
Amit Langote, modified a bit by me. Discussion:
https://postgr.es/m/CAGPqQf3anJGj65bqAQ9edDr8gF7qig6_avRgwMT9MsZ19COUPw@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/11e22e486d8da6cef4d954c6f2952097df276fa7

- Remove unwanted "garbage cleanup" logic in Makefiles. GNUmakefile.in defined
a macro "garbage" that seems to have been meant as a suitable target for
automatic "rm -rf" treatment, but it isn't actually used anywhere (and indeed
never was, AFAICT). Moreover, we have concluded that the Makefiles shouldn't
take it upon themselves to remove files that aren't expected by-products of
building, so that doing anything like that would be against project policy
anyway. Hence, just remove the macro. Grepping around finds another
violation of that policy in ecpg/preproc, so clean that up too. Daniel
Gustafsson (ecpg change by me) Discussion:
https://postgr.es/m/AFBEF63E-E19D-4EBB-9F08-4617CDC751ED@yesql.se
https://git.postgresql.org/pg/commitdiff/1eee8d4994fe0b93ac02c613c1e955680e3a5ce3

- Remove bogus Assert in make_partitionedrel_pruneinfo(). This Assert thought
that a given rel couldn't be both leaf and non-leaf, but it turns out that in
some unusual plan trees that's wrong, so remove it. The lack of testing for
cases like that is quite concerning --- there is little reason for confidence
that there aren't other bugs in the area. But developing a stable test case
seems rather difficult, and in any case we don't need this Assert. David
Rowley Discussion:
https://postgr.es/m/CAJGNTeOkdk=UVuMugmKL7M=owgt4nNr1wjxMg1F+mHsXyLCzFA@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/59ef49d26d2f8724d0788fea0774f786a22ca63d

- Fix failure to reset libpq's state fully between connection attempts. The
logic in PQconnectPoll() did not take care to ensure that all of a PGconn's
internal state variables were reset before trying a new connection attempt.
If we got far enough in the connection sequence to have changed any of these
variables, and then decided to try a new server address or server name, the
new connection might be completed with some state that really only applied to
the failed connection. While this has assorted bad consequences, the only one
that is clearly a security issue is that password_needed didn't get reset, so
that if the first server asked for a password and the second didn't,
PQconnectionUsedPassword() would return an incorrect result. This could be
leveraged by unprivileged users of dblink or postgres_fdw to allow them to use
server-side login credentials that they should not be able to use. Other
notable problems include the possibility of forcing a v2-protocol connection
to a server capable of supporting v3, or overriding "sslmode=prefer" to cause
a non-encrypted connection to a server that would have accepted an encrypted
one. Those are certainly bugs but it's harder to paint them as security
problems in themselves. However, forcing a v2-protocol connection could
result in libpq having a wrong idea of the server's
standard_conforming_strings setting, which opens the door to SQL-injection
attacks. The extent to which that's actually a problem, given the
prerequisite that the attacker needs control of the client's connection
parameters, is unclear. These problems have existed for a long time, but
became more easily exploitable in v10, both because it introduced easy ways to
force libpq to abandon a connection attempt at a late stage and then try
another one (rather than just giving up), and because it provided an easy way
to specify multiple target hosts. Fix by rearranging PQconnectPoll's state
machine to provide centralized places to reset state properly when moving to a
new target host or when dropping and retrying a connection to the same host.
Tom Lane, reviewed by Noah Misch. Our thanks to Andrew Krasichkov for finding
and reporting the problem. Security: CVE-2018-10915
https://git.postgresql.org/pg/commitdiff/d1c6a14bacfa5fe7690e2c71b1626dbc87a57355

- Last-minute updates for release notes. Security: CVE-2018-10915,
CVE-2018-10925
https://git.postgresql.org/pg/commitdiff/e0ee93053998b159e395deed7c42e02b1f921552

- Document need to clear MAKELEVEL when invoking PG build from a makefile.
Since commit 3b8f6e75f, failure to do this would lead to
submake-generated-headers not doing anything, so that references to generated
or symlinked headers would fail. Previous to that, the omission only led to
temp-install not doing anything, which apparently affects many fewer people
(doesn't anybody use "make check" in their build rules??). Hence, backpatch
to v11 but not further. Per complaints from Christoph Berg, Jakob Egger, and
others.
https://git.postgresql.org/pg/commitdiff/8694a1ce406d58873e7332fa725baeeff18f57b2

- Cosmetic cleanups in initdb.c. Commit bcbd94080 didn't bother to fix up a
comment it had falsified. Also, const-ify choose_dsm_implementation(), since
what it's returning is always a constant string; pickier compilers would warn
about this.
https://git.postgresql.org/pg/commitdiff/d4a900458e505092a8013eb77c9631d58c3c2a0a

- Distinguish printf-like functions that support %m from those that don't. The
elog/ereport family of functions certainly support the %m format spec, because
they implement it "by hand". But elsewhere we have printf wrappers that might
or might not allow it depending on whether the platform's printf does. (Most
non-glibc versions don't, and notably, src/port/snprintf.c doesn't.) Hence,
rather than using the gnu_printf format archetype interchangeably for all
these functions, use it only for elog/ereport. This will allow us to get
compiler warnings for mistakes like the ones fixed in commit a13b47a59, at
least on platforms where printf doesn't take %m and gcc is correctly
configured to know it. (Unfortunately, that won't happen on Linux, nor on
macOS according to my testing. It remains to be seen what the buildfarm's
gcc-on-Windows animals will think of this, but we may well have to rely on
less-popular platforms to warn us about unportable code of this kind.)
Discussion: https://postgr.es/m/2975.1526862605@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/3a60c8ff892a8242b907f44702bfd9f1ff877d45

- Produce compiler errors if errno is referenced inside elog/ereport calls.
It's often unsafe to reference errno within an elog/ereport call, because
there are a lot of sub-functions involved and they might not all preserve
errno. (This is why we support the %m format spec: it works off a value of
errno captured before we execute any potentially-unsafe functions in the
arguments.) Therefore, we have a project policy not to use errno there. This
patch adds a hack to cause an (admittedly obscure) compiler error for such
unsafe usages. With the current code, the error will only be seen on Linux,
macOS, and FreeBSD, but that should certainly be enough to catch mistakes in
the buildfarm if they somehow get missed earlier. In addition, fix some
places in src/common/exec.c that trip the error. I think these places are
actually all safe, but it's simple enough to avoid the error by capturing
errno manually, and doing so is good future-proofing in case these call sites
get any more complicated. Thomas Munro (exec.c fixes by me) Discussion:
https://postgr.es/m/2975.1526862605@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/a2a8acd15217b1e355c083a41da4dc5c7f35b30b

- Fix wrong order of operations in inheritance_planner. When considering a
partitioning parent rel, we should stop processing that subroot as soon as
we've done adjust_appendrel_attrs and any securityQuals updates. The rest of
this is unnecessary, and indeed adding duplicate subquery RTEs to the subroot
is *wrong*. As the code stood, the children of that partition ended up with
two sets of copied subquery RTEs, confusing matters greatly. Even more
hilarity ensued if all of the children got excluded by constraint exclusion,
so that the extra RTEs didn't make it back into the parent rtable. Per fuzz
testing by Andreas Seltenreich. Back-patch to v11 where this got broken (by
commit 0a480502b, it looks like). Discussion:
https://postgr.es/m/87va8g7vq0.fsf@ansel.ydns.eu
https://git.postgresql.org/pg/commitdiff/4a2994f055be9405a254b22de6cd2107a0f46563

Heikki Linnakangas pushed:

- Don't run atexit callbacks in quickdie signal handlers. exit() is not
async-signal safe. Even if the libc implementation is, 3rd party libraries
might have installed unsafe atexit() callbacks. After receiving SIGQUIT, we
really just want to exit as quickly as possible, so we don't really want to
run the atexit() callbacks anyway. The original report by Jimmy Yih was a
self-deadlock in startup_die(). However, this patch doesn't address that
scenario; the signal handling while waiting for the startup packet is more
complicated. But at least this alleviates similar problems in the SIGQUIT
handlers, like that reported by Asim R P later in the same thread. Backpatch
to 9.3 (all supported versions). Discussion:
https://www.postgresql.org/message-id/CAOMx_OAuRUHiAuCg2YgicZLzPVv5d9_H4KrL_OFsFP%3DVPekigA%40mail.gmail.com
https://git.postgresql.org/pg/commitdiff/8e19a82640d3fa2350db146ec72916856dd02f0a

- Spell "partitionwise" consistently. I'm not sure which spelling is better,
"partitionwise" or "partition-wise", but everywhere else we spell it
"partitionwise", so be consistent. Tatsuro Yamada reported the one in README,
I found the other one with grep. Discussion:
https://www.postgresql.org/message-id/d25ebf36-5a6d-8b2c-1ff3-d6f022a56000@lab.ntt.co.jp
https://git.postgresql.org/pg/commitdiff/31380bc7c204e7cfa9c9e1c62947909e2b38577c

Peter Geoghegan pushed:

- Doc: Correct description of amcheck example query. The amcheck documentation
incorrectly claimed that its example query verifies every catalog index in the
database. In fact, the query only verifies the 10 largest indexes (as
determined by pg_class.relpages). Adjust the description accordingly.
Backpatch: 10-, where contrib/amcheck was introduced.
https://git.postgresql.org/pg/commitdiff/313cbdc7f666a5af2c977463faf8a0eb06011b98

- Handle parallel index builds on mapped relations. Commit 9da0cc35284, which
introduced parallel CREATE INDEX, failed to propagate relmapper.c backend
local cache state to parallel worker processes. This could result in parallel
index builds against mapped catalog relations where the leader process
(participating as a worker) scans the new, pristine relfilenode, while worker
processes scan the obsolescent relfilenode. When this happened, the final
index structure was typically not consistent with the owning table's
structure. The final index structure could contain entries formed from both
heap relfilenodes. Only rebuilds on mapped catalog relations that occur as
part of a VACUUM FULL or CLUSTER could become corrupt in practice, since their
mapped relation relfilenode swap is what allows the inconsistency to arise.
On master, fix the problem by propagating the required relmapper.c backend
state as part of standard parallel initialization (Cf. commit 29d58fd3). On
v11, simply disallow builds against mapped catalog relations by deeming them
parallel unsafe. Author: Peter Geoghegan Reported-By: "death lock"
Reviewed-By: Tom Lane, Amit Kapila Bug: #15309 Discussion:
https://postgr.es/m/153329671686.1405.18298309097348420351@wrigleys.postgresql.org
Backpatch: 11-, where parallel CREATE INDEX was introduced.
https://git.postgresql.org/pg/commitdiff/4974d7f87e62a58e80c6524e49677cb25cc10e12

Michaël Paquier pushed:

- Restrict access to reindex of shared catalogs for non-privileged users. A
database owner running a database-level REINDEX has the possibility to also do
the operation on shared system catalogs without being an owner of them, which
allows him to block resources it should not have access to. The same goes for
a schema owner. For example, PostgreSQL would go unresponsive and even block
authentication if a lock is waited for pg_authid. This commit makes sure that
a user running a REINDEX SYSTEM, DATABASE or SCHEMA only works on the
following relations: * The user is a superuser * The user is the table owner *
The user is the database/schema owner, only if the relation worked on is not
shared. Robert has worded most the documentation changes, and I have coded
the core part. Reported-by: Lloyd Albin, Jeremy Schneider Author: Michael
Paquier, Robert Haas Reviewed by: Nathan Bossart, Kyotaro Horiguchi
Discussion:
https://postgr.es/m/152512087100.19803.12733865831237526317@wrigleys.postgresql.org
Discussion: https://postgr.es/m/20180805211059.GA2185@paquier.xyz
Backpatch-through: 11- as the current behavior has been around for a very long
time and could be disruptive for already released branches.
https://git.postgresql.org/pg/commitdiff/661dd23950f2e64646404605e99315d2379de0e5

- Improve TRUNCATE by avoiding early lock queue. A caller of TRUNCATE could
previously queue for an access exclusive lock on a relation it may not have
permission to truncate, potentially interfering with users authorized to work
on it. This can be very intrusive depending on the lock attempted to be
taken. For example, pg_authid could be blocked, preventing any authentication
attempt to happen on a PostgreSQL instance. This commit fixes the case of
TRUNCATE so as RangeVarGetRelidExtended is used with a callback doing the
necessary ACL checks at an earlier stage, avoiding lock queuing issues, so as
an immediate failure happens for unprivileged users instead of waiting on a
lock that would not be taken. This is rather similar to the type of work done
in cbe24a6 for CLUSTER, and the code of TRUNCATE is this time refactored so as
there is no user-facing changes. As the commit for CLUSTER, no back-patch is
done. Reported-by: Lloyd Albin, Jeremy Schneider Author: Michael Paquier
Reviewed by: Nathan Bossart, Kyotaro Horiguchi Discussion:
https://postgr.es/m/152512087100.19803.12733865831237526317@wrigleys.postgresql.org
Discussion: https://postgr.es/m/20180806165816.GA19883@paquier.xyz
https://git.postgresql.org/pg/commitdiff/f841ceb26d701e7f5f48190bf7290c400cba30a2

Bruce Momjian pushed:

- docs: Only first instance of a PREPARE parameter sets data type. If the
first reference to $1 is "($1 = col) or ($1 is null)", the data type can be
determined, but not for "($1 is null) or ($1 = col)". This change documents
this. Reported-by: Morgan Owens Discussion:
https://postgr.es/m/153233728858.1404.15268121695358514937@wrigleys.postgresql.org
Backpatch-through: 9.3
https://git.postgresql.org/pg/commitdiff/b284262e40424daa1c546ad76f365b31304d7944

Álvaro Herrera pushed:

- Add RECURSIVE to documentation index. Author: Daniel Vérité
<daniel(at)manitou-mail(dot)org> Reviewed-by: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
Discussion:
https://postgr.es/m/76d905d7-7eb7-4574-b6ec-a0ca3a1523c0@manitou-mail.org
https://git.postgresql.org/pg/commitdiff/a5db27418e222a930cd39f48907e58a13837b331

Alexander Korotkov pushed:

- Fix misspelled pg_trgm contrib name in PostgreSQL 11 release notes. Author:
Masahiko Sawada Discussion:
https://postgr.es/m/CAD21AoD0Eii9y9f3cQV9AsaUF%3DMmOrQuZLHqoobFp%3DmSKEx1CA%40mail.gmail.com
https://git.postgresql.org/pg/commitdiff/3abc5a67edfdc568ef1b68845b29c3aa5c03b852

- Add missing documentation for argument of amcostestimate(). 5262f7a4fc44 have
introduced parallel index scan. In order to estimate the number of parallel
workers, it adds extra argument to amcostestimate() index access method API
function. However, this extra argument was missed in the documentation. This
commit fixes that. Discussion:
https://postgr.es/m/4128fdb4-8b63-2e05-38f6-3125f8c27263%40lab.ntt.co.jp
Author: Tatsuro Yamada, Alexander Korotkov Backpatch-through: 10
https://git.postgresql.org/pg/commitdiff/e01d3477e7486b0bbc6591be67675962218245b2

- Fix typo in SP-GiST error message. Error message didn't match the actual
check. Fix that. Compression of leaf SP-GiST values was introduced in 11.
So, backpatch. Discussion:
https://postgr.es/m/20180810.100742.15469435.horiguchi.kyotaro%40lab.ntt.co.jp
Author: Kyotaro Horiguchi Backpatch-through: 11
https://git.postgresql.org/pg/commitdiff/2b13702d5c7e879bdd0587a80d5cfaeb5206f4ea

Andrew Dunstan pushed:

- Revert changes in execMain.c from commit 16828d5c0273b. These changes were
put in at some stage of the development process, but are unnecessary and
should not have made it into the final patch. Mea culpa. Per gripe from
Andreas Freund Backpatch to REL_11_STABLE
https://git.postgresql.org/pg/commitdiff/5c047fd709ae274d5d543b250c70cc2b15e4fe65

== Pending Patches ==

Etsuro Fujita sent in another revision of a patch to prevent doing
partition-wise joins when whole-row vars are involved.

Laurenz Albe sent in another revision of a patch to use pgwin32_open in frontend
code on Windows.

Jeremy Evans, Peter Eisentraut, and Amit Langote traded patches to improve error
messages for CREATE OR REPLACE PROCEDURE.

Andrey Borodin sent in another revision of a patch to implement GiST VACUUM.

Paul Guo sent in another revision of a patch to create a new session for
postmaster in pg_ctl by calling setsid().

Jeremy Evans sent in a patch to have hint use DROP ROUTINE instead of DROP
FUNCTION when erroring out of CREATE PROCEDURE.

Amit Langote sent in a patch to fix a bug regarding partition column option
inheritance.

Don Seiler sent in a patch to add application_name to the Port struct to enable
displaying the application name in "connection authorized" log messages.

Andrey V. Lepikhov sent in another revision of a patch to implement retail
IndexTuple deletion.

Amit Langote sent in two more revisions of a patch to add some partition tree
inspection functions.

Marina Polyakova sent in another revision of a patch to add error handling and
retrying of transactions with serialization/deadlock failures in pgbench.

Peter Eisentraut sent in a patch to remove dead foreign key optimization code
and apply RI trigger skipping tests also for DELETE.

Asim Praveen sent in a patch to mark a shared buffer as read-write or read-only
using mprotect(). The idea is to catch violations of shared buffer access
rules.

Amit Langote sent in a patch to add a test case that would actually use run-time
pruning. This would help prevent regressions of the recent patch to match
RelOptInfos by relids instead of pointer equality.

Ashutosh Bapat sent in two more revisions of a patch to implement the
TupleTableSlot abstraction.

Kyotaro HORIGUCHI sent in a patch to fix foreign update on remote partitioned
tables.

Simon Muller sent in another revision of a patch to add an option to COPY's
'text' format to output a header.

Tom Lane sent in a PoC patch to implement a function trust mechanism.

Pavel Stěhule sent in five more revisions of a patch to implement schema
variables.

Peter Eisentraut sent in a patch to remove the ancient pre-dlopen dynloader
code.

Michaël Paquier sent in a patch to make autovacuum more aggressive to remove
orphaned temp tables.

Andrew Dunstan sent in two more revisions of a patch to add an option to build
pgbench using ppoll() for larger connection counts.

David G. Johnston sent in another revision of a patch to clarify the fact that
PostgreSQL does not yet consider CHECK constraints as capable of seeing other
tables.

Peter Eisentraut sent in a patch to ensure that pgbench returns non-zero if
during the run, any error has occurred.

Kyotaro HORIGUCHI sent in a patch to implement a new New pg_ctl subcommand:
"logrotate".

Ivan Kartyshov and Alexander Korotkov traded patches to add a new lock mode:
ACCESS EXCLUSIVE LOCAL, then use same to help deal with situations where a
long-running transaction could hold up replication.

Tom Lane sent in a patch to libpq to improve the handling of multiple addresses
in connection information by looking up each hostname as needed, and proceeding
on to the next hostname if it gets a DNS lookup failure.

David Rowley sent in a patch to refrain from destroying the original partdesc on
rel invalidation.

Kyotaro HORIGUCHI sent in a patch to fix a dubious message related to the
SP-GiST compress method.

Fabien COELHO sent in another revision of a patch to handle overflows better in
pgbench.

Thomas Munro sent in a patch to use portable close-on-exec syscalls, fix a
deadlock in AbsorbAllFsyncRequests(), handle postmaster death and
check-for-interrupts, and handle EMSGSIZE on macOS.

Alexandra Ryzhevich sent in another revision of a patch to make it possible for
non-superusers to create extensions.

Tom Lane sent in another revision of a patch to check the /etc/localtime symlink
for time zone names.

Kyotaro HORIGUCHI sent in a patch to fix some infelicities in NLS handling.

Daniel Vérité sent in another revision of a patch to implement a CSV output
format for psql.

Tom Lane sent in a patch to ensure that libpq appends to errors instead of
overwriting them.

David Rowley sent in a patch to fix a partition missing from subplans error.

Fabien COELHO sent in another revision of a patch to pgbench to clean up
doCustom.

Tomáš Vondra and Andres Freund traded patches to fix an infelicity between
logical decoding / rewrite map and maxAllocatedDescs.

Nico Williams sent in a patch to keep rpath et. al. from xml2-config --libs.

Noah Misch sent in a patch to help make postmaster.pid less of a breaking
dependency.

Edmund Horner sent in a patch to add a new plan type: TidRangeScan, which, as
implied by the name, speeds up tid scans.

Browse pgsql-announce by date

  From Date Subject
Next Message Peter Eisentraut 2018-08-13 08:32:26 PgBouncer 1.9.0 released
Previous Message Jonathan S. Katz 2018-08-09 13:23:13 PostgreSQL 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24, and 11 Beta 3 Released!