== PostgreSQL Weekly News - April 21, 2019 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - April 21, 2019 == |
Date | |
Msg-id | 20190421232722.GA7673@fetter.org Whole thread Raw |
List | 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@fetter.org. == 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.chalke@enterprisedb.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@gmail.com> Reviewed-by: Robert Treat <rob@xzilla.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.
pgsql-announce by date: