== PostgreSQL Weekly News - December 03 2017 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - December 03 2017 ==
Date
Msg-id 20171203193107.GB26891@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - December 03 2017 ==

== PostgreSQL Product News ==

padnag 1.2.1, a system to synchronize PostgreSQL roles with Active Directory
users and groups, released.
http://padnag.io/

== PostgreSQL Jobs for December ==

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

== PostgreSQL Local ==

PGConf Local: Austin will be held December 4 - 5, 2017. Program available
and registration is now open at
https://www.pgconf.us/conferences/Austin2017

PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo,
Japan.
http://www.pgconf.asia/EN/2017/

FOSDEM PGDay 2018, a one day conference held before the main FOSDEM event will
be held in Brussels, Belgium, on Feb 2nd, 2018.
https://2018.fosdempgday.org/

Prague PostgreSQL Developer Day 2018 (P2D2 2018) is a two-day
conference that will be held on February 14-15 2018 in Prague, Czech Republic.
The CfP is open until January 5, 2018 at https://p2d2.cz/callforpapers
http://www.p2d2.cz/

PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka.
http://pgconf.in/

PostgreSQL@SCaLE is a two day, two track event which takes place on
March 8-9, 2018, at Pasadena Convention Center, as part of SCaLE 16X.
http://www.socallinuxexpo.org/scale/16x/cfp

Nordic PGDay 2018 will be held in Oslo, Norway, at the Radisson Blu Hotel
Nydalen, on March 13, 2018.  The CfP is open through December 31, 2017 at
https://2018.nordicpgday.org/cfp/

pgDay Paris 2018 will be held in Paris, France at the Espace Saint-Martin, on
March 15 2018.  The CfP is open until December 31, 2017.
http://2017.pgday.paris/callforpapers/

PGConf APAC 2018 will be held in Singapore March 22-24, 2018.  The CfP is open
at http://2018.pgconfapac.org/cfp through December 4, 2017.
http://2018.pgconfapac.org/

The German-speaking PostgreSQL Conference 2018 will take place on April 13th,
2018 in Berlin.  The CfP is open until January 09, 2018 at
http://2018.pgconf.de/de/callforpapers.html and the conference site is at
http://2018.pgconf.de/

PGCon 2018 will take place in Ottawa on May 29 - June 2018.  The CfP goes out
soon.
https://www.pgcon.org/2018/

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

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

== Applied Patches ==

Magnus Hagander pushed:

- Fix typo in comment.  Andreas Karlsson
  https://git.postgresql.org/pg/commitdiff/d5f965c257aed40d515e6b518422ac6e6982c46c

Simon Riggs pushed:

- Pad XLogReaderState's per-buffer data_bufsz more aggressively.  Originally, we
  palloc'd this buffer just barely big enough to hold the largest xlog backup
  block seen so far. We now MAXALIGN the palloc size.  The original coding could
  result in many repeated palloc cycles, in the worst case where we see a series
  ofgradually larger xlog records.  We ameliorate that similarly to
  8735978e7aebfbc499843630131c18d1f7346c79 by imposing a minimum buffer size of
  BLCKSZ.  Discussion:
  https://postgr.es/m/E1eHa4J-0006hI-Q8@gemulon.postgresql.org
  https://git.postgresql.org/pg/commitdiff/59af8d4384ba5ae72986eab7e5cdc514a969aa05

- Additional docs for toast_tuple_target changes.
  https://git.postgresql.org/pg/commitdiff/117469006bf525c6e8dc84cb9fcbdc4c1a050878

Tom Lane pushed:

- Fix creation of resjunk tlist entries for inherited mixed UPDATE/DELETE.
  rewriteTargetListUD's processing is dependent on the relkind of the query's
  target table.  That was fine at the time it was made to act that way, even for
  queries on inheritance trees, because all tables in an inheritance tree would
  necessarily be plain tables.  However, the 9.5 feature addition allowing some
  members of an inheritance tree to be foreign tables broke the assumption that
  rewriteTargetListUD's output tlist could be applied to all child tables with
  nothing more than column-number mapping.  This led to visible failures if
  foreign child tables had row-level triggers, and would also break in cases
  where child tables belonged to FDWs that used methods other than CTID for row
  identification.  To fix, delay running rewriteTargetListUD until after the
  planner has expanded inheritance, so that it is applied separately to the
  (already mapped) tlist for each child table.  We can conveniently call it from
  preprocess_targetlist.  Refactor associated code slightly to avoid the need to
  heap_open the target relation multiple times during preprocess_targetlist.
  (The APIs remain a bit ugly, particularly around the point of which steps
  scribble on parse->targetList and which don't.  But avoiding such scribbling
  would require a change in FDW callback APIs, which is more pain than it's
  worth.) Also fix ExecModifyTable to ensure that "tupleid" is reset to NULL
  when we transition from rows providing a CTID to rows that don't.  (That's
  really an independent bug, but it manifests in much the same cases.) Add a
  regression test checking one manifestation of this problem, which was that
  row-level triggers on a foreign child table did not work right.  Back-patch to
  9.5 where the problem was introduced.  Etsuro Fujita, reviewed by Ildus
  Kurbangaliev and Ashutosh Bapat Discussion:
  https://postgr.es/m/20170514150525.0346ba72@postgrespro.ru
  https://git.postgresql.org/pg/commitdiff/9a785ad573176b88a93563209980fbe80cd72163

- Fix assorted syscache lookup sloppiness in partition-related code.
  heap_drop_with_catalog and ATExecDetachPartition neglected to check for
  SearchSysCache failures, as noted in bugs #14927 and #14928 from Pan Bian.
  Such failures are pretty unlikely, since we should already have some sort of
  lock on the rel at these points, but it's neither a good idea nor per project
  style to omit a check for failure.  Also, StorePartitionKey contained a
  syscache lookup that it never did anything with, including never releasing the
  result.  Presumably the reason why we don't see refcount-leak complaints is
  that the lookup always fails; but in any case it's pretty useless, so remove
  it.  All of these errors were evidently introduced by the relation
  partitioning feature.  Back-patch to v10 where that came in.  Amit Langote and
  Tom Lane Discussion:
  https://postgr.es/m/20171127090105.1463.3962@wrigleys.postgresql.org
  Discussion:
  https://postgr.es/m/20171127091341.1468.72696@wrigleys.postgresql.org
  https://git.postgresql.org/pg/commitdiff/cb03fa33aeaea4775b9f3437a2240de4ac9cb630

- Mark some more functions as pg_attribute_noreturn().  Doing this suppresses
  Coverity warnings and might allow improved code in some cases.  The prospects
  of that are not so bright as to warrant back-patching, though.  Michael
  Paquier, per Coverity
  https://git.postgresql.org/pg/commitdiff/0772c152b9bd02baeca6920c3371fce95e8f13dc

- Clarify old comment about qual_is_pushdown_safe's handling of subplans.  This
  comment glossed over the difference between initplans and subplans, but they
  are indeed different for our purposes here.
  https://git.postgresql.org/pg/commitdiff/801386af62eac84c13feec5a643c120cf0ce33bd

- Fix neqjoinsel's behavior for semi/anti join cases.  Previously, this function
  estimated the selectivity as 1 minus eqjoinsel() for the negator equality
  operator, regardless of join type (I think there was an expectation that
  eqjoinsel would handle the join type).  But actually this is completely wrong
  for semijoin cases: the fraction of the LHS that has a non-matching row is not
  one minus the fraction of the LHS that has a matching row.  In reality a
  semijoin with <> will nearly always succeed: it can only fail when the RHS is
  empty, or it contains a single distinct value that is equal to the particular
  LHS value, or the LHS value is null.  The only one of those things we should
  have much confidence in estimating is the fraction of LHS values that are
  null, so let's just take the selectivity as 1 minus outer nullfrac.  Per
  coding convention, antijoin should be estimated the same as semijoin.
  Arguably this is a bug fix, but in view of the lack of field complaints and
  the risk of destabilizing plans, no back-patch.  Thomas Munro, reviewed by
  Ashutosh Bapat Discussion:
  https://postgr.es/m/CAEepm=270ze2hVxWkJw-5eKzc3AB4C9KpH3L2kih75R5pdSogg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/7ca25b7de6aefa5537e0dbe56541bc41c0464f97

- Fix uninitialized-variable compiler warning induced by commit e4128ee76.  I'm
  a little bit astonished that anyone's compiler would have failed to complain
  about this.  The compiler surely does not know that is_procedure means the
  function return value will be ignored.
  https://git.postgresql.org/pg/commitdiff/a852cfe96752b25c2deaa2653cffd60c0ec82ead

Robert Haas pushed:

- Fix uninitialized-variable compiler warning induced by commit e4128ee76.  I'm
  a little bit astonished that anyone's compiler would have failed to complain
  about this.  The compiler surely does not know that is_procedure means the
  function return value will be ignored.
  https://git.postgresql.org/pg/commitdiff/a852cfe96752b25c2deaa2653cffd60c0ec82ead

- Add null test to partition constraint for default range partitions.
  Non-default range partitions have a constraint which include null tests, and
  both default and non-default list partitions also have a constraint which
  includes null tests, but for some reason this was missed for default range
  partitions.  This could cause the partition constraint to evaluate to false
  for rows that were (correctly) routed to that partition by insert tuple
  routing, which could in turn cause constraint exclusion to prune the default
  partition in cases where it should not.  Amit Langote, reviewed by Kyotaro
  Horiguchi Discussion:
  http://postgr.es/m/ba7aaeb1-4399-220e-70b4-62eade1522d0@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/7b88d63a9122646ead60c1afffc248a31d4e457d

- Teach bitmap heap scan to cope with absence of a DSA.  If we have a plan that
  uses parallelism but are unable to execute it using parallelism, for example
  due to a lack of available DSM segments, then the EState's es_query_dsa will
  be NULL.  Parallel bitmap heap scan needs to fall back to a non-parallel scan
  in such cases.  Patch by me, reviewed by Dilip Kumar Discussion:
  http://postgr.es/m/CAEepm=0kADK5inNf_KuemjX=HQ=PuTP0DykM--fO5jS5ePVFEA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/c6755e233be1cccadd0884d952a2bb455fa0db1f

- Fix ReinitializeParallelDSM to tolerate finding no error queues.  Commit
  d4663350646ca0c069a36d906155a0f7e3372eb7 changed things so that shm_toc_lookup
  would fail with an error rather than silently returning NULL in the hope that
  such failures would be reported in a useful way rather than via a system
  crash.  However, it overlooked the fact that the lookup of
  PARALLEL_KEY_ERROR_QUEUE in ReinitializeParallelDSM is expected to fail when
  no DSM segment was created in the first place; in that case, we end up with a
  backend-private memory segment that still contains an entry for
  PARALLEL_KEY_FIXED but no others.  Consequently a benign failure to initialize
  parallelism can escalate into an elog(ERROR); repair.  Discussion:
  http://postgr.es/m/CA+Tgmob8LFw55DzH1QEREpBEA9RJ_W_amhBFCVZ6WMwUhVpOqg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/445dbd82a3192c6f4d15de012333943882020904

- If a range-partitioned table has no default partition, reject null keys.
  Commit 4e5fe9ad19e14af360de7970caa8b150436c9dec introduced this problem.  Also
  add a test so it doesn't get broken again.  Report by Rushabh Lathia.  Fix by
  Amit Langote.  Reviewed by Rushabh Lathia and Amul Sul.  Tweaked by me.
  Discussion:
  http://postgr.es/m/CAGPqQf0Y1iJyk4QJBdMf=pS9i6Q0JUMM_h5-qkR3OMJ-e04PyA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/2d7950f2222c97bd9d9f4d4edc1b59e6660c3621

- Fix wrong function name in comment.  Rushabh Lathia Discussion:
  http://postgr.es/m/CAGPqQf2z5g+7YmGZSZgKoiFsaUB+63Rzmz8-5PQHuS6hd14FEg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/cd482f295150f8311290b5234873917f2172a34a

- Update typedefs.list and re-run pgindent.  Discussion:
  http://postgr.es/m/CA+TgmoaA9=1RWKtBWpDaj+sF3Stgc8sHgf5z=KGtbjwPLQVDMA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/eaedf0df7197b21182f6c341a44e4fdaa3cd6ea6

- Add extensive tests for partition pruning.  Currently, partition pruning
  happens via constraint exclusion, but there are pending places to replace that
  with a different and hopefully faster mechanism.  To be sure that we don't
  change behavior without realizing it, add extensive test coverage.  Note that
  not all of these behaviors are optimal; in some cases, partitions are not
  pruned even though it would be safe to do so.  These tests therefore serve to
  memorialize the current state rather than the ideal state.  Patches that
  improve things can update the test results as appropriate.  Amit Langote,
  adjusted by me.  Review and testing of the larger patch set of which this is a
  part by Ashutosh Bapat, David Rowley, Dilip Kumar, Jesper Pedersen, Rajkumar
  Raghuwanshi, Beena Emerson, Amul Sul, and Kyotaro Horiguchi.  Discussion:
  http://postgr.es/m/098b9c71-1915-1a2a-8d52-1a7a50ce79e8@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/8d4e70a63bf8772bbf5db620ef1e14761fbd2044

- Make create_unique_path manage memory like mark_dummy_rel.  Put the unique
  path in the same context as the owning RelOptInfo, rather than the toplevel
  planner context.  This is how this function worked originally, but commit
  f41803bb39bc2949db200116a609fd242d0ec221 changed it without explanation.
  mark_dummy_rel adopted the older (or newer?) technique in commit
  eca75a12a27d28b972fc269c1c8813cd8eb15441, which also featured a much better
  explanation of why it is correct.  So, switch back to that technique here,
  with the same explanation given there.  Although this fixes a possible memory
  leak when GEQO is in use, the leak is minor and probably nobody cares, so no
  back-patch.  Ashutosh Bapat, reviewed by Tom Lane and by me Discussion:
  http://postgr.es/m/CAFjFpRcXkHHrXyD9BCvkgGJV4TnHG2SWJ0PhJfrDu3NAcQvh7g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/1761653bbb17447906c812c347b3fe284ce699cf

- Remove extra word from comment.  David Rowley, who also was the primary author
  of the patch that added this function; the attribution in my previous commit,
  84940644de931f331433b35e3a391822671f8c9c, was incorrect due to sloppiness on
  my part.  Discussion:
  http://postgr.es/m/CAKJS1f_0iSiLQsf_c06AzOWAc3eS6ePjjVQFpcFv3W-O5aktnQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/06ae669c9229270663d6c4953ceb3621e4bc2d5b

- New C function: bms_add_range.  This will be used by pending patches to
  improve partition pruning.  Amit Langote and Kyotaro Horiguchi, per a
  suggestion from David Rowley.  Review and testing of the larger patch set of
  which this is a part by Ashutosh Bapat, David Rowley, Dilip Kumar, Jesper
  Pedersen, Rajkumar Raghuwanshi, Beena Emerson, Amul Sul, and Kyotaro
  Horiguchi.  Discussion:
  http://postgr.es/m/098b9c71-1915-1a2a-8d52-1a7a50ce79e8@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/84940644de931f331433b35e3a391822671f8c9c

- Fix uninitialized memory reference.  Without this, when partdesc->nparts == 0,
  we end up calling ExecBuildSlotPartitionKeyDescription without initializing
  values and isnull.  Reported by Coverity via Michael Paquier.  Patch by
  Michael Paquier, reviewed and revised by Amit Langote.  Discussion:
  http://postgr.es/m/CAB7nPqQ3mwkdMoPY-ocgTpPnjd8TKOadMxdTtMLvEzF8480Zfg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/59c8078744b5febf549c8b53171242cf667b87a1

- Try to exclude partitioned tables in toto.  Ashutosh Bapat, reviewed by Jeevan
  Chalke.  Comment by me.  Discussion:
  http://postgr.es/m/CAFjFpRcuRaydz88CY_aQekmuvmN2A9ax5z0k=ppT+s8KS8xMRA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/1cbc17aaca82b2e262912da96c49b2e1d2f492e7

- Re-allow INSERT .. ON CONFLICT DO NOTHING on partitioned tables.  Commit
  8355a011a0124bdf7ccbada206a967d427039553 was reverted in
  f05230752d53c4aa74cffa9b699983bbb6bcb118, but this attempt is hopefully
  better-considered: we now pass the correct value to ExecOpenIndices, which
  should avoid the crash that we hit before.  Amit Langote, reviewed by Simon
  Riggs and by me.  Some final editing by me.  Discussion:
  http://postgr.es/m/7ff1e8ec-dc39-96b1-7f47-ff5965dceeac@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/87c37e3291cb75273ccdf4645b9472dd805c4493

- postgres_fdw: Fix test that didn't test what it claimed.  Antonin Houska
  reported that the planner does consider pushing postgres_fdw_abs() to the
  remote side, which happens because we make it shippable earlier in the test
  case file.  Jeevan Chalke provided this patch, which changes the join
  condition to use random(), which is not shippable, instead.  Antonin reviewed
  the patch.  Discussion: http://postgr.es/m/15265.1511985971@localhost
  https://git.postgresql.org/pg/commitdiff/950222780535e6d2ea560cd8b3db5308652ddd42

- Minor code beautification in partition_bounds_equal.  Use get_greatest_modulus
  more consistently, instead of doing the same thing in an ad-hoc manner in this
  one place.  Ashutosh Bapat Discussion:
  http://postgr.es/m/CAFjFpReT9L4RCiJBKOyWC2=i02kv9uG2fx=4Fv7kFY2t0SPCgw@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/35438e5763c3021e579472e4b0c4a4d6038570b4

Peter Eisentraut pushed:

- PL/Python: Fix potential NULL pointer dereference.  After
  d0aa965c0a0ac2ff7906ae1b1dad50a7952efa56, one error path in
  PLy_spi_execute_fetch_result() could result in the variable "result" being
  dereferenced after being set to NULL.  To fix that, just clear the resources
  right there and return early.  Also add another SPI_freetuptable() call so
  that that is cleared in all error paths.  discovered by John Naylor
  <jcnaylor@gmail.com> via scan-build
  https://git.postgresql.org/pg/commitdiff/e42e2f38907681c48c43f49c5ec9f9f41a9aa9a5

- Revert "PL/Python: Fix potential NULL pointer dereference".  This reverts
  commit e42e2f38907681c48c43f49c5ec9f9f41a9aa9a5.  It's not safe to return in
  the middle of a PG_TRY block, so this will have to be done differently.
  https://git.postgresql.org/pg/commitdiff/62546b4357f2aec46bb896fdbddfc0904a2d7920

- Add compiler hints to PLy_elog().  Decorate PLy_elog() in a similar way as
  elog(), to give compilers and static analyzers hints in which cases it does
  not return.  Reviewed-by: John Naylor <jcnaylor@gmail.com>
  https://git.postgresql.org/pg/commitdiff/cdddd5d40b8a8b37db18adda3912e029756d1e36

- PL/Python: Fix remaining scan-build warnings.  Apparently, scan-build thinks
  that proc->is_setof can change during PLy_exec_function().  To make it
  clearer, save the value in a local variable.  Also add an assertion to clear
  another warning.  Reviewed-by: John Naylor <jcnaylor@gmail.com>
  https://git.postgresql.org/pg/commitdiff/c7f5c58e1c6bb250ff7c24970a05e033201be409

- SQL procedures.  This adds a new object type "procedure" that is similar to a
  function but does not have a return type and is invoked by the new CALL
  statement instead of SELECT or similar.  This implementation is aligned with
  the SQL standard and compatible with or similar to other SQL implementations.
  This commit adds new commands CALL, CREATE/ALTER/DROP PROCEDURE, as well as
  ALTER/DROP ROUTINE that can refer to either a function or a procedure (or an
  aggregate function, as an extension to SQL).  There is also support for
  procedures in various utility commands such as COMMENT and GRANT, as well as
  support in pg_dump and psql.  Support for defining procedures is available in
  all the languages supplied by the core distribution.  While this commit is
  mainly syntax sugar around existing functionality, future features will rely
  on having procedures as a separate object type.  Reviewed-by: Andrew Dunstan
  <andrew.dunstan@2ndquadrant.com>
  https://git.postgresql.org/pg/commitdiff/e4128ee767df3c8c715eb08f8977647ae49dfb59

- pg_basebackup: Fix progress messages when writing to a file.  The progress
  messages print out \r to keep overwriting the same line on the screen.  But
  this does not yield useful results when writing the output to a file.  So in
  that case, print out \n instead.  Author: Martín Marqués
  <martin@2ndquadrant.com> Reviewed-by: Arthur Zakirov
  <a.zakirov@postgrespro.ru>
  https://git.postgresql.org/pg/commitdiff/143b54d21d37804707c27edebdbd4410891da133

- Check channel binding flag at end of SCRAM exchange.  We need to check whether
  the channel-binding flag encoded in the client-final-message is the same one
  sent in the client-first-message.  Reviewed-by: Michael Paquier
  <michael.paquier@gmail.com>
  https://git.postgresql.org/pg/commitdiff/86ab28fbd19a6a0742a7f66e69a595b61eb13d00

Álvaro Herrera pushed:

- Fix extstat collection when no stats are produced for a column.  This is a
  mistakenly placed conditional in bf2a691e02d7.  Reported by Justin Pryzby
  Discussion: https://postgr.es/m/20171117214352.GE25796@telsasoft.com
  https://git.postgresql.org/pg/commitdiff/414cd434ff681e5f499803458eae9d5bb32372a9

- Make memset() use sizeof() rather than re-compute size.  This is simpler and
  more closely follows overwhelming precedent.  Report and patch by Mark Dilger.
  Discussion: https://postgr.es/m/9A68FB88-5F45-4848-9926-8586E2D777D1@gmail.com
  https://git.postgresql.org/pg/commitdiff/3848d21673e9dcb42d4bc1353043d7c7d6f550cd

Andres Freund pushed:

- Add a barrier primitive for synchronizing backends.  Provide support for
  dynamic or static parties of processes to wait for all processes to reach
  point in the code before continuing.  This is similar to the mechanism of the
  same name in POSIX threads and MPI, though has explicit phasing and dynamic
  party support like the Java core library's Phaser.  This will be used by an
  upcoming patch adding support for parallel hash joins.  Author: Thomas Munro
  Reviewed-By: Andres Freund Discussion:
  https://postgr.es/m/CAEepm=2_y7oi01OjA_wLvYcWMc9_d=LaoxrY3eiROCZkB_qakA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/1145acc70debacc34de01fac238defde543f4ed4

- Add some regression tests that exercise hash join code.  Although hash joins
  are already tested by many queries, these tests systematically cover the four
  different states we can reach as part of the strategy for respecting work_mem.
  Author: Thomas Munro Reviewed-By: Andres Freund
  https://git.postgresql.org/pg/commitdiff/fa330f9adf4e83c0707b0b1164e7bf09c9204b3d

- Add infrastructure for sharing temporary files between backends.
  SharedFileSet allows temporary files to be created by one backend and then
  exported for read-only access by other backends, with clean-up managed by
  reference counting associated with a DSM segment.  This includes changes to
  fd.c and buffile.c to support the new kind of temporary file.  This will be
  used by an upcoming patch adding support for parallel hash joins.  Author:
  Thomas Munro Reviewed-By: Peter Geoghegan, Andres Freund, Robert Haas, Rushabh
  Lathia Discussion:
  https://postgr.es/m/CAEepm=2W=cOkiZxcg6qiFQP-dHUe09aqTrEMM7yJDrHMhDv_RA@mail.gmail.com
  https://postgr.es/m/CAH2-WznJ_UgLux=_jTgCQ4yFz0iBntudsNKa1we3kN1BAG=88w@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/dc6c4c9dc2a111519b76b22daaaac86c5608223b

- Adjust #ifdef EXEC_BACKEND RemovePgTempFilesInDir() call.  Other callers were
  adjusted in the course of dc6c4c9dc2a111519b76b22daaaac86c5608223b.  Per
  buildfarm.
  https://git.postgresql.org/pg/commitdiff/ec6a04005618c206163761e5739a8b90debd6b1e

Noah Misch pushed:

- Fix non-GNU makefiles for AIX make.  Invoking the Makefile without an explicit
  target was building every possible target instead of just the "all" target.
  Back-patch to 9.3 (all supported versions).
  https://git.postgresql.org/pg/commitdiff/e21a556e136973cea95852b91fe1d72c7626bc34

== Pending Patches ==

Andres Freund sent in a patch to implement expression based aggregate transition
/ combine function invocation, part of the JIT infrastructure.

Oliver Ford, Erik Rijkers, and David Fetter traded patches to add RANGE with
values and exclusions clauses to the window functions.

Andreas Karlsson sent in another revision of a patch to add support for GnuTLS.

Alexander Korotkov sent in two revisions of a patch to implement atomic pgrename
on Windows.

Tomas Vondra sent in another revision of a patch to implement multivariate
histograms and MCV lists.

Jing Wang sent in another revision of a patch to implement COMMENT ON DATABASE
CURRENT_DATABASE.

Daniel Gustafsson sent in two more revisions of a patch to refactor identifier
checks to consistently use strcmp.

Masahiko Sawada sent in three more revisions of a patch to move relation
extension locks out of the heavyweight lock manager.

Anthony Bykov sent in another revision of a patch to implement transforms for
JSON for PL/Perl.

Thomas Munro sent in another revision of a patch to implement parallel hash.

Ildus Kurbangaliev sent in another revision of a patch to implement custom
compression methods.

Yura Sokolov sent in a patch to create a header for customized qsort.

Feike Steenbergen sent in two revisions of a patch to skip index cleanup if
autovacuum did not do any work.

Doug Rady sent in another revision of a patch to pgbench to add an option to
build using ppoll() for larger connection counts.

Victor Drobny sent in two more revisions of a patch to add a new function for
tsquery creation.

Amul Sul sent in another revision of a patch to implement parallel append.

Sergei Kornilov sent in two revisions of a patch to use an index or check if
present in ALTER TABLE SET NOT NULL.

Amit Kapila sent in two revisions of a patch to fix the instrumentation for
parallel workers.

Thomas Munro sent in a patch to ensure that TupleDescCopy clears atthasdef,
attnotnull, and attidentity.

Andres Freund sent in a patch to implement expression-based grouping equality,
part of the infrastructure for JIT.

Amul Sul sent in another revision of a patch to restrict concurrent
update/delete with UPDATE of partition key.

Alexander Korotkov sent in another revision of a patch to fix contrib/cube's
KNN.

Petr Jelínek sent in a patch to fix walsender timeouts when decoding large
transactions.

Shubham Barai sent in another revision of a patch to implement predicate locking
in GiST indexes.

Nikolay Shaplov sent in another revision of a patch to move all am-related
reloption code into src/backend/access/[am-name] and get rid of relopt_kind for
custom AM.

Emre Hasegeli sent in another revision of a patch to improve the geometric
types.

Amit Khandekar sent in another revision of a patch to see to it that UPDATEs of
a partition key which would cause a tuple to move to another partition do so.

Stas Kelvich and Petr Jelínek traded patches to make XactLockTableWait work for
transactions that are not yet self locked.

Beena Emerson sent in two more revisions of a patch to implement runtime
partition pruning.

David Rowley sent in another revision of a patch to remove [Merge]Append nodes
which contain a single subpath.

Andrey Borodin sent in a patch to update the patch for covering + unique indexes
to account for the new amcheck.

Pavel Stěhule sent in another revision of a patch to add extra checks to
PL/pgsql.

David Rowley sent in another revision of a patch to see to it that LEFT JOIN is
removed in appropriate cases where DISTINCT also appears.

Alexey Chernyshov sent in a patch to make ASCII NUL a valid character.

Robert Haas sent in another revision of a patch to remove the IndexTupleDSize
macro.

Alexander Korotkov sent in another revision of a patch to implement incremental
sort.

Aleksey Kondratov sent in another revision of a patch to allow COPY to handle
certain types of errors more gracefully.

Michaël Paquier and Amit Langote traded patches to fix a use of uninitialized
variables in ExecFindPartition() for a parent partition without leaves.

Michaël Paquier sent in two more revisions of a patch to allow SSL connection
from a v11 client to v10 server with SCRAM channel binding.

Michaël Paquier sent in another revision of a patch to move SCRAM-related name
definitions to scram-common.h, add a "scramchannelbinding" connection parameter,
and implement channel binding tls-server-end-point for SCRAM.

Fabien COELHO sent in another revision of a patch to add more functions and
operators to pgbench.

Robert Haas sent in another revision of a patch to fix the superuser checks in
the PostgreSQL FDW.

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

Peter Eisentraut sent in another revision of a patch to implement transaction
control in PROCEDUREs.

Nathan Bossart sent in two more revisions of a patch to add logging for VACUUM
and ANALYZE.

Thomas Munro and Justin Pryzby traded patches to clarify the documentation on
huge pages.

Raúl Marín Rodríguez sent in another revision of a patch to add pow() support
for pgbench.

Chen Huajun sent in another revision of a patch to make pg_rewind to not copy
useless WAL files.

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



pgsql-announce by date:

Previous
From: David Fetter
Date:
Subject: [ANNOUNCE] == PostgreSQL Weekly News - November 26 2017 ==
Next
From: Nicolas Thauvin
Date:
Subject: pitrery 2.0