Nouvelles hebdomadaires de PostgreSQL - 09 juillet 2017
Offres d'emplois autour de PostgreSQL en juillet
- Internationales : http://archives.postgresql.org/pgsql-jobs/2017-07/
- Francophones : http://forums.postgresql.fr/viewforum.php?id=4
PostgreSQL Local
- PGBR2017 (La PgConf brésilienne) aura lieu à Porto Alegre (État du Rio Grande do Sul) du 14 au 16 septembre 2017 : https://pgbr.postgresql.org.br/2017/
- Le PostgresOpen aura lieu à San Francisco du 6 au 8 septembre : https://2017.postgresopen.org/
- Le PGDay UK 2017 aura lieu à Londres le 4 juillet 2017 : http://www.pgconf.uk
- La PGConf.Brazil 2017 OnLine Edition sera en direct depuis le Brésil du 10 au 14 juillet 2017 http://pgconf.com.br
- PGConf Local : Philly aura lieu les 13 & 14 juillet 2017. Les inscriptions sont ouvertes : https://www.pgconf.us/conferences/Philly2017
- Le PGDay Austin 2017 aura lieu le samedi 26 août : https://pgdayaustin2017.postgresql.us
- PGConf Local : Seattle se tiendra les 11 & 12 août 2017 : https://www.pgconf.us/#Seattle2017
- PGDay.IT 2017 aura lieu à Milan (Italie) le 13 octobre. L'appel à conférenciers court jusqu'au 9 juillet : http://2017.pgday.it/en/blog/call-for-papers http://pgday.it
- La PostgreSQL Conference Europe 2017 aura lieu du 24 au 27 octobre 2017 au Warsaw Marriott Hotel, à Varsovie (Pologne) : https://2017.pgconf.eu/
- La PGConf.ASIA 2017 aura lieu à Akihabara (Tokyo, Japon) du 4 au 6 décembre 2017. L'appel à conférenciers court jusqu'au 31 juillet 2017. Envoyez vos candidatures à pgconf-asia-2017-submission AT pgconf DOT asia : http://www.pgconf.asia/EN/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/20170709222352.GA7911@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
Heikki Linnakangas pushed:
- Forbid gen_random_uuid() with --disable-strong-random. Previously, gen_random_uuid() would fall back to a weak random number generator, unlike gen_random_bytes() which would just fail. And this was not made very clear in the docs. For consistency, also make gen_random_uuid() fail outright, if compiled with --disable-strong-random. Re-word the error message you get with --disable-strong-random. It is also used by pgp functions that require random salts, and now also gen_random_uuid(). Reported by Radek Slupik. Discussion: https://www.postgresql.org/message-id/20170101232054.10135.50528@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/bf723a274cbb00c7fba66c66312a77940af13d79
- Treat clean shutdown of an SSL connection same as the non-SSL case. If the client closes an SSL connection, treat it the same as EOF on a non-SSL connection. In particular, don't write a message in the log about that. Michael Paquier. Discussion: https://www.postgresql.org/message-id/CAB7nPqSfyVV42Q2acFo%3DvrvF2gxoZAMJLAPq3S3KkjhZAYi7aw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/b93827c745f346a765e7e59584127e07a37c78da
Magnus Hagander pushed:
- Don't mention SSL methods that aren't reachable in docs. Author: Michael Paquier <michael.paquier@gmail.com> https://git.postgresql.org/pg/commitdiff/42794d6749f24636efbb198db17c30c63df10900
- Fix out of date comment. Author: Masahiko Sawada <sawada.mshk@gmail.com> https://git.postgresql.org/pg/commitdiff/4808d69955f5115686633cd3cc78b9957122e1ad
Peter Eisentraut pushed:
- Improve subscription locking. This avoids "tuple concurrently updated" errors when a ALTER or DROP SUBSCRIPTION writes to pg_subscription_rel at the same time as a worker. Author: Petr Jelinek <petr.jelinek@2ndquadrant.com> https://git.postgresql.org/pg/commitdiff/cb9079cd51a2df677dc182aec72d88383b9c2a79
- Document how logical replication deals with statement triggers. Reported-by: Константин Евтеев <konst583@gmail.com> Bug: #14699 https://git.postgresql.org/pg/commitdiff/012d83f57aff973a73214262f3d87105786e3500
- psql documentation fixes. Update the documentation for \pset to mention columns|linestyle|pager_min_lines. Add various mentions of \pset command equivalences that were previously inconsistent. Author: Дилян Палаузов <dpa-postgres@aegee.org> https://git.postgresql.org/pg/commitdiff/5191e357cf22e200a9baaf97bbe8a07ee2537537
- Fix output of char node fields. WRITE_CHAR_FIELD() didn't do any escaping, so that for example a zero byte would cause the whole output string to be truncated. To fix, pass the char through outToken(), so it is escaped like a string. Adjust the reading side to handle this. https://git.postgresql.org/pg/commitdiff/d80e73f2293429cf8a0a13c243852379ec2e37e2
- pg_ctl: Make failure to complete operation a nonzero exit. If an operation being waited for does not complete within the timeout, then exit with a nonzero exit status. This was previously handled inconsistently. https://git.postgresql.org/pg/commitdiff/1bac5f552a25aca3aa2ef1d404f7cdf7788c34d8
- Remove unnecessary pg_is_in_recovery calls in tests. Since pg_ctl promote already waits for recovery to end, these calls are obsolete. https://git.postgresql.org/pg/commitdiff/6deb52b202e0f673b583b03ad141ccad6f8e7fba
Tom Lane pushed:
- Restore linking libpq into pg_ctl on Mingw builds. Commit 1ae853654 missed this. Per Andrew Dunstan. https://git.postgresql.org/pg/commitdiff/ff68e909acd924b532e58c7699e93a1aff71654a
- Fix another race-condition-ish issue in recovery/t/001_stream_rep.pl. Buildfarm members hornet and sungazer have shown multiple instances of "Failed test 'xmin of non-cascaded slot with hs feedback has changed'". The reason seems to be that the test is checking the current xmin of the master server's replication slot against a past xmin of the first slave server's replication slot. Even though the latter slot is downstream of the former, it's possible for its reported xmin to be ahead of the former's reported xmin, because those numbers are updated whenever the respective downstream walreceiver feels like it (see logic in WalReceiverMain). Instrumenting this test shows that indeed the slave slot's xmin does often advance before the master's does, especially if an autovacuum transaction manages to occur during the relevant window. If we happen to capture such an advanced xmin as $xmin, then the subsequent wait_slot_xmins call can fall through before the master's xmin has advanced at all, and then if it advances before the get_slot_xmins call, we can get the observed failure. Yeah, that's a bit of a long chain of deduction, but it's hard to explain any other way how the test can get past an "xmin <> '$xmin'" check only to have the next query find that xmin does equal $xmin. Fix by keeping separate images of the master and slave slots' xmins and testing their has-xmin-advanced conditions independently. https://git.postgresql.org/pg/commitdiff/ec86af917551f52246848dd148885df034273f3d
- Avoid unreferenced-function warning on low-functionality platforms. On platforms lacking both locale_t and ICU, collationcmds.c failed to make any use of its static function is_all_ascii(), thus probably drawing a compiler warning. Oversight in my commit ddb5fdc06. Per buildfarm member gaur. https://git.postgresql.org/pg/commitdiff/ec4073f64130b40fabaa1b38ad402babda3a48eb
- Doc: fix backwards description of visibility map's all-frozen data. Thinko in commit a892234f8. Vik Fearing Discussion: https://postgr.es/m/b6aaa23d-e26f-6404-a30d-e89431492d5d@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/485c515d0176d3210b5405ef23be8ed32cf5c93a
- Doc: update v10 release notes through today. https://git.postgresql.org/pg/commitdiff/fad7873c8c9fae04accbdd3b7c226f451e9ab3b9
Dean Rasheed pushed:
- Simplify the logic checking new range partition bounds. The previous logic, whilst not actually wrong, was overly complex and involved doing two binary searches, where only one was really necessary. This simplifies that logic and improves the comments. One visible change is that if the new partition overlaps multiple existing partitions, the error message now always reports the overlap with the first existing partition (the one with the lowest bounds). The old code would sometimes report the clash with the first partition and sometimes with the last one. Original patch idea from Amit Langote, substantially rewritten by me. Discussion: https://postgr.es/m/CAAJ_b947mowpLdxL3jo3YLKngRjrq9+Ej4ymduQTfYR+8=YAYQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/c03911d9454a0cf5d88910ad46b433ab342c39e0
- Clarify the contract of partition_rbound_cmp(). partition_rbound_cmp() is intended to compare range partition bounds in a way such that if all the bound values are equal but one is an upper bound and one is a lower bound, the upper bound is treated as smaller than the lower bound. This particular ordering is required by RelationBuildPartitionDesc() when building the PartitionBoundInfoData, so that it can consistently keep only the upper bounds when upper and lower bounds coincide. Update the function comment to make that clearer. Also, fix a (currently unreachable) corner-case bug -- if the bound values coincide and they contain unbounded values, fall through to the lower-vs-upper comparison code, rather than immediately returning 0. Currently it is not possible to define coincident upper and lower bounds containing unbounded columns, but that may change in the future, so code defensively. Discussion: https://postgr.es/m/CAAJ_b947mowpLdxL3jo3YLKngRjrq9+Ej4ymduQTfYR+8=YAYQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/f1dae097f2945ffcb59a9f236843e0e0bbf0920d
Teodor Sigaev pushed:
- Fix potential data corruption during freeze. Fix oversight in 3b97e6823b94 bug fix. Bitwise AND is used instead of OR and it cleans all bits in t_infomask heap tuple field. Backpatch to 9.3 https://git.postgresql.org/pg/commitdiff/31b8db8e6c1fa4436116f4be5ca789f3a01b9ebf
Álvaro Herrera pushed:
- Fix typo. Noticed while reviewing code. https://git.postgresql.org/pg/commitdiff/46e91519425c5e98380c672d1b5c3acf18c5e565
Noah Misch pushed:
- MSVC: Repair libpq.rc generator. It generates an empty file, so libpq.dll advertises no version information. Commit facde2a98f0b5f7689b4e30a9e7376e926e733b8 mistranslated "print O;" in this one place. https://git.postgresql.org/pg/commitdiff/3381898f983b9d41c20b50bb1b39c173aa0129e3
Correctifs en attente
Amit Kapila sent in two revisions of a patch to fix an issue around indexes on unlogged tables.
Amit Langote and Dean Rasheed traded patches to enable multi-column range-partitioned tables.
Ashutosh Bapat sent in another revision of a patch to create macros bundling RELKIND_* conditions.
Amit Langote sent in another revision of a patch to cope with differing attnos in ATExecAttachPartition code and teach ATExecAttachPartition to skip validation in more cases.
Amit Kapila sent in two more revisions of a patch to speed up clog access by increasing CLOG buffers.
Amul Sul sent in two more revisions of a patch to implement hash paritioning.
Kuntal Ghosh and Michaël Paquier traded patches to fix a bug that manifested as an error while copying a large file in pg_rewind.
Tom Lane sent in three revisions of a patch to distinguish selectivity of < from <= and > from >=.
Mark Rofail sent in two more revisions of a patch to enable foreign key arrays.
Masahiko Sawada sent in a patch to remove an unused variable scanned_tuples in LVRelStats.
Etsuro Fujita sent in a patch to update a comment in ExecPartitionCheck.
Amit Khandekar sent in another revision of a patch to implement parallel append.
Dmitry Dolgov sent in another revision of a patch to implement generic type subscripting.
Beena Emerson sent in another revision of a patch to allow increasing the default WAL segment size.
Mithun Cy sent in another revision of a patch to implement auto_prewarm.
Etsuro Fujita sent in a patch to fix a comment typo in execMain.c.
Ashutosh Bapat sent in a patch always to mark the partition relations of a dummy partitioned table dummy.
Thomas Munro sent in another revision of a patch to fix an out of date comment in predicate.c.
Petr Jelínek sent in two more revisions of a patch to wait for slots to become free when dropping them.
Etsuro Fujita and Amit Langote traded patches to fix an oddity in error handling of constraint violation in ExecConstraints for partitioned tables.
Yi Wen Yong sent in a patch to ensure that replication_slot_catalog_xmin is explicitly initialized when creating procArray.
Petr Jelínek sent in another revision of a patch to improve the messaging during logical replication worker startup, exit in sync worker if the relation was removed during startup, split the SetSubscriptionRelState function into two, kill sync workers only at commit time in SUBSCRIPTION DDL, allow syscache access to subscriptions in database-less processes, and improve locking for subscriptions and subscribed relations.
Alik Khilazhev sent in a WIP patch to add a Zipfian distribution to pgbench.
Masahiko Sawada sent in a patch to make pg_stop_backup(wait_for_archive := true) on a standby server work.
Thomas Munro sent in a patch to fix an issue where per-statement INSER triggers were not catching COPY operations.
Mengxing Liu sent in another revision of a patch to eliminate O(N^2) scaling from rw-conflict tracking in serializable transactions.
Victor Drobny sent in a patch to add a parameter with acceptable authentification methods that can be passed into connection methods of libpq.
Martin Mai sent in a patch to fix a typo in the source documentation.