== PostgreSQL Weekly News - July 22 2018 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - July 22 2018 == |
Date | |
Msg-id | 20180722231752.GA26841@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - July 22 2018 == == PostgreSQL Product News == pginstaller, a GUI installer for PostgreSQL, released. https://www.2ndquadrant.com/en/resources/postgresql-installer-2ndquadrant/ == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2018-07/ == PostgreSQL Local == PGConf.Brazil 2018 will take place in São Paulo, Brazil on August 3-4 2018. http://pgconf.com.br 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. The CfP is open through August 6, 2018 midnight CET at https://2018.pgconf.eu/callforpapers 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. The CfP is open until midnight, July 31, 2018, Japan time at pgconf-asia-2018-submission(at)pgconf(dot)asia 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@fetter.org. == Applied Patches == Peter Eisentraut pushed: - doc: Update redirecting links. Update links that resulted in redirects. Most are changes from http to https, but there are also some other minor edits. (There are still some redirects where the target URL looks less elegant than the one we currently have. I have left those as is.) https://git.postgresql.org/pg/commitdiff/a06e56b247feb2812bad5cf60fd9c0128d81f5c0 - Add plan_cache_mode setting. This allows overriding the choice of custom or generic plan. Author: Pavel Stehule <pavel.stehule@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CAFj8pRAGLaiEm8ur5DWEBo7qHRWTk9HxkuUAz00CZZtJj-LkCA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/f7cb2842bf47715133b40e4a503f35dbe60d1b72 Robert Haas pushed: - Add subtransaction handling for table synchronization workers. Since the old logic was completely unaware of subtransactions, a change made in a subsequently-aborted subtransaction would still cause workers to be stopped at toplevel transaction commit. Fix that by managing a stack of worker lists rather than just one. Amit Khandekar and Robert Haas Discussion: http://postgr.es/m/CAJ3gD9eaG_mWqiOTA2LfAug-VRNn1hrhf50Xi1YroxL37QkZNg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/32df1c9afa5a11e37b154fe50df7a4f016f289e4 Álvaro Herrera pushed: - Fix partition pruning with IS [NOT] NULL clauses. The original code was unable to prune partitions that could not possibly contain NULL values, when the query specified less than all columns in a multicolumn partition key. Reorder the if-tests so that it is, and add more commentary and regression tests. Reported-by: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> Co-authored-by: Dilip Kumar <dilipbalaut@gmail.com> Co-authored-by: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> Co-authored-by: Álvaro Herrera <alvherre@alvh.no-ip.org> Reviewed-by: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> Reviewed-by: amul sul <sulamul@gmail.com> Discussion: https://postgr.es/m/CAFjFpRc7qjLUfXLVBBC_HAnx644sjTYM=qVoT3TJ840HPbsTXw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/e353389d24da48c708f72379f87e9b518baac521 - Fix ALTER TABLE...SET STATS error message for included columns. The existing error message was complaining that the column is not an expression, which is not correct. Introduce a suitable wording variation and a test. Co-authored-by: Yugo Nagata <nagata@sraoss.co.jp> Discussion: https://postgr.es/m/20180628182803.e4632d5a.nagata@sraoss.co.jp Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org> https://git.postgresql.org/pg/commitdiff/cb9db2ab0674381b92559e011738f19e2bd0f6f2 - Revise BuildIndexValueDescription to simplify it. Getting a pg_index tuple from syscache when the open index relation is available is pointless -- just use the one from relcache. Noticed while reviewing code for cb9db2ab0674. No backpatch. https://git.postgresql.org/pg/commitdiff/1c04d4beea8a7f0f5fb667512025aada14c5be67 - doc: move PARTITION OF stanza to just below PARTITION BY. It's more logical this way, since the new ordering matches the way the tables are created; but in any case, the previous location of PARTITION OF did not appear carefully chosen anyway (since it didn't match the location in which it appears in the synopsys either, which is what we normally do.) In the PARTITION BY stanza, add a link to the partitioning section in the DDL chapter, too. Suggested-by: David G. Johnston Discussion: https://postgr.es/m/CAKFQuwY4Ld7ecxL_KAmaxwt0FUu5VcPPN2L4dh+3BeYbrdBa5g@mail.gmail.com https://git.postgresql.org/pg/commitdiff/c6736ff76046521f56c50deb31da218bc1b29533 - Rewrite comments in replication slot advance implementation. The code added by 9c7d06d60680 was a bit obscure; clarify that by rewriting the comments. Lack of clarity has already caused bugs, so it's a worthy goal. Co-authored-by: Arseny Sher <a.sher@postgrespro.ru> Co-authored-by: Michaël Paquier <michael@paquier.xyz> Co-authored-by: Álvaro Herrera <alvherre@alvh.no-ip.org> Reviewed-by: Petr Jelínek <petr.jelinek@2ndquadrant.com> Discussion: https://postgr.es/m/87y3fgoyrn.fsf@ars-thinkpad https://git.postgresql.org/pg/commitdiff/1573995f55994ee04dd0d69481de17d662ad8e88 Michaël Paquier pushed: - Fix casting in error message for two-phase file. This error from from 811b6e3, which causes compilation warnings with OSX 10.3 and clang. Reported by Tom Lane, via buildfarm member longfin. https://git.postgresql.org/pg/commitdiff/8bd064f0c7d61c40a8a1179e9d24997fc0a20689 - Fix more portability issues with casts to Size when using off_t. This should tame the beast, as there are no other places where off_t is used in the new error messages. Reported again by longfin, which complained about walsender.c while I spotted the other two ones while double-checking. https://git.postgresql.org/pg/commitdiff/94019c879a138454af723fa8bfc346d4a44ecd47 - Rework error messages around file handling. Some error messages related to file handling are using the code path context to define their state. For example, 2PC-related errors are referring to "two-phase status files", or "relation mapping file" is used for catalog-to-filenode mapping, however those prove to be difficult to translate, and are not more helpful than just referring to the path of the file being worked on. So simplify all those error messages by just referring to files with their path used. In some cases, like the manipulation of WAL segments, the context is actually helpful so those are kept. Calls to the system function read() have also been rather inconsistent with their error handling sometimes not reporting the number of bytes read, and some other code paths trying to use an errno which has not been set. The in-core functions are using a more consistent pattern with this patch, which checks for both errno if set or if an inconsistent read is happening. So as to care about pluralization when reading an unexpected number of byte(s), "could not read: read %d of %zu" is used as error message, with %d field being the output result of read() and %zu the expected size. This simplifies the work of translators with less variations of the same message. Author: Michael Paquier Reviewed-by: Álvaro Herrera Discussion: https://postgr.es/m/20180520000522.GB1603@paquier.xyz https://git.postgresql.org/pg/commitdiff/811b6e36a9e21a4d9eb78410976c88ce601cea0c - Fix re-parameterize of MergeAppendPath. Instead of MergeAppendPath, MergeAppend nodes were considered. This code is not covered by any tests now, which should be addressed at some point. This is an oversight from f49842d, which introduced partition-wise joins in v11, so back-patch down to that. Author: Michael Paquier Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/20180718062202.GC8565@paquier.xyz https://git.postgresql.org/pg/commitdiff/c6598b8b0514bcb9b4c99f2412927368a7514180 - Fix print of Path nodes when using OPTIMIZER_DEBUG. GatherMergePath (introduced in 10) and CustomPath (introduced in 9.5) have gone missing. The order of the Path nodes was inconsistent with what is listed in nodes.h, so make the order consistent at the same time to ease future checks and additions. Author: Sawada Masahiko Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/CAD21AoBQMLoc=ohH-oocuAPsELrmk8_EsRJjOyR8FQLZkbE0wA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/b33ef397a1698ddd06f325d0f92a6643ec55577f - Add toast tables to most system catalogs. It has been project policy to create toast tables only for those catalogs that might reasonably need one. Since this judgment call can change over time, just create one for every catalog, as this can be useful when creating rather-long entries in catalogs, with recent examples being in the shape of policy expressions or customly-formatted SCRAM verifiers. To prevent circular dependencies and to avoid adding complexity to VACUUM FULL logic, exclude pg_class, pg_attribute, and pg_index. Also, to prevent pg_upgrade from seeing a non-empty new cluster, exclude pg_largeobject and pg_largeobject_metadata from the set as large object data is handled as user data. Those relations have no reason to use a toast table anyway. Author: Joe Conway, John Naylor Reviewed-by: Michael Paquier, Tom Lane Discussion: https://postgr.es/m/84ddff04-f122-784b-b6c5-3536804495f8@joeconway.com https://git.postgresql.org/pg/commitdiff/96cdeae07f93556df73112456b795d6d35998a0e - Bump catalog version for recent toast table additions. This has been forgotten in 96cdeae. https://git.postgresql.org/pg/commitdiff/f2b1316a94796b69eed6773cfb38267947ea19ac Heikki Linnakangas pushed: - Fix misc typos, mostly in comments. A collection of typos I happened to spot while reading code, as well as grepping for common mistakes. Backpatch to all supported versions, as applicable, to avoid conflicts when backporting other commits in the future. https://git.postgresql.org/pg/commitdiff/6b387179baab8d0e5da6570678eefbe61f3acc79 - Expand run-time partition pruning to work with MergeAppend. This expands the support for the run-time partition pruning which was added for Append in 499be013de to also allow unneeded subnodes of a MergeAppend to be removed. Author: David Rowley Discussion: https://www.postgresql.org/message-id/CAKJS1f_F_V8D7Wu-HVdnH7zCUxhoGK8XhLLtd%3DCu85qDZzXrgg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/5220bb7533f9891b1e071da6461d5c387e8f7b09 - Fix comment. This comment was copy-pasted from nodeAppend.c to nodeMergeAppend.c, but while committing 5220bb7533, I modified wrong copy of it. Spotted by David Rowley https://git.postgresql.org/pg/commitdiff/405cb356d6104eccf34acc2e4944d711b0961c7d - Rephrase a few comments for clarity. I was confused by what "intended to be parallel serially" meant, until Robert Haas and David G. Johnston explained it. Rephrase the comment to make it more clear, using David's suggested wording. Discussion: https://www.postgresql.org/message-id/1fec9022-41e8-e484-70ce-2179b08c2092%40iki.fi https://git.postgresql.org/pg/commitdiff/99fdebaf2da9160ec49a80854dc99e46722a9a03 - Fix error message when a hostaddr cannot be parsed. We were incorrectly passing hostname, not hostaddr, in the error message, and because of that, you got: $ psql 'hostaddr=foo' psql: could not parse network address "(null)": Name or service not known Backpatch to v10, where this was broken (by commit 7b02ba62e9). Report and fix by Robert Haas. Discussion: https://www.postgresql.org/message-id/CA+TgmoapFQA30NomGKEaZCu3iN7mF7fux8fbbk9SouVOT2JP7w@mail.gmail.com https://git.postgresql.org/pg/commitdiff/b90d97e081415768468295cc4d10d7ee21881964 Tom Lane pushed: - Use a ResourceOwner to track buffer pins in all cases. Historically, we've allowed auxiliary processes to take buffer pins without tracking them in a ResourceOwner. However, that creates problems for error recovery. In particular, we've seen multiple reports of assertion crashes in the startup process when it gets an error while holding a buffer pin, as for example if it gets ENOSPC during a write. In a non-assert build, the process would simply exit without releasing the pin at all. We've gotten away with that so far just because a failure exit of the startup process translates to a database crash anyhow; but any similar behavior in other aux processes could result in stuck pins and subsequent problems in vacuum. To improve this, institute a policy that we must *always* have a resowner backing any attempt to pin a buffer, which we can enforce just by removing the previous special-case code in resowner.c. Add infrastructure to make it easy to create a process-lifespan AuxProcessResourceOwner and clear out its contents at appropriate times. Replace existing ad-hoc resowner management in bgwriter.c and other aux processes with that. (Thus, while the startup process gains a resowner where it had none at all before, some other aux process types are replacing an ad-hoc resowner with this code.) Also use the AuxProcessResourceOwner to manage buffer pins taken during StartupXLOG and ShutdownXLOG, even when those are being run in a bootstrap process or a standalone backend rather than a true auxiliary process. In passing, remove some other ad-hoc resource owner creations that had gotten cargo-culted into various other places. As far as I can tell that was all unnecessary, and if it had been necessary it was incomplete, due to lacking any provision for clearing those resowners later. (Also worth noting in this connection is that a process that hasn't called InitBufferPoolBackend has no business accessing buffers; so there's more to do than just add the resowner if we want to touch buffers in processes not covered by this patch.) Although this fixes a very old bug, no back-patch, because there's no evidence of any significant problem in non-assert builds. Patch by me, pursuant to a report from Justin Pryzby. Thanks to Robert Haas and Kyotaro Horiguchi for reviews. Discussion: https://postgr.es/m/20180627233939.GA10276@telsasoft.com https://git.postgresql.org/pg/commitdiff/3cb646264e8ced9f25557ce271284da512d92043 - Drop the rule against included index columns duplicating key columns. The initial version of the included-index-column feature stated that included columns couldn't be the same as any key column of the index. While it'd be pretty silly to do that, since the included column would be entirely redundant, we've never prohibited redundant index columns before so it's not very consistent to do so here. Moreover, the prohibition was itself badly implemented, so that it failed to reject columns that were effectively identical but not spelled quite alike, as reported by Aditya Toshniwal. (Moreover, it's not hard to imagine that for some non-btree index types, such cases would be non-silly anyhow: the index might use a lossy representation for key columns but be able to support retrieval of the original form of included columns.) Hence, let's just drop the prohibition. In passing, do some copy-editing on the documentation for the included-column feature. Yugo Nagata; documentation and test corrections by me Discussion: https://postgr.es/m/CAM9w-_mhBCys4fQNfaiQKTRrVWtoFrZ-wXmDuE9Nj5y-Y7aDKQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/701fd0bbc98fe8211d36e96f90753985104cd295 - Remove race-prone hot_standby_feedback test cases in 001_stream_rep.pl. This script supposed that if it turned hot_standby_feedback on and then shut down the standby server, at least one feedback message would be guaranteed to be sent before the standby stops. But there is no such guarantee, if the standby's walreceiver process is slow enough --- and we've seen multiple failures in the buildfarm showing that that does happen in practice. While we could rearrange the walreceiver logic to make it less likely, it seems probably impossible to create a really bulletproof guarantee of that sort; and if we tried, we might create situations where the walreceiver wouldn't react in a timely manner to shutdown commands. It seems better instead to remove the script's assumption that feedback will occur before shutdown. But once we do that, these last few tests seem quite redundant with the earlier tests in the script. So let's just drop them altogether and save some buildfarm cycles. Backpatch to v10 where these tests were added. Discussion: https://postgr.es/m/1922.1531592205@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/a360f952ff028f8b85029334c54c025c716eb68e - Fix pg_get_indexdef()'s behavior for included index columns. The multi-argument form of pg_get_indexdef() failed to print anything when asked to print a single index column that is an included column rather than a key column. This seems an unintentional result of someone having tried to take a short-cut and use the attrsOnly flag for two different purposes. To fix, split said flag into two flags, attrsOnly which suppresses non-attribute info, and keysOnly which suppresses included columns. Add a test case using psql's \d command, which relies on that function. (It's mighty tempting at this point to replace pg_get_indexdef_worker's mess of boolean flag arguments with a single bitmask-of-flags argument, which would allow making the call sites much more self-documenting. But I refrained for the moment.) Discussion: https://postgr.es/m/21724.1531943735@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/028e3da2949482fa56f3ffdbda840782f2953b0b - Improve psql's \d command to show whether index columns are key columns. This is essential information when looking at an index that has "included" columns. Per discussion, follow the style used in \dC and some other places: column header is "Key?" and values are "yes" or "no" (all translatable). While at it, revise describeOneTableDetails to be a bit more maintainable: avoid hard-wired column numbers and multiple repetitions of what needs to be identical test logic. This also results in the emitted catalog query corresponding more closely to what we print, which should be a benefit to users of ECHO_HIDDEN mode, and perhaps a bit faster too (the old logic sometimes asked for values it would not print, even ones that are fairly expensive to get). Discussion: https://postgr.es/m/21724.1531943735@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/90371a24a5367c357d7b046383dad8ee352b938b - Remove undocumented restriction against duplicate partition key columns. transformPartitionSpec rejected duplicate simple partition columns (e.g., "PARTITION BY RANGE (x,x)") but paid no attention to expression columns, resulting in inconsistent behavior. Worse, cases like "PARTITION BY RANGE (x,(x))") were accepted but would then result in dump/reload failures, since the expression (x) would get simplified to a plain column later. There seems no better reason for this restriction than there was for the one against duplicate included index columns (cf commit 701fd0bbc), so let's just remove it. Back-patch to v10 where this code was added. Report and patch by Yugo Nagata. Discussion: https://postgr.es/m/20180712165939.36b12aff.nagata@sraoss.co.jp https://git.postgresql.org/pg/commitdiff/24097167558bafbc1ea32f67ea5840e5650ad4e7 - Avoid unportable shell syntax in pg_upgrade's test script. Most of test.sh uses traditional backtick syntax for command substitution, but commit da9b580d8 introduced two uses of $(...) syntax, which is not recognized by very old shells. Bring those into line with the rest. Victor Wagner Discussion: https://postgr.es/m/20180720153820.69e9ae6c@fafnir.local.vm https://git.postgresql.org/pg/commitdiff/986127e3db6858c461dae00f23c1fbaf9302d8cb - Be more paranoid about quoting in pg_upgrade's test script. Double-quote $PGDATA in "find" commands introduced by commit da9b580d8, in case that path contains spaces or other special characters. Adjust a few other places so that quoting is done more consistently. None of the others are actual bugs AFAICS, but it's confusing to readers if the same thing is done differently in different places. Noted by Tels. Discussion: https://postgr.es/m/c96303c04c360bbedaa04f90f515745b.squirrel@sm.webmail.pair.com https://git.postgresql.org/pg/commitdiff/0c0908d926cc65c5a10f9507580be3aacce08cf1 - Further portability hacking in pg_upgrade's test script. I blew the dust off a Bourne shell (file date 1996, yea verily) and tried to run test.sh with it. It mostly worked, but I found that the temp-directory creation code introduced by commit be76a6d39 was not compatible, for a couple of reasons: this shell thinks "set -e" should force an exit if a command within backticks fails, and it also thinks code within braces should be executed by a sub-shell, meaning that variable settings don't propagate back up to the parent shell. In view of Victor Wagner's report that Solaris is still using pre-POSIX shells, seems like we oughta make this case work. It's not like the code is any less idiomatic this way; the prior coding technique appeared nowhere else. (There is a remaining bash-ism here, which is that $RANDOM doesn't do what the code hopes in non-bash shells. But the use of $$ elsewhere in that path should be enough to ensure uniqueness and some amount of randomness, so I think it's okay as-is.) Back-patch to all supported branches, as the previous commit was. Discussion: https://postgr.es/m/20180720153820.69e9ae6c@fafnir.local.vm https://git.postgresql.org/pg/commitdiff/04269320aed30d3e37c10ae77775954eae234d45 Alexander Korotkov pushed: - Fix handling of empty uncompressed posting list pages in GIN. PostgreSQL 9.4 introduces posting list compression in GIN. This feature supports online upgrade, so that after pg_upgrade uncompressed posting lists are compressed on-the-fly. Underlying code appears to always expect at least one item on uncompressed posting list page. But there could be completely empty pages, because VACUUM never deletes leftmost and rightmost pages from posting trees. This commit fixes that. Reported-by: Sivasubramanian Ramasubramanian Discussion: https://postgr.es/m/1531867212836.63354%40amazon.com Author: Sivasubramanian Ramasubramanian, Alexander Korotkov Backpatch-through: 9.4 https://git.postgresql.org/pg/commitdiff/309765fa1e317597bfd341fa99dfa97ea5722890 Dean Rasheed pushed: - Guard against rare RAND_bytes() failures in pg_strong_random(). When built using OpenSSL, pg_strong_random() uses RAND_bytes() to generate the random number. On very rare occasions that can fail, if its PRNG has not been seeded with enough data. Additionally, once it does fail, all subsequent calls will also fail until more seed data is added. Since this is required during backend startup, this can result in all new backends failing to start until a postmaster restart. Guard against that by checking the state of OpenSSL's PRNG using RAND_status(), and if necessary (very rarely), seeding it using RAND_poll(). Back-patch to v10, where pg_strong_random() was introduced. Dean Rasheed and Michael Paquier. Discussion: https://postgr.es/m/CAEZATCXMtxbzSAvyKKk5uCRf9pNt4UV%2BF_5v%3DgLfJUuPxU4Ytg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/8f6ce7fb090a674f18b72e89a2b868fe1343fe8f Andres Freund pushed: - Hand code string to integer conversion for performance. As benchmarks show, using libc's string-to-integer conversion is pretty slow. At least part of the reason for that is that strtol[l] have to be more generic than what largely is required inside pg. This patch considerably speeds up int2/int4 input (int8 already was already using hand-rolled code). Most of the existing pg_atoi callers have been converted. But as one requires pg_atoi's custom delimiter functionality, and as it seems likely that there's external pg_atoi users, it seems sensible to just keep pg_atoi around. Author: Andres Freund Reviewed-By: Robert Haas Discussion: https://postgr.es/m/20171208214437.qgn6zdltyq5hmjpk@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/86eaf208ea048936df6be77276a246d3f92e9620 - Deduplicate "invalid input syntax" messages for various types. Previously a lot of the error messages referenced the type in the error message itself. That requires that the message is translated separately for each type. Note that currently a few smallint cases continue to reference the integer, rather than smallint, type. A later patch will create a separate routine for 16bit input. Author: Andres Freund Discussion: https://postgr.es/m/20180707200158.wpqkd7rjr4jxq5g7@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/3522d0eaba5a976f09a48810dd25dff6ab3565df == Pending Patches == Andrey Klychkov sent in a patch to add CONCURRENTLY to ALTER INDEX ... RENAME. Andrey Borodin and Heikki Linnakangas traded patches to implement GiST VACUUM. David Fetter sent in six revisions of a patch to make transform_null_equals into an enum with options to warn and error out. Edmund Horner sent in another revision of a patch to add tab completion for SELECT to psql. Nikita Glukhov sent in another revision of a patch to implement kNN for SP-GiST. Daniel Gustafsson sent in a patch to add a log_costs GUC to auto_explain. Peter Geoghegan sent in another revision of a patch to make all nbtree index tuples have unique keys. Kyotaro HORIGUCHI sent in another revision of a patch to stop WAL logging under some unsafe conditions. Ashutosh Bapat sent in another revision of a patch to improve the partition-matching algorithm for partition-wise JOINs. David Rowley and Amit Langote traded patches to fix run-time partition pruning for UNION ALL parents. Michaël Paquier sent in a patch to have TAP set a marker file to show it's running. Michaël Paquier sent in another revision of a patch to fail hard when facing corrupted two-phase state files at recovery. Amit Langote sent in another revision of a patch to speed up INSERTs and UPDATEs to partitioned tables. Fabien COELHO sent in two more revisions of a patch to add a progress report to pgbench. Heikki Linnakangas sent in a patch to ensure that pgbench doesn't finish too early. Thomas Munro sent in two more revisions of a patch to add a WL_EXIT_ON_PM_DEATH pseudo-event. Tom Lane sent in a patch to fix psql's \d for indexes with INCLUDE. Etsuro Fujita sent in another revision of a patch to redesign partitionwise-join child tlist handling. Marco van Eck sent in a patch to add a PGPASSCOMMAND whose purpose is to make it possible to have an alternative to storing .pgpass unencrypted on the filesystem. Jerry Jelinek sent in another revision of a patch to add an option to disable WAL recycling. Fabien COELHO sent in a patch to pgbench which moves state changes from threadRun to doCustom and records all stats. Fabien COELHO sent in another revision of a patch to fix some cases in pgbench's overflow handling. Amit Langote sent in two revisions of a patch to fix and document the locking in CREATE COLLATION. Amit Langote sent in another revision of a patch to add assorted partition reporting functions. Pavel Stěhule sent in another revision of a patch to add extra checks to PL/pgsql. Anthony Bykov sent in a patch to add a Yahoo! Cloud Serving Benchmark setting to pgbench. Kyotaro HORIGUCHI sent in two revisions of a patch to fix the calculation base of WAL recycling. Masahiko Sawada sent in a patch to report remaining xlogsegs. Andrei Yahorau sent in a patch to add TCP_USER_TIMEOUT support for libpq/psqlodbc. Yugo Nagata sent in a patch to add a delay in starting up on Windows which averts a hang on startup. David Rowley sent in another revision of a patch to allow multi-inserts during COPY into a partitioned table. Álvaro Herrera sent in a patch to fix a segfault in logical replication. Thomas Munro sent in another revision of a patch to use pread() and pwrite() instead of lseek() + read()/write(). Dmitry Dolgov sent in another revision of a patch to implement generic type subscripting. Heikki Linnakangas sent in a patch to use _exit rather than exit in quickdie. Heikki Linnakangas sent in a patch to remove support for tls-unique channel binding. Sergei Kornilov sent in a patch to indicate anti-wraparound autovacuum in log_autovacuum_min_duration. Brad DeJong sent in a patch to fix some grammar in src/backend/access/heap/README.tuplock. David Fetter sent in a patch to remove psql's -W option. Andrei Korigodski sent in three revisions of a patch to pgbench to improve --help and --version parsing. Tomáš Vondra sent in a patch to add a function estimate_largest_group to improve cost_sort().
pgsql-announce by date: