Skip site navigation (1) Skip section navigation (2)

== 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: (view raw, whole thread or download thread 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

PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is
now open at

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

== PostgreSQL in the News ==

Planet PostgreSQL:

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

pgsql-announce by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group