== PostgreSQL Weekly News - October 27, 2019 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - October 27, 2019 == |
Date | |
Msg-id | 20191027181747.GA3136@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - October 27, 2019 == pgDay Israel 2020 will take place on March 19, 2020 in Tel Aviv. The CfP is open through January 15, 2020. http://pgday.org.il/ == PostgreSQL Product News == PostGIS 3.0.0, the industry standard geographic information system package for PostgreSQL, released. https://postgis.net/2019/10/20/postgis-3.0.0/ pgMustard 2.0, a user interface for 'explain analyze' which provides performance tips, released. https://www.pgmustard.com/ psycopg2 2.8.4, a Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2019/10/20/psycopg-284-released/ pg_checksums 1.0, a utility to verify, activate or deactivate data checksums in PostgreSQL instances, released. https://github.com/credativ/pg_checksums == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2019-10/ == PostgreSQL Local == 2Q PGConf 2019 will be held December 4 & 5 in Chicago. https://www.2qpgconf.com/ PGDay Down Under 2019 will be held on November 15, 2019 in Sydney, Australia. https://pgdu.org/ The CfP for FOSDEM PGDay is open through November 18th, 2019 at 24:00 CET. https://2020.fosdempgday.org/ The CfP for FOSDEM is open through November 8, 2019. https://fosdem.org/2020/news/2019-08-13-call-for-participation/ pgDay Paris 2020 will be held in Paris, France on March 26, 2020 at Espace Saint-Martin. http://2020.pgday.paris/ Nordic PGDay 2020 will be held in Helsinki, Finland at the Hilton Helsinki Strand Hotel on March 24, 2020. The CfP is open through December 31, 2019 at https://2020.nordicpgday.org/cfp/ PGConf India 2020 will be on February 26-28, 2020 in Bengaluru, Karnataka. The CfP is open until November 15, 2019. http://pgconf.in/ PostgreSQL@SCaLE is a two day, two track event which takes place on March 5-6, 2020, at Pasadena Convention Center, as part of SCaLE 18X. The CfP is open through November 30, 2019. https://www.socallinuxexpo.org/scale/18x/postgresscale The German-speaking PostgreSQL Conference 2020 will take place on May 15, 2019 in Stuttgart. == 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 == Michaël Paquier pushed: - Fix parsing of integer values for connection parameters in libpq. Commit e7a2217 has introduced stricter checks for integer values in connection parameters for libpq. However this failed to correctly check after trailing whitespaces, while leading whitespaces were discarded per the use of strtol(3). This fixes and refactors the parsing logic to handle both cases consistently. Note that trying to restrict the use of trailing whitespaces can easily break connection strings like in ECPG regression tests (these have allowed me to catch the parsing bug with connect_timeout). Author: Michael Paquier Reviewed-by: Lars Kanis Discussion: https://postgr.es/m/a9b4cbd7-4ecb-06b2-ebd7-1739bbff3217@greiz-reinsdorf.de Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/4f4061b2dde178d2ab79d1ee3b1ae3c62c117926 - Fix error reporting of connect_timeout in libpq for value parsing. The logic was correctly detecting a parsing failure, but the parsing error did not get reported back to the client properly. Reported-by: Ed Morley Author: Lars Kanis Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/a9b4cbd7-4ecb-06b2-ebd7-1739bbff3217@greiz-reinsdorf.de Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/ba19a6b73c5bd771d8864171ede03503a9ff564e - Clean up properly error_context_stack in autovacuum worker on exception. Any callback set would have no meaning in the context of an exception. As an autovacuum worker exits quickly in this context, this could be only an issue within EmitErrorReport(), where the elog hook is for example called. That's unlikely to going to be a problem, but let's be clean and consistent with other code paths handling exceptions. This is present since 2909419, which introduced autovacuum. Author: Ashwin Agrawal Reviewed-by: Tom Lane, Michael Paquier Discussion: https://postgr.es/m/CALfoeisM+_+dgmAdAOHAu0k-ZpEHHqSSG=GRf3pKJGm8OqWX0w@mail.gmail.com Backpatch-through: 9.4 https://git.postgresql.org/pg/commitdiff/e3db3f829f605edc0675e5d308de97f444b53d4b - Fix thinkos from 4f4061b for libpq integer parsing. A check was redundant. While on it, add an assertion to make sure that the parsing routine is never called with a NULL input. All the code paths currently calling the parsing routine are careful with NULL inputs already, but future callers may forget that. Reported-by: Peter Eisentraut, Lars Kanis Discussion: https://postgr.es/m/ec64956b-4597-56b6-c3db-457d15250fe4@2ndquadrant.com Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/57379cd5ac56e575630a5fee5777a1035d0a764a - Remove last traces of --adduser/--no-adduser in createuser. 8ae0d47 marked those options as obsolete back in 2005, with the options removed from the documentation. This removes the last references to both options in the code which were kept around for compatibility purposes with past commands. Author: Alexander Lakhin Discussion: https://postgr.es/m/5da284a2-62d9-e338-88d1-26ee5009d93e@gmail.com https://git.postgresql.org/pg/commitdiff/4fa5edcd1a45cb11bc52b612e12bb29ab39cb895 - Acquire properly session-level lock on new index in REINDEX CONCURRENTLY. In the first transaction run for REINDEX CONCURRENTLY, a thinko in the existing logic caused two session locks to be taken on the old index, causing the session lock on the newly-created index to be missed. This made possible concurrent DDL commands (like ALTER INDEX) on the new index while REINDEX CONCURRENTLY was processing from the point where the first internal transaction committed. This issue has been discovered while digging into another bug. Author: Michael Paquier Discussion: https://postgr.es/m/20191021074323.GB1869@paquier.xyz Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/5d3500da72611018f2280d6a31e58ccdb4b16152 - Handle interrupts within a transaction context in REINDEX CONCURRENTLY. Phases 2 (building the new index) and 3 (validating the new index) checked for interrupts outside a transaction context, having as consequence to not release session-level locks taken on the parent relation and the old and new indexes processed. This could for example be triggered with statement_timeout and a bad timing, and would issue confusing error messages when shutting down the session still holding the locks (note that an assertion failure would be triggered first), on top of more issues with concurrent sessions trying to take a lock that would interfere with the SHARE UPDATE EXCLUSIVE locks hold here. This moves all the interruption checks inside a transaction context. Note that I have manually tested all interruptions to make sure that invalid indexes can be cleaned up properly. Partition indexes still have issues on their own with some missing dependency handling, which will be dealt with in a follow-up patch. Reported-by: Justin Pryzby Author: Michael Paquier Discussion: https://postgr.es/m/20191013025145.GC4475@telsasoft.com Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/8270a0d9a948944871dd35d9ff0d5c0d8d78623f - Fix initialization of fake LSN for unlogged relations. 9155580 has changed the value of the first fake LSN for unlogged relations from 1 to FirstNormalUnloggedLSN (aka 1000), GiST requiring a non-zero LSN on some pages to allow an interlocking logic to work, but its value was still initialized to 1 at the beginning of recovery or after running pg_resetwal. This fixes the initialization for both code paths. Author: Takayuki Tsunakawa Reviewed-by: Dilip Kumar, Kyotaro Horiguchi, Michael Paquier Discussion: https://postgr.es/m/OSBPR01MB2503CE851940C17DE44AE3D9FE6F0@OSBPR01MB2503.jpnprd01.prod.outlook.com Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/51970fa8df9b32b5501ca1cb9d5b805894c1e064 Amit Kapila pushed: - Fix memory leak introduced in commit 7df159a620. We memorize all internal and empty leaf pages in the 1st vacuum stage for gist indexes. They are used in the 2nd stage, to delete all the empty pages. There was a memory context page_set_context for this purpose, but we never used it. Reported-by: Amit Kapila Author: Dilip Kumar Reviewed-by: Amit Kapila Backpatch-through: 12, where it got introduced Discussion: https://postgr.es/m/CAA4eK1LGr+MN0xHZpJ2dfS8QNQ1a_aROKowZB+MPNep8FVtwAA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/70a6c37d524cc2c29712424785be3d9e2e62f484 - Make the order of the header file includes consistent in contrib modules. The basic rule we follow here is to always first include 'postgres.h' or 'postgres_fe.h' whichever is applicable, then system header includes and then Postgres header includes. In this, we also follow that all the Postgres header includes are in order based on their ASCII value. We generally follow these rules, but the code has deviated in many places. This commit makes it consistent just for contrib modules. The later commits will enforce similar rules in other parts of code. Author: Vignesh C Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CALDaNm2Sznv8RR6Ex-iJO6xAdsxgWhCoETkaYX=+9DW3q0QCfA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/7e735035f208418f31b91846ae3e8a381edb3af3 - Make the order of the header file includes consistent in non-backend modules. Similar to commit 7e735035f2, this commit makes the order of header file inclusion consistent for non-backend modules. In passing, fix the case where we were using angle brackets (<>) for the local module includes instead of quotes (""). Author: Vignesh C Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CALDaNm2Sznv8RR6Ex-iJO6xAdsxgWhCoETkaYX=+9DW3q0QCfA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/dddf4cdc3300073ec04b2c3e482a4c1fa4b8191b - Revert part of commit dddf4cdc3. The commit dddf4cdc3 tries to ensure that the Postgres header file inclusions are in order based on their ASCII value. However, in one of the case there is a header file dependency due to which we can't maintain such order. Author: Amit Kapila Discussion: https://postgr.es/m/E1iNpHW-000855-1u@gemulon.postgresql.org https://git.postgresql.org/pg/commitdiff/c114229ca2519620703a4be4e38181290cad8c0a Etsuro Fujita pushed: - Update obsolete comment. Commit b52b7dc25, which moved code creating PartitionBoundInfo in RelationBuildPartitionDesc() in partcache.c (relocated to partdesc.c afterwards) to partbounds.c, should have updated this, but didn't. Author: Etsuro Fujita Reviewed-by: Alvaro Herrera Backpatch-through: 12 Discussion: https://postgr.es/m/CAPmGK16Uxr%3DPatiGyaRwiQVLB7Y-GqbkK3AxRLVYzU0Czv%3DsEw%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/80831bcdbe80a6ca7f22105e32c2cbb54e125c4c Tom Lane pushed: - Select CFLAGS_SL at configure time, not in platform-specific Makefiles. Move the platform-dependent logic that sets CFLAGS_SL from src/makefiles/Makefile.foo to src/template/foo, so that the value is determined at configure time and thus is available while running configure's tests. On a couple of platforms this might save a few microseconds of build time by eliminating a test that make otherwise has to do over and over. Otherwise it's pretty much a wash for build purposes; in particular, this makes no difference to anyone who might be overriding CFLAGS_SL via a make option. This patch in itself does nothing with the value and thus should not change any behavior, though you'll probably have to re-run configure to get a correctly updated Makefile.global. We'll use the new configure variable in a follow-on patch. Per gripe from Kyotaro Horiguchi. Back-patch to all supported branches, because the follow-on patch is a portability bug fix. Discussion: https://postgr.es/m/20191010.144533.263180400.horikyota.ntt@gmail.com https://git.postgresql.org/pg/commitdiff/44273ce4f664a1bb34ef8ea9359237344cd6aaec - Use CFLAGS_SL while probing linkability of libperl. On recent Red Hat platforms (at least RHEL 8 and Fedora 30, maybe older), configure's probe for libperl failed if the user forces CFLAGS to be -O0. This is because some code in perl's inline.h fails to be optimized away at -O0, and said code doesn't work if compiled without -fPIC. To fix, add CFLAGS_SL to the compile flags used during the libperl probe. This is a better simulation of the way that plperl is built, anyway, so it might forestall other issues in future. Per gripe from Kyotaro Horiguchi. Back-patch to all supported branches, since people might want to build older branches on these platforms. Discussion: https://postgr.es/m/20191010.144533.263180400.horikyota.ntt@gmail.com https://git.postgresql.org/pg/commitdiff/d995fd667f6d22307864afe18ae91950b23b5b53 - Deal with yet another issue related to "Norwegian (Bokmål)" locale. It emerges that recent versions of Windows (at least 2016 Standard) spell this locale name as "Norwegian Bokmål_Norway.1252", defeating our mapping code that translates "Norwegian (Bokmål)_Norway" to something that's all-ASCII (cf commits db29620d4 and aa1d2fc5e). Add another mapping entry to handle this spelling. Per bug #16068 from Robert Ford. Like the previous patches, back-patch to all supported branches. Discussion: https://postgr.es/m/16068-4cb6eeaa7eb46d93@postgresql.org https://git.postgresql.org/pg/commitdiff/db477b691dc4e80bc8379d976ef53a0aa0afe4c0 - Reset statement_timeout between queries of a multi-query string. Historically, we started the timer (if StatementTimeout > 0) at the beginning of a simple-Query message and usually let it run until the end, so that the timeout limit applied to the entire query string, and intra-string changes of the statement_timeout GUC had no effect. But, confusingly, a COMMIT within the string would reset the state and allow a fresh timeout cycle to start with the current setting. Commit f8e5f156b changed the behavior of statement_timeout for extended query protocol, and as an apparently-unintended side effect, a change in the statement_timeout GUC during a multi-statement simple-Query message might have an effect immediately --- but only if it was going from "disabled" to "enabled". This is all pretty confusing, not to mention completely undocumented. Let's change things so that the timeout is always reset between queries of a multi-query string, whether they're transaction control commands or not. Thus the active timeout setting is applied to each query in the string, separately. This costs a few more cycles if statement_timeout is active, but it provides much more intuitive behavior, especially if one changes statement_timeout in one of the queries of the string. Also, add something to the documentation to explain all this. Per bug #16035 from Raj Mohite. Although this is a bug fix, I'm hesitant to back-patch it; conceivably somebody has worked out the old behavior and is depending on it. (But note that this change should make the behavior less restrictive in most cases, since the timeout will now be applied to shorter segments of code.) Discussion: https://postgr.es/m/16035-456e6e69ebfd4374@postgresql.org https://git.postgresql.org/pg/commitdiff/2b2bacdca0100f50ba4f79cda53514b6e5114e8f - Improve management of statement timeouts. Commit f8e5f156b added private state in postgres.c to track whether a statement timeout is running. This seems like bad design to me; timeout.c's private state should be the single source of truth about that. We already fixed one bug associated with failure to keep those states in sync (cf. be42015fc), and I've got little faith that we won't find more in future. So get rid of postgres.c's local variable by exposing a way to ask timeout.c whether a timeout is running. (Obviously, such an inquiry is subject to race conditions, but it seems fine for the purpose at hand.) To make get_timeout_active() as cheap as possible, add a flag in the per-timeout struct showing whether that timeout is active. This allows some small savings elsewhere in timeout.c, mainly elimination of unnecessary searches of the active_timeouts array. While at it, fix enable_statement_timeout to not call disable_timeout when statement_timeout is 0 and the timeout is not running. This avoids a useless deschedule-and-reschedule-timeouts cycle, which represents a significant savings (at least one kernel call) when there is any other active timeout. Right now, there usually isn't, but there are proposals around to change that. Discussion: https://postgr.es/m/16035-456e6e69ebfd4374@postgresql.org https://git.postgresql.org/pg/commitdiff/22f6f2c1ccb56e0d6a159d4562418587e4b10e01 - Get rid of useless/dangerous redefinition of bool in ECPG. pgtypeslib_extern.h contained fallback definitions of "bool", "FALSE", and "TRUE". The latter two are just plain unused, and have been for awhile. The former came into play only if there wasn't a macro definition of "bool", which is true only if we aren't using <stdbool.h>. However, it then defined bool as "char"; since commit d26a810eb that conflicts with c.h's desire to use "unsigned char". We'd missed seeing any bad effects of that due to accidental header inclusion order choices, but dddf4cdc3 exposed that it was problematic. To fix, let's just get rid of these definitions. They should not be needed because everyplace in Postgres should be relying on c.h to provide a definition for type bool. (Note that despite its name, pgtypeslib_extern.h isn't exposed to any outside code; we don't install it.) This doesn't fully resolve the issue, because ecpglib.h is doing similar things, but that seems to require more thought to fix. Back-patch to v12 where d26a810eb came in, to forestall any unpleasant surprises from future back-patched bug fixes. Discussion: https://postgr.es/m/CAA4eK1LmaKO7Du9M9Lo=kxGU8sB6aL8fa3sF6z6d5yYYVe3BuQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/1408d5d869925c8ea7ca01c2644e8903fbab23de - Revert "Revert part of commit dddf4cdc3.". This reverts commit c114229ca2519620703a4be4e38181290cad8c0a. Commit 1408d5d869925c8ea7ca01c2644e8903fbab23de should make it safe to include these headers in the natural order. https://git.postgresql.org/pg/commitdiff/ee201520707596b058e6bbfab0a5e2006f3834c5 - Avoid failure when selecting a namespace node in XMLTABLE. It appears that libxml2 doesn't bother to set the "children" field of an XML_NAMESPACE_DECL node to null; that field just contains garbage. In v10 and v11, this can result in a crash in XMLTABLE(). The rewrite done in commit 251cf2e27 fixed this, somewhat accidentally, in v12. We're not going to back-patch 251cf2e27, however. The case apparently doesn't have wide use, so rather than risk introducing other problems, just add a safety check to throw an error. Even though no bug manifests in v12/HEAD, add the relevant test case there too, to prevent future regressions. Chapman Flack (per private report) https://git.postgresql.org/pg/commitdiff/592a16321bd760d21220d0b2648bf151065816a5 - Doc: improve documentation of configuration settings that have units. When we added the GUC units feature, we didn't make any great effort to adjust the documentation of individual GUCs; they tended to still say things like "this is the number of milliseconds that ...", even though users might prefer to write some other units, and SHOW might even show the value in other units. Commit 6c9fb69f2 made an effort to improve this situation, but I thought it made things less readable by injecting units information in mid-sentence. It also wasn't very consistent, and did not touch all the GUCs that have units. To improve matters, standardize on the phrasing "If this value is specified without units, it is taken as <units>". Also, try to standardize where this is mentioned, right before the specification of the default. (In a couple of places, doing that would've required more rewriting than seemed justified, so I wasn't 100% consistent about that.) I also tried to use the phrases "amount of time", "amount of memory", etc rather than describing the contents of GUCs in other ways, as those were the majority usage in places that weren't overcommitting to a particular unit. (I left "length of time" alone in a couple of places, though.) I failed to resist the temptation to copy-edit some awkward text, too. Backpatch to v12, like 6c9fb69f2, mainly because v12 hasn't diverged much from HEAD yet. Discussion: https://postgr.es/m/15882.1571942223@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/cfb7559083436b802e7ecc5e3fa235057890265c Alexander Korotkov pushed: - Refactor jsonpath's compareDatetime(). This commit refactors come ridiculous coding in compareDatetime(). Also, it provides correct cross-datatype comparison even when one of values overflows during cast. That eliminates dilemma on whether we should suppress overflow errors during cast. Reported-by: Tom Lane Discussion: https://postgr.es/m/32308.1569455803%40sss.pgh.pa.us Discussion: https://postgr.es/m/a5629d0c-8162-7559-16aa-0c8390d6ba5f%40postgrespro.ru Author: Nikita Glukhov, Alexander Korotkov https://git.postgresql.org/pg/commitdiff/52ad1e659967896ed153185328ffe806d69abcb6 - Refactor timestamp2timestamptz_opt_error(). While casting from timestamp to timestamptz we do timestamp2tm() then tm2timestamp(). This commit eliminates call to tm2timestamp(). Instead, it directly applies timezone offset to the original timestamp value. That makes upcoming datetime overflow handling in jsonpath easier. That should also save us some CPU cycles. Discussion: https://postgr.es/m/CAPpHfdvRPRh_mTGar5WmDeRZ%3DU5dOXHdxspYYD%3D76m3knNGjXA%40mail.gmail.com Author: Alexander Korotkov Reviewed-by: Tom Lane https://git.postgresql.org/pg/commitdiff/a6888fde7f0dbe865559b31ba2ce01ac1150debe Peter Eisentraut pushed: - Fix comment. The last argument of smgrextend() was renamed from isTemp to skipFsync in debcec7dc31a992703911a9953e299c8d730c778, but the comments at two call sites were not updated. https://git.postgresql.org/pg/commitdiff/f86f46d091a6876fbf28e0a4a87ca72b560cf77f - Make command order in test more sensible. Through several updates, the CREATE USER command has been separated from where the user is actually used in the test. https://git.postgresql.org/pg/commitdiff/ad4b7aeb84434c958e2df76fa69b68493a889e4a - Remove libpq-dist.rc. The use of this was removed by 6da56f3f84d430671d5edd8f9336bd744c089e31. Discussion: https://www.postgresql.org/message-id/87d95052-3780-b833-9953-27eab80186cf%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/508e84d79910cdb3b61fc410a245fd46e4fad30f - doc: Use proper em and en dashes. https://git.postgresql.org/pg/commitdiff/cbe63d02d0f7d85ecbae7d8998f5edfe56d50b9d - Remove obsolete information schema tables. Remove SQL_LANGUAGES, which was eliminated in SQL:2008, and SQL_PACKAGES and SQL_SIZING_PROFILES, which were eliminated in SQL:2011. Since they were dropped by the SQL standard, the information in them was no longer updated and therefore no longer useful. This also removes the feature-package association information in sql_feature_packages.txt, but for the time begin we are keeping the information which features are in the Core package (that is, mandatory SQL features). Maybe at some point someone wants to invent a way to store that that does not involve using the "package" mechanism anymore. Discussion https://www.postgresql.org/message-id/flat/91334220-7900-071b-9327-0c6ecd012017%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/2fc2a88e6722df40245d3ae2ec7f8fc1c6bf0596 Bruce Momjian pushed: - pg_upgrade: adjust error output to use new database list format. Commit a524f50d0f added old_11_check_for_sql_identifier_data_type_usage(), but it did not use the clearer database error list format added to the master branch in commit 1634d36157. This commit fixes that. Backpatch-through: master https://git.postgresql.org/pg/commitdiff/0c089d36e2bb07a8ccd575d456265e83b6697d00 - docs: fix wording of REFRESH CONCURRENTLY manual page. Reported-by: Asim / apraveen@pivotal.io Discussion: https://postgr.es/m/157076828181.26165.15231292023740913543@wrigleys.postgresql.org Backpatch-through: 9.4 https://git.postgresql.org/pg/commitdiff/59c2617af35f064e5d3ef39cfe94531f7459f3de Fujii Masao pushed: - Fix typo in xlog.c. Author: Fujii Masao Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CAHGQGwH7dtYvOZZ8c0AG5AJwH5pfiRdKaCptY1_RdHy0HYeRfQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/3b0c59ac1c7d480821ed009b998dd6be7d2d851c Noah Misch pushed: - Update comment about __sync_lock_test_and_set() bug. State the earliest known fixed version, so we can someday judge the workaround to be obsolete. https://git.postgresql.org/pg/commitdiff/e653c714c25bb8bde0b80b3bf3a220704b71a106 - Fix copy-paste defect in comment. Commit a7471bd85c05f849e88d6cfe9da3c795008e8f2e introduced it. https://git.postgresql.org/pg/commitdiff/b804521344fb366215900ac3f01314a1710bc6d8 == Pending Patches == Thomas Munro sent in a patch to adjust the constants used to reserve DSM segment slots, and report the time spent in posix_fallocate() as a wait event. Amit Kapila sent in a patch to move the subscriptions check before CountOtherDBBackends. Peter Eisentraut sent in a patch to remove libpq-dist.rc. Thunder sent in a patch to fix a bug that manifested as standby node can not provide service even it replays all log files. Pavel Stěhule and Amit Kapila traded patches to implement dropdb --force. Vigneshwaran C and Amit Kapila traded patches to reorder header file inclusion. Fabien COELHO sent in three revisions of a patch to pgbench to refactor initialization functions so as to use PQExpBuffer where appropriate to simplify and clarify the code. Dilip Kumar sent in another revision of a patch to fix an infelicity between logical_work_mem and logical streaming of large in-progress transactions. Dilip Kumar sent in another revision of a patch to delete empty pages in gistbulkdelete. Thomas Munro sent in a patch to show parallel leader stats in EXPLAIN output, and improve EXPLAIN of Sort in parallel queries. Andres Freund sent in a WIP patch to to improve expression evaluation. Surafel Temesgen sent in a patch to make system-versioned tables. Amit Langote sent in two revisions of a patch to avoid using StdRdOptions in access methods. Kyotaro HORIGUCHI sent in another revision of a patch to move the callback call from ReadPageInternal to XLogReadRecord, move the page-reader out of XLogReadRecord, remove globals readSegNo, readOff, readLen, and change the policy of XLog read-buffer allocation. Fabien COELHO sent in another revision of a patch to pgbench to extend the initialization phase control. Tom Lane sent in a patch to fix a bug in the equivalence code that manifested as ERROR: could not find pathkey item to sort. Andres Freund sent in a patch to add tests for tuplesort.c, and remove unused code from tuplesort. Victor Spirin sent in two revisions of a patch to fix tab completion in psql on Windows. Dilip Kumar and Masahiko Sawada traded patches to implement block-level parallel vacuum. Andrey Borodin sent in another revision of a patch to use memcpy in pglz decompression. Michaël Paquier sent in a patch to fix a bug that manifested as duplicate entries in pg_depend after REINDEX CONCURRENTLY. Dongming Liu sent in a patch to fix a couple of issues with synchronous replication. Amul Sul sent in a patch to fix some infelicities in a patch to improve the partition-matching algorithm for partition-wise JOINs. Kyotaro HORIGUCHI sent in two more revisions of a patch to fix the WAL-skipping feature. Rafa de la Torre sent in a patch to make it possible to send arbitrary queries through the PostgreSQL FDW. Noriyoshi Shinoda sent in a patch to fix the docs for the missing pg_stat_progress_cluster view phase column value. Peter Eisentraut sent in a patch to remove one use of IDENT_USERNAME_MAX. Vigneshwaran C sent in a patch to function present in #if 0. Quan Zongliang sent in a patch to restore replication settings when modifying a field type.
pgsql-announce by date: