Обсуждение: == PostgreSQL Weekly News - June 10 2018 ==

Поиск
Список
Период
Сортировка

== PostgreSQL Weekly News - June 10 2018 ==

От
David Fetter
Дата:
== PostgreSQL Weekly News - June 10 2018 ==

== PostgreSQL Product News ==

PGConf.ASIA 2018 will take place on December 10-12, 2018 in Akihabara, Tokyo,
Japan.  The CfP is open until midnight, July 31, 2018, Japan time at
pgconf-asia-2018-submission(at)pgconf(dot)asia
http://www.pgconf.asia/EN/2018/

2Q PGConf will be on December 4-5, 2018 in Chicago, IL.  The CfP is open through
August 27, 2018 at midnight Pacific Time at http://www.2qpgconf.com/#cfp
http://www.2qpgconf.com/

== PostgreSQL Jobs for June ==

http://archives.postgresql.org/pgsql-jobs/2018-06/

== PostgreSQL Local ==

PGDay.IT 2018 will take place in Lazise on Lake Garda on June 29, 2018.
https://2018.pgday.it/en/

Swiss PGDay 2018 will take place in Rapperswil (near Zurich) on June 29, 2018.
Registration is open through June 28, 2018.
http://www.pgday.ch/2018/

PGConf.Brazil 2018 will take place in São Paulo, Brazil on August 3-4 2018.
http://pgconf.com.br

PG Day France 2018 will take place in Marseille on June 26, 2018.
http://pgday.fr/

The Portland PostgreSQL Users Group will be holding a PGDay on September 10,
2018 in Portland, OR.  The CfP is open at https://goo.gl/forms/E0CiUQGSZGMYwh922
https://pdx.postgresql.us/pdxpgday2018

PgConf Silicon Valley 2018 will be held in San Francisco on September 5-7, 2018.
The CfP is open until June 12th, Anywhere on Earth (AoE) (2018-06-12 23:59:59-12:00)
https://2018.postgresopen.org/callforpapers/

PostgresConf South Africa 2018 will take place in Johannesburg on October 9, 2018
The Call for Papers is open through June 30, 2018.
https://postgresconf.org/conferences/SouthAfrica2018

== 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 PST8PDT.  Please send English
language ones to david@fetter.org, German language to pwn@pgug.de, Italian
language to pwn@itpug.org.

== Applied Patches ==

Peter Eisentraut pushed:

- Put new command-line options into alphabetical order.
  https://git.postgresql.org/pg/commitdiff/4d6a854f176dbb48e62f017d8234f4736cb48d24

- Fix typo.
  https://git.postgresql.org/pg/commitdiff/2241ad1556b3734b4867117bee8d78ef9577fceb

- Fix spurious non-ASCII bytes.
  https://git.postgresql.org/pg/commitdiff/3f85c62d9e825eedd1315d249ef1ad793ca78ed4

- Add missing serial commas.
  https://git.postgresql.org/pg/commitdiff/25cf4ed1dc4e16da042e73ef5090e54bcf271f45

- doc: Move some new options into better positions on man pages.
  https://git.postgresql.org/pg/commitdiff/5efbdd36f1584d5e6e3870a05dc5f53692b18df6

- ecpg: Document new compatibility option.  It's listed in --help, so it should
  be listed in the man page as well.
  https://git.postgresql.org/pg/commitdiff/3b9b7516f42b72589951bb8d47a0220c67fb70de

- Fix typo.
  https://git.postgresql.org/pg/commitdiff/acad8b409add4bde37e3882c1680a7bd26289f03

Álvaro Herrera pushed:

- Fix function code in error report.  This bug causes a lseek() failure to be
  reported as a "could not open" failure in the error message, muddling bug
  reports.  I introduced this copy-and-pasteo in commit 78e122010422.  Noticed
  while reviewing code for bug report #15221, from lily liang.  In version 10
  the affected function is only used by multixact.c and commit_ts, and only in
  corner-case circumstances, neither of which are involved in the reported bug
  (a pg_subtrans failure.) Author: Álvaro Herrera
  https://git.postgresql.org/pg/commitdiff/eee381ef5ec4b16cff37865ccd70510e1e1abcdc

- Teach SHOW ALL to honor pg_read_all_settings membership.  Also, fix the
  pg_settings view to display source filename and line number when invoked by a
  pg_read_all_settings member.  This addition by me (Álvaro).  Also, fix wording
  of the comment in GetConfigOption regarding the restriction it implements,
  renaming the parameter for extra clarity.  Noted by Michaël.  These were all
  oversight in commit 25fff40798fc; backpatch to pg10, where that commit first
  appeared.  Author: Laurenz Albe Reviewed-by: Michaël Paquier, Álvaro Herrera
  Discussion: https://postgr.es/m/1519917758.6586.8.camel@cybertec.at
  https://git.postgresql.org/pg/commitdiff/0c8910a0cab7c1e439bf5f5850122c36359e6799

Heikki Linnakangas pushed:

- Fix obsolete comment.  The 'orig_slot' argument was removed in commit
  c0a8ae7be392, but that commit forgot to update the comment.  Author: Amit
  Langote Discussion:
  https://www.postgresql.org/message-id/194ac4bf-7b4a-c887-bf26-bc1a85ea995a@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/57f06a7611cc4806f581ae838f145181164056d4

Magnus Hagander pushed:

- Fix typo in README.  Author: Daniel Gustafsson <daniel@yesql.se>
  https://git.postgresql.org/pg/commitdiff/848b1f3e358f4a1bb98d8c4a07ff8ee5fd7ea9a0

Simon Riggs pushed:

- Exclude VACUUMs from RunningXactData.  GetRunningTransactionData() should
  ignore VACUUM procs because in some cases they are assigned xids. This could
  lead to holding back xmin via the route of passing the xid to standby and then
  having that hold back xmin on master via feedback.  Backpatch to 9.1 needed,
  but will only do so on supported versions.  Backpatch once proven on the
  buildfarm.  Reported-by: Greg Stark Author: Simon Riggs Reviewed-by: Amit
  Kapila Discussion:
  https://postgr.es/m/CANP8+jJBYt=4PpTfiPb0UrH1_iPhzsxKH5Op_Wec634F0ohnAw@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/32ac7a118fc17f5baac1b370f50d759c30bee00a

Peter Geoghegan pushed:

- Fix typo in JIT README.  Author: Daniel Gustafsson Discussion:
  https://postgr.es/m/3747D478-41F9-439F-8074-AC81A5C76346@yesql.se
  https://git.postgresql.org/pg/commitdiff/f6b95ff434bff28c0d9b390d5a0ff316847c4fb7

Thomas Munro pushed:

- Limit Parallel Hash's bucket array to MaxAllocSize.  Make sure that we don't
  exceed MaxAllocSize when increasing the number of buckets.  Perhaps later
  we'll remove that limit and use DSA_ALLOC_HUGE, but for now just prevent
  further increases like the non-parallel code.  This change avoids the error
  from bug report #15225.  Author: Thomas Munro Reviewed-By: Tom Lane
  Reported-by: Frits Jalvingh Discussion:
  https://postgr.es/m/152802081668.26724.16985037679312485972%40wrigleys.postgresql.org
  https://git.postgresql.org/pg/commitdiff/86a2218eb00eb6f97898945967c5f9c95c72b4c6

Michaël Paquier pushed:

- Fix and document lock handling for in-memory replication slot data.  While
  debugging issues on HEAD for the new slot forwarding feature of Postgres 11,
  some monitoring of the code surrounding in-memory slot data has proved that
  the lock handling may cause inconsistent data to be read by read-only callers
  of slot functions, particularly pg_get_replication_slots() which fetches data
  for the system view pg_replication_slots, or modules looking directly at slot
  information.  The code paths involved in those problems concern logical
  decoding initialization (down to 9.4) and WAL reservation for slots (new as of
  10).  A set of comments documenting all the lock handlings, particularly the
  dependency with LW locks for slots and the in_use flag as well as the internal
  mutex lock is added, based on a suggested by Simon Riggs.  Some of the fixed
  code exists down to 9.4 where WAL decoding has been introduced, but as those
  race conditions are really unlikely going to happen as those concern code
  paths for slot and decoding creation, just fix the problem on HEAD.  Author:
  Michael Paquier Discussion:
  https://postgr.es/m/20180528085747.GA27845@paquier.xyz
  https://git.postgresql.org/pg/commitdiff/9e149c847f398793ec1641885434dcd10837d89d

- Fix grammar in REVOKE documentation.  Reported-by: Erwin Brandstetter
  https://git.postgresql.org/pg/commitdiff/c83e2029909c5411ca11fd841851016f1f9810e6

Tom Lane pushed:

- Improve run-time partition pruning to handle any stable expression.  The
  initial coding of the run-time-pruning feature only coped with cases where the
  partition key(s) are compared to Params.  That is a bit silly; we can allow it
  to work with any non-Var-containing stable expression, as long as we take
  special care with expressions containing PARAM_EXEC Params.  The code is
  hardly any longer this way, and it's considerably clearer (IMO at least).  Per
  gripe from Pavel Stehule.  David Rowley, whacked around a bit by me
  Discussion:
  https://postgr.es/m/CAFj8pRBjrufA3ocDm8o4LPGNye9Y+pm1b9kCwode4X04CULG3g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/73b7f48f78d27b1baf1a6541cbaae0fe6bd6186d

- Relocate partition pruning structs to a saner place.  These struct definitions
  were originally dropped into primnodes.h, which is a poor choice since that's
  mainly intended for primitive expression node types; these are not in that
  category.  What they are is auxiliary info in Plan trees, so move them to
  plannodes.h.  For consistency, also relocate some related code that was
  apparently placed with the aid of a dartboard.  There's no interesting code
  changes in this commit, just reshuffling.  David Rowley and Tom Lane
  Discussion:
  https://postgr.es/m/CAFj8pRBjrufA3ocDm8o4LPGNye9Y+pm1b9kCwode4X04CULG3g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/939449de0e571b8c0b07674bb7095e06e93cc059

- Assorted cosmetic cleanup of run-time-partition-pruning code.  Use "subplan"
  rather than "subnode" to refer to the child plans of a partitioning Append;
  this seems a bit more specific and hence clearer.  Improve assorted comments.
  No non-cosmetic changes.  David Rowley and Tom Lane Discussion:
  https://postgr.es/m/CAFj8pRBjrufA3ocDm8o4LPGNye9Y+pm1b9kCwode4X04CULG3g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/321f648a312bd188b7a5c33a0548a57f45dfbf42

== Pending Patches ==

Fujii Masao sent in a patch to fix the performance of DROP DATABASE with many
tablespaces in it by ensuring that DROP DATABASE generates only one
XLOG_DBASE_DROP record, and registers the information of all the tablespaces
into it.

Kyotaro HORIGUCHI sent in three more revisions of a patch to fix a problem while
updating a foreign table pointing to a partitioned table on foreign server.

Heikki Linnakangas sent in a patch to optimize memory usage in SetOp executor
node and allow SetOps to spill to storage.

Justin Pryzby sent in two more revisions of a patch to add tab completion in
psql for table partitions.

Jeff Janes sent in a patch to make deparsing of column defaults faster.

Alexander Korotkov sent in a patch to lock B-tree leaves immediately in
exclusive mode.

Peter Eisentraut sent in a patch to use $Test::Builder::Level in TAP test
functions.

Andres Freund sent in a patch to convert FunctionCallInfoData->{arg,argisnull}
into an array of NullableDatum (new type, a struct of Datum and bool), and then
use a variable length array for the arguments.  This gets the size of that data
structure down from 936 bytes no matter what to 64 bytes in the very common
2-argument case.

Andrew Dunstan sent in a patch to extend and slightly refactor perl checking.

Andrew Dunstan sent in a patch to make the MSVC scripts work better on the
buildfarm, and possibly elsewhere.

Konstantin Knizhnik sent in two more revisions of a patch to implement libpq
compression.

Robbie Harwood sent in another revision of a patch to implement GSSAPI
encryption.

Amit Khandekar sent in another revision of a patch to fix a concurrency bug in
UPDATE of a partition key.

Melanie Plageman sent in a patch to fix a bug in collation.

David Fetter sent in a PoC patch to trim trailing whitespace in vim and emacs.

Teodor Sigaev sent in three more revisions of a patch to optimize GROUP BY.

Michaël Paquier sent in two more revisions of a patch to rework
scram_channel_binding to protect from downgrade attacks.

Rajkumar Raghuwanshi sent in a patch to add tests for partition-wise join with
partitioned tables containing a default partition.

Nico Williams sent in another revision of a patch to add an ALWAYS DEFERRED
option for CONSTRAINTS and CONSTRAINT TRIGGERs.

Heikki Linnakangas sent in a patch to push down JOIN clauses into subqueries.

Peter Eisentraut sent in another revision of a patch to enable using file
cloning in pg_upgrade.

David Rowley and Ashutosh Bapat traded patches to allow direct lookups of
AppendRelInfo by child relid.

Kyotaro HORIGUCHI sent in a patch to fix wrong behavior during crash recovery.

Peter Eisentraut sent in a patch to a patch that allows declaring cursors over
prepared.

Peter Eisentraut sent in a patch to enable declaring cursors over prepared
statements.

David Rowley, Álvaro Herrera, and Amit Langote traded patches to fix some issues
with partition constraints.

Dagfinn Ilmari Mannsåker sent in a patch to fix excess enreferencing in plperl
jsonb transform.

Peter Da Silva sent in a patch to add a PL/Tcl function to detect when a request
has been canceled.

Laurenz Albe sent in a patch to build pg_test_fsync as backend code.

Michaël Paquier sent in a patch to check the OpenSSL version available on
Windows.

David Rowley sent in a patch to run-time prune only for partitioned tables.