== PostgreSQL Weekly News - September 28, 2019 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - September 28, 2019 ==
Date: 2019-09-29 06:04:48
Message-ID: 20190929060448.GA3648@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - September 28, 2019 ==

PostgreSQL 12 Release Candidate 1 released. Test!
https://www.postgresql.org/about/news/1975/

The German-speaking PostgreSQL Conference 2020 will take place on May 10, 2019
in Stuttgart.

== PostgreSQL Product News ==

PostGIS 3.0.0beta1, the industry standard geographic information system package
for PostgreSQL, released.
https://postgis.net/2019/09/28/postgis-3.0.0beta1/

pgFormatter 4.1, a formatter/beautifier for SQL code, released.
http://sqlformat.darold.net/

== PostgreSQL Jobs for September ==

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

== PostgreSQL Local ==

PostgresConf South Africa 2019 will take place in Johannesburg on October 8-9, 2019
https://postgresconf.org/conferences/SouthAfrica2019

PostgreSQL Conference Europe 2019 will be held on October 15-18, 2019 in Milan,
Italy.
https://2019.pgconf.eu/

2Q PGConf 2019 will be held December 4 & 5 in Chicago.
https://www.2qpgconf.com/

PGDay Down Under 2019 will be held on November 15, 2019 in Sydney,
Australia. The CfP is open until 5pm AEST AEST on October 5th, 2019.
https://pgdu.org/

pgDay Paris 2020 will be held in Paris, France on March 26, 2020
at Espace Saint-Martin.
http://2020.pgday.paris/

Nordic PGDay 2020 will be held in Helsinki, Finland at the Hilton Helsinki
Strand Hotel on March 24, 2020. The CfP is open through December 31, 2019 at
https://2020.nordicpgday.org/cfp/

PGConf India 2020 will be on February 26-28, 2020 in Bengaluru, Karnataka. The
CfP is open until November 15, 2019.
http://pgconf.in/

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

Peter Eisentraut pushed:

- NLS: Fix backend gettext triggers. The backend also needs to pull in
translations from the frontend pg_log_*() functions, since some files in
src/common/ use those.
https://git.postgresql.org/pg/commitdiff/467c1d9107e15a44a0ca3c46f0c7ebeeb7cfa208

- Message style fixes.
https://git.postgresql.org/pg/commitdiff/887248e97e2da6f602ddf22aaaaf8cb41d0d010d

- Don't disable ccache when building with coverage support. This was working
around a bug in ccache that was fixed in ccache 3.2.2 (released 2015-05-10).
(Users of older ccache versions can continue to set CCACHE_DISABLE
themselves.) Discussion:
https://www.postgresql.org/message-id/20190530191130.GA24528@alvherre.pgsql
https://git.postgresql.org/pg/commitdiff/2e5c83acbb7b3916037b3e3a2f81ced10d413a3e

- doc: Reorder JSON functions documentation. Put the description of the SQL/JSON
path language after the description of the general JSON functions and
operators, instead of before. Discussion:
https://www.postgresql.org/message-id/16968.1569189812@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/a083657896c739909a25190ebd0032c01f6c8109

- doc: Update note about source code formatting. Update the note about why not
to use // comments, even though it's now technically supported. The note
about variable declarations was dropped here because it's addressed more
properly later in the chapter. Discussion:
https://www.postgresql.org/message-id/flat/156924954640.1117.6309209869705522549%40wrigleys.postgresql.org
https://git.postgresql.org/pg/commitdiff/49e36e7901c691fd7e80ba56465b649a211290cf

- doc: Update a confusing sentence about SQL/JSON. Author: Liudmila Mantrova
<l(dot)mantrova(at)postgrespro(dot)ru> Reported-by: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Discussion:
https://www.postgresql.org/message-id/flat/CAMkU%3D1wP-SO4KpiLxHJuPezTJCmK%3DJqefLXrr3eXFO7Qku%2BtMg%40mail.gmail.com
https://git.postgresql.org/pg/commitdiff/a4a5c0cf9cec3df2d1662a799c539c2cc84aa463

- doc: Format example JSON data better.
https://git.postgresql.org/pg/commitdiff/6c3ef7482f2bdedc68146a4ffcba4b8b241b91a9

- doc: Fix whitespace in markup.
https://git.postgresql.org/pg/commitdiff/8190164e82ae03bde80864ab0941794a90e70483

- doc: Add timeline as valid recovery target in standby.signal documentation.
The documentation states that no target settings will be used when
standby.signal is present, but this is not quite the case since
recovery_target_timeline is a valid recovery target for a standby. Update the
documentation with this exception. Author: David Steele <david(at)pgmasters(dot)net>
Discussion:
https://www.postgresql.org/message-id/flat/e445616d-023e-a268-8aa1-67b8b335340c%40pgmasters.net
https://git.postgresql.org/pg/commitdiff/775578a445bbbbfc43b1dcc1c3e2d3b4bdb35962

- Fix compilation with older OpenSSL versions. Some older OpenSSL versions
(0.9.8 branch) define TLS*_VERSION macros but not the corresponding
SSL_OP_NO_* macro, which causes the code for handling
ssl_min_protocol_version/ssl_max_protocol_version to fail to compile. To fix,
add more #ifdefs and error handling. Reported-by: Victor Wagner
<vitus(at)wagner(dot)pp(dot)ru> Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Discussion:
https://www.postgresql.org/message-id/flat/20190924101859.09383b4f%40fafnir.local.vm
https://git.postgresql.org/pg/commitdiff/4e6f101e921c9a7ff4e7fff847966b9cdd390753

Tom Lane pushed:

- Doc: clarify handling of duplicate elements in array containment tests. The
array <@ and @> operators do not worry about duplicates: if every member of
array X matches some element of array Y, then X is contained in Y, even if
several members of X get matched to the same Y member. This was not explicitly
stated in the docs though, so improve matters. Discussion:
https://postgr.es/m/156614120484.1310.310161642239149585@wrigleys.postgresql.org
https://git.postgresql.org/pg/commitdiff/13cd97e6c8c9679a9b2384c22a4f0333b1a5cc55

- Prevent bogus pullup of constant-valued functions returning composite. Fix an
oversight in commit 7266d0997: as it stood, the code failed when a
function-in-FROM returns composite and can be simplified to a composite
constant. For the moment, just test for composite result and abandon pullup
if we see one. To make it actually work, we'd have to decompose the composite
constant into per-column constants; which is surely do-able, but I'm not
convinced it's worth the code space. Per report from Raúl Marín Rodríguez.
Discussion:
https://postgr.es/m/CAM6_UM4isP+buRA5sWodO_MUEgutms-KDfnkwGmryc5DGj9XuQ@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/a9ae99d0190960ce2d3dd3e5f10e7f4adc3cf203

- Fix handling of GENERATED columns in CREATE TABLE LIKE INCLUDING DEFAULTS.
LIKE INCLUDING DEFAULTS tried to copy the attrdef expression without copying
the state of the attgenerated column. This is in fact wrong, because
GENERATED and DEFAULT expressions are not the same kind of animal; one can
contain Vars and the other not. We *must* copy attgenerated when we're
copying the attrdef expression. Rearrange the if-tests so that the expression
is copied only when the correct one of INCLUDING DEFAULTS and INCLUDING
GENERATED has been specified. Per private report from Manuel Rigger. Tom
Lane and Peter Eisentraut
https://git.postgresql.org/pg/commitdiff/b81a9c2fc52509025c635fa08ecaec1bad21441b

- Doc: clean up markup for jsonb_set and related functions. The markup for
optional parameters was neither correct nor consistent. In passing, fix a
spelling mistake. Per report from Alex Macy. Some of these mistakes are old,
so back-patch as appropriate. Discussion:
https://postgr.es/m/156953522258.1204.12736099368284950578@wrigleys.postgresql.org
https://git.postgresql.org/pg/commitdiff/4fa1d89cba0f1feb5120e99eb01c152ba276c4e9

- Finish reverting "Insert temporary debugging output in regression tests.".
This removes the last of the temporary debugging queries added to the
regression tests by commit f03a9ca43. We've pretty much convinced ourselves
that the plan instability we were seeing is due to VACUUM sometimes failing to
update relpages/reltuples for a single-page table, due to bgwriter or
checkpointer holding a pin on that page at just the wrong time. I'll push a
workaround for that separately. Discussion:
https://postgr.es/m/CA+hUKG+0CxrKRWRMf5ymN3gm+BECHna2B-q1w8onKBep4HasUw@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/d9cacca2d139d9e0792544f773d2361d8478c131

- ANALYZE a_star and its children to avoid plan instability in tests. We've
noted certain EXPLAIN queries on these tables occasionally showing unexpected
plan choices. This seems to happen because VACUUM sometimes fails to update
relpages/reltuples for one of these single-page tables, due to bgwriter or
checkpointer holding a pin on the lone page at just the wrong time. To ensure
those values get set, insert explicit ANALYZE operations on these tables after
we finish populating them. This doesn't seem to affect any other test cases,
so it's a usable fix. Back-patch to v12. In principle the issue exists
further back, but we have not seen it before v12, so I won't risk
back-patching further. Discussion:
https://postgr.es/m/24480.1569518042@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/b9bffa004a9980ac235b6ff541ee2fe0e9800372

- Make pg_regress.c unset PGDATABASE during make installcheck. For the most
part, we leave libpq-controlling environment variables alone during "make
installcheck", reasoning that connecting to the server the user expects us to
connect to may depend on those variables. But that argument doesn't apply to
PGDATABASE, since we always want to connect to a specific database name within
the server. And failing to unset it causes certain ECPG tests to fail, as
various people have complained of in the past. So let's unset it. Possibly
this should be back-patched, but I'm disinclined to do that right before 12.0
release. Maybe later. Discussion:
https://postgr.es/m/20180318205548.2akxjqvo7hrk5wbc@alap3.anarazel.de
Discussion: https://postgr.es/m/E1bOum4-0002EA-2y@gemulon.postgresql.org
https://git.postgresql.org/pg/commitdiff/5ee96b3e2221d154ffcb719bd2dee1179c53f821

- Improve stability of partition_prune regression test. This test already knew
that, to get stable test output, it had to hide "loops" counts in EXPLAIN
ANALYZE results. But that's not nearly enough: if we get a smaller number of
workers than we planned for, then the "Workers Launched" number will change,
and so will all the rows and loops counts up to the Gather node. This has
resulted in repeated failures in the buildfarm, so adjust the test to filter
out all these counts. (Really, we wouldn't bother with EXPLAIN ANALYZE at all
here, except that currently the only way to verify that executor-time pruning
has happened is to look for '(never executed)' annotations. Those are stable
and needn't be filtered out.) Back-patch to v11 where the test was
introduced. Discussion: https://postgr.es/m/11952.1569536725@sss.pgh.pa.us
https://git.postgresql.org/pg/commitdiff/4ea03f3f4eba3c76abae2e69bf48c921799a68a3

Jeff Davis pushed:

- Add libpq parameter 'channel_binding'. Allow clients to require channel
binding to enhance security against untrusted servers. Author: Jeff Davis
Reviewed-by: Michael Paquier Discussion:
https://postgr.es/m/227015d8417f2b4fef03f8966dbfa5cbcc4f44da.camel%40j-davis.com
https://git.postgresql.org/pg/commitdiff/d6e612f837e235db0411e8b67558c9a6b3e9f41f

Andres Freund pushed:

- Fix ExprState's tag to be of type NodeTag rather than Node. This appears to
have been an oversight in b8d7f053c5c2. As it's effectively harmless, though
confusing, only fix in master. Author: Andres Freund
https://git.postgresql.org/pg/commitdiff/30d13796582fe13df0cbea1a8605d926a454d32f

- Fix implicit-fallthrough compiler warning introduced in 6dda292d4df82. For
some reason at least gcc-9 warns about the fallthrough, even though it
otherwise recognizes that elog(ERROR, ...) doesn't return. Author: Andres
Freund
https://git.postgresql.org/pg/commitdiff/c967e13f4047ef6f3d91bcb1cff6d746322aff6d

- Silence -Wmaybe-uninitialized compiler warnings in dbcommands.c. When
compiling postgres using gcc -O3, there are false-positive warnings about the
now initialized variables. Silence them. Author: Peter Eisentraut, Andres
Freund Discussion:
https://postgr.es/m/15fb2350-b8b8-e188-278f-0b34fdee5210@2ndquadrant.com
https://git.postgresql.org/pg/commitdiff/3f6b3be39ca91a62b88051a6b4fdf428a05c6b0d

Fujii Masao pushed:

- Speedup truncations of relation forks. When a relation is truncated,
shared_buffers needs to be scanned so that any buffers for the relation forks
are invalidated in it. Previously, shared_buffers was scanned for each
relation forks, i.e., MAIN, FSM and VM, when VACUUM truncated off any empty
pages at the end of relation or TRUNCATE truncated the relation in place.
Since shared_buffers needed to be scanned multiple times, it could take a long
time to finish those commands especially when shared_buffers was large. This
commit changes the logic so that shared_buffers is scanned only one time for
those three relation forks. Author: Kirk Jamison Reviewed-by: Masahiko
Sawada, Thomas Munro, Alvaro Herrera, Takayuki Tsunakawa and Fujii Masao
Discussion:
https://postgr.es/m/D09B13F772D2274BB348A310EE3027C64E2067@g01jpexmbkw24
https://git.postgresql.org/pg/commitdiff/6d05086c0a79e50d8e91ed953626ec7280cd2481

Álvaro Herrera pushed:

- Rework WAL-reading supporting structs. The state-tracking of WAL reading in
various places was pretty messy, mostly because the ancient
physical-replication WAL reading code wasn't using the XLogReader abstraction.
This led to some untidy code. Make it prettier by creating two additional
supporting structs, WALSegmentContext and WALOpenSegment which keep track of
WAL-reading state. This makes code cleaner, as well as supports more future
cleanup. Author: Antonin Houska Reviewed-by: Álvaro Herrera and (older
versions) Robert Haas Discussion:
https://postgr.es/m/14984.1554998742@spoje.net
https://git.postgresql.org/pg/commitdiff/709d003fbd98b975a4fbcb4c5750fa6efaf9ad87

- Split out recovery confing-writing code from pg_basebackup. ... into a new
file, fe_utils/recovery_gen.c. This can later be used by pg_rewind. Authors:
Paul Guo, Jimmy Yih, Ashwin Agrawal. A few tweaks by Álvaro Herrera
Reviewed-by: Michaël Paquier Discussion:
https://postgr.es/m/CAEET0ZEffUkXc48pg2iqARQgGRYDiiVxDu+yYek_bTwJF+q=Uw@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/caba97a9d9f4d4fa2531985fd12d3cd823da06f3

- Support reloptions of enum type. All our current in core relation options of
type string (not many, admittedly) behave in reality like enums. But after
seeing an implementation for enum reloptions, it's clear that strings are
messier, so introduce the new reloption type. Switch all string options to be
enums instead. Fortunately we have a recently introduced test module for
reloptions, so we don't lose coverage of string reloptions, which may still be
used by third-party modules. Authors: Nikolay Shaplov, Álvaro Herrera
Reviewed-by: Nikita Glukhov, Aleksandr Parfenov Discussion:
https://postgr.es/m/43332102.S2V5pIjXRx@x200m
https://git.postgresql.org/pg/commitdiff/773df883e8f7543958d0d719c025b5f47c5a67f0

- Update expected output for dummy_index_am. Forgot to add the file in the
previous commit.
https://git.postgresql.org/pg/commitdiff/bd29cc1992df9a1b786ca36c05e8f590d3795d10

- Have pg_rewind run crash recovery before rewinding. If we don't do this, the
rewind fails if the server wasn't cleanly shut down, which seems unhelpful
serving no purpose. Also provide a new option --no-ensure-shutdown to
suppress this behavior, for alleged advanced usage that prefers to avoid the
crash recovery. Authors: Paul Guo, Jimmy Yih, Ashwin Agrawal Reviewed-by:
Álvaro Herrera Discussion:
https://postgr.es/m/CAEET0ZEffUkXc48pg2iqARQgGRYDiiVxDu+yYek_bTwJF+q=Uw@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/5adafaf176d09ba5ea11ae128416fc5211469bc0

Alexander Korotkov pushed:

- Fix bug in pairingheap_SpGistSearchItem_cmp(). Our item contains only
so->numberOfNonNullOrderBys of distances. Reflect that in the loop upper
bound. Discussion:
https://postgr.es/m/53536807-784c-e029-6e92-6da802ab8d60%40postgrespro.ru
Author: Nikita Glukhov Backpatch-through: 12
https://git.postgresql.org/pg/commitdiff/90c0987258264de07780f0329db2fce83098fba8

- Implement standard datetime parsing mode. SQL Standard 2016 defines rules for
handling separators in datetime template strings, which are different to
to_date()/to_timestamp() rules. Standard allows only small set of separators
and requires strict matching for them. Standard applies to jsonpath
.datetime() method and CAST (... FORMAT ...) SQL clause. We're not going to
change handling of separators in existing to_date()/to_timestamp() functions,
because their current behavior is familiar for users. Standard behavior now
available by special flag, which will be used in upcoming .datetime() jsonpath
method. Discussion:
https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
Author: Alexander Korotkov
https://git.postgresql.org/pg/commitdiff/1a950f37d0a283f2a76bec63c05530ed6eb16de1

- Allow datetime values in JsonbValue. SQL/JSON standard allows manipulation
with datetime values. So, it appears to be convinient to allow datetime
values to be represented in JsonbValue struct. These datetime values are
allowed for temporary representation only. During serialization datetime
values are converted into strings. SQL/JSON requires writing timestamps with
timezone in the same timezone offset as they were parsed. This is why we
allow storage of timezone offset in JsonbValue struct. For the same reason
timezone offset argument is added to JsonEncodeDateTime() function. Extracted
from original patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov. Revised
by me. Comments were adjusted by Liudmila Mantrova. Discussion:
https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com
Discussion:
https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
Author: Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov,
Liudmila Mantrova Reviewed-by: Anastasia Lubennikova, Peter Eisentraut
https://git.postgresql.org/pg/commitdiff/6dda292d4df82a9158d1acc93feecf3b84637b59

- Implement parse_datetime() function. This commit adds parse_datetime()
function, which implements datetime parsing with extended features demanded by
upcoming jsonpath .datetime() method: * Dynamic type identification based on
template string, * Support for standard-conforming 'strict' mode, * Timezone
offset is returned as separate value. Extracted from original patch by Nikita
Glukhov, Teodor Sigaev, Oleg Bartunov. Revised by me. Discussion:
https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com
Discussion:
https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
Author: Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov
Reviewed-by: Anastasia Lubennikova, Peter Eisentraut
https://git.postgresql.org/pg/commitdiff/66c74f8b6e347ba5830bf06468bef8081601c187

- Error suppression support for upcoming jsonpath .datetime() method. Add
support of error suppression in some date and time manipulation functions as
it's required for jsonpath .datetime() method support. This commit doesn't
use PG_TRY()/PG_CATCH() in order to implement that. Instead, it provides
internal versions of date and time functions used, which support error
suppression. Discussion:
https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
Author: Alexander Korotkov, Nikita Glukhov Reviewed-by: Anastasia Lubennikova,
Peter Eisentraut
https://git.postgresql.org/pg/commitdiff/5bc450629b31a0b6986e668056d5bd36792412d2

- Implement jsonpath .datetime() method. This commit implements jsonpath
.datetime() method as it's specified in SQL/JSON standard. There are
no-argument and single-argument versions of this method. No-argument version
selects first of ISO datetime formats matching input string. Single-argument
version accepts template string as its argument. Additionally to .datetime()
method itself this commit also implements comparison ability of resulting date
and time values. There is some difficulty because exising jsonb_path_*()
functions are immutable, while comparison of timezoned and non-timezoned types
involves current timezone. At first, current timezone could be changes in
session. Moreover, timezones themselves are not immutable and could be
updated. This is why we let existing immutable functions throw errors on such
non-immutable comparison. In the same time this commit provides
jsonb_path_*_tz() functions which are stable and support operations involving
timezones. As new functions are added to the system catalog, catversion is
bumped. Support of .datetime() method was the only blocker prevents T832 from
being marked as supported. sql_features.txt is updated correspondingly.
Extracted from original patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov.
Heavily revised by me. Comments were adjusted by Liudmila Mantrova.
Discussion:
https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com
Discussion:
https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
Author: Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov,
Liudmila Mantrova Reviewed-by: Anastasia Lubennikova, Peter Eisentraut
https://git.postgresql.org/pg/commitdiff/bffe1bd68457e43925c362d8728ce3b25bdf1c94

- Correctly cast types to Datum and back in compareDatetime(). Discussion:
https://postgr.es/m/CAPpHfdteFKW6MLpXM4md99m55YAuXs0n9_P2wiTq_EmG09doUA%40mail.gmail.com
https://git.postgresql.org/pg/commitdiff/7881bb14f4b23e8dc8671938cfb3f34117c12d8b

Michaël Paquier pushed:

- Fix failure with lock mode used for custom relation options. In-core relation
options can use a custom lock mode since 47167b7, that has lowered the lock
available for some autovacuum parameters. However it forgot to consider
custom relation options. This causes failures with ALTER TABLE SET when
changing a custom relation option, as its lock is not defined. The existing
APIs to define a custom reloption does not allow to define a custom lock mode,
so enforce its initialization to AccessExclusiveMode which should be safe
enough in all cases. An upcoming patch will extend the existing APIs to allow
a custom lock mode to be defined. The problem can be reproduced with bloom
indexes, so add a test there. Reported-by: Nikolay Sharplov Analyzed-by:
Thomas Munro, Michael Paquier Author: Michael Paquier Reviewed-by: Kuntal
Ghosh Discussion: https://postgr.es/m/20190920013831.GD1844@paquier.xyz
Backpatch-through: 9.6
https://git.postgresql.org/pg/commitdiff/736b84eede6cfdadf1114cf5a0e950d7f4986d82

- Allow definition of lock mode for custom reloptions. Relation options can
define a lock mode other than AccessExclusiveMode since 47167b7, but modules
defining custom relation options did not really have a way to enforce that.
Correct that by extending the current API set so as modules can define a
custom lock mode. Author: Michael Paquier Reviewed-by: Kuntal Ghosh
Discussion: https://postgr.es/m/20190920013831.GD1844@paquier.xyz
https://git.postgresql.org/pg/commitdiff/69f94108079d70093b59096a3ae0ad82c842b4c0

- Add dummy_index_am to src/test/modules/. This includes more tests dedicated to
relation options, bringing the coverage of this code close to 100%, and the
module can be used for other purposes, like a base template for an index AM
implementation. Author: Nikolay Sharplov, Michael Paquier Reviewed-by: Álvaro
Herrera, Dent John Discussion: https://postgr.es/m/17071942.m9zZutALE6@x200m
https://git.postgresql.org/pg/commitdiff/640c19869f8c4b5c34d3982b5e1cd40e62abbb85

- Make more stable regression tests of dummy_index_am for string validations.
Several buildfarm members (crake, loach and spurfowl) are complaining about
two queries looking up at pg_class.reloptions which trigger the validation
routines for string reloptions with default values. This commit limits the
routines to be triggered only when building an index with all custom options
set in CREATE INDEX, which is sufficient for the coverage. Introduced by
640c198.
https://git.postgresql.org/pg/commitdiff/e0afac124ec7026a49909436ebcfc2bd999852a8

- Doc: Fix example related to partition pruning. Append node has been removed in
v12 when there would be only one subnode under it. Author: Amit Langote
Discussion:
https://postgr.es/m/CA+HiwqHhS62w8zUFXF4NBjvMboCXYnD-jWoWp-tfo2aHvP3Gxg@mail.gmail.com
Backpatch-through: 12
https://git.postgresql.org/pg/commitdiff/f5daf7f3266ff5a92f1bf8d386bd5ac3d7d042d6

- Fix comment in xlogreader.c. This has been introduced by 709d003, that has
moved readSegNo, readOff and readPageTLI into a new structure called
WALOpenSegment initialized separately. Author: Kyotaro Horiguchi Discussion:
https://postgr.es/m/20190926.110809.248342687.horikyota.ntt@gmail.com
https://git.postgresql.org/pg/commitdiff/6e22813b2d6083afa2b5af1612a834b3ffae3389

- Fix lockmode initialization for custom relation options. The code was
enforcing AccessExclusiveLock for all custom relation options, which is
incorrect as the APIs allow a custom lock level to be set. While on it, fix a
couple of inconsistencies in the tests and the README of dummy_index_am.
Oversights in commit 773df88. Discussion:
https://postgr.es/m/20190925234152.GA2115@paquier.xyz
https://git.postgresql.org/pg/commitdiff/fbfa5664882c9b61428266e6fb0d48b0147c421a

- Add tab completion for EXPLAIN (SETTINGS) in psql. Author: Justin Pryzby
Reviewed-by: Tatsuro Yamada Discussion:
https://postgr.es/m/20190927022051.GC24334@telsasoft.com Backpatch-through: 12
https://git.postgresql.org/pg/commitdiff/4b011cad272e997935eb8d80ab741a40b395fdf5

- Remove code relevant to OpenSSL 0.9.6 in be/fe-secure-openssl.c. HEAD supports
OpenSSL 0.9.8 and newer versions, and this code likely got forgotten as its
surrounding comments mention an incorrect version number. Author: Michael
Paquier Reviewed-by: Peter Eisentraut Discussion:
https://postgr.es/m/20190927032311.GB8485@paquier.xyz
https://git.postgresql.org/pg/commitdiff/55282fa20f46c193bd4a89ad5bcd048048a8734d

Amit Kapila pushed:

- Fix oversight in commit 4429f6a9e3e12bb4af6e3677fbc78cd80f160252. The test
name and the following test cases suggest the index created should be hash
index, but it forgot to add 'using hash' in the test case. This in itself
won't improve code coverage as there were some other tests which were covering
the corresponding code. However, it is better if the added tests serve their
actual purpose. Reported-by: Paul A Jungwirth Author: Paul A Jungwirth
Reviewed-by: Mahendra Singh Backpatch-through: 9.4 Discussion:
https://postgr.es/m/CA+renyV=Us-5XfMC25bNp-uWSj39XgHHmGE9Rh2cQKMegSj52g@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/bb0e3ce8eb074cef7a88c20bfc34f7e0346312b1

== Pending Patches ==

David Fetter sent in four more revisions of a patch to make integer output more
efficient.

Alexander Korotkov sent in another revision of a patch to show access methods
information.

Benjie Gillam sent in two revisions of a patch to sort policies and triggers by
table name in pg_dump.

Binguo Bao sent in another revision of a patch to de-TOAST using an iterator.

Fabien COELHO sent in three more revisions of a patch to enable pgbench to
create partitioned tables.

Antonin Houska and Álvaro Herrera traded patches to consolidate the reading of
XLOG pages into a single code path.

Aleksey Kondratov sent in another revision of a patch to enable CLUSTER, VACUUM
FULL and REINDEX to change tablespace on the fly.

Etsuro Fujita sent in another revision of a patch to improve the partition
matching algorithm for partition-wise join.

Fujii Masao sent in a patch to fix the formatting of a log message in proto.c.

Tom Lane sent in a patch to cope with large encoding conversions.

Michaël Paquier sent in two more revisions of a patch to fix a failure with lock
mode used for custom relation options, and allow the definition of a lock mode
for custom reloptions.

Amit Langote sent in a patch to fix an example in partitioning documentation.

Michaël Paquier sent in another revision of a patch to add a flag to
format_type_extended to enforce NULL-ness, refactor the format procedure and
operator APIs to be more modular, and eliminate user-visible cache lookup errors
for objaddr SQL functions.

Michaël Paquier sent in a patch to add an error to truncate.

Anastasia Lubennikova and Peter Geoghegan traded patches to add deduplication to
nbtree.

Kyotaro HORIGUCHI sent in another revision of a patch to make it possible to
change change primary_conninfo online.

Dmitry Dolgov sent in another revision of a patch to implement index skip scans.

Muhammad Usama sent in a patch to make it possible to specify partitions on
table creation.

Yuli Khodorkovskiy sent in another revision of a patch to add a MAC for
TRUNCATE.

Kyotaro HORIGUCHI sent in two more revisions of a patch to remove the page-read
callback from XLogReaderState.

Ashutosh Sharma sent in a patch to fix an issue in zedstore.

Alexander Korotkov sent in a patch to introduce RRRR and RR, revise YYY, YY and
Y datetime format patterns.

David Steele and Fujii Masao traded patches to error if the recovery target is
set in crash recovery.

Amit Langote sent in another revision of a patch to use root parent's
permissions when reading child table stats.

Euler Taveira de Oliveira sent in another revision of a patch to implement row
filtering for logical replication.

Kyotaro HORIGUCHI sent in a patch to fix a comment in xlogreader.c.

Amit Langote sent in another revision of a patch to rearrange the partition
routing layer.

Ashwin Agrawal sent in another revision of a patch to remove
IndexBuildCallback's dependency on HeapTuple.

Konstantin Knizhnik sent in another revision of a patch to implement global
temporary tables.

Takayuki Tsunakawa sent in another revision of a patch to speed up transaction
completion after many relations are accessed in a transaction.

Konstantin Knizhnik sent in another revision of a patch to implement
autoprepare.

Aleksey Kondratov sent in another revision of a patch to pg_rewind to add
options to use restore_command from either the command line or from cluster
configuration.

Luis Carril sent in another revision of a patch to make it possible to dump
foreign data in pg_dump.

Jehan-Guillaume de Rorthais sent in another revision of a patch to add
facilities to fetch real timeline from SQL.

Juan José Santamaría Flecha sent in another revision of a patch to enable
to_date and to_timestamp() to accept localized names.

Álvaro Herrera sent in another revision of a patch to implement range_agg.

Pavel Stěhule sent in two more revisions of a patch to implement dropdb --force.

Youki Shiraishi sent in three revisions of a patch to add comments for a
postgres program in bootstrap mode.

Michaël Paquier sent in another revision of a patch to refactor connection with
password prompt loop for frontends.

Konstantin Knizhnik sent in two more revisions of a patch to implement a
built-in connection pooler.

Masahiko Sawada sent in three revisions of a patch to remove recovered history
file.

Amit Khandekar sent in another revision of a patch to implement minimal logical
decoding on standbys.

Paul Guo and Aleksey Kondratov traded patches to Test new standby start with
generated config during pg_rewind remote.

Soumyadeep Chakraborty and Andres Freund traded patches to reduce code
duplication for ExecJust*Var operations, stop generating EEOP_*_FETCHSOME
operations for slots know to be virtual, and make some cosmetic changes.

Tomáš Vondra and Dilip Kumar traded patches to fix some infelicities between
logical_work_mem and logical streaming of large in-progress transactions.

Tomáš Vondra sent in another revision of a patch to optimize partial TOAST
compression.

Kyotaro HORIGUCHI sent in another revision of a patch to implement a
shared-memory-based stats collector.

Michaël Paquier sent in a patch to fix the SSL tests for channel_binding with
OpenSSL <= 1.0.1.

Haozhou Wang sent in another revision of a patch to implement hooks intended to
enable setting disk quotas.

Andres Freund sent in a patch to fix a JIT performance bug/regression and ensure
that enough about JIT appears in EXPLAIN.

Yuya Watari sent in two revisions of a patch to silence some compiler warnings.

Konstantin Knizhnik sent in another revision of a patch to remove unneeded
self-joins.

Alexey Bashtanov sent in another revision of a patch to log bind parameter
values on error.

David Steele sent in a patch to ignore recovery/standby signal files in
pg_basebackup.

Michaël Paquier sent in a patch to clean up code related to OpenSSL <= 0.9.6 in
fe/be-secure-openssl.c.

James Coleman sent in a patch to consider low startup cost in add_partial_path.

Nikita Glukhov sent in another revision of a patch to implement SQL/JSON
functions.

Nikita Glukhov sent in another revision of a patch to implement JSON_TABLE.

Andrey Borodin sent in another revision of a patch to use memcpy in pglz
decompression.

James Coleman sent in another revision of a patch to implement incremental sort.

Browse pgsql-announce by date

  From Date Subject
Next Message Gary Evans 2019-10-02 06:04:55 Registration is now open for PgDU 2019 (Australia and New Zealand)
Previous Message Regina Obe 2019-09-29 00:59:32 PostGIS 3.0.0beta1 is released