== PostgreSQL Weekly News - May 26, 2019 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - May 26, 2019 ==
Date: 2019-05-26 16:53:48
Message-ID: 20190526165347.GA5642@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)fetter(dot)org(dot)

== 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(dot)ryo(at)jp(dot)fujitsu(dot)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.

Browse pgsql-announce by date

  From Date Subject
Next Message Mahadevan Ramachandran 2019-05-27 07:37:52 pgmetrics 1.7 released
Previous Message User Hiroshi 2019-05-24 14:30:38 psqlODBC 11.01.0000 Released