Nouvelles hebdomadaires de PostgreSQL - 19 février 2017
Les nouveautés des produits dérivés
- Ora2PG 18.1, un outil de migration de bases Oracle vers PostgreSQL : http://ora2pg.darold.net/
- psycopg2 2.7 beta2, un connecteur python pour PostgreSQL : http://initd.org/psycopg/docs/news.html#what-s-new-in-psycopg-2-7
Offres d'emplois autour de PostgreSQL en février
- Internationales : http://archives.postgresql.org/pgsql-jobs/2017-02/
- Francophones : http://forums.postgresql.fr/viewforum.php?id=4
PostgreSQL Local
- [ndt: Meetup à Toulouse le 2 mars :https://www.meetup.com/fr-FR/PostgreSQL-User-Group-Toulouse/]
- Le premier pgDay Israel 2017 aura lieu le 2 mars 2017. Les inscriptions sont ouvertes : http://pgday.org.il/
- La PGConf India 2017 aura lieu les 2 & 3 mars 2017 à Bengalore (État du Karnataka en Inde) : http://pgconf.in/
- PostgreSQL@SCaLE aura lieu les 2 & 3 mars 2017 au centre des conventions de Pasadena, comme partie du SCaLE 15X : http://www.socallinuxexpo.org/scale/15x/
- [ndt: Meetup à Nantes le 8 mars :https://www.meetup.com/fr-FR/PostgreSQL-User-Group-Nantes/]
- [ndt: Meetup à Paris le 9 mars :https://www.meetup.com/fr-FR/PostgreSQL-User-Group-Paris/]
- PgConf.Russia 2017 se déroulera du 15 au 17 mars 2017 à Moscou : https://pgconf.ru/en
- Le PGDay Asia 2017 est programmé les 17 et 18 mars à Singapour : http://2017.pgday.asia/
- Le PGDay nordique se tiendra à Stockholm (Suède) au Sheraton Hotel, le 21 mars 2017 : https://2017.nordicpgday.org/
- Le pgDay Paris 2017 aura lieu à Paris (France) le 23 mars 2017 : http://2017.pgday.paris/
- La PGConf US 2017 aura lieu à Jersey City (New Jersey, USA) du 28 au 31 mars : http://www.pgconf.us/2017/
- PGCon 2017 aura lieu à Ottawa du 23 au 26 mai : http://www.pgcon.org/2017/papers.php
- Postgres Vision aura lieu à Boston du 26 au 28 juin 2017. L'appel à conférenciers court jusqu'au 24 février 2017 : écrire à CFP AT PostgresVision DOT com : http://postgresvision.com/
- Le PGDay suisse se tiendra à Rapperwil le 30 juin 2017. L'appel à conférenciers court jusqu'au 14 avril : http://www.pgday.ch/2017/
PostgreSQL dans les média
- Planet PostgreSQL : http://planet.postgresql.org/
- Planet PostgreSQLFr : http://planete.postgresql.fr/
PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA. La version originale se trouve à l'adresse suivante : http://www.postgresql.org/message-id/20170219235135.GA1213@fetter.org
Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org et en espagnol à pwn (a) arpug.com.ar.
Correctifs appliqués
Peter Eisentraut pushed:
- doc: Remove accidental extra table cell. http://git.postgresql.org/pg/commitdiff/ae0e550ce1703621efb3b75f4558df253cef5bca
- Add CREATE COLLATION IF NOT EXISTS clause. The core of the functionality was already implemented when pg_import_system_collations was added. This just exposes it as an option in the SQL command. http://git.postgresql.org/pg/commitdiff/6d16ecc646d21b39092970c591fd0f73b4cfc26b
- doc: Add advice about systemd RemoveIPC. Reviewed-by: Magnus Hagander <magnus@hagander.net> http://git.postgresql.org/pg/commitdiff/fbe7a3fa45f360e73ce141e51005a3e86cd1926c
- Fix typo on comment. http://git.postgresql.org/pg/commitdiff/e7e4cd1ab51b506f9fad9b7b107e315fdb4b8b74
- Remove redundant coverage target. This was probably forgotten to be removed when general recursion support was added. http://git.postgresql.org/pg/commitdiff/638d650dd7200e0eba91abb521284f239f547bbb
- pg_dump: Fix typo in query. This could lead to incorrect dumping of language privileges in some cases, which is probably a rare situation. http://git.postgresql.org/pg/commitdiff/39370e6a0ae6e92a79a50a9531b6a291cb2ee590
- pg_dump: Message style improvements. http://git.postgresql.org/pg/commitdiff/363ac78aee37790a1f932ee3050bdd21085aabfe
- doc: Fix typos. From: Thom Brown <thom@linux.com> http://git.postgresql.org/pg/commitdiff/68f3dbc5525a7e78290f7dee8a74f66d5fa738d6
- Optimize query for information_schema.constraint_column_usage. The way the old query was written prevented some join optimizations because the join conditions were hidden inside a CASE expression. With a large number of constraints, the query became unreasonably slow. The new query performs much better. From: Alexey Bashtanov <bashtanov@imap.cc> Reviewed-by: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> http://git.postgresql.org/pg/commitdiff/e3a58c8835a2cd428b8534dd8df30a7cb96c976b
Robert Haas pushed:
- Remove contrib/tsearch2. This module was intended to ease migrations of applications that used the pre-8.3 version of text search to the in-core version introduced in that release. However, since all pre-8.3 releases of the database have been out of support for more than 5 years at this point, we expect that few people are depending on it at this point. If some people still need it, nothing prevents it from being maintained as a separate extension, outside of core. Discussion: http://postgr.es/m/CA+Tgmob5R8aDHiFRTQsSJbT1oreKg2FOSBrC=2f4tqEH3dOMAg@mail.gmail.com http://git.postgresql.org/pg/commitdiff/7ada2d31f47f1d378ae7d4ee2d044df1bb2b0c6a
- Corrections and improvements to generic parallel query documentation. David Rowley, reviewed by Brad DeJong, Amit Kapila, and me. Discussion: http://postgr.es/m/CAKJS1f81fob-M6RJyTVv3SCasxMuQpj37ReNOJ=tprhwd7hAVg@mail.gmail.com http://git.postgresql.org/pg/commitdiff/0ede57a1a5161012f8f4a55049ef24c987d5b59c
- Don't disallow dropping NOT NULL for a list partition key. Range partitioning doesn't support nulls in the partitioning columns, but list partitioning does. Amit Langote, per a complaint from Amul Sul http://git.postgresql.org/pg/commitdiff/e28b1156122f4d48d6f6f7a7f26381ee7af65a91
- Minor fixes for WAL consistency checking. Michael Paquier, reviewed and slightly revised by me. Discussion: http://postgr.es/m/CAB7nPqRzCQb=vdfHvMtP0HMLBHU6z1aGdo4GJsUP-HP8jx+Pkw@mail.gmail.com http://git.postgresql.org/pg/commitdiff/fb47544d0ca18312bf0b9e53e335217db5c41a08
- Split index xlog headers from other private index headers. The xlog-specific headers need to be included in both frontend code - specifically, pg_waldump - and the backend, but the remainder of the private headers for each index are only needed by the backend. By splitting the xlog stuff out into separate headers, pg_waldump pulls in fewer backend headers, which is a good thing. Patch by me, reviewed by Michael Paquier and Andres Freund, per a complaint from Dilip Kumar. Discussion: http://postgr.es/m/CA+TgmoZ=F=GkxV0YEv-A8tb+AEGy_Qa7GSiJ8deBKFATnzfEug@mail.gmail.com http://git.postgresql.org/pg/commitdiff/8da9a226369e9ceec7cef1ab7a16cdc0adb4d657
- Allow parallel workers to execute subplans. This doesn't do anything to make Param nodes anything other than parallel-restricted, so this only helps with uncorrelated subplans, and it's not necessarily very cheap because each worker will run the subplan separately (just as a Hash Join will build a separate copy of the hash table in each participating process), but it's a first step toward supporting cases that are more likely to help in practice, and is occasionally useful on its own. Amit Kapila, reviewed and tested by Rafia Sabih, Dilip Kumar, and me. Discussion: http://postgr.es/m/CAA4eK1+e8Z45D2n+rnDMDYsVEb5iW7jqaCH_tvPMYau=1Rru9w@mail.gmail.com http://git.postgresql.org/pg/commitdiff/5e6d8d2bbbcace304450b309e79366c0da4063e4
- Fix typo in comment. Higuchi Daisuke http://git.postgresql.org/pg/commitdiff/8569955ee39650a667b9700385e1bc19fbf47069
- btree: Support parallel index scans. This isn't exposed to the optimizer or the executor yet; we'll add support for those things in a separate patch. But this puts the basic mechanism in place: several processes can attach to a parallel btree index scan, and each one will get a subset of the tuples that would have been produced by a non-parallel scan. Each index page becomes the responsibility of a single worker, which then returns all of the TIDs on that page. Rahila Syed, Amit Kapila, Robert Haas, reviewed and tested by Anastasia Lubennikova, Tushar Ahuja, and Haribabu Kommi. http://git.postgresql.org/pg/commitdiff/569174f1be92be93f5366212cc46960d28a5c5cd
- Fix some nonstandard capitalization. Ashutosh Bapat http://git.postgresql.org/pg/commitdiff/e403732ef66d368f0a9a154d8f756f5d28615b8a
- pg_upgrade: Fix problems caused by renaming pg_resetxlog. Commit 85c11324cabaddcfaf3347df78555b30d27c5b5a renamed pg_resetxlog to pg_resetwal, but didn't make pg_upgrade smart enough to cope with the situation. Michael Paquier, per a complaint from Jeff Janes http://git.postgresql.org/pg/commitdiff/b8777611230ac94734ea99004d2a7d4266f9a954
- libpq: Make target_session_attrs=read-write consume empty result. Otherwise, the leftover empty result can cause problems in some situations. Michael Paquier and Ashutosh Bapat, per a report from Higuchi Daisuke http://git.postgresql.org/pg/commitdiff/1de0a4e00eee2a72c0b5b34892092efcec681f81
- Document new libpq connection statuses for target_session_attrs. I didn't realize these would ever be visible to clients, but Michael figured out that it can happen when using asynchronous interfaces such as PQconnectPoll. Michael Paquier http://git.postgresql.org/pg/commitdiff/1330a7d7265577412cae44653a5368172af396c7
- Fix wrong articles in pg_proc descriptions. This technically should involve a catversion bump, but that seems pedantic, so I skipped it. Report and patch by David Christensen. http://git.postgresql.org/pg/commitdiff/5d40286985af3ea60eda3b873ce4ee26f96505f4
- Replace min_parallel_relation_size with two new GUCs. When min_parallel_relation_size was added, the only supported type of parallel scan was a parallel sequential scan, but there are pending patches for parallel index scan, parallel index-only scan, and parallel bitmap heap scan. Those patches introduce two new types of complications: first, what's relevant is not really the total size of the relation but the portion of it that we will scan; and second, index pages and heap pages shouldn't necessarily be treated in exactly the same way. Typically, the number of index pages will be quite small, but that doesn't necessarily mean that a parallel index scan can't pay off. Therefore, we introduce min_parallel_table_scan_size, which works out a degree of parallelism for scans based on the number of table pages that will be scanned (and which is therefore equivalent to min_parallel_relation_size for parallel sequential scans) and also min_parallel_index_scan_size which can be used to work out a degree of parallelism based on the number of index pages that will be scanned. Amit Kapila and Robert Haas Discussion: http://postgr.es/m/CAA4eK1KowGSYYVpd2qPpaPPA5R90r++QwDFbrRECTE9H_HvpOg@mail.gmail.com Discussion: http://postgr.es/m/CAA4eK1+TnM4pXQbvn7OXqam+k_HZqb0ROZUMxOiL6DWJYCyYow@mail.gmail.com http://git.postgresql.org/pg/commitdiff/51ee6f3160d2e1515ed6197594bda67eb99dc2cc
- Add optimizer and executor support for parallel index scans. In combination with 569174f1be92be93f5366212cc46960d28a5c5cd, which taught the btree AM how to perform parallel index scans, this allows parallel index scan plans on btree indexes. This infrastructure should be general enough to support parallel index scans for other index AMs as well, if someone updates them to support parallel scans. Amit Kapila, reviewed and tested by Anastasia Lubennikova, Tushar Ahuja, and Haribabu Kommi, and me. http://git.postgresql.org/pg/commitdiff/5262f7a4fc44f651241d2ff1fa688dd664a34874
- Avoid crash in ALTER TABLE not_partitioned DETACH PARTITION. Amit Langote, reviewed and slightly changed by me. http://git.postgresql.org/pg/commitdiff/59407301a39f47e35098a1c211f154adcd2bdaf9
- Add new function dsa_allocate0. This does the same thing as dsa_allocate, except that the memory is guaranteed to be zero-filled on return. Dilip Kumar, adjusted by me. http://git.postgresql.org/pg/commitdiff/9acb85597f1223ac26a5b19a9345849c43d0ff54
- Make dsa_allocate interface more like MemoryContextAlloc. A new function dsa_allocate_extended now takes flags which indicate that huge allocations should be permitted, that out-of-memory conditions should not throw an error, and/or that the returned memory should be zero-filled, just like MemoryContextAllocateExtended. Commit 9acb85597f1223ac26a5b19a9345849c43d0ff54, which added dsa_allocate0, was broken because it failed to account for the possibility that dsa_allocate() might return InvalidDsaPointer. This fixes that problem along the way. Thomas Munro, with some comment changes by me. Discussion: http://postgr.es/m/CA+Tgmobt7CcF_uQP2UQwWmu4K9qCHehMJP9_9m1urwP8hbOeHQ@mail.gmail.com http://git.postgresql.org/pg/commitdiff/16be2fd100199bdf284becfcee02c5eb20d8a11d
- Add optimizer and executor support for parallel index-only scans. Commit 5262f7a4fc44f651241d2ff1fa688dd664a34874 added similar support for parallel index scans; this extends that work to index-only scans. As with parallel index scans, this requires support from the index AM, so currently parallel index-only scans will only be possible for btree indexes. Rafia Sabih, reviewed and tested by Rahila Syed, Tushar Ahuja, and Amit Kapila Discussion: http://postgr.es/m/CAOGQiiPEAs4C=TBp0XShxBvnWXuzGL2u++Hm1=qnCpd6_Mf8Fw@mail.gmail.com http://git.postgresql.org/pg/commitdiff/0414b26bac09379a4cbf1fbd847d1cee2293c5e4
- Make partitions automatically inherit OIDs. Previously, if the parent was specified as WITH OIDS, each child also had to be explicitly specified as WITH OIDS. Amit Langote, per a report from Simon Riggs. Some additional work on the documentation changes by me. Discussion: http://postgr.es/m/CANP8+jJBpWocfKrbJcaf3iBt9E3U=WPE_NC8YE6rye+YJ1sYnQ@mail.gmail.com http://git.postgresql.org/pg/commitdiff/a3dc8e495b4967fe07086a700d115c89f4f0add0
Fujii Masao pushed:
- Replace references to "xlog" with "wal" in docs. Commit f82ec32ac30ae7e3ec7c84067192535b2ff8ec0e renamed the pg_xlog directory to pg_wal. To make things consistent, we decided to eliminate "xlog" from user-visible docs. http://git.postgresql.org/pg/commitdiff/f10637ebe02074e264b17606c00bc09da986c60d
- Replace reference to "xlog-method" with "wal-method" in error message. Commit 62e8b38 renamed "--xlog-method" option for pg_basebackup to "--wal-method", but forgot to update the error message mentioning that option. http://git.postgresql.org/pg/commitdiff/0dfa89ba2992b1be86ad3a5523a8d26dce31a08c
Tom Lane pushed:
- Remove duplicate code in planner.c. I noticed while hacking on join UNION transforms that planner.c's function get_base_rel_indexes() just duplicates the functionality of get_relids_in_jointree(). It doesn't even have the excuse of being older code :-(. Drop it and use the latter function instead. http://git.postgresql.org/pg/commitdiff/8d396a0a7046438ced8d8ada6ceb7c0756e58351
- Fix YA unwanted behavioral difference with operator_precedence_warning. Jeff Janes noted that the error cursor position shown for some errors would vary when operator_precedence_warning is turned on. We'd prefer that option to have no undocumented effects, so this isn't desirable. To fix, make sure that an AEXPR_PAREN node has the same exprLocation as its child node. (Note: it would be a little cheaper to use @2 here instead of an exprLocation call, but there are cases where that wouldn't produce the identical answer, so don't do it like that.) Back-patch to 9.5 where this feature was introduced. Discussion: https://postgr.es/m/CAMkU=1ykK+VhhcQ4Ky8KBo9FoaUJH3f3rDQB8TkTXi-ZsBRUkQ@mail.gmail.com http://git.postgresql.org/pg/commitdiff/01e0cbc4f687325b825e7953f99f0b16a2bd4e96
- Fix tab completion for "ALTER SYSTEM SET variable ...". It wouldn't complete "TO" after the variable name, which is certainly minor enough. But since we do complete "TO" after "SET variable ...", and since this case used to work pre-9.6, I think this is a bug. Also, fix the query used to collect the variable names; whoever last touched it evidently didn't understand how the pieces are supposed to fit together. It accidentally worked anyway, because readline ignores irrelevant completions, but it was randomly unlike the ones around it, and could be a source of actual bugs if someone copied it as a prototype for another query. http://git.postgresql.org/pg/commitdiff/a5d4e3ff79636a647a69e93ec8b9239703e9556a
- Doc: fix syntax synopsis for INSERT ... ON CONFLICT DO UPDATE. Commit 906bfcad7 adjusted the syntax synopsis for UPDATE, but missed the fact that the INSERT synopsis now contains a duplicate of that. In passing, improve wording and markup about using a table alias to dodge the conflict with use of "excluded" as a special table name. http://git.postgresql.org/pg/commitdiff/2b18743614bb526e5a49a542c9c80c96668639cd
- Make sure that hash join's bulk-tuple-transfer loops are interruptible. The loops in ExecHashJoinNewBatch(), ExecHashIncreaseNumBatches(), and ExecHashRemoveNextSkewBucket() are all capable of iterating over many tuples without ever doing a CHECK_FOR_INTERRUPTS, so that the backend might fail to respond to SIGINT or SIGTERM for an unreasonably long time. Fix that. In the case of ExecHashJoinNewBatch(), it seems useful to put the added CHECK_FOR_INTERRUPTS into ExecHashJoinGetSavedTuple() rather than directly in the loop, because that will also ensure that both principal code paths through ExecHashJoinOuterGetTuple() will do a CHECK_FOR_INTERRUPTS, which seems like a good idea to avoid surprises. Back-patch to all supported branches. Tom Lane and Thomas Munro Discussion: https://postgr.es/m/6044.1487121720@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/f2ec57dee93b29e2e27235ec8cc0683d0bc7d775
- Doc: fix typo in logicaldecoding.sgml. There's no such field as OutputPluginOptions.output_mode; it's actually output_type. Noted by T. Katsumata. Discussion: https://postgr.es/m/20170215072115.6101.29870@wrigleys.postgresql.org http://git.postgresql.org/pg/commitdiff/adb67d67f0f29acb175620ab05be26a146512fa2
- Formatting and docs corrections for logical decoding output plugins. Make the typedefs for output plugins consistent with project style; they were previously not even consistent with each other as to layout or inclusion of parameter names. Make the documentation look the same, and fix errors therein (missing and misdescribed parameters). Back-patch because of the documentation bugs. http://git.postgresql.org/pg/commitdiff/93e6e40574bccf9c6f33c520a4189d3e98e2fd1f
- Doc: remove duplicate index entry. This causes a warning with the old html-docs toolchain, though not with the new. I had originally supposed that we needed both <indexterm> entries to get both a primary index entry and a see-also link; but evidently not, as pointed out by Fabien Coelho. Discussion: https://postgr.es/m/alpine.DEB.2.20.1702161616060.5445@lancre http://git.postgresql.org/pg/commitdiff/3b7673388da3598933ae6c4f9fdc7c79dee05558
- Document usage of COPT environment variable for adjusting configure flags. Also add to the existing rather half-baked description of PROFILE, which does exactly the same thing, but I think people use it differently. Discussion: https://postgr.es/m/16461.1487361849@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/a029d2cf4203f8f240bae4651e62c2358673b9f4
- Suppress "unused variable" warnings with older versions of flex. Versions of flex before 2.5.36 might generate code that results in an "unused variable" warning, when using %option reentrant. Historically we've worked around that by specifying -Wno-error, but that's an unsatisfying solution. The official "fix" for this was just to insert a dummy reference to the variable, so write a small perl script that edits the generated C code similarly. The MSVC side of this is untested, but the buildfarm should soon reveal if I broke that. Discussion: https://postgr.es/m/25456.1487437842@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/65d508fd4decee4d5a54c1e7b93acd25d5e80556
- Adjust PL/Tcl regression test to dodge a possible bug or zone dependency. One case in the PL/Tcl tests is observed to fail on RHEL5 with a Turkish time zone setting. It's not clear if this is an old Tcl bug or something odd about the zone data, but in any case that test is meant to see if the Tcl [clock] command works at all, not what its corner-case behaviors are. Therefore we have no need to test exactly which week a Sunday midnight is considered to fall into. Probe the following Tuesday instead. Discussion: https://postgr.es/m/797.1487517822@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/170511b30da40d73b54d8190711cd6066327b934
- Dept of second thoughts: rename new perl script. It didn't take long at all for me to become irritated that the original choice of name for this script resulted in "warning" showing up in several places in build logs, because I tend to grep for that. Change the script name to avoid that. http://git.postgresql.org/pg/commitdiff/5b3a2ca850718e1fd74f26bc2886e880676b2cd6
- Make src/interfaces/libpq/test clean up after itself. It failed to remove a .o file during "make clean", and it lacked a .gitignore file entirely. http://git.postgresql.org/pg/commitdiff/090f21bbad98001979da8589e9647a1d49bce4ee
Magnus Hagander pushed:
- Fix help message for pg_basebackup -R. The recovery.conf file that's generated is specifically for replication, and not needed (or wanted) for regular backup restore, so indicate that in the message. http://git.postgresql.org/pg/commitdiff/1a16af8b35216bf8967007cabdb7f84206bd067f
Correctifs en attente
Michaël Paquier sent in another revision of a patch to fix an issue where 2PC files could be lost that stemmed from the fact that unlink() is not guaranteed to be durable.
Corey Huinker sent in two more revisions of a patch to add \if and friends to psql.
Ashutosh Sharma sent in a patch to scan has indexes a page at a time, where the previous scans did tuple-at-a-time.
Amit Langote sent in a patch to add relkind checks to certain contrib modules.
Seki Eiji sent in two revisions of a patch to add a GetOldestXmin option which ignores arbitrary vacuum flags.
Thomas Munro sent in another revision of a patch to implement [[Parallel] Shared] Hash.
Amit Khandekar sent in a patch to enable UPDATEs on partitioned tables that would cause a tuple to move from one partition to another.
Vaishnavi Prabakaran and Aya Iwata traded patches to add batch/pipelining support for libpq.
Amit Kapila sent in three more revisions of a patch to add WAL support for hash indexes.
Alexander Korotkov sent in another revision of a patch to cacheline-align PGXACT.
Kyotaro HORIGUCHI and Peter Eisentraut traded patches to make it possible for logical encoding to do the right thing when the encodings of the origin and replica don't match.
Pavel Stěhule sent in another revision of a patch to make it possible to set a template database for pg_regress.
Dilip Kumar sent in three more revisions of a patch to implement parallel bitmap heap scan.
Michaël Paquier sent in a patch to fix some issues with the WAL consistency check facility.
Amit Langote and Ashutosh Bapat traded patches to improve the documentation for partitioning.
Erik Rijkers sent in a patch to fix the docs for CREATE SUBSCRIPTION.
Kyotaro HORIGUCHI sent in another revision of a patch to refactor tab completion in psql.
Dilip Kumar sent in another revision of a patch to implement parallel merge join.
Tom Lane sent in another revision of a patch to improve OR conditions on joined columns.
Haribabu Kommi sent in another revision of a patch to add a pg_stat_wal_write statistics view.
Masahiko Sawada sent in another revision of a patch to implement transactions involving multiple postgres foreign servers.
Jeff Janes and Neha Khatri traded patches to fix an infelicity between bytea_output and make installcheck.
Michaël Paquier sent in another revision of a patch to fix an issue in PQsendQuery where an error occurs when target_session_attrs is set to read-write.
Masahiko Sawada sent in two more revisions of a patch to fix an infelicity between DROP SUBSCRIPTION and ROLLBACK.
Robert Haas and Amit Kapila traded patches to implement parallel index scans.
Thomas Munro sent in two more revisions of a patch to help measure replay lag.
Kuntal Ghosh sent in a patch to add infrastructure required to expose non-backend processes in pg_stat_activity, use same to expose stats for auxiliary processes in pg_stat_get_activity, expose stats for autovacuum launcher and bgworker, and add a proc_type column in pg_stat_get_activity.
Peter Eisentraut sent in a patch to add a max_worker_processes_per_user setting.
Peter Eisentraut sent in a patch to add errcontext to background worker registration, and hange failures in RegisterBackgroundWorker() to hard errors.
David Christensen sent in a patch to fix some DESCR() grammar mistakes introduced by the xlog -> wal changes.
Anastasia Lubennikova sent in another revision of a patch to add an IF NOT EXISTS option for CREATE SERVER and CREATE USER MAPPING statements.
Pavel Stěhule sent in another revision of a patch to implement xmltable().
Thomas Munro sent in another revision of a patch to make it possible to run parallel queries in SERIALIZABLE isolation mode.
Peter Eisentraut sent in another revision of a patch to implement ICU integration.
Haribabu Kommi sent in a patch to allow parallel writers by separating concerns so that the backend does the write operations, while the workers produce the results.
Masahiko Sawada sent in another revision of a patch to add a GUC for cleanup indexes threshold.
David Christensen sent in a patch to teach Catalog.pm how many attributes there should be per DATA() line.
Heikki Linnakangas sent in another revision of a patch to implement SCRAM auth.
Karl O. Pinc and Gilles Darold traded patches to implement pg_current_logfile().
Anastasia Lubennikova sent in another revision of a patch to implement covering and unique indexes.
Amit Kapila sent in two revisions of a patch to ensure that ON CONFLICT DO NOTHING work with partitioned tables.
Rafia Sabih sent in three more revisions of a patch to implement parallel index-only scan.
Tom Lane sent in two revisions of a patch to avoiding OOM in a hash join with many duplicate inner keys.
Rushabh Lathia sent in two more revisions of a patch to implement gather merge.
Rafia Sabih sent in another revision of a patch to allow query string to workers.
Surafel Temsgen sent in another revision of a patch to implement CORRESPONDING.
David Christensen sent in two revisions of a patch to add pg_disable_checksums() and supporting infrastructure.
KaiGai Kohei sent in another revision of a patch to implement a ParallelFinish-hook for FDW/CSP.
Amit Langote sent in a patch to fix the fact that pg_dump would emit ALTER TABLE ONLY for partitioned tables.
Mithun Cy sent in a PoC patch to use a better way to expand hash indexes.
Peter Eisentraut sent in a patch to implement DCL for logical replication.
Amit Khandekar sent in another revision of a patch to implement parallel append.
Michaël Paquier sent in a patch to implement SASLprep aka NFKC for SCRAM authentication.
Tom Lane sent in a patch to add an InterTimestamp struct to fix an issue with floating point timestamps in logical replication.
Alexander Korotkov sent in another revision of a patch to implement incremental sort.
Jim Nasby sent in a patch to deal with the fact that pg_get_object_address() doesn't support composites.
Robert Haas sent in a patch to fix an instability in the select_parallel regression test by ensuring that workers get forgotten faster.
Robins Tharakan sent in a patch to add a --no-pgauthid to pg_dumpall, which will make it at least not fail immediately on Amazon RDS Postgres and similar systems.
Erik Rijkers sent in a patch to fix some comments in origin.c and snapbuild.c
Neha Khatri sent in a patch to fix a typo in varlena.c.