== PostgreSQL Weekly News - April 21, 2019 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - April 21, 2019 ==
Date: 2019-04-21 23:27:22
Message-ID: 20190421232722.GA7673@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - April 21, 2019 ==

PgConf Belgium will take place on May 17, 2019 at the UCLL Campus in Haasrode
(near Leuven).
http://pgconf.be

== PostgreSQL Product News ==

psycopg2 2.8.2, a Python connector for PostgreSQL, released.
http://initd.org/psycopg/articles/2019/04/14/psycopg-281-282-released/

== PostgreSQL Jobs for April ==

http://archives.postgresql.org/pgsql-jobs/2019-04/

== PostgreSQL Local ==

The German-speaking PostgreSQL Conference 2019 will take place on May 10, 2019
in Leipzig.
http://2019.pgconf.de/

PGDay.IT 2019 will take place May 16th and May 17th in Bologna, Italy.
https://2019.pgday.it/en/

PGCon 2019 will take place in Ottawa on May 28-31, 2019. Registration is open.
https://www.pgcon.org/2019

Swiss PGDay 2019 will take place in Rapperswil (near Zurich) on June 28, 2019.
Registration is open.
http://www.pgday.ch/2019/

PostgresLondon 2019 will be July 2-3, 2019 with an optional training day on
July 1.
http://postgreslondon.org

PGConf.Brazil 2019 will take place August 1-3, 2019 in São Paulo.
http://pgconf.com.br

The first Austrian pgDay, will take place September 6, 2019 at the Hilton Garden
Inn in Wiener Neustadt.
https://pgday.at/en/

PostgresConf South Africa 2019 will take place in Johannesburg on October 8-9, 2019
The Call for Papers is open through June 30, 2019.
https://postgresconf.org/conferences/SouthAfrica2019

== 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 ==

Noah Misch pushed:

- Test both 0.0.0.0 and 127.0.0.x addresses to find a usable port. Commit
c098509927f9a49ebceb301a2cb6a477ecd4ac3c changed PostgresNode::get_new_node()
to probe 0.0.0.0 instead of 127.0.0.1, but the new test was less effective for
Windows native Perl. This increased the failure rate of buildfarm members
bowerbird and jacana. Instead, test 0.0.0.0 and concrete addresses. This
restores the old level of defense, but the algorithm is still subject to its
longstanding time of check to time of use race condition. Back-patch to 9.6,
like the previous change. Discussion:
https://postgr.es/m/GrdLgAdUK9FdyZg8VIcTDKVOkys122ZINEb3CjjoySfGj2KyPiMKTh1zqtRp0TAD7FJ27G-OBB3eplxIB5GhcQH5o8zzGZfp0MuJaXJxVxk=@yesql.se
https://git.postgresql.org/pg/commitdiff/4ab02e8156270592c1eae03d5b9ee36bb8c761c2

- Don't write to stdin of a test process that could have already exited.
Instead, close that stdin. Per buildfarm member conchuela. Back-patch to
9.6, where the test was introduced. Discussion:
https://postgr.es/m/26478.1555373328@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/e12a4726127b90b8fc5e75690fe4527f1866412d

Michaël Paquier pushed:

- Fix SHOW ALL command for non-superusers with replication connection. Since
Postgres 10, SHOW commands can be triggered with replication connections in a
WAL sender context, however it missed that a transaction context is needed for
syscache lookups. This commit makes sure that the syscache lookups can happen
correctly by setting a transaction context when running SHOW commands in a WAL
sender. Superuser-only parameters can be displayed using SHOW commands not
only to superusers, but also to members of system role pg_read_all_settings,
which requires a syscache lookup to check if the connected role is a member of
this system role or not, or the instance crashes. Superusers do not need to
check the syscache so it worked correctly in this case. New tests are added
to cover this issue. Reported-by: Alexander Kukushkin Author: Michael Paquier
Reviewed-by: Álvaro Herrera Discussion:
https://postgr.es/m/15734-2daa8761eeed8e20@postgresql.org Backpatch-through:
10
https://git.postgresql.org/pg/commitdiff/c34677fdaa73f089d557554a9cd479b9bd5b5143

- Remove duplicate assignment when initializing logical decoder context. The
private data in the WAL reader is already getting set when allocating it.
Author: Antonin Houska Reviewed-by: Tom Lane Discussion:
https://postgr.es/m/30563.1555329094@localhost
https://git.postgresql.org/pg/commitdiff/5ed4b123b6a678bc6243047846870f7f46e9c67b

- Rework handling of invalid indexes with REINDEX CONCURRENTLY. Per discussion
with others, allowing REINDEX INDEX CONCURRENTLY to work for invalid indexes
when working directly on them can have a lot of value to unlock situations
with invalid indexes without having to use a dance involving DROP INDEX
followed by an extra CREATE INDEX CONCURRENTLY (which would not work for
indexes with constraint dependency anyway). This also does not create extra
bloat on the relation involved as this works on individual indexes, so let's
enable it. Note that REINDEX TABLE CONCURRENTLY still bypasses invalid
indexes as we don't want to bloat the number of indexes defined on a relation
in the event of multiple and successive failures of REINDEX CONCURRENTLY.
More regression tests are added to cover those behaviors, using an invalid
index created with CREATE INDEX CONCURRENTLY. Reported-by: Dagfinn Ilmari
Mannsåker, Álvaro Herrera Author: Michael Paquier Reviewed-by: Peter
Eisentraut, Dagfinn Ilmari Mannsåker Discussion:
https://postgr.es/m/20190411134947.GA22043@alvherre.pgsql
https://git.postgresql.org/pg/commitdiff/a6dcf9df4d91ff0db23579f9114079abe6f3e2bf

- Simplify some ERROR paths clearing wait events and transient files. Transient
files and wait events get normally cleaned up when seeing an exception (be it
in the context of a transaction for a backend or another process like the
checkpointer), hence there is little point in complicating error code paths to
do this work. This shaves a bit of code, and removes some extra handling with
errno which needed to be preserved during the cleanup steps done.
Reported-by: Masahiko Sawada Author: Michael Paquier Reviewed-by: Tom Lane,
Masahiko Sawada Discussion:
https://postgr.es/m/CAD21AoDhHYVq5KkXfkaHhmjA-zJYj-e4teiRAJefvXuKJz1tKQ@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/47ac2033d460cefbbda2e39732e18de521dc6a36

- Fix thinko introduced by 82a5649 in slot.c. When saving a replication slot,
failing to close the temporary path used to save the slot information is
considered as a failure and reported as such. However the code forgot to
leave immediately as other failure paths do. Noticed while looking up at this
area of the code for another patch.
https://git.postgresql.org/pg/commitdiff/9010156445c420361c2cef9557751c0b8b52644b

- Remove dependency to pageinspect in recovery tests. If contrib/pageinspect is
not installed, this causes the test checking the minimum recovery point to
fail. The point is that the dependency with pageinspect is not really
necessary as the test does also all checks with an offline cluster by scanning
directly the on-disk pages, which is enough for the purpose of the test. Per
complaint from Tom Lane. Author: Michael Paquier Discussion:
https://postgr.es/m/17806.1555566345@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/5a9323eab6e2c47e4caee9ab4b5117ba01368253

- Clean up some documentation for log_statement_sample_rate. This was missing
from 88bdbd3. Author: Christoph Berg, Justin Pryzby Discussion:
https://postgr.es/m/20190403215938.GA26375@alvherre.pgsql Discussion:
https://postgr.es/m/20190330224333.GQ5815@telsasoft.com
https://git.postgresql.org/pg/commitdiff/bc540f98599b875e7ee67086291cdb96997db3fc

- Fix collection of typos and grammar mistakes in docs and comments. Author:
Justin Pryzby Discussion:
https://postgr.es/m/20190330224333.GQ5815@telsasoft.com
https://git.postgresql.org/pg/commitdiff/148266fa354a47543f6c0325cd1ea900ead4aac6

Peter Eisentraut pushed:

- Unbreak index optimization for LIKE on bytea. The same code is used to handle
both text and bytea, but bytea is not collation-aware, so we shouldn't call
get_collation_isdeterministic() in that case, since that will error out with
an invalid collation. Reported-by: Jeevan Chalke
<jeevan(dot)chalke(at)enterprisedb(dot)com> Discussion:
https://www.postgresql.org/message-id/flat/CAM2%2B6%3DWaf3qJ1%3DyVTUH8_yG-SC0xcBMY%2BSFLhvKKNnWNXSUDBw%40mail.gmail.com
https://git.postgresql.org/pg/commitdiff/abb9c63b2c00109183cdb9f588d2f23fc383ed38

- Better scaling of images in HTML output. Turn on the previously disabled
automatic scaling of images in HTML output. To avoid images looking too large
on nowadays-normal screens, restrict the width to 75% on such screens. Some
work is still necessary because SVG images without a viewBox still won't
scale, but that will a separate patch. Discussion:
https://www.postgresql.org/message-id/flat/6d2442d1-84a2-36ef-e014-b6d1ece8a139%40postgresql.org
https://git.postgresql.org/pg/commitdiff/e446cde16d676b528f3aa91dcbe5bb9c5a3776d8

- Fix handling of temp and unlogged tables in FOR ALL TABLES publications. If a
FOR ALL TABLES publication exists, temporary and unlogged tables are ignored
for publishing changes. But CheckCmdReplicaIdentity() would still check in
that case that such a table has a replica identity set before accepting
updates. To fix, have GetRelationPublicationActions() return that such a
table publishes no actions. Discussion:
https://www.postgresql.org/message-id/f3f151f7-c4dd-1646-b998-f60bd6217dd3@2ndquadrant.com
https://git.postgresql.org/pg/commitdiff/bb385c4fb0f4eb33d2bc7e484061565ba51cc790

Etsuro Fujita pushed:

- Fix thinko in ExecCleanupTupleRouting(). Commit 3f2393edef changed
ExecCleanupTupleRouting() so that it skipped cleaning up subplan resultrels
before calling EndForeignInsert(), but that would cause an issue: when those
resultrels were foreign tables, the FDWs would fail to shut down. Repair by
skipping it after calling EndForeignInsert() as before. Author: Etsuro Fujita
Reviewed-by: David Rowley and Amit Langote Discussion:
https://postgr.es/m/5CAF3B8F.2090905@lab.ntt.co.jp
https://git.postgresql.org/pg/commitdiff/3a45321a491711b556d2cf8f6904ab989b9d0b08

Alexander Korotkov pushed:

- Fix division by zero in _bt_vacuum_needs_cleanup(). Checks inside
_bt_vacuum_needs_cleanup() allow division by zero to happen when
metad->btm_last_cleanup_num_heap_tuples == 0. This commit adjusts the
expression so that no division by zero might happen. Reported-by: Piotr
Stefaniak Discussion:
https://postgr.es/m/DB8PR03MB5931C41F7787A95313F08322F22A0%40DB8PR03MB5931.eurprd03.prod.outlook.com
Reviewed-by: Masahiko Sawada Backpatch-through: 11
https://git.postgresql.org/pg/commitdiff/1e871981823a68ec9e0174b652e8d27e05ce08bb

Tom Lane pushed:

- Avoid possible regression test instability in timestamp.sql. Concurrent
autovacuum could result in a change in the order of the live rows in
timestamp_tbl. While this would not happen with the default autovacuum
parameters, it's fairly easy to hit if autovacuum_vacuum_threshold is made
small enough to allow autovac to decide to process this table. That's a
stumbling block for trying to exercise autovacuum aggressively using the core
regression tests. To fix, replace an unqualified DELETE with a TRUNCATE.
There's a similar DELETE just above (and no order-sensitive queries between),
so this doesn't lose any test coverage and might indeed be argued to improve
it. Discussion: https://postgr.es/m/17428.1555348950@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/47169c25500a70a7d04076860717f2f4f0ea83a7

- Fix failure with textual partition hash keys. Commit 5e1963fb7 overlooked two
places in partbounds.c that now need to pass a collation identifier to the
hash functions for a partition key column. Amit Langote, per report from
Jesper Pedersen Discussion:
https://postgr.es/m/a620f85a-42ab-e0f3-3337-b04b97e2e2f5@redhat.com
https://git.postgresql.org/pg/commitdiff/4b40e44f07c727c7a82b291d3b60098dd99f3f64

- Use [FLEXIBLE_ARRAY_MEMBER] not [1] in MultiSortSupportData. This struct seems
to have not gotten the word about preferred coding style for variable-length
arrays.
https://git.postgresql.org/pg/commitdiff/dde7fb7836c7428f79cb3cd88ca5febb802e767e

- Minor jsonpath fixes. Restore missed "make clean" rule, fix misspelling. John
Naylor Discussion:
https://postgr.es/m/CACPNZCt5B8jDCCGQiFoSuqmg-za_NCy4QDioBTLaNRih9+-bXg@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/b4f96d69ad197731c1f5b959e1234c9ba3517ecb

- Fix assorted minor bogosity in GSSAPI transport error messages. I noted that
some buildfarm members were complaining about %ld being used to format values
that are (probably) declared size_t. Use %zu instead, and insert a cast just
in case some versions of the GSSAPI API declare the length field differently.
While at it, clean up gratuitous differences in wording of equivalent
messages, show the complained-of length in all relevant messages not just
some, include trailing newline where needed, adjust random deviations from
project-standard code layout and message style, etc.
https://git.postgresql.org/pg/commitdiff/8cde7f49483d7e21569f61108fc80a8fe9e83e56

- Fix unportable code in pgbench. The buildfarm points out that UINT64_FORMAT
might not work with sscanf; it's calibrated for our printf implementation,
which might not agree with the platform-supplied sscanf. Fall back to just
accepting an unsigned long, which is already more than the documentation
promises. Oversight in e6c3ba7fb; back-patch to v11, as that was.
https://git.postgresql.org/pg/commitdiff/1a75c1d0c5d967ea2adcd7129092687cded4e7bf

- Fix problems with auto-held portals. HoldPinnedPortals() did things in the
wrong order: it must not mark a portal autoHeld until it's been successfully
held. Otherwise, a failure while persisting the portal results in a server
crash because we think the portal is in a good state when it's not. Also add
a check that portal->status is READY before attempting to hold a pinned
portal. We have such a check before the only other use of HoldPortal(), so it
seems unwise not to check it here. Lastly, rethink the responsibility for
where to call HoldPinnedPortals. The comment for it imagined that it was
optional for any individual PL to call it or not, but that cannot be the case:
if some outer level of procedure has a pinned portal, failing to persist it
when an inner procedure commits is going to be trouble. Let's have SPI do it
instead of the individual PLs. That's not a complete solution, since in
theory a PL might not be using SPI to perform commit/rollback, but such a PL
is going to have to be aware of lots of related requirements anyway. (This
change doesn't cause an API break for any external PLs that might be calling
HoldPinnedPortals per the old regime, because calling it twice during a commit
or rollback sequence won't hurt.) Per bug #15703 from Julian Schauder.
Back-patch to v11 where this code came in. Discussion:
https://postgr.es/m/15703-c12c5bc0ea34ba26@postgresql.org
https://git.postgresql.org/pg/commitdiff/4d5840cea96d7f893389664dd423716b38fded7a

Tomáš Vondra pushed:

- Fix pg_mcv_list deserialization. The memcpy() was copying type OIDs in the
wrong direction, so the deserialized MCV list always had them as 0. This is
mostly harmless except when printing the data in pg_mcv_list_items(), in which
case it reported ERROR: cache lookup failed for type 0 Also added a
simple regression test for pg_mcv_list_items() function, printing a
single-item MCV list. Reported-By: Dean Rasheed Discussion:
https://postgr.es/m/CAEZATCX6T0iDTTZrqyec4Cd6b4yuL7euu4=rQRXaVBAVrUi1Cg@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/3824ca30d162611fdaade403d3aec449fecd0924

- Convert pre-existing stats_ext tests to new style. The regression tests added
in commit 7300a69950 test cardinality estimates using a function that extracts
the interesting pieces from the EXPLAIN output, instead of testing the whole
plan. That seems both easier to understand and less fragile, so this applies
the same approach to pre-existing tests of ndistinct coefficients and
functional dependencies. Discussion:
https://postgr.es/m/dfdac334-9cf2-2597-fb27-f0fb3753f435@2ndquadrant.com
https://git.postgresql.org/pg/commitdiff/dbb984128ebf6b4bd6f12b4579ee9103ef1ca749

- Fix mvdistinct and dependencies size calculations. The formulas used to
calculate size while (de)serializing mvndistinct and functional dependencies
were based on offset() of the structs. But that is incorrect, because the
structures are not copied directly, we we copy the individual fields directly.
At the moment this works fine, because there is no alignment padding on any
platform we support. But it might break if we ever added some fields into any
of the structs, for example. It's also confusing. Fixed by reworking the
macros to directly sum sizes of serialized fields. The macros are now useful
only for serialiation, so there is no point in keeping them in the public
header file. So make them private by moving them to the .c files. Also adds a
couple more asserts to check the serialization, and fixes an incorrect
allocation of MVDependency instead of (MVDependency *). Reported-By: Tom Lane
Discussion: https://postgr.es/m/29785.1555365602@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/d08c44f7a4ec574110bf1587fe8bd682b8557e0f

Fujii Masao pushed:

- Add index terms for reloptions in documentation. Author: Fujii Masao
Reviewed-By: Alvaro Herrera, Michael Paquier Discussion:
https://postgr.es/m/CAHGQGwHyKt9-xkibVguPzYqKgb_2tdw14Ub1XDTu08kyHMiTQA@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/c8e0f6bbdb5ff0f235246af5b567b21dcfc1d22a

Magnus Hagander pushed:

- Return NULL for checksum failures if checksums are not enabled. Returning 0
could falsely indicate that there is no problem. NULL correctly indicates that
there is no information about potential problems. Also return 0 as
numbackends instead of NULL for shared objects (as no connection can be made
to a shared object only). Author: Julien Rouhaud <rjuju123(at)gmail(dot)com>
Reviewed-by: Robert Treat <rob(at)xzilla(dot)net>
https://git.postgresql.org/pg/commitdiff/252b707bc41cc9bf6c55c18d8cb302a6176b7e48

Bruce Momjian pushed:

- docs: clarify pg_upgrade's recovery behavior. The previous paragraph trying to
explain --check, --link, and no --link modes and the various points of failure
was too complex. Instead, use bullet lists and sublists. Reported-by: Daniel
Gustafsson Discussion:
https://postgr.es/m/qtqiv7hI87s_Xvz5ZXHCaH-1-_AZGpIDJowzlRjF3-AbCr3RhSNydM_JCuJ8DE4WZozrtxhIWmyYTbv0syKyfGB6cYMQitp9yN-NZMm-oAo=@yesql.se
Backpatch-through: 9.4
https://git.postgresql.org/pg/commitdiff/64bbe1039962a75cb292fb557e2e79a58c77ec33

- postgresql.conf.sample: add proper defaults for include actions. Previously,
include actions include_dir, include_if_exists, and include listed
commented-out values which were not the defaults, which is inconsistent with
other entries. Instead, replace them with '', which is the default value.
Reported-by: Emanuel Araújo Discussion:
https://postgr.es/m/CAMuTAkYMx6Q27wpELDR3_v9aG443y7ZjeXu15_+1nGUjhMWOJA@mail.gmail.com
Backpatch-through: 9.4
https://git.postgresql.org/pg/commitdiff/fb9c475597c245562a28d1e916b575ac4ec5c19f

- docs: reorder collation regression test order in paragraph.
Backpatch-through: 10
https://git.postgresql.org/pg/commitdiff/bfbc150e39515c08a5691c7da4291d1b9f2b2b9c

Álvaro Herrera pushed:

- psql: display tablespace for partitioned indexes. Nothing was shown
previously.
https://git.postgresql.org/pg/commitdiff/b036982db786f7ef6c118419e7e832167ad4a6a7

- Tie loose ends in psql's new \dP command. * Remove one unnecessary pg_class
join in SQL command. Not needed, because we use a regclass cast instead. *
Doc: refer to "partitioned relations" rather than specifically tables, since
indexes are also displayed. * Rename "On table" column to "Table", for
consistency with \di. Author: Justin Pryzby Discussion:
https://postgr.es/m/20190407212525.GB10080@telsasoft.com
https://git.postgresql.org/pg/commitdiff/421a2c48328c88eb31f6b29979218f0a350bb739

Andres Freund pushed:

- docs: cleanup/remove/update references to OID column. I (Andres) missed these
in 578b229718e8f. Author: Justin Pryzby, editorialized a bit by Andres Freund
Reviewed-By: Daniel Verite, Andres Freund Discussion:
https://postgr.es/m/20190408002847.GA904@telsasoft.com
https://git.postgresql.org/pg/commitdiff/f6b39171f3d65155b9390c2c69bc5b3469f923a8

- pg_dump: Remove stray option parsing support for -o. I (Andres) missed this in
578b229718e8f, the removal of WITH OIDS support. Author: Daniel Verite
Discussion:
https://postgr.es/m/f06e9735-3717-4904-8c95-47d0b9c3bb10@manitou-mail.org
https://git.postgresql.org/pg/commitdiff/4d0183592764629d38182e30642b1aef8baeb987

- docs: correct typo-ed path to heapam_handler.c. Reported-By: Michael Paquier,
Michel Pelletier Discussion:
https://postgr.es/m/20190410025531.GA2728@paquier.xyz
https://postgr.es/m/CACxu=v+u_QTeFqdajCHv3i4QmzV_63arVb57R19dSKtThdSLkQ@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/1cebfdee0087624af2fc99a000642c2db4dfbfc9

- Fix potential use-after-free for BEFORE UPDATE row triggers on non-core AMs.
When such a trigger returns the old row version, it naturally get stored in
the slot for the trigger result. When a table AMs doesn't store HeapTuples
internally, ExecBRUpdateTriggers() frees the old row version passed to
triggers - but before this fix it might still be referenced by the slot
holding the new tuple. Noticed when running the out-of-core zheap AM against
the in-core version of tableam. Author: Andres Freund
https://git.postgresql.org/pg/commitdiff/75e03eabeaac8fd229b14f74de55d0e1470903c4

- Fix two memory leaks around force-storing tuples in slots. As reported by Tom,
when ExecStoreMinimalTuple() had to perform a conversion to store the minimal
tuple in the slot, it forgot to respect the shouldFree flag, and leaked the
tuple into the current memory context if true. Fix that by freeing the tuple
in that case. Looking at the relevant code made me (Andres) realize that not
having the shouldFree parameter to ExecForceStoreHeapTuple() was a bad idea.
Some callers had to locally implement the necessary logic, and in one case it
was missing, creating a potential per-group leak in non-hashed aggregation.
The choice to not free the tuple in ExecComputeStoredGenerated() is not
pretty, but not introduced by this commit - I'll start a separate discussion
about it. Reported-By: Tom Lane Discussion:
https://postgr.es/m/366.1555382816@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/88e6ad3054ddd5aa0dee12e5def2c335fe92a414

- Fix slot type issue for fuzzy distance index scan over out-of-core table AM.
For amcanreorderby scans the nodeIndexscan.c's reorder queue holds heap
tuples, but the underlying table likely does not. Before this fix we'd return
different types of slots, depending on whether the tuple came from the reorder
queue, or from the index + table. While that could be fixed by signalling
that the node doesn't return a fixed type of slot, it seems better to instead
remove the separate slot for the reorder queue, and use
ExecForceStoreHeapTuple() to store tuples from the queue. It's not
particularly common to need reordering, after all. This reverts most of the
iss_ReorderQueueSlot related changes to nodeIndexscan.c made in
1a0586de3657cd3, except that now ExecForceStoreHeapTuple() is used instead of
ExecStoreHeapTuple(). Noticed when testing zheap against the in-core version
of tableam. Author: Andres Freund
https://git.postgresql.org/pg/commitdiff/b8b94ea129ffc988c2d30eb2b5aa65a93329b8fa

Stephen Frost pushed:

- GSSAPI: Improve documentation and tests. The GSSAPI encryption patch neglected
to update the protocol documentation to describe how to set up a GSSAPI
encrypted connection from a client to the server, so fix that by adding the
appropriate documentation to protocol.sgml. The tests added for encryption
support were overly long and couldn't be run in parallel due to race
conditions; this was largely because each test was setting up its own KDC to
perform the tests. Instead, merge the authentication tests and the encryption
tests into the original test, where we only create one KDC to run the tests
with. Also, have the tests check what the server's opinion is of the
connection and if it was GSS authenticated or encrypted using the
pg_stat_gssapi view. In passing, fix the libpq label for GSSENC-Mode to be
consistent with the "PGGSSENCMODE" environment variable. Missing protocol
documentation pointed out by Michael Paquier. Issues with the tests pointed
out by Tom Lane and Peter Eisentraut. Refactored tests and added
documentation by me. Reviewed by Robbie Harwood (protocol documentation) and
Michael Paquier (rework of the tests).
https://git.postgresql.org/pg/commitdiff/eb882a1b717589777e068dc6671830226f3aa7f0

== Pending Patches ==

Tom Lane sent in another revision of a patch to fix an issue that crops up with
large numbers of hash partitions.

Alexey Bashtanov sent in another revision of a patch to log bind parameter
values on error.

Amit Langote sent in another revision of a patch to fix an infelicity among
COLLATE, hash partitioning, and UPDATE.

Masahiko Sawada sent in a patch to fix an index cleanup bug.

Iwata Aya sent in another revision of a patch to implement a libpq debug log.

Peifeng Qiu sent in a patch to enable compiling with 64-bit Kerberos on Windows.

David Rowley sent in a patch to increase the minimum value of toast_tuple_target
FROM 128 to TOAST_TUPLE_TARGET.

Alexander Korotkov sent in a patch to improve checking for missing parent links
in indexes.

Noah Misch sent in a PoC patch to add a DEPNAME_schema to the EXTENSION
infrastructure.

Masahiko Sawada sent in another revision of a patch to fix transactions
involving multiple postgres foreign servers.

Jie Zhang sent in a patch to fix an issue where pg_test_timing would accept an
illegal option.

Justin Pryzby sent in another revision of a patch to fix some infelicities in
psql's \d commands.

Dmitry Dolgov sent in a patch to make insert, update, and delete functionality
optional for table access methods, along with a table access method which makes
use of the ability not to implement those operations.

Paul Guo sent in a patch to recursively create tablespace directories in cases
where they are needed.

Alexander Korotkov sent in a patch to fix some JSONPATH errors.

Justin Pryzby sent in another revision of a patch to clean up no-longer-needed
references to OID columns.

Kyotaro HORIGUCHI sent in a patch to refactor XLogReaderState.

Andres Freund sent in a patch to allow pg_class xid & multixid horizons to not
be set. This in turn allows table AMs that don't need these horizons, as
mentioned in the tableam documentation.

Tom Lane sent in a patch to fix some race conditions with checkpointer and
shutdown.

Etsuro Fujita sent in another revision of a patch to fix a bug where UPDATE did
not correctly route tuples when the table had foreign partitions.

Amit Langote sent in another revision of a patch to fix plans created for
inherited UPDATE/DELETE with all tables excluded.

Tom Lane and Amit Langote traded patches to fix a runtime partition-pruning
problem.

Tom Lane sent in two revisions of a patch to fix an issue that manifested as
ALTER TABLE with ADD COLUMN and ADD PRIMARY KEY USING INDEX throws spurious
"column contains null values".

Paul Guo sent in another revision of a patch to auto-generate recovery conf and
ensure a clean shutdown.

Andrey V. Lepikhov sent in a patch to add a CustomScan node to the list of nodes
that do not support projection.

Ryo Matsumura sent in a patch to fix the documentation for pg_logical_emit_message().

Pavel Stěhule sent in another revision of a patch to implement schema variables.

Dilip Kumar sent in another revision of a patch to clean up orphaned files using
undo logs.

Peter Geoghegan sent in two revisions of a patch to prevent an O(N^2) unique
index insertion edge case.

Fabien COELHO sent in a patch to share str2*int64 functions.

Laurenz Albe sent in a patch to ensure that allow COPY FROM for foreign tables
only works if the foreign data wrapper implements BeginForeignInsert.

Tom Lane sent in two revisions of a patch to fix encoding and error recovery in
cache_locale_time().

David Fetter sent in a patch to implement \echo_stderr for psql.

Browse pgsql-announce by date

  From Date Subject
Next Message Andrey Borodin 2019-04-22 06:41:25 WAL-G v0.2 released
Previous Message Gilles Darold 2019-04-21 17:08:22 pgFormatter 3.4 released