== PostgreSQL Weekly News - July 12, 2020 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - July 12, 2020 ==
Date: 2020-07-12 21:58:31
Message-ID: 20200712215831.GA11419@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - July 12, 2020 ==

PGConf.EU has been cancelled.
https://2020.pgconf.eu

== PostgreSQL Product News ==

barman 2.11, a backup and recovery manager for PostgreSQL, released.
https://sourceforge.net/projects/pgbarman/files/2.11/

== PostgreSQL Jobs for July ==

http://archives.postgresql.org/pgsql-jobs/2020-07/

== PostgreSQL Local ==

PGDay Ukraine will take place September 5th, 2020 in Lviv at the Bank Hotel.
https://pgday.org.ua/

pgDay Israel 2020 will take place on September 10, 2020 in Tel Aviv.
http://pgday.org.il/

PGDay Austria will take place September 18, 2020 at Schloss Schoenbrunn
(Apothekertrakt) in Vienna.
https://pgday.at/en/

PG Day Russia will take place in Saint Petersburg on July 9, 2021.
https://pgday.ru/en/2020/

== 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 ==

Michaël Paquier pushed:

- Improve perl script in MSVC to build binaries. This commit includes two
improvements for build.pl in src/tools/msvc/: - Fix two warnings related to
$ARGV[0] being uninitialized, something that happens when calling build.pl (or
build.bat) without arguments to compile all the components with a release
quality. - If calling the script with more than two arguments, exit
immediately and show a new help output. build.pl was not failing in this case
before this commit, and the extra arguments were just ignored, but the new
behavior helps in understanding how to run the script without looking at the
documentation for the Windows builds. Reported-by: Ranier Vilela Author:
Michael Paquier Reviewed-by: Juan José Santamaría Flecha, David Zhang
Discussion:
https://postgr.es/m/CAEudQAo38dfR_0Ugt2OHy4mq-6Hz93XPSBAGEUV67RhKdgp8Zg@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/404b912c5cab05d4a2ddac85696a300e00783c73

- Add new flag to format_type_extended() to get NULL for undefined type. If a
type scanned is undefined, type format routines have two behaviors depending
on if FORMAT_TYPE_ALLOW_INVALID is used by the caller or not: - Issue a cache
lookup error - Return an undefined type name "???", "???[]" or "-" The
current interface is not really helpful for callers willing to format properly
a type name, but still make sure that the type is defined as there could be
types matching the strings generated when looking for an undefined type, even
if that should not be a problem in practice. In order to counter that, add a
new flag called FORMAT_TYPE_INVALID_AS_NULL that returns a NULL result instead
of "??? or "-" which does not generate an error. This flag will be used in a
follow-up patch improving the set of SQL functions showing information for
object addresses when it comes to undefined objects. Author: Michael Paquier
Reviewed-by: Aleksander Alekseev, Dmitry Dolgov, Daniel Gustafsson, Álvaro
Herrera Discussion:
https://postgr.es/m/CAB7nPqSZxrSmdHK-rny7z8mi=EAFXJ5J-0RbzDw6aus=wB5azQ@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/1185c782943c6d36835db481b199dce8e6f30246

- Refactor routines for name lookups of procedures and operators. This
introduces a new set of extended routines for procedure and operator name
lookups, with a flag bitmask argument that can modify the result. The
following options are available: - Force schema qualification, ignoring
search_path. This is similar to the existing option for
format_{operator|procedure}_qualified(). - Force NULL as result instead of a
numeric OID for an undefined object. This option is new. This is a
refactoring similar to 1185c78, that will be used for a future patch to
improve the SQL functions providing information using object addresses for
undefined objects. Author: Michael Paquier Reviewed-by: Aleksander Alekseev,
Dmitry Dolgov, Daniel Gustafsson, Álvaro Herrera Discussion:
https://postgr.es/m/CAB7nPqSZxrSmdHK-rny7z8mi=EAFXJ5J-0RbzDw6aus=wB5azQ@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/aa38434824c4fa52e55a9c7465b24c246caddc81

- doc: Fix inconsistencies in GIN, BRIN and SP-GiST for optional opclass
methods. The GIN and SP-GiST parts were out-of-sync since the changes of
14903f2, and the BRIN part was wrong since its introduction in 15cb2bd.
Author: Guillaume Lelarge Reviewed-by: Daniel Gustafsson Discussion:
https://postgr.es/m/CAECtzeXKvEPEr967h0PRYRi39uTmdEms=oUtc_PWGjZRNN1prw@mail.gmail.com
Backpatch-through: 13
https://git.postgresql.org/pg/commitdiff/d92be269103acaf58e87ba4ba732eac0e3c4d78a

- Revert "Remove reset of testtablespace from pg_regress on Windows". This
reverts commit 2b2a070, that moved the reset of path "testtablespace" used by
the regression tests as a path for tablespaces (via --outputdir) from
pg_regress to the MSVC script vcregress.pl, as this broke the behavior added
by ce5d342 to be able to safely run the regression test suite with an
administrative Windows account using a restricted token. Note that before
2b2a070, the code doing the reset in pg_regress.c included a comment telling
that we had better move that out to a different place, leading to the mistake
done in 2b2a070. Fix this comment, and document instead that we had better
never remove this code, for the sake of not breaking again the behavior we
expect on Windows. Thanks to Thomas Munro and Andrew Dunstan for the
discussion. Discussion:
https://postgr.es/m/6d9eee97-54c8-e14a-48f7-3194e712f54f@2ndQuadrant.com
Discussion:
https://postgr.es/m/CA+hUKGLiieEzfrdWxWFE+_wnXho_F5Smx972X1wEubhS7v1q9g@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/61be85afabba0cd85bb1bcaacbea8efa8641f564

- Rename field "relkind" to "objtype" for CTAS and ALTER TABLE nodes. "relkind"
normally refers to the char field from pg_class. However, in the parse nodes
AlterTableStmt and CreateTableAsStmt, "relkind" was used for a field of type
enum ObjectType, that could refer to other object types than those possible
for a relkind. Such fields being usually named "objtype", switch the name in
both structures to make things more consistent. Note that this led to some
confusion in functions that also operate on a RangeTableEntry object, which
also has a field named "relkind". This naming goes back to commit 09d4e96,
where only OBJECT_TABLE and OBJECT_INDEX were used. This got extended later
to use as well OBJECT_TYPE with e440e12, not really a relation kind. Author:
Mark Dilger Reviewed-by: Daniel Gustafsson, Álvaro Herrera, Michael Paquier
Discussion:
https://postgr.es/m/609181AE-E399-47C7-9221-856E0F96BF93@enterprisedb.com
https://git.postgresql.org/pg/commitdiff/cc35d8933a211d9965eb1c1d2749a903d5735db2

- Include replication origins in SQL functions for commit timestamp. This
includes two changes: - Addition of a new function
pg_xact_commit_timestamp_origin() able, for a given transaction ID, to return
the commit timestamp and replication origin of this transaction. An
equivalent function existed in pglogical. - Addition of the replication origin
to pg_last_committed_xact(). The commit timestamp manager includes already
APIs able to return the replication origin of a transaction on top of its
commit timestamp, but the code paths for replication origins were never
stressed as those functions have never looked for a replication origin, and
the SQL functions available have never included this information since their
introduction in 73c986a. While on it, refactor a test of modules/commit_ts/
to use tstzrange() to check that a transaction timestamp is within the wanted
range, making the test a bit easier to read. Bump catalog version. Author:
Movead Li Reviewed-by: Madan Kumar, Michael Paquier Discussion:
https://postgr.es/m/2020051116430836450630@highgo.ca
https://git.postgresql.org/pg/commitdiff/b1e48bbe64a411666bb1928b9741e112e267836d

- Fix test failure with -DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS. Replication
origins created by regression tests should have names starting with
"regress_", and the test introduced in b1e48bb for commit timestamps did not
do that. Per buildfarm member longfin. Discussion:
https://postgr.es/m/20200712122507.GD21680@paquier.xyz
https://git.postgresql.org/pg/commitdiff/ea3e15d1691ec4cadc67f160cc91c7f237a705ae

Amit Kapila pushed:

- Remove unused function parameter in end_parallel_vacuum. Author: Vignesh C
Reviewed-by: Sawada Masahiko Backpatch-through: 13, where it was introduced
Discussion:
https://postgr.es/m/CALDaNm3Ppt71NafGY5mk3V2i3Q+mm93pVibDq-0NpW7WU67Jcg@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/231ef5b90d3a8a4ddf9de137e8e0997409c7a8b1

- Remove extra whitespace in comments atop ReorderBufferCheckMemoryLimit.
Backpatch-through: 13, where it was introduced
https://git.postgresql.org/pg/commitdiff/04c7f4144fec3bcddc82b6abdbfebd88989f7953

Fujii Masao pushed:

- doc: Add note about possible performance overhead by enabling track_planning.
Enabling pg_stat_statements.track_plaanning may incur a noticeable performance
penalty, especially when a fewer kinds of queries are executed on many
concurrent connections. This commit documents this note. Back-patch to v13
where pg_stat_statements.track_plaanning was added. Suggested-by: Pavel
Stehule Author: Fujii Masao Reviewed-by: Pavel Stehule Discussion:
https://postgr.es/m/CAFj8pRC9Jxa8r5i0TNBWLb8mzuaYzEoLq3QOvip0jVpHPOLbVA@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/321fa6a4a26c9b649a0fbec9fc8b019f19e62289

- Fix function name in comment. Author: Masahiro Ikeda Discussion:
https://postgr.es/m/0043eee90b38351ea199d7e3294c10c4@oss.nttdata.com
https://git.postgresql.org/pg/commitdiff/5e574d170e2eb112e1da8a40f011741b82340f68

- Fix incorrect variable datatype. Since slot_keep_segs indicates the number of
WAL segments not LSN, its datatype should not be XLogRecPtr. Back-patch to
v13 where this issue was added. Reported-by: Atsushi Torikoshi Author:
Atsushi Torikoshi, tweaked by Fujii Masao Discussion:
https://postgr.es/m/ebd0d674f3e050222238a960cac5251a@oss.nttdata.com
https://git.postgresql.org/pg/commitdiff/654242fd81cfbdd229ec2a752a9f857a84cc039b

- doc: Correct the description about the length of pg_stat_activity.query.
pg_stat_activity.query text is truncated at 1024 bytes. But previously the
document described that it's truncated at 1024 characters. This was not
accurate when considering multibyte characters. Back-patch to v10 where this
inaccurate description was added. Author: Atsushi Torikoshi Reviewed-by:
Daniel Gustafsson, Fujii Masao Discussion:
https://postgr.es/m/cd5b49a5a14e887542f5f569c1c6bde2@oss.nttdata.com
https://git.postgresql.org/pg/commitdiff/a5cd7047e7c6dacdef79a763a26802469ac4e02b

Peter Eisentraut pushed:

- Fix typo in test. The test was supposed to error but didn't. Apparently, a
copy and paste and string replace mistake from a nearby similar test.
https://git.postgresql.org/pg/commitdiff/bae9e8a58bf642aa383f5dc01b2c5947bae533dd

- Resolve gratuitous tabs in test SQL file.
https://git.postgresql.org/pg/commitdiff/71ec58e7fc1e180165fbed7a983d8179a03ddfc6

- Remove junk in test file. Remove a redundant and failing command, probably a
typo.
https://git.postgresql.org/pg/commitdiff/eb2c8a8f816b6c411047eeab7a326e8356a2c0a8

- pg_dump: Further reorganize getTableAttrs(). After further discussion after
daa9fe8a5264a3f192efa5ddee8fb011ad9da365, reorder the version-specific
sections from oldest to newest. Also, remove the variable assignments from
PQfnumber() to reduce vertical space. Reviewed-by: Fabien COELHO
<coelho(at)cri(dot)ensmp(dot)fr> Discussion:
https://www.postgresql.org/message-id/flat/6594334b-40fd-14f1-6bc5-877afa3feed5(at)2ndquadrant(dot)com
https://git.postgresql.org/pg/commitdiff/991c444e7ad3a1ff7bcffff4121e6ff67c4783fc

- Log the location field before any backtrace. This order makes more sense
because the location is effectively at the lowest level of the backtrace.
Discussion:
https://www.postgresql.org/message-id/flat/90f5fa04-c410-a54e-9449-aa3749fb7972%402ndquadrant.com
https://git.postgresql.org/pg/commitdiff/ff61359ad7cd10e48a9ce662b5f2a5e7f3ca23e1

- Add missing <application> tags in application doc <refentrytitle>s. Most of
them already have this, but some were missing. Author: Author: Dagfinn Ilmari
Mannsåker <ilmari(at)ilmari(dot)org> Discussion:
https://www.postgresql.org/message-id/flat/87o8pco34z.fsf%40wibble.ilmari.org
https://git.postgresql.org/pg/commitdiff/72a16cb3ee3017ccd8e4d58ea3c0c7bceec8b702

- doc: Add link from pg_dump --encoding to supported encodings. Reported-by: Lee
Dong Wook <sh95119(at)gmail(dot)com>
https://git.postgresql.org/pg/commitdiff/64fe120b57c6a928a527880476e9882b9bf7ae8a

Tom Lane pushed:

- Create composite array types for initdb-created relations. When we invented
arrays of composite types (commit bc8036fc6), we excluded system catalogs,
basically just on the grounds of not wanting to bloat pg_type. However, it's
definitely inconsistent that catalogs' composite types can't be put into
arrays when others can. Another problem is that the exclusion is done by
checking IsUnderPostmaster in heap_create_with_catalog, which means that (1)
If a user tries to create a table in single-user mode, it doesn't get an array
type. That's bad in itself, plus it breaks pg_upgrade. (2) If someone drops
and recreates a system view or information_schema view (as we occasionally
recommend doing), it will now have an array type where it did not before,
making for still more inconsistency. So this is all pretty messy. Let's just
get rid of the inconsistency and decree that system-created relations should
have array types if similar user-created ones would, i.e. it only depends on
the relkind. As of HEAD, that means that the initial contents of pg_type grow
from 411 rows to 605, which is a lot of growth percentage-wise, but it's still
quite a small catalog compared to others. Wenjing Zeng, reviewed by Shawn
Wang, further hacking by me Discussion:
https://postgr.es/m/761F1389-C6A8-4C15-80CE-950C961F5341@gmail.com
https://git.postgresql.org/pg/commitdiff/f7f70d5e22aa2330b8cc31dfc8732cd26ef0bbdd

- Don't create pg_type entries for sequences or toast tables. Commit f7f70d5e2
left one inconsistency behind: we're still creating pg_type entries for the
composite types of sequences and toast tables, but not arrays over those
composites. But there seems precious little reason to have named composite
types for toast tables, and not much more to have them for sequences
(especially given the thought that sequences may someday not be standalone
relations at all). So, let's close that inconsistency by removing these
composite types, rather than adding arrays for them. This buys back a little
bit of the initial pg_type bloat added by the previous patch, and could be a
significant savings in a large database with many toast tables. Aside from a
small logic rearrangement in heap_create_with_catalog, this patch mostly needs
to clean up some places that were assuming that pg_class.reltype always has a
valid value. Those are really pre-existing bugs, given that it's documented
otherwise; notably, the plpgsql changes fix code that gives "cache lookup
failed for type 0" on indexes today. But none of these seem interesting enough
to back-patch. Also, remove the pg_dump/pg_upgrade infrastructure for
propagating a toast table's pg_type OID into the new database, since we no
longer need that. Discussion:
https://postgr.es/m/761F1389-C6A8-4C15-80CE-950C961F5341@gmail.com
https://git.postgresql.org/pg/commitdiff/f3faf35f370f558670c8213a08f2683f3811ffc7

- Un-break pg_upgrade from pre-v12 servers. I neglected to test this scenario
while preparing commit f3faf35f3, so of course it was broken, thanks to some
very obscure and undocumented code in pg_dump. Pre-v12 databases might have
toast tables attached to partitioned tables, which we need to ignore since
newer servers never create such useless toast tables. There was a filter for
this case in binary_upgrade_set_type_oids_by_rel_oid(), which appeared to just
prevent the pg_type OID from being copied. But actually it managed to prevent
the toast table from being created at all --- or it did before I took out that
logic. But that was a fundamentally bizarre place to be making the test in
the first place. The place where the filter should have been, one would
think, is binary_upgrade_set_pg_class_oids(), so add it there. While at it,
reorganize binary_upgrade_set_pg_class_oids() so that it doesn't make a
completely useless query when it knows it's being invoked for an index. And
correct a comment that mis-described the scenario where we need to force
creation of a TOAST table. Per buildfarm.
https://git.postgresql.org/pg/commitdiff/3f96af4619c8b129ec8d5f4fb961df4310999383

- Add test coverage for pg_current_logfile() function. There has been no
coverage at all up to now. Given Thomas Kellerer's recent report, I suspect
this may fail on (some?) Windows machines, but let's find out. Discussion:
https://postgr.es/m/412ae8da-76bb-640f-039a-f3513499e53d@gmx.net
https://git.postgresql.org/pg/commitdiff/1c4e88e2fe41dbd1cb3431fbfed5ee6d92bfe089

- Tighten up Windows CRLF conversion in our TAP test scripts. The previous
approach was to search-and-destroy all \r occurrences no matter what. That
seems more likely to hide bugs than anything else; indeed it seems to be
hiding one now. Fix things so that we only transform \r\n to \n. Side
effects: must do this before, not after, chomp'ing if we're going to chomp,
else we'd fail to clean up a trailing \r\n. Also, remove safe_psql's
redundant repetition of what psql already did; else it might reduce \r\r\n to
\n, which is exactly the scenario I'm hoping to expose. Perhaps this should
be back-patched, but for now I'm content to see what happens in HEAD.
Discussion: https://postgr.es/m/412ae8da-76bb-640f-039a-f3513499e53d@gmx.net
https://git.postgresql.org/pg/commitdiff/91bdf499b37b0bbef34e2bab5cc40dde52bda52c

- Further tighten Windows CRLF conversion in our TAP test scripts. Buildfarm
results now imply that Perl's IPC::Run does CRLF conversion for us if we're
using native Perl, but not when using MSys Perl. Restrict the conversions done
by PostgresNode.pm to act only in the latter case. (Similar conversions done
in TestLib.pm and RewindTest.pm were already handled this way.) Discussion:
https://postgr.es/m/412ae8da-76bb-640f-039a-f3513499e53d@gmx.net
https://git.postgresql.org/pg/commitdiff/ffb4cee43bdccb54f0cf072a51dedc74e343b6f1

- Fix pg_current_logfile() to not emit a carriage return on Windows. Due to not
having our signals straight about CRLF vs. LF line termination, the output of
pg_current_logfile() included a trailing \r on Windows. To fix, force the
file descriptor it uses into text mode. While here, move a couple of local
variable declarations to make the function's logic clearer. In v12 and v13,
also back-patch the test added by 1c4e88e2f so that this function has some
test coverage. However, the 004_logrotate.pl test script doesn't exist before
v12, and it didn't seem worth adding to older branches just for this. Per
report from Thomas Kellerer. Back-patch to v10 where this function was added.
Discussion: https://postgr.es/m/412ae8da-76bb-640f-039a-f3513499e53d@gmx.net
https://git.postgresql.org/pg/commitdiff/183926da3162b1807904710e46882c004beff5fb

- Doc: update or remove dead external links. Re-point comp.ai.genetic FAQ link
to a more stable address. Remove stale links to AIX documentation; we don't
really need to tell AIX users how to use their systems. Remove stale links to
HP documentation about SSL. We've had to update those twice before, making it
increasingly obvious that HP does not intend them to be stable landing points.
They're not particularly authoritative, either. (This change effectively
reverts bbd3bdba3.) Daniel Gustafsson and Álvaro Herrera, per a gripe from
Kyotaro Horiguchi. Back-patch, since these links are just as dead in the back
branches. Discussion:
https://postgr.es/m/20200709.161226.204639179120026914.horikyota.ntt@gmail.com
https://git.postgresql.org/pg/commitdiff/e91cd951b1114a009a0256f211a41d0ec873b2fc

- Avoid trying to restore table ACLs and per-column ACLs in parallel. Parallel
pg_restore has always supposed that ACL items for different objects are
independent and can be restored in parallel without conflicts. However, there
is one case where this fails: because REVOKE on a table is defined to also
revoke the privilege(s) at column level, we can't restore per-column ACLs till
after we restore any table-level privileges on their table. Failure to honor
this restriction can lead to "tuple concurrently updated" errors during
parallel restore, or even to the per-column ACLs silently disappearing because
the table-level REVOKE is executed afterwards. To fix, add a dependency from
each column-level ACL item to its table's ACL item, if there is one. Note
that this doesn't fix the hazard for pre-existing archive files, only for ones
made with a corrected pg_dump. Given that the bug's been there quite awhile
without field reports, I think this is acceptable. This requires changing the
API of pg_dump's dumpACL() function. To keep its argument list from getting
even longer, I removed the "CatalogId objCatId" argument, which has been
unused for ages. Per report from Justin Pryzby. Back-patch to all supported
branches. Discussion: https://postgr.es/m/20200706050129.GW4107@telsasoft.com
https://git.postgresql.org/pg/commitdiff/ea9125304dc6e90eabad165bd120eb1e667525d4

- Avoid useless buffer allocations during binary COPY FROM. The raw_buf and
line_buf buffers aren't used when reading binary format, so skip allocating
them. raw_buf is 64K so that seems like a worthwhile savings. An unused
line_buf only wastes 1K, but as long as we're checking it's free to avoid
allocating that too. Bharath Rupireddy, tweaked a bit by me Discussion:
https://postgr.es/m/CALj2ACXcCKaGPY0whowqrJ4OPJvDnTssgpGCzvuFQu5z0CXb-g@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/cd22d3cdb9bd9963c694c01a8c0232bbae3ddcfb

Peter Geoghegan pushed:

- Remove unnecessary PageIsEmpty() nbtree build check. nbtree index builds
cannot write out an empty page. That would mean that there was no way to
create a pivot tuple pointing to the page one level up, since _bt_truncate()
generates one based on page's firstright tuple. Replace the unnecessary
PageIsEmpty() check with an assertion that checks that the page has space for
at least two line pointers (the would-be high key line pointer, plus at least
one valid "data item" tuple line pointer). The PageIsEmpty() check was added
by commit 5d9f146c over 20 years ago. It looks like it has always been
unnecessary.
https://git.postgresql.org/pg/commitdiff/28c16f4947df0a98c124ec1724faff629d6c77f7

Magnus Hagander pushed:

- Check ssl_in_use flag when reporting statistics. Previously we checked that
the ssl pointer was not null, but this puts a requirement on there being such
a pointer which may not be true in future multi-ssl-library supporting times.
This seems to have been an oversight in 9029f4b3740, but hasn't really had any
effect since we only have one library. Author: Daniel Gustafsson
https://git.postgresql.org/pg/commitdiff/6a5c750f3f72899f4f982f921d5bf5665f55651e

- Fix typo. Author: Daniel Gustafsson
https://git.postgresql.org/pg/commitdiff/98f0eba5b7840197ee43f52833ef08f9090fbc44

Álvaro Herrera pushed:

- Morph pg_replication_slots.min_safe_lsn to safe_wal_size. The previous
definition of the column was almost universally disliked, so provide this
updated definition which is more useful for monitoring purposes: a large
positive value is good, while zero or a negative value means danger. This
should be operationally more convenient. Backpatch to 13, where the new
column to pg_replication_slots (and the feature it represents) were added.
Author: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> Author: Álvaro Herrera
<alvherre(at)alvh(dot)no-ip(dot)org> Reported-by: Fujii Masao
<masao(dot)fujii(at)oss(dot)nttdata(dot)com> Discussion:
https://postgr.es/m/9ddfbf8c-2f67-904d-44ed-cf8bc5916228@oss.nttdata.com
https://git.postgresql.org/pg/commitdiff/a8aaa0c786b3a27706172cc7979684a122ebb706

- Don't treat DumpOptions->dump_inserts like a boolean. This has been an integer
count since 7e413a0f82c8 so treat it explicitly like an integer. No backpatch
since this is just cosmetic.
https://git.postgresql.org/pg/commitdiff/2661a793ff59149af1d844d6be504e421c04733e

- Remove WARNING message from brin_desummarize_range. This message was being
emitted on the grounds that only crashed summarization could cause it, but in
reality even an aborted vacuum could do it ... which makes it way too noisy,
particularly since it shows up in regression tests and makes them die.
Reported by Tom Lane. Discussion:
https://postgr.es/m/489091.1593534251@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/986529ce40c6edcd7f83689c00fcfaab8d9436d8

Andres Freund pushed:

- tap tests: replace 'master' with 'primary'. We've largely replaced master with
primary in docs etc, but tap test still widely used master. Author: Andres
Freund Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/229f8c219f8fffacc253eca6023eab10a16eb009

- code: replace 'master' with 'primary' where appropriate. Also changed "in the
primary" to "on the primary", and added a few "the" before "primary". Author:
Andres Freund Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/5e7bbb528638c0f6d585bab107ec7a19e3a39deb

- code: replace 'master' with 'leader' where appropriate. Leader already is the
more widely used terminology, but a few places didn't get the message.
Author: Andres Freund Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/e07633646a22734e85d7fc58a66855f747128e6b

- docs: replace 'master' with 'primary' where appropriate. Also changed "in the
primary" to "on the primary", and added a few "the" before "primary". Author:
Andres Freund Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/9e101cf60612f4be4f855d7393531900c2986a55

- docs: replace 'master' with 'root' where appropriate. These uses of 'master'
refer to partitioning / inheritance. 'root' seems more descriptive than
'master'. Author: Andres Freund Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/09dfd430118f1fadf52a782db5ee161b1eb16337

- docs: replace 'master process' with 'supervisor process' where appropriate.
Author: Andres Freund Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/7c89f8a5b810d10dae300ec58ea7d70024e9123e

- code: replace most remaining uses of 'master'. Author: Andres Freund
Reviewed-By: David Steele Discussion:
https://postgr.es/m/20200615182235.x7lch5n6kcjq4aue@alap3.anarazel.de
https://git.postgresql.org/pg/commitdiff/a9a4a7ad565b136cbee735d4bb505d98d06da522

David Rowley pushed:

- Fix whitespace in HashAgg EXPLAIN ANALYZE. The Sort node does not put a space
between the number of kilobytes and the "kB" of memory or disk space used, but
HashAgg does. Here we align HashAgg to do the same as Sort. Sort has been
displaying this information for longer than HashAgg, so it makes sense to
align HashAgg to Sort rather than the other way around. Reported-by: Justin
Pryzby Discussion: https://postgr.es/m/20200708163021.GW4107@telsasoft.com
Backpatch-through: 13, where the hashagg started showing these details
https://git.postgresql.org/pg/commitdiff/2b7dbc0db6ecf38fc305284d006a1ef8f5354fbb

Alexander Korotkov pushed:

- Improve error reporting for jsonpath .double() method. When jsonpath .double()
method detects that numeric or string can't be converted to double precision,
it throws an error. This commit makes these errors explicitly express the
reason of failure. Discussion:
https://postgr.es/m/CAPpHfdtqJtiSXkP7tOXez18NxhLUH_-75bL8%3DOce4Ki%2Bbv7V6Q%40mail.gmail.com
Author: Alexander Korotkov Reviewed-by: Tom Lane Backpatch-through: 12
https://git.postgresql.org/pg/commitdiff/0657181167467ec5cfb5a28aacf47ca02f5f4588

- Forbid numeric NaN in jsonpath. SQL standard doesn't define numeric Inf or NaN
values. It appears even more ridiculous to support then in jsonpath assuming
JSON doesn't support these values as well. This commit forbids returning NaN
from .double(), which was previously allowed. NaN can't be result of
inner-jsonpath computation over non-NaNs. So, we can not expect NaN in the
jsonpath output. Reported-by: Tom Lane Discussion:
https://postgr.es/m/203949.1591879542%40sss.pgh.pa.us Author: Alexander
Korotkov Reviewed-by: Tom Lane Backpatch-through: 12
https://git.postgresql.org/pg/commitdiff/df646509f371069c65f84309eb5749642e8650b3

== Pending Patches ==

Pavel Stěhule sent in another revision of a patch to implement
string_to_table().

Yuzuko Hosoya sent in another revision of a patch to make autovacuum work better
on partitioned tables.

Greg Nancarrow sent in another revision of a patch to enhance libpq
target_session_attrs and add target_server_type.

Fabien COELHO sent in another revision of a patch to implement line
continuations in pg_hba.conf.

Mark Dilger sent in another revision of a patch to add a new heapcheck contrib
extension.

Michaël Paquier sent in another revision of a patch to eliminate user-visible
cache lookup errors for objaddr SQL functions.

Anastasia Lubennikova sent in a WIP patch to create partitions automatically.
This implements a new syntax to generate bounds for HASH, LIST and RANGE
partitions. Implement automatic partition creation for HASH and LIST.

Andrey Borodin sent in three more revisions of a patch to add sort support for
point gist_point_sortsupport, and implement GiST build using sort support.

Atsushi Torikoshi sent in three more revisions of a patch to add a function
exposing the memory usage of the local backend.

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

Bertrand Drouvot sent in two revisions of a patch to add standby recovery
conflicts BlockedOnly info.

Georgios Kokolatos sent in another revision of a patch to include AM in
listTables output.

Pavel Stěhule sent in another revision of a patch to add --filter to pg_dump.

Bharath Rupireddy and Vigneshwaran C traded patches to implement parallel COPY.

Movead Li and Michaël Paquier traded patches to get the origin from commit_ts.

Peter Eisentraut sent in a patch to fix -Wcast-function-type warnings.

Bharath Rupireddy sent in a patch to modify cancel_before_shmem_exit to search
all registered exit callbacks.

David Rowley sent in two more revisions of a patch to Allow
estimate_num_groups() to pass back further details about the estimation, allow
users of simplehash.h to perform direct deletions, and add a Result Cache
executor node.

Movead Li sent in another revision of a patch to fix a bug that manifested as
pg_resetwal --next-transaction-id may cause database failed to restart.

Peter Eisentraut sent in a patch to define OPENSSL_API_COMPAT.

Peter Eisentraut sent in two more revisions of a patch to pg_dump by
reorganizing dumpFunc() and dumpAgg().

Zeng Wenjing sent in another revision of a patch to implement global temporary
tables.

Soumyadeep Chakraborty and Amit Langote traded patches to explicitly supply
system columns for INSERT..RETURNING, and use table_tuple_fetch_row_version() to
supply INSERT..RETURNING system columns.

David Cramer and Daniel Gustafsson traded patches to add binary support for the
pgoutput plugin.

Amit Langote sent in two revisions of a patch to improve performance for COPY
... FROM BINARY by making more efficient use of buffers.

David Rowley sent in a patch to use incremental sort paths for window functions.

Andrey Borodin sent in another revision of a patch to use shared lock in
GetMultiXactIdMembers for offsets and members, make MultiXact local cache size
configurable, and add a conditional variable to wait for next MultXact offset in
edge case.

Laurenz Albe sent in a patch to add session statistics to pg_stat_database.

Paul Guo sent in another revision of a patch to support node initialization from
backup with tablespaces, add tests to replay create database operation on
standby, fix the replay of create database records on standby, and fix the
database create/drop wal description.

Andres Freund sent in a doc patch to use active-active instead of multi-master
replication.

Melanie Plageman sent in a patch to rein in ExecParallelHashRepartitionFirst.

Fujii Masao sent in a patch to rename wal_keep_segments to wal_keep_size.

Thomas Munro sent in another revision of a patch to implement collation
versioning.

Atsushi Torikoshi sent in another revision of a patch to expose the counters of
plancache to pg_prepared_statement.

Rémi Lapeyre sent in another revision of a patch to allow COPY "text" to output
a header and add header matching mode to COPY FROM.

Bharath Rupireddy sent in two revisions of a patch to retry cached remote
connections for the postgres_fdw.

Ajin Cherians sent in two more revisions of a patch to TEST guc always streaming
logical.

David Gilman and Tom Lane traded patches to warn when parallel restoring a
custom dump without data offsets.

Fabien COELHO sent in another revision of a patch to repair pgbench's
relationship with timestamps.

Fabien COELHO sent in another revision of a patch to pgbench to refactor init
functions with buffers.

Sho Kato sent in a patch to enable partition pruning using row-wise comparison.

Peter Eisentraut sent in a patch to log the location field before any backtrace.

Amit Kapila sent in a patch to revert "Track statistics for spilling of changes
from ReorderBuffer".

Fabien COELHO sent in two more revisions of a patch to pgbench to add a
pseudo-random permutation function.

David Rowley sent in two revisions of a patch to fix a dependency problem in
ALTER TABLE to add foreign keys.

Konstantin Knizhnik sent in a patch to fix a situation where PostgreSQL is not
able to handle more than 4k tables.

Andrew Dunstan sent in another revision of a patch to fix an infelicity between
TAP tests and symlinks on Windows.

Mark Dilger sent in a patch to Allow most keywords to be used as implicit column
labels.

Justin Pryzby sent in another revision of a patch to include the leader PID in
logfile.

Alexandra Wang sent in another revision of a patch to improve the check new
partition bound error position report.

John Hsu sent in a patch to delay the slot restart LSN.

Tom Lane sent in a patch to make column ACLs depend on table ACLs.

Kyotaro HORIGUCHI and Tom Lane traded patches to fix an issue that manifested as
GSSENC'ed connection stalling while attempting reconnection.

Álvaro Herrera sent in another revision of a patch to implement batch/pipelining
support for libpq.

Dilip Kumar sent in a PoC patch to select parallelism in the case of INSERT ...
SELECT ...

Alexander Korotkov sent in a patch to make some improvements to psql \dAo and
\dAp commands.

Pavel Stěhule sent in another revision of a patch to make calling procedures
more efficient in PL/pgsql.

Floris Van Nee sent in another revision of a patch to implement index skip
scans.

Julien Rouhaud sent in a patch to avoid useless retrieval of defaults and check
constraints in pg_dump -a.

Justin Pryzby sent in another revision of a patch to implement online checksums
verification in the backend.

Ashutosh Bapat sent in another revision of a patch to implement fast COPY FROM
into the foreign or sharded tables.

Browse pgsql-announce by date

  From Date Subject
Next Message Alexander Seleznev 2020-07-15 12:13:04 PostgresDAC 3.8 meets RAD Studio 10.4 Sydney!
Previous Message Daniel Gustafsson 2020-07-10 21:11:53 PGConf.EU 2020 has been canceled