== PostgreSQL Weekly News - July 09 2017 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - July 09 2017 ==
Date: 2017-07-09 22:23:52
Message-ID: 20170709222352.GA7911@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - July 09 2017 ==

== PostgreSQL Jobs for July ==

http://archives.postgresql.org/pgsql-jobs/2017-07/

== PostgreSQL Local ==

PGBR2017 will take place in Porto Alegre, Rio Grande do Sul,
Brazil on September 14-16 2017.
https://pgbr.postgresql.org.br/2017/

PostgresOpen will occur September 6-8, 2017 in San Francisco.
https://2017.postgresopen.org/

PGDay UK 2017 will take place July 4, 2017 in London, England, UK.
http://www.pgconf.uk

PGConf.Brazil 2017 OnLine Edition will be live from Brazil on July 10-14 2017.
http://pgconf.com.br

PGConf Local: Philly will be held July 13 - 14, 2017. Registration is now
open at
https://www.pgconf.us/conferences/Philly2017

PGDay Austin 2017 will be held on Saturday, August 26 2017.
https://pgdayaustin2017.postgresql.us

PGConf Local: Seattle will be held August 11 - 12, 2017.
https://www.pgconf.us/#Seattle2017

PGDay.IT 2017 will take place in October 13th, in Milan, Italy. The CfP is open
until July 9th, 2017 at http://2017.pgday.it/en/blog/call-for-papers
http://pgday.it

PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the
Warsaw Marriott Hotel, in Warsaw, Poland.
https://2017.pgconf.eu/

PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo,
Japan. The CfP is open until July 31, 2017. Send submissions to
pgconf-asia-2017-submission AT pgconf DOT asia
http://www.pgconf.asia/EN/2017/

== 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 Pacific time.
Please send English language ones to david(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)

== Applied Patches ==

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(dot)paquier(at)gmail(dot)com>
https://git.postgresql.org/pg/commitdiff/42794d6749f24636efbb198db17c30c63df10900

- Fix out of date comment. Author: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)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(dot)jelinek(at)2ndquadrant(dot)com>
https://git.postgresql.org/pg/commitdiff/cb9079cd51a2df677dc182aec72d88383b9c2a79

- Document how logical replication deals with statement triggers. Reported-by:
Константин Евтеев <konst583(at)gmail(dot)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(at)aegee(dot)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

== Pending Patches ==

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.

Browse pgsql-announce by date

  From Date Subject
Next Message Bo Peng 2017-07-11 05:24:12 Pgpool-II 3.6.5, 3.5.9, 3.4.12, 3.3.16 and 3.2.21 are now officially released.
Previous Message Stephen Frost 2017-07-05 16:27:28 PostgresOpen SV 2017 Sessions Announced, last week for Early Bird!