== PostgreSQL Weekly News - August 27 2017 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - August 27 2017 ==
Date: 2017-08-27 20:29:48
Message-ID: 20170827202948.GA11346@fetter.org
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-announce

== PostgreSQL Weekly News - August 27 2017 ==

== PostgreSQL Product News ==

OmniDB, a browser-based database management tool, released.

PostgreSQL Maestro 17.8, an ODBC-based management tool which works
with PostgreSQL, released.

== PostgreSQL Jobs for August ==


== PostgreSQL Local ==

PostgresOpen will occur September 6-8, 2017 in San Francisco.

PGBR2017 will take place in Porto Alegre, Rio Grande do Sul,
Brazil on September 14-16 2017.

PGDay.IT 2017 will take place in October 13th, in Milan, Italy.

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

PGConf Local: Seattle will be held November 13 - 14, 2017.

PGDay Australia 2017 will be held on November 17 in Melbourne. The CfP is open
through September 8, 2017 at https://goo.gl/5d9EbT

PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is
now open at https://www.pgconf.us/conferences/Austin2017

PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo,

== 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 ==

Noah Misch pushed:

- Inject $(ICU_LIBS) regardless of platform. It appeared in a conditional that
excludes AIX, Cygwin and MinGW. Give ICU support a chance to work on those
platforms. Back-patch to v10, where ICU support was introduced.

Robert Haas pushed:

- pg_prewarm: Add automatic prewarm feature. Periodically while the server is
running, and at shutdown, write out a list of blocks in shared buffers. When
the server reaches consistency -- unfortunatey, we can't do it before that
point without breaking things -- reload those blocks into any still-unused
shared buffers. Mithun Cy and Robert Haas, reviewed and tested by Beena
Emerson, Amit Kapila, Jim Nasby, and Rafia Sabih. Discussion:

- Push limit through subqueries to underlying sort, where possible. Douglas
Doole, reviewed by Ashutosh Bapat and by me. Minor formatting change by me.

- Improve low-level backup documentation. Our documentation hasn't really
caught up with the fact that non-exclusive backups can now be taken using
pg_start_backup and pg_stop_backup even on standbys. Update, also correcting
some errors introduced by 52f8a59dd953c6820baf153e97cf07d31b8ac1d6. Updates
to the 9.6 documentation are needed as well, but that will need a separate
patch as some things are different on that version. David Steele, reviewed by
Robert Haas and Michael Paquier Discussion:

Peter Eisentraut pushed:

- Expand set of predefined ICU locales. Install language+region combinations
even if they are not distinct from the language's base locale. This gives
better long-term stability of the set of predefined locales and makes the
predefined locales less implementation-dependent and more practical for users.
Reviewed-by: Peter Geoghegan <pg(at)bowt(dot)ie>

- Don't install ICU collation keyword variants. Users can still create them
themselves. Instead, document Unicode TR 35 collation options for ICU, so
users can create all this themselves. Reviewed-by: Peter Geoghegan

- doc: Mention identity column feature in section on serial. Reported-by: Basil
Bourque <basil(dot)bourque(at)pobox(dot)com>

- pg_upgrade: Message translatability and style fixes.

- Fix translation marker. This was erroneously removed in

- Tweak some SCRAM error messages and code comments. Clarify/correct some error
messages, fix up some code comments that confused SASL and SCRAM, and other
minor fixes. No changes in functionality.

- Fix outdated comment. Author: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>

- Update code comment for temporary replication slots. Reported-by: Alvaro
Herrera <alvherre(at)2ndquadrant(dot)com>

- Fix up secondary expected files. for commit

- Improve plural handling in error message. This does not use the normal plural
handling, because no numbers appear in the actual message.

- Increase SCRAM salt length. The original value 12 was set based on RFC 5802
for SCRAM-SHA-1, but RFC 7677 for SCRAM-SHA-256 uses 16, so use that. (This
does not affect the validity of already stored verifiers.) Discussion:

- pg_upgrade: Remove dead code. Remove code meant for upgrading to a particular
version of PostgreSQL 9.0. Since pg_upgrade only supports upgrading to the
current major version, this code is no longer useful.

- Message translatability fixes.

- pg_upgrade: Remove more dead code. related to
6ce6a61840cc90172ad3da7bf303656132fa5fab Reported-by: Christoph Berg

- pg_test_timing: Some NLS fixes. The string "% of total" was marked by
xgettext to be a c-format, but it is actually not, so mark up the source to
prevent that. Compute the column widths of the final display dynamically
based on the translated strings, so that translations don't mess up the
display accidentally.

Andres Freund pushed:

- Refactor typcache.c's record typmod hash table. Previously, tuple descriptors
were stored in chains keyed by a fixed size array of OIDs. That meant there
were effectively two levels of collision chain -- one inside and one outside
the hash table. Instead, let dynahash.c look after conflicts for us by
supplying a proper hash and equal function pair. This is a nice cleanup on
its own, but also simplifies followup changes allowing blessed TupleDescs to
be shared between backends participating in parallel query. Author: Thomas
Munro Reviewed-By: Andres Freund Discussion:

- Add a hash_combine function for mixing hash values. This hash function is
derived from Boost's function of the same name. Author: Andres Freund, Thomas
Munro Discussion:

- Hash tables backed by DSA shared memory. Add general purpose chaining hash
tables for DSA memory. Unlike DynaHash in shared memory mode, these hash
tables can grow as required, and cope with being mapped into different
addresses in different backends. There is a wide range of potential users for
such a hash table, though it's very likely the interface will need to evolve
as we come to understand the needs of different kinds of users. E.g support
for iterators and incremental resizing is planned for later commits and the
details of the callback signatures are likely to change. Author: Thomas Munro
Reviewed-By: John Gorman, Andres Freund, Dilip Kumar, Robert Haas Discussion:

- Fix harmless thinko in dsa.c. Commit 16be2fd100199bdf284becfcee02c5eb20d8a11d
added DSA_ALLOC_HUGE, DSA_ALLOC_ZERO and DSA_ALLOC_NO_OOM which have the same
numerical values and meanings as the similarly named MCXT_... macros. In one
place we accidentally used MCXT_ALLOC_NO_OOM when DSA_ALLOC_NO_OOM is wanted,
so tidy that up. Author: Thomas Munro Discussion:
Backpatch: 10, where dsa was introduced.

- Add minimal regression test for blessed record type transfer. Test that
blessed records can be transferred through a TupleQueue and correctly decoded
by another backend. While touching the file, make sure that
force_parallel_mode settings only cover relevant tests. Author: Thomas Munro,
editorialized by Andres Freund Reviewed-By: Andres Freund Discussion:

- Fix unlikely shared memory leak after failure in dshash_create(). Tidy-up for
commit 8c0d7bafad36434cb08ac2c78e69ae72c194ca20, based on a complaint from
Andres Freund. Author: Thomas Munro Reviewed-By: Andres Freund Discussion:

- Consolidate the function pointer types used by dshash.c. Commit
8c0d7bafad36434cb08ac2c78e69ae72c194ca20 introduced dshash with hash and
compare functions like DynaHash's, and also variants that take a user data
pointer instead of size. Simplify the interface by merging them into a single
pair of function pointer types that take both size and a user data pointer.
Since it is anticipated that memcmp and tag_hash behavior will be a common
requirement, provide wrapper functions dshash_memcmp and dshash_memhash that
conform to the new function types. Author: Thomas Munro Reviewed-By: Andres
Freund Discussion:

Tom Lane pushed:

- Make new regression test case parallel-safe, and improve its output. The test
case added by commit 1f6d515a6 fails on buildfarm members that have
force_parallel_mode turned on, because we currently don't report sort
performance details from worker processes back to the master. To fix that,
just make the test table be temp rather than regular; that's a good idea
anyway to forestall any possible interference from auto-analyze. (The
restriction that workers can't access temp tables might go away someday, but
almost certainly not before the other thing gets fixed.) Also, improve the
test so that we retain as much as possible of the EXPLAIN ANALYZE output.
This aids debugging failures, and might also expose problems that the
preceding version masked. Discussion:

- Code review for pushing LIMIT through subqueries. Minor improvements for
commit 1f6d515a6. We do not need the (rather expensive) test for SRFs in the
targetlist, because since v10 any such SRFs would appear in separate
ProjectSet nodes. Also, make the code look more like the existing cases by
turning it into a simple recursion --- the argument that there might be some
performance benefit to contorting the code seems unfounded to me, especially
since any good compiler should turn the tail-recursion into iteration anyway.

- Fix locale dependency in new ecpg test case. Force sorting in "C" locale so
that the output ordering doesn't vary, per buildfarm. In passing, add missing
.gitignore entries. Discussion:

- First-draft release notes for 9.6.5. As usual, the release notes for other
branches will be made by cutting these down, but put them up for community
review first. Note the first entry is only for 9.4.

- Doc: update v10 release notes through today.

Stephen Frost pushed:

- psql: Fix \gx when FETCH_COUNT is used. Set expanded output when requested
through \gx in ExecQueryUsingCursor() (used when FETCH_COUNT is set).
Author: Tobias Bussmann

Michael Meskes pushed:

- Implement DO CONTINUE action for ECPG WHENEVER statement. Author: Vinayak
Pokale Reviewed-By: Masahiko Sawada

- Make setlocale in ECPG test cases thread aware on Windows. Fix threaded test
cases on Windows not to crash in setlocale() which can be global or local to a
thread on Windows. Author: Christian Ullrich

- Changed order of statements and added an additiona MSVC safeguard to make
ecpg. thread test cases work on Windows.

== Pending Patches ==

Markus Sintonen sent in a patch to add pattern based listeners for asynchronous
messaging (LISTEN/NOTIFY).

Haribabu Kommi sent in another revision of a patch to refactor handling of
database attributes between pg_dump and pg_dumpall.

Ashutosh Bapat sent in another revision of a patch to implement partition-wise
join for join between (declaratively) partitioned tables.

Ashutosh Bapat sent in a patch to implement an advanced partition matching
algorithm for partition-wise join.

Feike Steenbergen sent in a patch to document pgstattuple privileges without

Jeevan Ladhe sent in another revision of a patch to add support for default
partitions in declarative partitioning.

Etsuro Fujita sent in another revision of a patch to add an epqpath for
foreign join.

Michaël Paquier sent in another revision of a patch to refactor the routine to
test connections to the SSL server, support channel binding 'tls-unique' in
SCRAM, add connection parameters "saslname" and "saslchannelbinding", and
implement channel binding tls-server-end-point for SCRAM.

Alexander Kuzmenkov sent in another revision of a patch to add index-only
count(*) for indexes supporting bitmap scans.

Amit Langote sent in a patch to add some infrastructure to be used in a system
that prunes partitions more effectively than the current constraint exclusion
system does.

Mark Rofail sent in two more revisions of a patch to add foreign key arrays.

Amit Kapila sent in another revision of a patch to ensure that parallel paths
include tlist cost.

Amit Langote sent in another revision of a patch to decouple
RelationGetPartitionDispatchInfo() from executor and teach
expand_inherited_rtentry to use partition bound order.

Amul Sul sent in another revision of a patch to add an optional second hash
procedure and test the hash functions.

Yura Sokolov sent in another revision of a patch to make a hash table for xip in

Alik Khilazhev sent in another revision of a patch to add a Zipfian distribution
to pgbench.

Peter Eisentraut sent in another revision of a patch to improve coverage

Beena Emerson sent in a patch to remove the for_default flag from the
get_qual_for_range function.

Jeevan Ladhe sent in another revision of a patch to refactor
RelationBuildPartitionDesc() and add support for default partition for range.

Ashutosh Sharma and Amit Kapila traded patches to rewrite hash index scan to
work page at a time, remove redundant hash function _hash_step and do some code
cleanup, and improve locking startegy during VACUUM in Hash Index for regular

Peter Eisentraut sent in a patch to add compiler hints to PLy_elog() and fix the
remaining scan-build warnings for PL/PythonU.

Beena Emerson sent in another revision of a patch to add a XLogSegmentOffset
macro, make an initdb-configurable WAL segment size, and modify the xlog macros
to take this into account.

Jeevan Chalke sent in a patch to implement partition-wise aggregation/grouping.

Thomas Munro sent in three more revisions of a patch to share typmods among

Pavel Stěhule sent in a patch to add \graw to psql.

Fabien COELHO sent in another revision of a patch to add pgbench TAP tests.

Adrien Nayrat sent in a patch to auto_explain in order to log queries with wrong

Peter Eisentraut sent in a patch to add a max_worker_processes_per_user setting.

Robert Haas and Tom Lane traded patches to push limit to sort through a

Nathan Bossart sent in another revision of a patch to allow users to specify
multiple tables in VACUUM commands.

Simone Gotti sent in a patch to fix drop replication slot blocking instead of
returning an error.

Masahiko Sawada sent in another revision of a patch to add custom initialization
to pgbench.

Jing Wang sent in a patch to support to COMMENT ON DATABASE CURRENT_DATABASE and

Antonin Houska sent in a patch to allow extensions to write log messages to a
separate file.

Alexander Kuzmenkov sent in another revision of a patch to enable full merge
join on comparison clause.

Haribabu Kommi sent in another revision of a patch to add Visual Studio 2017
build support.

Yang Jie sent in a patch to enable hash partitioning.

Fabien COELHO sent in two revisions of a patch to enable psql to discover
whether a variable exists.

Jeff Janes sent in another revision of a patch to change WAL writer wakeup.

Fabien COELHO sent in two more revisions of a patch to add SERVER_VERSION_NUMBER
to psql.

Jeff Janes sent in a patch to pgbench to make a faster version of tpcb-like

Petr Jelínek sent in a patch to fix a race condition in the logical decoding TAP

Browse pgsql-announce by date

  From Date Subject
Next Message Virginie Jourdan 2017-08-29 14:04:16 Call for Papers, PostgreSQL Session #9, November, 17th
Previous Message Steve Singer 2017-08-27 19:11:56 Slony 2.2.6 released