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

Поиск
Список
Период
Сортировка
От David Fetter
Тема == PostgreSQL Weekly News - September 28, 2019 ==
Дата
Msg-id 20190929060448.GA3648@fetter.org
обсуждение исходный текст
Список 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@fetter.org.

== 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.mantrova@postgrespro.ru> Reported-by: Jeff Janes <jeff.janes@gmail.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@pgmasters.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@wagner.pp.ru> Reviewed-by: Michael Paquier <michael@paquier.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.



В списке pgsql-announce по дате отправления:

Предыдущее
От: "Regina Obe"
Дата:
Сообщение: PostGIS 3.0.0beta1 is released
Следующее
От: Gary Evans
Дата:
Сообщение: Registration is now open for PgDU 2019 (Australia and New Zealand)