== PostgreSQL Weekly News - November 26 2017 ==

== PostgreSQL Product News ==

Pgpool-II 3.7.0 and pgpoolAdmin 3.7.0 released.
http://www.pgpool.net/docs/latest/en/html/release-3-7.html

repmgr 4.0, a replication manager for PostgreSQL, released.
https://www.2ndquadrant.com/en/resources/repmgr/

== PostgreSQL Jobs for November ==

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

== PostgreSQL Local ==

PGDAY Brasilia 2017 will take place December 2, 2017.
http://www.pgdaybrasilia.com.br/

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.
Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by November 15th, 
2017.
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.
The CfP is open through October 31, 2017 at
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 da...@fetter.org, German language to p...@pgug.de, Italian
language to p...@itpug.org.

== Applied Patches ==

Simon Riggs pushed:

- Reduce test variability for toast_tuple_target test.
  
https://git.postgresql.org/pg/commitdiff/56f34686220731eef72dfd129519b25f28406db1

- Parameter toast_tuple_target controls TOAST for new rows.  Specifies the point
  at which we try to move long column values into TOAST tables.  No effect on
  existing rows.  Discussion:
  
https://postgr.es/m/CANP8+jKsVmw6CX6YP9z7zqkTzcKV1+Uzr3XjKcZW=2ya00o...@mail.gmail.com
  Author: Simon Riggs <si...@2ndqudrant.com> Reviewed-by: Andrew Dunstan
  <andrew.duns...@2ndquadrant.com>
  
https://git.postgresql.org/pg/commitdiff/c2513365a0a85e77d3c21adb92fe12cfbe0d1897

- Fix pg_control_checkpoint from commit 4b0d28de06.  Author: Simon Riggs
  <si...@2ndquadrant.com> Reported-By: Andreas Seltenreich <seltenre...@gmx.de>
  
https://git.postgresql.org/pg/commitdiff/2ede45c3a49e484edfa143850d55eb32dba296de

- Set es_output_cid in replication worker.  Allows triggers to operate correctly
  Author: Petr Jelinek <petr.jeli...@2ndquadrant.com> Reported-by: Konstantin
  Knizhnik <k.knizh...@postgrespro.ru>
  
https://git.postgresql.org/pg/commitdiff/7e17a6889a4441c2cebca2dd47f4170ff8dc5de2

- Show partition info from psql \d+.  Author: Amit Langote, Ashutosh Bapat
  Reviewed-by:  Álvaro Herrera, Simon Riggs
  
https://git.postgresql.org/pg/commitdiff/05b6ec39d72f7065bb5ce770319e826f1da92441

- Sort default partition to bottom of psql \d+.  Minor patch to change sort
  order only Author: Ashutosh Bapat Reviewed-by:  Álvaro Herrera, Simon Riggs
  
https://git.postgresql.org/pg/commitdiff/3bae43ca4dc6c3123788044436521f1d33d9f930

- Tweak code for older compilers.  Attempt to quiesce build farm Author: Tomas
  Vondra
  
https://git.postgresql.org/pg/commitdiff/b99661c2ff4eef923abd96d2a733556f5f64c2d6

- Generational memory allocator.  Add new style of memory allocator, known as
  Generational appropriate for use in cases where memory is allocated and then
  freed in roughly oldest first order (FIFO).  Use new allocator for logical
  decoding’s reorderbuffer to significantly reduce memory usage and improve
  performance.  Author: Tomas Vondra Reviewed-by: Simon Riggs
  
https://git.postgresql.org/pg/commitdiff/a4ccc1cef5a04cc054af83bc4582a045d5232cb3

Robert Haas pushed:

- Pass eflags down to parallel workers.  Currently, there are no known
  consequences of this oversight, so no back-patch.  Several of the EXEC_FLAG_*
  constants aren't usable in parallel mode anyway, and potential problems
  related to the presence or absence of OIDs (see EXEC_FLAG_WITH_OIDS,
  EXEC_FLAG_WITHOUT_OIDS) seem at present to be masked by the unconditional
  projection step performed by Gather and Gather Merge.  In general, however, it
  seems important that all participants agree on the values of these flags,
  which modify executor behavior globally, and a pending patch to skip
  projection in Gather (Merge) would be outright broken in certain cases without
  this fix.  Patch by me, based on investigation of a test case provided by Amit
  Kapila.  This patch was also reviewed by Amit Kapila.  Discussion:
  
http://postgr.es/m/CA+TgmoZ0ZL=ceszfq8c9nnfk6bqy-wwud3_74iygodyrsoq...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/f455e1125e2588d4cd4fc663c6a10da4e003a3b5

- Tweak use of ExecContextForcesOids by Gather (Merge).  Specifically, pass the
  outer plan's PlanState instead of our own PlanState.  At present,
  ExecContextForcesOids doesn't actually care which PlanState we pass; it just
  looks through to the underlying EState to find the result relation or
  top-level eflags.  However, in the future it might care.  If that happens, and
  if our goal is to get a tuple descriptor that matches that of the outer plan,
  then I think what we care about is whether the outer plan's context forces
  OIDs, rather than whether our own context forces OIDs, just as we use the
  outer node's target list rather than our own.  Patch by me, reviewed by Amit
  Kapila.  Discussion:
  
http://postgr.es/m/CA+TgmoZ0ZL=ceszfq8c9nnfk6bqy-wwud3_74iygodyrsoq...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/0510421ee091ee3ddabdd5bd7ed096563f6bf17f

- Fix multiple problems with satisfies_hash_partition.  Fix the function header
  comment to describe the actual behavior.  Check that table OID, modulus, and
  remainder arguments are not NULL before accessing them.  Check that the
  modulus and remainder are sensible.  If the table OID doesn't exist, return
  NULL instead of emitting an internal error, similar to what we do elsewhere.
  Check that the actual argument types match, or at least are binary coercible
  to, the expected argument types.  Correctly handle invocation of this function
  using the VARIADIC syntax.  Add regression tests.  Robert Haas and Amul Sul,
  per a report by Andreas Seltenreich and subsequent followup investigation.
  Discussion: http://postgr.es/m/871sl4sdrv....@ansel.ydns.eu
  
https://git.postgresql.org/pg/commitdiff/f3b0897a1213f46b4d3a99a7f8ef3a4b32e03572

- Provide for forward compatibility with future minor protocol versions.
  Previously, any attempt to request a 3.x protocol version other than 3.0 would
  lead to a hard connection failure, which made the minor protocol version
  really no different from the major protocol version and precluded gentle
  protocol version breaks.  Instead, when the client requests a 3.x protocol
  version where x is greater than 0, send the new NegotiateProtocolVersion
  message to convey that we support only 3.0.  This makes it possible to
  introduce new minor protocol versions without requiring a connection retry
  when the server is older.  In addition, if the startup packet includes
  name/value pairs where the name starts with "_pq_.", assume that those are
  protocol options, not GUCs.  Include those we don't support (i.e. all of them,
  at present) in the NegotiateProtocolVersion message so that the client knows
  they were not understood.  This makes it possible for the client to request
  previously-unsupported features without bumping the protocol version at all;
  the client can tell from the server's response whether the option was
  understood.  It will take some time before servers that support these new
  facilities become common in the wild; to speed things up and make things
  easier for a future 3.1 protocol version, back-patch to all supported
  releases.  Robert Haas and Badrul Chowdhury Discussion:
  
http://postgr.es/m/bn6pr21mb0772ffa0cbd298b76017744cd1...@bn6pr21mb0772.namprd21.prod.outlook.com
  Discussion: http://postgr.es/m/30788.1498672...@sss.pgh.pa.us
  
https://git.postgresql.org/pg/commitdiff/ae65f6066dc3d19a55f4fdcd3b30003c5ad8dbed

- Avoid projecting tuples unnecessarily in Gather and Gather Merge.  It's most
  often the case that the target list for the Gather (Merge) node matches the
  target list supplied by the underlying plan node; when this is so, we can
  avoid the overhead of projecting.  This depends on commit
  f455e1125e2588d4cd4fc663c6a10da4e003a3b5 for proper functioning.  Idea by
  Andres Freund.  Patch by me.  Review by Amit Kapila.  Discussion:
  
http://postgr.es/m/CA+TgmoZ0ZL=ceszfq8c9nnfk6bqy-wwud3_74iygodyrsoq...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/b10967eddf964f8c0a11060cf3f366bbdd1235f6

Tom Lane pushed:

- Use out-of-line M68K spinlock code for OpenBSD as well as NetBSD.  David
  Carlier (from a patch being carried by OpenBSD packagers) Discussion:
  
https://postgr.es/m/ca+xhmqzwfsgvu7menfhcecc8ydp98tigxzzpd0aadwagwav...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/84669c9b06ba0d2485007643322bd3fcaa8c729e

- Add support for Motorola 88K to s_lock.h.  Apparently there are still people
  out there who care about this old architecture.  They probably care about
  dusty versions of Postgres too, so back-patch to all supported branches.
  David Carlier (from a patch being carried by OpenBSD packagers) Discussion:
  
https://postgr.es/m/ca+xhmqzwfsgvu7menfhcecc8ydp98tigxzzpd0aadwagwav...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/f3bd00c0168abaf13ac0733a77bc1106d3f6720d

- Support index-only scans in contrib/cube and contrib/seg GiST indexes.  To do
  this, we only have to remove the compress and decompress support functions,
  which have never done anything more than detoasting.  In the wake of commit
  d3a4f89d8, this results in automatically enabling index-only scans, since the
  core code will now know that the stored representation is the same as the
  original data (up to detoasting).  The only exciting part of this is that
  ALTER OPERATOR FAMILY lacks a way to drop a support function that was declared
  as being part of an opclass rather than being loose in the family.  For the
  moment, we'll hack our way to a solution with a manual update of the pg_depend
  entry type, which is what distinguishes the two cases.  Perhaps someday it'll
  be worth providing a cleaner way to do that, but for now it seems like a very
  niche problem.  Note that the underlying C functions remain, to support use of
  the shared libraries with older versions of the modules' SQL declarations.
  Someday we may be able to remove them, but not soon.  Andrey Borodin, reviewed
  by me Discussion:
  https://postgr.es/m/d0f53a05-4f4a-4dec-8339-3c069fa0e...@yandex-team.ru
  
https://git.postgresql.org/pg/commitdiff/de1d042f5979bc1388e9a6d52a4d445342b04932

- Doc: fix broken markup.
  
https://git.postgresql.org/pg/commitdiff/41761265e88f09fba4028352b8e2be82d049cedc

- pgbench: fix stats reporting when some transactions are skipped.  pgbench can
  skip some transactions when both -R and -L options are used.  Previously, this
  resulted in slightly silly statistics both in progress reports and final
  output, because the skipped transactions were counted as executed for TPS and
  related stats.  Discount skipped xacts in TPS numbers, and also when figuring
  the percentage of xacts exceeding the latency limit.  Also, don't print
  per-script skipped-transaction counts when there is only one script.  That's
  redundant with the overall count, and it's inconsistent with the fact that we
  don't print other per-script stats when there's only one script.  Clean up
  some unnecessary interactions between what should be independent options that
  were due to that decision.  While at it, avoid division-by-zero in cases where
  no transactions were executed.  While on modern platforms this would generally
  result in printing "NaN" rather than a crash, that isn't spelled consistently
  across platforms and it would confuse many people.  Skip the relevant output
  entirely when practical, else print zeroes.  Fabien Coelho, reviewed by Steve
  Singer, additional hacking by me Discussion:
  https://postgr.es/m/26654.1505232...@sss.pgh.pa.us
  
https://git.postgresql.org/pg/commitdiff/16827d442448d1935ed644e944a4cb8213345351

- Ensure sizeof(GenerationChunk) is maxaligned.  Per buildfarm.  Also improve
  some comments.
  
https://git.postgresql.org/pg/commitdiff/07bd77b95a7846de2b193d1574951436d5783800

- Fix unstable regression test added by commits 59b71c6fe et al.  The query
  didn't really have a preferred index, leading to platform- specific choices of
  which one to use.  Adjust it to make sure tenk1_hundred is always chosen.  Per
  buildfarm.
  
https://git.postgresql.org/pg/commitdiff/e842791b0f99dd2005fc2d1754755a632514e5e5

- Fix bug in generation.c's valgrind support.  This doesn't look like the last
  such bug, but it's one that the test_decoding regression test is tripping
  over.  Per buildfarm.  Tomas Vondra Discussion:
  https://postgr.es/m/c903f275-2150-fa52-64bf-dca7b53eb...@fuzzy.cz
  
https://git.postgresql.org/pg/commitdiff/cc3c4af4a948e5c5be22afe769bab41235c574e5

- Mostly-cosmetic improvements in memory chunk header alignment coding.  Add
  commentary about what we're doing and why.  Apply the method used for padding
  in GenerationChunk to AllocChunkData, replacing the rather ad-hoc solution
  used in commit 7e3aa03b4.  Reorder fields in GenerationChunk so that the
  padding calculation will work even if sizeof(size_t) is different from
  sizeof(void *) --- likely that will never happen, but we don't need the
  assumption if we do it like this.  Improve static assertions about alignment.
  In passing, fix a couple of oversights in the "large chunk" path in
  GenerationAlloc().  Discussion:
  https://postgr.es/m/e1eha4j-0006hi...@gemulon.postgresql.org
  
https://git.postgresql.org/pg/commitdiff/f65d21b258085bdc8ef2cc282ab1ff12da9c595c

- Improve valgrind logic in aset.c, and fix multiple issues in generation.c.
  Revise aset.c so that all the "private" fields of chunk headers are marked
  NOACCESS when outside the module, improving on the previous coding which
  protected only requested_size.  Fix a couple of corner case bugs, such as
  failing to re-protect the header during a failure exit from AllocSetRealloc,
  and wrong padding-size calculation for an oversize allocation request.  Apply
  the same design to generation.c, and also fix several bugs therein that I
  found by dint of hacking the code to use generation.c as the standard
  allocator and then running the core regression tests with it.  Notably, we
  have to track the actual size of each block, else the wipe_mem call in
  GenerationReset clears the wrong amount of memory for an oversize-chunk block;
  and GenerationCheck needs a way of identifying freed chunks that isn't fooled
  by palloc(0).  I chose to fix the latter by resetting the context pointer to
  NULL in a freed chunk, roughly like what happens in a freed aset.c chunk.
  Discussion: https://postgr.es/m/e1eha4j-0006hi...@gemulon.postgresql.org
  
https://git.postgresql.org/pg/commitdiff/0f2458ff5f970cade04313f1a10fe01d02f888b7

- Improve planner's handling of set-returning functions in grouping columns.
  Improve query_is_distinct_for() to accept SRFs in the targetlist when we can
  prove distinctness from a DISTINCT clause.  In that case the de-duplication
  will surely happen after SRF expansion, so the proof still works.  Continue to
  punt in the case where we'd try to prove distinctness from GROUP BY (or, in
  the future, source relations).  To do that, we'd have to determine whether the
  SRFs were in the grouping columns or elsewhere in the tlist, and it still
  doesn't seem worth the trouble.  But this trivial change allows us to
  recognize that "SELECT DISTINCT unnest(foo) FROM ..." produces unique-ified
  output, which seems worth having.  Also, fix estimate_num_groups() to consider
  the possibility of SRFs in the grouping columns.  Its failure to do so was
  masked before v10 because grouping_planner() scaled up plan rowcount estimates
  by the estimated SRF multiplier after performing grouping.  That doesn't
  happen anymore, which is more correct, but it means we need an adjustment in
  the estimate for the number of groups.  Failure to do this leads to an
  underestimate for the number of output rows of subqueries like "SELECT
  DISTINCT unnest(foo)" compared to what 9.6 and earlier estimated, thus
  breaking plan choices in some cases.  Per report from Dmitry Shalashov.
  Back-patch to v10 to avoid degraded plan choices compared to previous
  releases.  Discussion:
  
https://postgr.es/m/CAKPeCUGAeHgoh5O=SvcQxREVkoX7UdeJUMj1F5=abnvota+...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/df3a66e282b66971b3c08896176b95f745466a64

- Update buffile.h/.c comments for removal of non-temp option.  Commit 11e264517
  removed BufFile's isTemp flag, thereby eliminating the possibility of
  resurrecting BufFileCreate().  But it left that function in place, as well as
  a bunch of comments describing how things worked for the non-temp-file case.
  At best, that's now a source of confusion.  So remove the
  long-since-commented-out function and change relevant comments.  I (tgl)
  wanted to rename BufFileCreateTemp() to BufFileCreate(), but that seems not to
  be the consensus position, so leave it as-is.  In passing, fix commit
  f0828b2fc's failure to update BufFileSeek's comment to match the change of its
  argument type from long to off_t.  (I think that might actually have been
  intentional at the time, but now that 64-bit off_t is nearly universal, it
  looks anachronistic.) Thomas Munro and Tom Lane Discussion:
  https://postgr.es/m/e1efvyl-0008j1...@gemulon.postgresql.org
  
https://git.postgresql.org/pg/commitdiff/ab97aaac8f058f2e16ef08655d185db20bc241d3

- Repair failure with SubPlans in multi-row VALUES lists.  When nodeValuesscan.c
  was written, it was impossible to have a SubPlan in VALUES --- any sub-SELECT
  there would have to be uncorrelated and thereby would produce an InitPlan
  instead.  We therefore took a shortcut in the logic that throws away a
  ValuesScan's per-row expression evaluation data structures.  This was broken
  by the introduction of LATERAL however; a sub-SELECT containing a lateral
  reference produces a correlated SubPlan.  The cleanest fix for this would be
  to give up the optimization of discarding the expression eval state.  But that
  still seems pretty unappetizing for long VALUES lists.  It seems to work to
  just prevent the subexpressions from hooking into the ValuesScan node's
  subPlan list, so let's do that and see how well it works.  (If this breaks,
  due to additional connections between the subexpressions and the outer query
  structures, we might consider compromises like throwing away data only for
  VALUES rows not containing SubPlans.) Per bug #14924 from Christian Duta.
  Back-patch to 9.3 where LATERAL was introduced.  Discussion:
  https://postgr.es/m/20171124120836.1463.5...@wrigleys.postgresql.org
  
https://git.postgresql.org/pg/commitdiff/9b63c13f0a213bfb38bb70a3df3f28cc1f496b30

- Avoid formally-undefined use of memcpy() in hstoreUniquePairs().
  hstoreUniquePairs() often called memcpy with equal source and destination
  pointers.  Although this is almost surely harmless in practice, it's undefined
  according to the letter of the C standard.  Some versions of valgrind will
  complain about it, and some versions of libc as well (cf. commit ad520ec4a).
  Tweak the code to avoid doing that.  Noted by Tomas Vondra.  Back-patch to all
  supported versions because of the hazard of libc assertions.  Discussion:
  https://postgr.es/m/bf84d940-90d4-de91-19dd-612e01100...@fuzzy.cz
  
https://git.postgresql.org/pg/commitdiff/d3f4e8a8a78be60f3a971f1f8ef6acc2d0576e5f

- Replace raw timezone source data with IANA's new compact format.
  Traditionally IANA has distributed their timezone data in pure source form,
  replete with extensive historical comments.  As of release 2017c, they've
  added a compact single-file format that omits comments and abbreviates command
  keywords.  This form is way shorter than the pure source, even before
  considering its allegedly better compressibility.  Hence, let's distribute the
  data in that form rather than pure source.  I'm pushing this now, rather than
  at the next timezone database update, so that it's easy to confirm that this
  data file produces compiled zic output that's identical to what we were
  getting before.  Discussion: https://postgr.es/m/1915.1511210...@sss.pgh.pa.us
  
https://git.postgresql.org/pg/commitdiff/7cce222c965dec93327692dbac9c340a6220afe9

- Update MSVC build process for new timezone data.  Missed this dependency in
  commits 7cce222c9 et al.
  
https://git.postgresql.org/pg/commitdiff/6d4ae6a8e782d87ffb6aab62f75787b2722daa2d

- Pad XLogReaderState's main_data buffer more aggressively.  Originally, we
  palloc'd this buffer just barely big enough to hold the largest xlog record
  seen so far.  It turns out that that can result in valgrind complaints,
  because some compilers will emit code that assumes it can safely fetch padding
  bytes at the end of a struct, and those padding bytes were unallocated so far
  as aset.c was concerned.  We can fix that by MAXALIGN'ing the palloc request
  size, ensuring that it is big enough to include any possible padding that
  might've been omitted from the on-disk record.  An additional objection to the
  original coding is that it could result in many repeated palloc cycles, in the
  worst case where we see a series of gradually larger xlog records.  We can
  ameliorate that cheaply by imposing a minimum buffer size that's large enough
  for most xlog records.  BLCKSZ/2 was chosen after a bit of discussion.  In
  passing, remove an obsolete comment in struct xl_heap_new_cid that the
  combocid field is free due to alignment considerations.  Perhaps that was true
  at some point, but it's not now.  Back-patch to 9.5 where this code came in.
  Discussion: https://postgr.es/m/e1eha4j-0006hi...@gemulon.postgresql.org
  
https://git.postgresql.org/pg/commitdiff/8735978e7aebfbc499843630131c18d1f7346c79

Magnus Hagander pushed:

- Fix typo.  Daniel Gustafsson
  
https://git.postgresql.org/pg/commitdiff/2393194c0dded22972f03dd53dcbf864dab8ebc6

Noah Misch pushed:

- Build src/test/isolation during "make" and "make install".  This hack closes a
  race condition in "make -j check-world" and "make -j installcheck-world".
  Back-patch to v10, before which these parallel invocations had worse problems.
  Discussion: https://postgr.es/m/20171106080752.ga1298...@rfd.leadboat.com
  
https://git.postgresql.org/pg/commitdiff/de0aca6a82af9c04cb4634d091ab065763fd4d5a

- Support linking with MinGW-built Perl.  This is necessary for ActivePerl 5.18
  onwards and for Strawberry Perl.  It is not sufficient for 32-bit builds with
  newer Visual Studio; these fail with error LINK2026.  Back-patch to 9.3 (all
  supported versions).  Reported by Victor Wagner.  Discussion:
  https://postgr.es/m/20160326154321.7754a...@wagner.wagner.home
  
https://git.postgresql.org/pg/commitdiff/84c4313c6f6a3f67ccc2296e5a7674dee1979e7a

Fujii Masao pushed:

- doc: mention wal_receiver_status_interval as GUC affecting logical rep worker.
  wal_receiver_timeout, wal_receiver_status_interval and
  wal_retrieve_retry_interval configuration parameters affect the logical rep
  worker, but previously only wal_receiver_status_interval was not mentioned as
  such parameter in the doc.  Back-patch to v10 where logical rep was added.
  Author: Masahiko Sawada Discussion:
  
https://www.postgresql.org/message-id/CAD21AoBUnuH_UsnKXyPCsCR7EAMamW0sSb6a7=wgiqrpnma...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/2f8d6369e60a244f28e0c93b8a02e73758322915

Peter Eisentraut pushed:

- Convert documentation to DocBook XML.  Since some preparation work had already
  been done, the only source changes left were changing empty-element tags like
  <xref linkend="foo"> to <xref linkend="foo"/>, and changing the DOCTYPE.  The
  source files are still named *.sgml, but they are actually XML files now.
  Renaming could be considered later.  In the build system, the intermediate
  step to convert from SGML to XML is removed.  Everything is build straight
  from the source files again.  The OpenSP (or the old SP) package is no longer
  needed.  The documentation toolchain instructions are updated and are much
  simpler now.  Peter Eisentraut, Alexander Lakhin, Jürgen Purtz
  
https://git.postgresql.org/pg/commitdiff/3c49c6facb22cdea979f5d1465ba53f972d32163

Andres Freund pushed:

- Fix handling of NULLs returned by aggregate combine functions.  When strict
  aggregate combine functions, used in multi-stage/parallel aggregation,
  returned NULL, we didn't check for that, invoking the combine function with
  NULL the next round, despite it being strict.  The equivalent code invoking
  normal transition functions has a check for that situation, which did not get
  copied in a7de3dc5c346. Fix the bug by adding the equivalent check.  Based on
  a quick look I could not find any strict combine functions in core actually
  returning NULL, and it doesn't seem very likely external users have done so.
  So this isn't likely to have caused issues in practice.  Add tests verifying
  transition / combine functions returning NULL is tested.  Reported-By: Andres
  Freund Author: Andres Freund Discussion:
  https://postgr.es/m/20171121033642.7xvmjqrl4jdaa...@alap3.anarazel.de
  Backpatch: 9.6, where parallel aggregation was introduced
  
https://git.postgresql.org/pg/commitdiff/59b71c6fe6ca89566f40439bcdff94a2f5b39a92

Dean Rasheed pushed:

- Doc: add a summary table to the CREATE POLICY docs.  This table summarizes
  which RLS policy expressions apply to each command type, and whether they
  apply to the old or new tuples (or both), which saves reading through a lot of
  text.  Rod Taylor, hacked on by me. Reviewed by Fabien Coelho.  Discussion:
  
https://postgr.es/m/CAHz80e4HxJShm6m9ZWFrHW=pgd2KP=rzmffneccujtpmiao...@mail.gmail.com
  
https://git.postgresql.org/pg/commitdiff/87c2a17fee784c7e1004ba3d3c5d8147da676783

- Fix broken XML in CREATE POLICY sgml.  Commit 87c2a17fee failed to close some
  tags (necessary now that the SGML docs are in fact XML).
  
https://git.postgresql.org/pg/commitdiff/26329ad8dcc78eb651ab61f6b17c4f5f7bb77323

- RLS comment fixes.  The comments in get_policies_for_relation() say that
  CREATE POLICY does not support defining restrictive policies. This is no
  longer true, starting from PG10.
  
https://git.postgresql.org/pg/commitdiff/9c55391f0f277318c754f89950e65363ede4136e

Joe Conway pushed:

- Make has_sequence_privilege support WITH GRANT OPTION.  The various
  has_*_privilege() functions all support an optional WITH GRANT OPTION added to
  the supported privilege types to test whether the privilege is held with grant
  option. That is, all except has_sequence_privilege() variations. Fix that.
  Back-patch to all supported branches.  Discussion:
  https://postgr.es/m/005147f6-8280-42e9-5a03-dd2c1e439...@joeconway.com
  
https://git.postgresql.org/pg/commitdiff/752714dd9de3d1b919d582ddaac96425a6cfa66d

== Pending Patches ==

Anthony Bykov sent in another revision of a patch to implement a Jsonb TRANSFORM
for PL/PythonU.

Alexander Korotkov sent in another revision of a patch to fix KNN and negative
coordinate handling for contrib/cube.

Brian Cloutier sent in another revision of a patch to add PGDLLIMPORT lines to
some variables.

Martín Marqués sent in a patch to quiet MSVC's warnings about isatty().

Masahiko Sawada sent in three more revisions of a patch to fix an assertion
failure when a non-exclusive pg_stop_backup is aborted.

Martín Marqués sent in two more revisions of a patch to make pg_basebackup use
isatty().

Ildar Musin sent in a patch to remove the redundant IndexTupleDSize macro.

Masahiko Sawada sent in another revision of a patch to move relation extension
locks out of the heavyweight lock manager.

Alik Khilazhev and Fabien COELHO traded patches to add a Zipfian distribution to
pgbench.

Michaël Paquier and Peter Eisentraut traded patches to allow SSL connection from
a v11 client to a v10 server with SCRAM channel binding.

Torikoshi Atsushi sent in four revisions of a patch to ensure that old
ReorderBuffer spilled files are deleted.

Tomas Vondra sent in two revisions of a patch to implement a custom lz4
compression method atop Ildus Kurbangaliev's patch which enables such
customizations.

高增琦 (GaoZengqi) sent in two more revisions of a patch to add a dependency
between client executables and static libraries.

Huong Dangminh sent in another revision of a patch to fix the slot_store error
callback.

Sophie Herold sent in a patch to add a pg_to_typemod() function.

Masahiko Sawada sent in another revision of a patch to correctly establish the
replication status with logical replication.

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

Amit Khandekar and Amit Langote traded patches to make UPDATE that changes a
partition key to another partition Just Work.

Amit Khandekar and Amul Sul traded patches to implement parallel Append.

Ildus Kurbangaliev sent in two more revisions of a patch to implement custom
compression methods.

Michaël Paquier sent in two more revisions of a patch to add a connection
parameter "saslchannelbinding" and implement channel binding
tls-server-end-point for SCRAM.

Kyotaro HORIGUCHI sent in another revision of a patch to show index scans of the
last vacuum in pg_stat_all_tables, and add vacuum_required, vacuum execution
status and truncation information to pg_stat_all_tables.

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

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

Artur Zakirov sent in another revision of a patch to fix a bug in how
to_timestamp() worked in the case of an FX prefix.

Rushabh Lathia and Amit Langote traded patches to fix an issue where range
partition didn't handle NULL partition keys.

Amit Langote sent in another revision of a patch to make partition pruning
faster.

Rushabh Lathia sent in a patch to fix a typo in the
ExecBuildSlotPartitionKeyDescription prologue.

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

Nikhil Sontakke sent in another revision of a patch to implement logical
decoding of two-phase transactions.

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

Amit Kapila and Rafia Sabih traded patches to speed up processing at Gather
nodes.

Thomas Munro sent in another revision of a patch to support huge pages on
Windows.

Amit Langote sent in a patch to allow ON CONFLICT DO NOTHING on partitioned
tables.

Etsuro Fujita sent in another revision of a patch to support tuple routing for
foreign partitions.

Antonin Houska sent in another revision of a patch to enable separate logging
per extension.

Pavel Stěhule sent in another revision of a patch to add default namespaces for
XPath expressions.

Oliver Ford sent in a patch to add RANGE with values and exclusions clauses to
the Window Functions.

Michaël Paquier sent in another revision of a patch to refactor syscache
routines to get attribute name, extend lookup routines for FDW and foreign
server with NULL handling, refactor routines for subscription and publication
lookups, and eliminate user-visible cache lookup errors for objaddr SQL
functions.

Fabien COELHO sent in a patch to add \if to pgbench.

Tomas Vondra sent in a patch to fix an issue in multivariate histograms and MCV
lists.

Mark Dilger sent in two revisions of a patch to clean up some code in
extended_stats.c.

Hadi Moshayedi sent in a patch to fix a crash in int8_avg_combine().

Yura Sokolov sent in another revision of a patch to fix performance degradation
of contended LWLock on NUMA.



-- 
Sent via pgsql-announce mailing list (pgsql-announce@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

Reply via email to