== PostgreSQL Weekly News - May 26, 2019 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - May 26, 2019 ==
Date
Msg-id 20190526165347.GA5642@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - May 26, 2019 ==

PostgreSQL 12 Beta 1 released.  Test thorougly!
https://www.postgresql.org/about/news/1943/

== PostgreSQL Product News ==

barman 2.8, a backup and recovery manager for PostgreSQL, released.
https://www.pgbarman.org/barman-2-8-released/

dbForge Studio for PostgreSQL released.
https://blog.devart.com/whats-new-dbforge-studio-pgsql-21.html

pg_probackup 2.1.2, a utility to manage backup and recovery of PostgreSQL
database clusters, released.
https://github.com/postgrespro/pg_probackup

== PostgreSQL Jobs for May ==

http://archives.postgresql.org/pgsql-jobs/2019-05/

== PostgreSQL Local ==

PGCon 2019 will take place in Ottawa on May 28-31, 2019. Registration is open.
https://www.pgcon.org/2019

pgibz will be held in Ibiza, Spain on June 19-23, 2019. The CfP is open.
https://pgibz.io/

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

PostgresLondon 2019 will be July 2-3, 2019 with an optional training day on
July 1.
http://postgreslondon.org

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

The first Austrian pgDay, will take place September 6, 2019 at the Hilton Garden
Inn in Wiener Neustadt.
https://pgday.at/en/

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

== 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 to david@fetter.org.

== Applied Patches ==

Tom Lane pushed:

- Improve logrotate test so that it meaningfully exercises syslogger. Discussion
  of bug #15804 reveals that this test didn't really prove that the syslogger
  child process ever launched successfully, much less did anything.  It was only
  checking that the expected log file gets created, and that's done in the
  postmaster.  Moreover, the test assumed it could rename the log file, which is
  likely to fail on Windows (cf. commit d611175e5).  Instead, use the default
  log file name pattern, which should result in a new file name being chosen
  after 1 second, and verify that rotation has occurred by checking for a new
  file name.  Also add code to test that messages actually do propagate through
  the syslogger.  In theory this version of the test should work on Windows, so
  revert d611175e5.  Discussion:
  https://postgr.es/m/15804-3721117bf40fb654@postgresql.org
  https://git.postgresql.org/pg/commitdiff/9d5c22d28f8c161aa729d841aeec936c646044d4

- Stamp 12beta1.
  https://git.postgresql.org/pg/commitdiff/a240570b1e3802d1e82da08a9d72abeade370249

- Doc: improve description of regexp character classes. Define the meanings of
  the POSIX-spec character classes in line, rather than referring to the
  ctype(3) man page.  That man page doesn't even exist on many modern systems,
  and if it does exist it probably says the wrong things about non-ASCII
  characters. Also document our non-POSIX-spec "ascii" character class.  Also,
  point out here that this behavior is controlled by collation or LC_CTYPE,
  since the existing text explaining that is pretty far away.  Per gripe from
  Geert Lobbestael.  Given the lack of prior complaints, I'm not excited about
  back-patching this.  Discussion:
  https://postgr.es/m/155837022049.1359.2948065118562813468@wrigleys.postgresql.org
  https://git.postgresql.org/pg/commitdiff/cf92226e9f7f985a678287167b954a831a3b660c

- Insert temporary debugging output in regression tests. We're seeing occasional
  instability in the plans generated for parallel queries on the "a_star" table
  hierarchy.  This suggests that something is changing the planner's stats for
  those tables, but that should not be happening within a regression test run.
  To try to gather some information about what's happening, insert additional
  queries to check the basic page/tuple counts for these tables, as well as
  whether any vacuums or analyzes have happened on them.  (We expect that only
  the database-wide VACUUM in sanity_check.sql will have touched them.)  I added
  the probes not only in select_parallel.sql itself, but also in stats.sql,
  bearing in mind that the stats collector's lag may prevent the initial query
  from reporting current truth. If any extra vacuum/analyze has happened, the
  recheck in stats.sql definitely ought to see it.  This commit can be reverted
  once we figure out what's going on.  Per suggestion from David Rowley, though
  I changed the queries around.  Discussion:
  https://postgr.es/m/CA+hUKG+0CxrKRWRMf5ymN3gm+BECHna2B-q1w8onKBep4HasUw@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/f03a9ca4366d064d89b7cf7ed75d4e43f2ed0667

- Make pg_upgrade's test.sh less chatty. The use of "set -x" to echo a subset of
  the test's commands might've been a good idea during development of this test,
  but it's been stable for long enough now that the extra output isn't very
  useful.  Also our project expectations have been trending towards less output
  in non-error cases; the fact that "set -x" produces output on stderr is
  particularly annoying from that standpoint.  So get rid of it.  Also, pass "-A
  trust" to initdb explicitly so that it won't issue a warning about "trust"
  being an insecure default.  This matches what the TAP tests have done for a
  long time, and again gets rid of some noise on stderr.  Discussion:
  https://postgr.es/m/21766.1558397960@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/eb9812f272db8e93416831e5254569b76edf8264

- Un-break pg_upgrade regression test. Commit 5af2e976d removed a bit too much
  from the test.sh invocation. Per buildfarm.
  https://git.postgresql.org/pg/commitdiff/5eb4a51cb15166392ca3ede6ec58f8f1f820ef53

- In transam.h, don't expose static inline functions to frontend code. That
  leads to unsatisfied external references if the C compiler fails to elide
  unused static functions.  Apparently, we have no buildfarm members building
  HEAD that have that issue ... but such compilers still exist in the wild.
  Need to do something about that.  In passing, fix Berkeley-era typo in
  comment.  Discussion: https://postgr.es/m/27054.1558533367@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/4fbf809e13c3ba09c4f03d148cb58767e56f67f1

- Add .gitignore entries for new ecpg test case. Oversight in commit
  a1dc6ab465986a62b308dd1bb8da316b5ed9685a.
  https://git.postgresql.org/pg/commitdiff/4a657ab260499381c645673ca1c3255adc0b2ace

- Fix O(N^2) performance issue in pg_publication_tables view. The original
  coding of this view relied on a correlated IN sub-query. Our planner is not
  very bright about correlated sub-queries, and even if it were, there's no way
  for it to know that the output of pg_get_publication_tables() is
  duplicate-free, making the de-duplicating semantics of IN unnecessary.  Hence,
  rewrite as a LATERAL sub-query. This provides circa 100X speedup for me with a
  few hundred published tables (the whole regression database), and things would
  degrade as roughly O(published_relations * all_relations) beyond that.
  Because the rules.out expected output changes, force a catversion bump.
  Ordinarily we might not want to do that post-beta1; but we already know we'll
  be doing a catversion bump before beta2 to fix pg_statistic_ext issues, so
  it's pretty much free to fix it now instead of waiting for v13.  Per report
  and fix suggestion from PegoraroF10.  Discussion:
  https://postgr.es/m/1551385426763-0.post@n3.nabble.com
  https://git.postgresql.org/pg/commitdiff/166f69f769c83ef8759d905bf7f1a9aa1d97a340

- Initial pgindent run for v12. This is still using the 2.0 version of
  pg_bsd_indent. I thought it would be good to commit this separately, so as to
  document the differences between 2.0 and 2.1 behavior.  Discussion:
  https://postgr.es/m/16296.1558103386@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/be76af171cdb3e7465c4ef234af403f97ad79b7b

- Phase 2 pgindent run for v12. Switch to 2.1 version of pg_bsd_indent.  This
  formats multiline function declarations "correctly", that is with additional
  lines of parameter declarations indented to match where the first line's left
  parenthesis is.  Discussion:
  https://postgr.es/m/CAEepm=0P3FeTXRcU5B2W3jv3PgRVZ-kGUXLGfd42FFhUROO3ug@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/8255c7a5eeba8f1a38b7a431c04909bde4f5e67d

- Initial pgperltidy run for v12. Make all the perl code look nice, too (for
  some value of "nice").
  https://git.postgresql.org/pg/commitdiff/db6e2b4c52ade524f3db419d75084728e96e1f9c

- Doc: fix typo in pgbench random_zipfian() documentation. Per bug #15819 from
  Koizumi Satoru.  Discussion:
  https://postgr.es/m/15819-e6191bef1f7334c0@postgresql.org
  https://git.postgresql.org/pg/commitdiff/591fb289c3eef010ee1bb271a54fab7da385c4cd

- Fix thinko in new ECPG "PREPARE AS" code.  ecpg_register_prepared_stmt() is
  pretty obviously checking the wrong variable while trying to detect malloc
  failure.  Error in commit a1dc6ab46, spotted by Coverity.
  https://git.postgresql.org/pg/commitdiff/331695a4d9ca40864240aca721dc588a206ff395

- Fix more thinkos in new ECPG "PREPARE AS" code.  ecpg_build_params() failed to
  check for ecpg_alloc failure in one newly-added code path, and leaked a
  temporary string in another path.  Errors in commit a1dc6ab46, spotted by
  Coverity.
  https://git.postgresql.org/pg/commitdiff/39fe881d3cf315d8d2ea9ee4ea1e3e39a82d5cc7

Noah Misch pushed:

- In the pg_upgrade test suite, don't write to src/test/regress. When this suite
  runs installcheck, redirect file creations from src/test/regress to
  src/bin/pg_upgrade/tmp_check/regress.  This closes a race condition in "make
  -j check-world".  If the pg_upgrade suite wrote to a given
  src/test/regress/results file in parallel with the regular src/test/regress
  invocation writing it, a test failed spuriously.  Even without parallelism, in
  "make -k check-world", the suite finishing second overwrote the other's
  regression.diffs.  This revealed test "largeobject" assuming @abs_builddir@ is
  getcwd(), so fix that, too.  Buildfarm client REL_10, released forty-five days
  ago, supports saving regression.diffs from its new location.  When an older
  client reports a pg_upgradeCheck failure, it will no longer include
  regression.diffs. Back-patch to 9.5, where pg_upgrade moved to src/bin.
  Reviewed by Andrew Dunstan.  Discussion:
  https://postgr.es/m/20181224034411.GA3224776@rfd.leadboat.com
  https://git.postgresql.org/pg/commitdiff/bd1592e8570282b1650af6b8eede0016496daecd

- Revert "In the pg_upgrade test suite, don't write to src/test/regress.". This
  reverts commit bd1592e8570282b1650af6b8eede0016496daecd.  It had multiple
  defects.  Discussion: https://postgr.es/m/12717.1558304356@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/ae35e1c9d74afc3b1e7572ad60781946fdf71e95

Andres Freund pushed:

- Don't to predicate lock for analyze scans, refactor scan option passing.
  Before this commit, when ANALYZE was run on a table and serializable was used
  (either by virtue of an explicit BEGIN TRANSACTION ISOLATION LEVEL
  SERIALIZABLE, or default_transaction_isolation being set to serializable) a
  null pointer dereference lead to a crash.  The analyze scan doesn't need a
  snapshot (nor predicate locking), but before this commit a scan only contained
  information about being a bitmap or sample scan.  Refactor the option passing
  to the scan_begin callback to use a bitmask instead. Alternatively we could
  have added a new boolean parameter, but that seems harder to read. Even before
  this issue various people (Heikki, Tom, Robert) suggested doing so.  These
  changes don't change the scan APIs outside of tableam. The flags argument
  could be exposed, it's not necessary to fix this problem. Also the wrapper
  table_beginscan* functions encapsulate most of that complexity.  After these
  changes fixing the bug is trivial, just don't acquire predicate lock for
  analyze style scans. That was already done for bitmap heap scans.  Add an
  assert that a snapshot is passed when acquiring the predicate lock, so this
  kind of bug doesn't require running with serializable.  Also add a comment
  about sample scans currently requiring predicate locking the entire relation,
  that previously wasn't remarked upon.  Reported-By: Joe Wildish Author: Andres
  Freund Discussion:
  https://postgr.es/m/4EA80A20-E9BF-49F1-9F01-5B66CAB21453@elusive.cx
  https://postgr.es/m/20190411164947.nkii4gaeilt4bui7@alap3.anarazel.de
  https://postgr.es/m/20190518203102.g7peu2fianukjuxm@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/c3b23ae457ddc8b7bfacb3c0569278615a2df2cd

- Fix and improve SnapshotType comments. The comment for SNAPSHOT_SELF was
  unfortunately explaining SNAPSHOT_DIRTY, as reported by Sergei. Also expand a
  few comments, and include a few more comments from heapam_visibility.c, so
  they're in an AM independent place.  Reported-By: Sergei Kornilov Author:
  Andres Freund Discussion:
  https://postgr.es/m/9152241558192351@sas1-d856b3d759c7.qloud-c.yandex.net
  https://git.postgresql.org/pg/commitdiff/78d6a9cbd3438969ac87b9f1aaf0f07226636ed7

- Minimally fix partial aggregation for aggregates that don't have one argument.
  For partial aggregation combine steps, AggStatePerTrans->numTransInputs was
  set to the transition function's number of inputs, rather than the combine
  function's number of inputs (always 1).  That lead to partial aggregates with
  strict combine functions to wrongly check for NOT NULL input as required by
  strictness. When the aggregate wasn't exactly passed one argument, the
  strictness check was either omitted (in the 0 args case) or too many arguments
  were checked. In the latter case we'd read beyond the end of
  FunctionCallInfoData->args (only in master).  AggStatePerTrans->numTransInputs
  actually has been wrong since since 9.6, where partial aggregates were added.
  But it turns out to not be an active problem in 9.6 and 10, because
  numTransInputs wasn't used at all for combine functions: Before c253b722f6
  there simply was no NULL check for the input to strict trans functions, and
  after that the check was simply hardcoded for the right offset in fcinfo, as
  it's done by code specific to combine functions.  In bf6c614a2f2 (11) the
  strictness check was generalized, with common code doing the strictness checks
  for both plain and combine transition functions, based on numTransInputs. For
  combine functions this lead to not emitting an expression step to check for
  strict input in the 0 arguments case, and in the > 1 arguments case, we'd
  check too many arguments.Due to the fact that the relevant fcinfo->isnull[2..]
  was always zero-initialized (more or less by accident, by being part of the
  AggStatePerTrans struct, which is palloc0'ed), there was no observable damage
  in the latter case before a9c35cf85ca1f, we just checked too many array
  elements.  Due to the changes in a9c35cf85ca1f, > 1 argument bug became
  visible, because these days fcinfo is a) dynamically allocated without being
  zeroed b) exactly the length required for the number of specified arguments
  (hardcoded to 2 in this case).  This commit only contains a fairly minimal
  fix, setting numTransInputs to a hardcoded 1 when building a pertrans for a
  combine function. It seems likely that we'll want to clean this up further
  (e.g. the arguments build_pertrans_for_aggref() aren't particularly meaningful
  for combine functions). But the wrap date for 12 beta1 is coming up fast, so
  it seems good to have a minimal fix in place.  Backpatch to 11. While
  AggStatePerTrans->numTransInputs was set wrongly before that, the value was
  not used for combine functions.  Reported-By: Rajkumar Raghuwanshi
  Diagnosed-By: Kyotaro Horiguchi, Jeevan Chalke, Andres Freund, David Rowley
  Author: David Rowley, Kyotaro Horiguchi, Andres Freund Discussion:
  https://postgr.es/m/CAKcux6=uZEyWyLw0N7HtR9OBc-sWEFeByEZC7t-KDf15FKxVew@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/2657283256f1cab53d09d2c7db1ce9b7065193a0

- Remove outdated comment in copy.c.
  https://git.postgresql.org/pg/commitdiff/fb504c5e4b5ce71e703006375ee2f5e4b57d89c9

- Fix regression tests broken in fc7c281f87467. This shouldn't have been
  committed without even running the tests (nor were the tests added that were
  suggested). I'm fixing up the results to get the buildfarm back to green, it's
  quite possible we'll want to revert this later.
  https://git.postgresql.org/pg/commitdiff/47a14c99e4715dde7f570d050e1ddb6d21278bf8

- pg_upgrade: Avoid check target accidentally breaking make's --output-sync.
  When $(MAKE) is present in a rule, make assumes that target is a submake, and
  it doesn't need to buffer its output. But in this case it's a shell script
  that needs buffered output. Avoid that heuristic, by referring to $(MAKE) via
  an indirection.  Discussion:
  https://postgr.es/m/20190521004717.qsktdsugj3shagco@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/5af2e976d72aa345337596cc986237c57e1146b2

- pg_upgrade: Don't use separate installation for test. For pg_upgrade's test we
  (unless prevented by the caller via via NO_TEMP_INSTALL) built a separate
  installation. That causes an unnecessary slowdown after the infrastructure
  introduced by dcae5faccab (and unnecessarily duplicates code).  Author: Andres
  Freund Reviewed-By: Tom Lane Discussion:
  https://postgr.es/m/20190521191918.z7kwnrlj45mk2k67@alap3.anarazel.de
  https://postgr.es/m/20190521195209.qfzwfxvymguuwlu5@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/7005389b2ad17258bc3aa0a2427c4eb77fed1d09

- pg_upgrade: Make test.sh's installcheck use to-be-upgraded version's bindir.
  On master (after 700538) the old version's installed psql was used - even when
  the old version might not actually be installed / might be installed into a
  temporary directory. As commonly the case when just executing make check for
  pg_upgrade, as $oldbindir is just the current version's $bindir.  In the back
  branches, with --install specified, psql from the new version's temporary
  installation was used, without --install (e.g for NO_TEMP_INSTALL, cf
  47b3c26642), the new version's installed psql was used (which might or might
  not exist).  Author: Andres Freund Discussion:
  https://postgr.es/m/20190522175150.c26f4jkqytahajdg@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/f916221df5652b95c402847905bdf48950b5b281

- tableam: Rename wrapper functions to match callback names. Some of the wrapper
  functions didn't match the callback names. Many of them due to staying
  "consistent" with historic naming of the wrapped functionality. We decided
  that for most cases it's more important to be for tableam to be consistent
  going forward, than with the past.  The one exception is beginscan/endscan/...
  because it'd have looked odd to have systable_beginscan/endscan/... with a
  different naming scheme, and changing the systable_* APIs would have caused
  way too much churn (including breaking a lot of external users).  Author:
  Ashwin Agrawal, with some small additions by Andres Freund Reviewed-By: Andres
  Freund Discussion:
  https://postgr.es/m/CALfoeiugyrXZfX7n0ORCa4L-m834dzmaE8eFdbNR6PMpetU4Ww@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/73b8c3bd2889fed986044e15aefd0911f96ccdd3

Michaël Paquier pushed:

- Fix some grammar in documentation of spgist and pgbench. Discussion:
  https://postgr.es/m/92961161-9b49-e42f-0a72-d5d47e0ed4de@postgrespro.ru
  Author: Liudmila Mantrova Reviewed-by: Jonathan Katz, Tom Lane, Michael
  Paquier Backpatch-through: 9.4
  https://git.postgresql.org/pg/commitdiff/03310dbea9746439e9f0fdedce0fa298b8c4cc76

- Fix ordering of GRANT commands in pg_dump for database creation. This uses a
  method similar to 68a7c24f, which guarantees that GRANT commands using the
  WITH GRANT OPTION are dumped in a way so as cascading dependencies are
  respected.  As databases do not have support for initial privileges via
  pg_init_privs, we need to repeat again the same ACL reordering method.  ACL
  for databases have been moved from pg_dumpall to pg_dump in v11, so this
  impacts pg_dump for v11 and above, and pg_dumpall for v9.6 and v10.
  Discussion: https://postgr.es/m/15788-4e18847520ebcc75@postgresql.org Author:
  Nathan Bossart Reviewed-by: Haribabu Kommi Backpatch-through: 9.6
  https://git.postgresql.org/pg/commitdiff/b8c6014a65ee0819e8fe4c7536f72da0df5d8e46

- Remove -o/--oids from pg_dumpall. This has been forgotten in 578b229, which
  has removed support for WITH OIDS.  Discussion:
  https://postgr.es/m/CALAY4q99FcFCoG6ddke0V-AksGe82L_+bhDWgEfgZBakB840zA@mail.gmail.com
  Author: Surafel Temesgen
  https://git.postgresql.org/pg/commitdiff/657c2384c6c79c6ed0d6f71f811b2fc7c41f104a

- Fix ordering of GRANT commands in pg_dumpall for tablespaces. This uses a
  method similar to 68a7c24f and now b8c6014 (applied for database creation),
  which guarantees that GRANT commands using the WITH GRANT OPTION are dumped in
  a way so as cascading dependencies are respected.  Note that tablespaces do
  not have support for initial privileges via pg_init_privs, so the same method
  needs to be applied again.  It would be nice to merge all the logic generating
  ACL queries in dumps under the same banner, but this requires extending the
  support of pg_init_privs to objects that cannot use it yet, so this is left as
  future work.  Discussion:
  https://postgr.es/m/20190522071555.GB1278@paquier.xyz Author: Michael Paquier
  Reviewed-by: Nathan Bossart Backpatch-through: 9.6
  https://git.postgresql.org/pg/commitdiff/156c0c2dff403fd115f3a5f6d73ab80959c84129

- Fix table dump in pg_dump[all] with backends older than 9.5. The access method
  name "amname" can be dumped as of 3b925e90, but queries for backends older
  than 9.5 forgot to map it to a dummy NULL value, causing the column to not be
  mapped to a number.  As a result, pg_dump was throwing some spurious errors in
  its stderr output coming from libpq: pg_dump: column number -1 is out of range
  0..36  Fix this issue by adding a mapping of "amname" to NULL to all the older
  queries.  Discussion: https://postgr.es/m/20190522083038.GA16837@paquier.xyz
  Author: Michael Paquier Reviewed-by: Dmitry Dolgov, Andres Freund, Tom Lane
  https://git.postgresql.org/pg/commitdiff/54487d1560619a0027e0651d1b8d715ca8fc388c

Peter Eisentraut pushed:

- Remove bug.template file. It's outdated and not really in use anymore.
  Discussion:
  https://www.postgresql.org/message-id/flat/cf7ed2b1-1ebe-83cf-e05e-d5943f67af2d%402ndquadrant.com
  https://git.postgresql.org/pg/commitdiff/8bbb8166b63eeebd0cb618ddcf7dcaf8c4ba66f4

- Translation updates. Source-Git-URL:
  https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash:
  a20bf6b8a5b4e32450967055eb5b07cee4704edd
  https://git.postgresql.org/pg/commitdiff/3c439a58df83ae51f650cfae9878df1f9b70c4b8

- Convert ExecComputeStoredGenerated to use tuple slots. This code was still
  using the old style of forming a heap tuple rather than using tuple slots.
  This would be less efficient if a non-heap access method was used.  And using
  tuple slots is actually quite a bit faster when using heap as well.  Also add
  some test cases for generated columns with null values and with varlena
  values.  This lack of coverage was discovered while working on this patch.
  Discussion:
  https://www.postgresql.org/message-id/flat/20190331025744.ugbsyks7czfcoksd%40alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/66a4bad83aaa6613a45a00a488c04427f9969fb4

- Change Graphviz file extension. Change extension for Graphviz files from .dot
  to .gv.  The latter appears to be the generally preferred one nowadays.
  Discussion:
  https://www.postgresql.org/message-id/flat/71fe76d2-c7d7-2acc-6762-bbf9e61c566e%402ndquadrant.com
  https://git.postgresql.org/pg/commitdiff/41205719d34969018f708baa70d9d06dae0c0d08

Fujii Masao pushed:

- Make VACUUM accept 1 and 0 as a boolean value. Commit 41b54ba78e allowed
  existing VACUUM options to take a boolean argument. It's documented that valid
  boolean values that VACUUM can accept are true, false, on, off, 1, and 0. But
  previously the parser failed to accept 1 and 0 as a boolean value in VACUUM
  syntax because of a lack of NumericOnly clause for vac_analyze_option_arg in
  gram.y.  This commit adds such NumericOnly clause so that VACUUM options can
  take also 1 and 0 as a boolean value.  Discussion:
  https://postgr.es/m/CAHGQGwGYg82A8UCQxZe7Zn9MnyUBGdyB=1CNpKF3jBny+RbyfA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/fc7c281f87467c1ff24fd72e0cc313dd6a71873f

- Fix comment for issue_xlog_fsync(). "segno" is the argument for the function,
  not "log" and "seg".  Author: Antonin Houska Discussion:
  https://postgr.es/m/11863.1558361020@spoje.net
  https://git.postgresql.org/pg/commitdiff/b8e2170e40a151eb94079ce9cd791a712ed95342

- Mention ANALYZE boolean options in documentation. Commit 41b54ba78e allowed
  not only VACUUM but also ANALYZE options to take a boolean argument. But it
  forgot to update the documentation for ANALYZE. This commit adds the
  descriptions about those ANALYZE boolean options into the documentation.  This
  patch also updates tab-completion for ANALYZE boolean options.  Reported-by:
  Kyotaro Horiguchi Author: Fujii Masao Reviewed-by: Masahiko Sawada, Michael
  Paquier Discussion:
  https://postgr.es/m/CAHGQGwHTUt-kuwgiwe8f0AvTnB+ySqJWh95jvmh-qcoKW9YA9g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/03de5187d50af67d154a47cf00899290dca13003

Robert Haas pushed:

- tableam: Move heap-specific logic from needs_toast_table below tableam. This
  allows table AMs to completely suppress TOAST table creation, or to modify the
  conditions under which they are created.  Patch by me.  Reviewed by Andres
  Freund.  Discussion:
  http://postgr.es/m/CA+Tgmoa4O2n=yphqD2pERUnYmUO84bH1SqMsA-nSxBGsZ7gWfA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/1171d7d58545f26a402f76a05936d572bf29d53b

Bruce Momjian pushed:

- doc:  adjustments for PG 12 release notes. Mostly commit messages,
  attribution, and text, all suggested by Andres Freund.  Discussion:
  https://postgr.es/m/20190520221719.pqgld3krjc2docr5@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/32fe2e3194c7198ca4afdb6bea4ffa12466612b1

- doc:  fix markup for PG 12 rel notes.
  https://git.postgresql.org/pg/commitdiff/0fca8285ea533fa669a372c91fdb42265dcf7435

- doc:  adjust PG 12 relnotes item on float digit adjustment. Discussion:
  https://postgr.es/m/87y330d8ty.fsf@news-spur.riddles.org.uk
  https://git.postgresql.org/pg/commitdiff/b84a801d6a6737e6d84326b77d98b498402ecad0

- docs:  adjust RECORD PG 12 relnote item. Discussion:
  https://postgr.es/m/15486.1558393010@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/3468a04a3e498bab755909505e8f7b6023bea493

- docs:  PG 12 relnote adjustments based on feedback from Tom Lane. Discussion:
  https://postgr.es/m/22793.1558399695@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/8e719d33fd253fc378871ba4dbf2de41fd2ba462

- doc:  PG 12 relnotes,  correct recovery_target* variable mention. Clarify new
  restriction on recovery_target* variables.  Reported-by: Gaby Schilders
  Discussion: reported via chat
  https://git.postgresql.org/pg/commitdiff/ba95a6933632410d103d6f17cd3bc1adf92a08f9

- docs:  PG 12 release notes, support functions. Move support function mention
  to the proper section, and reword.  Reported-by: Tom Lane  Discussion:
  https://postgr.es/m/5121.1558472431@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/728840fe13acff7b03a4b1a813eeb8900ce5e469

Michael Meskes pushed:

- Implement PREPARE AS statement for ECPG. Besides implementing the new
  statement this change fix some issues with the parsing of PREPARE and EXECUTE
  statements. The different forms of these statements are now all handled in a
  ujnified way.  Author: Matsumura-san <matsumura.ryo@jp.fujitsu.com>
  https://git.postgresql.org/pg/commitdiff/a1dc6ab465986a62b308dd1bb8da316b5ed9685a

Andrew Gierth pushed:

- Fix array size allocation for HashAggregate hash keys. When there were
  duplicate columns in the hash key list, the array sizes could be miscomputed,
  resulting in access off the end of the array. Adjust the computation to ensure
  the array is always large enough.  (I considered whether the duplicates could
  be removed in planning, but I can't rule out the possibility that duplicate
  columns might have different hash functions assigned. Simpler to just make
  sure it works at execution time regardless.)  Bug apparently introduced in
  fc4b3dea2 as part of narrowing down the tuples stored in the hashtable.
  Reported by Colm McHugh of Salesforce, though I didn't use their patch.
  Backpatch back to version 10 where the bug was introduced.  Discussion:
  https://postgr.es/m/CAFeeJoKKu0u+A_A9R9316djW-YW3-+Gtgvy3ju655qRHR3jtdA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/44e95b5728a4569c494fa4ea4317f8a2f50a206b

Thomas Munro pushed:

- Fix typos. Reviewed-by: Michael Paquier Discussion:
  https://postgr.es/m/CA%2BhUKGJFWXmtYo6Frd77RR8YXCHz7hJ2mRy5aHV%3D7fJOqDnBHA%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/7988cb446d20512ec9d091db66dba6adee3f3d4b

- Update copyright year. Reviewed-by: Michael Paquier Discussion:
  https://postgr.es/m/CA%2BhUKGJFWXmtYo6Frd77RR8YXCHz7hJ2mRy5aHV%3D7fJOqDnBHA%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/4c9210f34c621639f896d57cf7bfb5e9be139c91

Amit Kapila pushed:

- Doc: fix incorrect references in PG 12 release notes. Reported-by: Euler
  Taveira Author: Euler Taveira Discussion:
  https://postgr.es/m/CAHE3wgjiA8DdnUzH9WqBLxdrUVvjDkKNdHx-MkEg9uV+HtpMfg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/02aa15de1b3821b0288a13dec71ce99f2e31fda5

- Fix typos. Reported-by: Alexander Lakhin Author: Alexander Lakhin Reviewed-by:
  Amit Kapila and Tom Lane Discussion:
  https://postgr.es/m/7208de98-add8-8537-91c0-f8b089e2928c@gmail.com
  https://git.postgresql.org/pg/commitdiff/9679345f3c5ec071f63db358581e28f06c8744a7

== Pending Patches ==

Noah Misch sent in a patch to remove the temp_root of the pg_upgrade test.

Thomas Munro sent in a patch to remove a bogus iso change.

Masahiko Sawada sent in another revision of a patch to clean up toast vacuum
index.

David Rowley sent in a patch to clean up nodeAgg.c

Rushabh Lathia sent in another revision of a patch to fix the behavior of
default tablespaces and partitions.

Justin Pryzby and Paul A Jungwirth traded patches to clean up the docs.

Matwey V. Kornilov sent in a patch to add an SP-GiST quadtree @<(point,circle)
operator.

Robert Haas sent in another revision of a patch to tableam which moves
heap-specific logic from needs_toast_table below tableam, which allows table AMs
to completely suppress TOAST table creation, or to modify the conditions under
which they are created.

Kyotaro HORIGUCHI sent in three more revisions of a patch to fix the
WAL-skipping feature.

Antonin Houska sent in another revision of a patch to consolidate reading of
XLOG pages.

Antonin Houska sent in a patch to use TupleTableSlotOps fields in a few more
places.

Robert Haas sent in another revision of a patch to split tuptoaster.c into three
separate files, create an API for inserting and deleting rows in TOAST tables,
and allow TOAST tables to be implemented using table AMs other than heap.

Paul A Jungwirth sent in two revisions of a patch to clarify the documentation
of partitioned tables referenced by foreign keys.

Andres Freund sent in another revision of a patch to teach the pg_upgrade test
to honor NO_TEMP_INSTALL.

Alexey Klyukin sent in a patch to fix a bug which manifested as deadlocks in
upgrades of row-level locks.

Daniel Gustafsson sent in a patch to use heap_multi_insert() for
pg_attribute/depend insertions.

Colm McHugh and Andrew Gierth traded patches to fix a write after end of array
in hashed agg initialization.

Michaël Paquier sent in a patch to fix a bug that manifested as pg_dump throwing
"column number -1 is out of range 0..36".

Antonin Houska and Kyotaro HORIGUCHI traded patches to remove page-read callback
from XLogReaderState.

Amit Khandekar sent in two more revisions of a patch to implement minimal
logical decoding on standbys.

Stas Kelvich sent in another revision of a patch to enforce read-only access to
temp tables in 2PC transactions.

Thomas Munro sent in a patch to drop IDENTIFICATION comment blocks.

Haribabu Kommi sent in a patch to support building with Microsoft Visual Studio
2019.

Fabien COELHO sent in another revision of a patch to add \aset to pgbench to
store the results of a combined query.

Fabien COELHO sent in another revision of a patch to skip pgbench progress
reports where needed.

Fabien COELHO sent in another revision of a patch to add a pseudo-random
permutation function to pgbench.

Fabien COELHO sent in another revision of a patch to add a SHOW_ALL_RESULTS
setting to psql.

Fabien COELHO sent in another revision of a patch to share str2*int64 functions.

Jonathan S. Katz sent in another revision of a patch to create a press release
draft.

David Rowley sent in a patch to fix excessive memory usage in multi-statement
queries w/ partitioning.

Tom Lane sent in a patch to suppress noise in successful check-world runs.

Ashwin Agrawal sent in another revision of a patch to implement Zedstore, a
compressed columnar store for PostgreSQL.

Tom Lane sent in another revision of a patch to fix some SQL-spec
incompatibilities in similar_escape() and related stuff.

David Rowley sent in a patch to clarify the fact that CREATE INDEX CONCURRENTLY
does not yet apply to partitioned indexes.

David Rowley sent in two more revisions of a patch to warn against creating too
many partitions.

David Rowley sent in another revision of a patch to convert NOT IN to
anti-joins.

Vik Fearing sent in a patch to fix an aggregate error message.

Fabien COELHO sent in a patch to fix a typo in the pgbench docs.

Jonathan S. Katz sent in a patch to add a warning about the client
authentication defaults that initdb provides.

Pavel Stěhule sent in another revision of a patch to implement schema variables.

Pavel Stěhule sent in another revision of a patch to implement commontype and
commontypearray.

Mark Dilger sent in a patch to fix some assumptions in indexam and tableam.

didier sent in a patch to avoid passing null pointers to memcpy() in
print_aligned_text().

Ashwin Agrawal sent in a patch to avoid confusing error message for REINDEX
CONCURRENTLY.

David Rowley sent in another revision of a patch to fix a performance issue in
foreign-key-aware join estimation.

David Rowley sent in another revision of a patch to improve runtime pruning
explain output.

Tom Lane sent in two more revisions of a patch to convert Lists to arrays.

Alexander Lakhin sent in a patch to fix some code notational inconsistencies.

David Rowley sent in a patch to clean up and speed up string functions.

Fabien COELHO sent in a patch to add a long (--relfilenode=) option to
pg_checksums.



pgsql-announce by date:

Previous
From: User Hiroshi
Date:
Subject: psqlODBC 11.01.0000 Released
Next
From: Mahadevan Ramachandran
Date:
Subject: pgmetrics 1.7 released