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

Поиск
Список
Период
Сортировка
От David Fetter
Тема == PostgreSQL Weekly News - May 12, 2019 ==
Дата
Msg-id 20190512165953.GA25107@fetter.org
обсуждение исходный текст
Список pgsql-announce
== PostgreSQL Weekly News - May 12, 2019 ==

PostgreSQL security releases 11.3, 10.8, 9.6.13, 9.5.17, and 9.4.22 released.
Upgrade as soon as possible.
https://www.postgresql.org/about/news/1939/

== PostgreSQL Jobs for May ==

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

== PostgreSQL Local ==

PGDay.IT 2019 will take place May 16th and May 17th in Bologna, Italy.
https://2019.pgday.it/en/

PgConf Belgium will take place on May 17, 2019 at the UCLL Campus in Haasrode
(near Leuven). Registration is open.
http://pgconf.be

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

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

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

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

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

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

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

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm PST8PDT to david@fetter.org.

== Applied Patches ==

Tom Lane pushed:

- Fix style violations in syscache lookups. Project style is to check the
  success of SearchSysCacheN and friends by applying HeapTupleIsValid to the
  result.  A tiny minority of calls creatively did it differently.  Bring them
  into line with the rest.  This is just cosmetic, since HeapTupleIsValid is
  indeed just a null check at the moment ... but that may not be true forever,
  and in any case it puts a mental burden on readers who may wonder why these
  call sites are not like the rest.  Back-patch to v11 just to keep the branches
  in sync.  (The bulk of these errors seem to have originated in v11 or v12,
  though a few are old.)  Per searching to see if anyplace else had made the
  same error repaired in 62148c352.
  https://git.postgresql.org/pg/commitdiff/9691aa72e2a7fb146ac759e1f8a8b04962128cc0

- Bring pg_nextoid()'s error messages into line with message style guide.
  Noticed while reviewing nearby code.  Given all the disclaimers about this not
  being meant as user-facing code, I wonder whether we should make these
  non-translatable?  But in any case there's little excuse for them not to be
  good English.
  https://git.postgresql.org/pg/commitdiff/bd5e8b627bae9e394352a388d2ad30465eafea2c

- Avoid "invalid memory alloc request size" while reading pg_stat_activity. On a
  64-bit machine, if you set track_activity_query_size and max_connections such
  that their product exceeds 1GB, shared memory setup will still succeed (given
  enough RAM), but attempts to read pg_stat_activity fail with "invalid memory
  alloc request size". Work around that by using MemoryContextAllocHuge to
  allocate the local copy of the activity strings.  Using the "huge" API costs
  us nothing extra in normal cases, and it seems better than throwing an error
  and/or explaining to people why they can't do this.  This situation seems
  insanely profligate today, but who knows what people will consider normal in
  ten or twenty years?  So let's fix it in HEAD but not worry about a
  back-patch.  Per report from James Tomson.  Discussion:
  https://postgr.es/m/1CFDCCD6-B268-48D8-85C8-400D2790B2C3@pushd.com
  https://git.postgresql.org/pg/commitdiff/8d0ddccec6366a2851da7d350b33659203aa644b

- Clean up the behavior and API of catalog.c's is-catalog-relation tests. The
  right way for IsCatalogRelation/Class to behave is to return true for OIDs
  less than FirstBootstrapObjectId (not FirstNormalObjectId), without any of the
  ad-hoc fooling around with schema membership.  The previous code was wrong
  because (1) it claimed that information_schema tables were not catalog
  relations but their toast tables were, which is silly; and (2) if you dropped
  and recreated information_schema, which is a supported operation, the behavior
  changed.  That's even sillier.  With this definition, "catalog relations" are
  exactly the ones traceable to the postgres.bki data, which seems like what we
  want.  With this simplification, we don't actually need access to the pg_class
  tuple to identify a catalog relation; we only need its OID.  Hence, replace
  IsCatalogClass with "IsCatalogRelationOid(oid)".  But keep IsCatalogRelation
  as a convenience function.  This allows fixing some arguably-wrong semantics
  in contrib/sepgsql and ReindexRelationConcurrently, which were using an
  IsSystemNamespace test where what they really should be using is
  IsCatalogRelationOid.  The previous coding failed to protect toast tables of
  system catalogs, and also was not on board with the general principle that
  user-created tables do not become catalogs just by virtue of being renamed
  into pg_catalog. We can also get rid of a messy hack in ReindexMultipleTables.
  While we're at it, also rename IsSystemNamespace to IsCatalogNamespace,
  because the previous name invited confusion with the more expansive semantics
  used by IsSystemRelation/Class.  Also improve the comments in catalog.c.
  There are a few remaining places in replication-related code that are
  special-casing OIDs below FirstNormalObjectId.  I'm inclined to think those
  are wrong too, and if there should be any special case it should just extend
  to FirstBootstrapObjectId.  But first we need to debate whether a FOR ALL
  TABLES publication should include information_schema.  Discussion:
  https://postgr.es/m/21697.1557092753@sss.pgh.pa.us Discussion:
  https://postgr.es/m/15150.1557257111@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/2d7d946cd323ce1c1d3f3ef0e5f2f41591afc1b9

- Repair issues with faulty generation of merge-append plans.
  create_merge_append_plan failed to honor the CP_EXACT_TLIST flag: it would
  generate the expected targetlist but then it felt free to add resjunk sort
  targets to it.  This demonstrably leads to assertion failures in v11 and HEAD,
  and it's probably just accidental that we don't see the same in older
  branches.  I've not looked into whether there would be any real-world
  consequences in non-assert builds. In HEAD, create_append_plan has sprouted
  the same problem, so fix that too (although we do not have any test cases that
  seem able to reach that bug).  This is an oversight in commit 3fc6e2d7f which
  invented the CP_EXACT_TLIST flag, so back-patch to 9.6 where that came in.
  convert_subquery_pathkeys would create pathkeys for subquery output values if
  they match any EquivalenceClass known in the outer query and are available in
  the subquery's syntactic targetlist.  However, the second part of that
  condition is wrong, because such values might not appear in the subquery
  relation's reltarget list, which would mean that they couldn't be accessed
  above the level of the subquery scan.  We must check that they appear in the
  reltarget list, instead. This can lead to dropping knowledge about the
  subquery's sort ordering, but I believe it's okay, because any sort key that
  the outer query actually has any interest in would appear in the reltarget
  list.  This second issue is of very long standing, but right now there's no
  evidence that it causes observable problems before 9.6, so I refrained from
  back-patching further than that.  We can revisit that choice if somebody finds
  a way to make it cause problems in older branches. (Developing useful test
  cases for these issues is really problematic; fixing convert_subquery_pathkeys
  removes the only known way to exhibit the create_merge_append_plan bug, and
  neither of the test cases added by this patch causes a problem in all
  branches, even when considering the issues separately.)  The second issue
  explains bug #15795 from Suresh Kumar R ("could not find pathkey item to sort"
  with nested DISTINCT queries).  I stumbled across the first issue while
  investigating that.  Discussion:
  https://postgr.es/m/15795-fadb56c8e44ee73c@postgresql.org
  https://git.postgresql.org/pg/commitdiff/24c19e9f66863d83009a370604e40b1eaa71bcdd

- Cope with EINVAL and EIDRM shmat() failures in PGSharedMemoryAttach. There's a
  very old race condition in our code to see whether a pre-existing shared
  memory segment is still in use by a conflicting postmaster: it's possible for
  the other postmaster to remove the segment in between our shmctl() and shmat()
  calls.  It's a narrow window, and there's no risk unless both postmasters are
  using the same port number, but that's possible during parallelized "make
  check" tests.  (Note that while the TAP tests take some pains to choose a
  randomized port number, pg_regress doesn't.) If it does happen, we treated
  that as an unexpected case and errored out.  To fix, allow EINVAL to be
  treated as segment-not-present, and the same for EIDRM on Linux.  AFAICS, the
  considerations here are basically identical to the checks for acceptable
  shmctl() failures, so I documented and coded it that way.  While at it, adjust
  PGSharedMemoryAttach's API to remove its undocumented dependency on
  UsedShmemSegAddr in favor of passing the attach address explicitly.  This
  makes it easier to be sure we're using a null shmaddr when probing for segment
  conflicts (thus avoiding questions about what EINVAL means).  I don't think
  there was a bug there, but it required fragile assumptions about the state of
  UsedShmemSegAddr during PGSharedMemoryIsInUse.  Commit c09850992 may have made
  this failure more probable by applying the conflicting-segment tests more
  often.  Hence, back-patch to all supported branches, as that was.  Discussion:
  https://postgr.es/m/22224.1557340366@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/610747d86e46ae6e94b7288393d08823cc39b498

- Rearrange pgstat_bestart() to avoid failures within its critical section. We
  long ago decided to design the shared PgBackendStatus data structure to
  minimize the cost of writing status updates, which means that writers just
  have to increment the st_changecount field twice.  That isn't hooked into any
  sort of resource management mechanism, which means that if something were to
  throw error between the two increments, the st_changecount field would be left
  odd indefinitely.  That would cause readers to lock up. Now, since it's also a
  bad idea to leave the field odd for longer than absolutely necessary (because
  readers will spin while we have it set), the expectation was that we'd treat
  these segments like spinlock critical sections, with only short, more or less
  straight-line, code in them.  That was fine as originally designed, but commit
  9029f4b37 broke it by inserting a significant amount of non-straight-line code
  into pgstat_bestart(), code that is very capable of throwing errors, not to
  mention taking a significant amount of time during which readers will spin. We
  have a report from Neeraj Kumar of readers actually locking up, which I
  suspect was due to an encoding conversion error in X509_NAME_to_cstring,
  though conceivably it was just a garden-variety OOM failure.  Subsequent
  commits have loaded even more dubious code into pgstat_bestart's critical
  section (and commit fc70a4b0d deserves some kind of booby prize for managing
  to miss the critical section entirely, although the negative consequences seem
  minimal given that the PgBackendStatus entry should be seen by readers as
  inactive at that point).  The right way to fix this mess seems to be to
  compute all these values into a local copy of the process' PgBackendStatus
  struct, and then just copy the data back within the critical section proper.
  This plan can't be implemented completely cleanly because of the struct's
  heavy reliance on out-of-line strings, which we must initialize separately
  within the critical section.  But still, the critical section is far smaller
  and safer than it was before.  In hopes of forestalling future errors of the
  same ilk, rename the macros for st_changecount management to make it more
  apparent that the writer-side macros create a critical section.  And to
  prevent the worst consequences if we nonetheless manage to mess it up anyway,
  adjust those macros so that they really are a critical section, ie they now
  bump CritSectionCount.  That doesn't add much overhead, and it guarantees that
  if we do somehow throw an error while the counter is odd, it will lead to
  PANIC and a database restart to reset shared memory.  Back-patch to 9.5 where
  the problem was introduced.  In HEAD, also fix an oversight in commit
  b0b39f72b: it failed to teach pgstat_read_current_status to copy st_gssstatus
  data from shared memory to local memory.  Hence, subsequent use of that data
  within the transaction would potentially see changing data that it shouldn't
  see.  Discussion:
  https://postgr.es/m/CAPR3Wj5Z17=+eeyrn_ZDG3NQGYgMEOY6JV6Y-WRRhGgwc16U3Q@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/85ccb6899c6c8639bb3e5962ea3bcce5d886e613

Dean Rasheed pushed:

- Fix security checks for selectivity estimation functions with RLS. In commit
  e2d4ef8de8, security checks were added to prevent user-supplied operators from
  running over data from pg_statistic unless the user has table or column
  privileges on the table, or the operator is leakproof. For a table with RLS,
  however, checking for table or column privileges is insufficient, since that
  does not guarantee that the user has permission to view all of the column's
  data.  Fix this by also checking for securityQuals on the RTE, and insisting
  that the operator be leakproof if there are any. Thus the leakproofness check
  will only be skipped if there are no securityQuals and the user has table or
  column privileges on the table -- i.e., only if we know that the user has
  access to all the data in the column.  Back-patch to 9.5 where RLS was added.
  Dean Rasheed, reviewed by Jonathan Katz and Stephen Frost.  Security:
  CVE-2019-10130
  https://git.postgresql.org/pg/commitdiff/1aebfbea83c4a3e1a0aba4b0910135dc5a45666c

- Use checkAsUser for selectivity estimator checks, if it's set. In
  examine_variable() and examine_simple_variable(), when checking the user's
  table and column privileges to determine whether to grant access to the
  pg_statistic data, use checkAsUser for the privilege checks, if it's set. This
  will be the case if we're accessing the table via a view, to indicate that we
  should perform privilege checks as the view owner rather than the current
  user.  This change makes this planner check consistent with the check in the
  executor, so the planner will be able to make use of statistics if the table
  is accessible via the view. This fixes a performance regression introduced by
  commit e2d4ef8de8, which affects queries against non-security barrier views in
  the case where the user doesn't have privileges on the underlying table, but
  the view owner does.  Note that it continues to provide the same safeguards
  controlling access to pg_statistic for direct table access (in which case
  checkAsUser won't be set) and for security barrier views, because of the
  nearby checks on rte->security_barrier and rte->securityQuals.  Back-patch to
  all supported branches because e2d4ef8de8 was.  Dean Rasheed, reviewed by
  Jonathan Katz and Stephen Frost.
  https://git.postgresql.org/pg/commitdiff/a0905056fd6b0927dd33f185adc9e7503515fc0d

Michaël Paquier pushed:

- Add tests for error message generation in partition tuple routing. This adds
  extra tests for the error message generated for partition tuple routing in the
  executor, using more than three levels of partitioning including partitioned
  tables with no partitions.  These tests have been added to fix CVE-2019-10129
  on REL_11_STABLE.  HEAD has no active bugs in this area, but it lacked
  coverage.  Author: Michael Paquier Reviewed-by: Noah Misch Security:
  CVE-2019-10129
  https://git.postgresql.org/pg/commitdiff/91248608a61d5504f8ac46534136de9b3717fed2

- Remove some code related to 7.3 and older servers from tools of src/bin/. This
  code was broken as of 582edc3, and is most likely not used anymore. Note that
  pg_dump supports servers down to 8.0, and psql has code to support servers
  down to 7.4.  Author: Julien Rouhaud Reviewed-by: Tom Lane Discussion:
  https://postgr.es/m/CAOBaU_Y5y=zo3+2gf+2NJC1pvMYPcbRXoQaPXx=U7+C8Qh4CzQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/af82f95abb23a56d18fd009ef9eca68ef803a041

- Fix error status of vacuumdb when multiple jobs are used. When running a batch
  of VACUUM or ANALYZE commands on a given database, there were cases where it
  is possible to have vacuumdb not report an error where it actually should,
  leading to incorrect status results.  Author: Julien Rouhaud Reviewed-by: Amit
  Kapila, Michael Paquier Discussion:
  https://postgr.es/m/CAOBaU_ZuTwz7CtqLYJ1Ouuh272bTQPLN8b1bAPk0bCBm4PDMTQ@mail.gmail.com
  Backpatch-through: 9.5
  https://git.postgresql.org/pg/commitdiff/3ae3c18b362817f9412c380539f1a16c7abb79c9

- Improve and fix some error handling for REINDEX INDEX/TABLE CONCURRENTLY. This
  improves the user experience when it comes to restrict several flavors of
  REINDEX CONCURRENTLY.  First, for INDEX, remove a restriction on shared
  relations as we already check after catalog relations.  Then, for TABLE, add a
  proper error message when attempting to run the command on system catalogs.
  The code path of CREATE INDEX CONCURRENTLY already complains about that, but
  if a REINDEX is issued then then the error generated is confusing.  While on
  it, add more tests to check restrictions on catalog indexes and on toast
  table/index for catalogs.  Some error messages are improved, with wording
  suggestion coming from Tom Lane.  Reported-by: Tom Lane Author: Michael
  Paquier Reviewed-by: Tom Lane Discussion:
  https://postgr.es/m/23694.1556806002@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/508300e2e141a9fd87758ce01374c5b0597986fd

- Fix and improve description of locktag types in lock.h. The description of the
  lock type for speculative insertions was incorrect, being copy-pasted from
  another one.  As discussed, also move the description for all the fields of
  lock tag types from the structure listing lock tag types to the set of macros
  setting each LOCKTAG.  Author: John Naylor Discussion:
  https://postgr.es/m/CACPNZCtA0-ybaC4fFfaDq_8p_TUOLvGxZH9Dm-=TMHZJarBa7Q@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/752f06443fba7e906cd98987f247297663f19a16

- Fix error reporting in reindexdb. When failing to reindex a table or an index,
  reindexdb would generate an extra error message related to a database failure,
  which is misleading.  Backpatch all the way down, as this has been introduced
  by 85e9a5a0.  Discussion:
  https://postgr.es/m/CAOBaU_Yo61RwNO3cW6WVYWwH7EYMPuexhKqufb2nFGOdunbcHw@mail.gmail.com
  Author: Julien Rouhaud Reviewed-by: Daniel Gustafsson, Álvaro Herrera, Tom
  Lane, Michael Paquier Backpatch-through: 9.4
  https://git.postgresql.org/pg/commitdiff/e51bad8fb4c3f0ad5cb173034afdc0b349c7e488

Álvaro Herrera pushed:

- Revert "Make pg_dump emit ATTACH PARTITION instead of PARTITION OF". ... and
  fallout (from branches 10, 11 and master).  The change was ill-considered, and
  it broke a few normal use cases; since we don't have time to fix it, we'll try
  again after this week's minor releases.  Reported-by: Rushabh Lathia
  Discussion:
  https://postgr.es/m/CAGPqQf0iQV=PPOv2Btog9J9AwOQp6HmuVd6SbGTR_v3Zp2XT1w@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/a1ec7402e9a0392f95bc79542af0efcd5c6e7929

- Fix error messages. Some messages related to foreign servers were reporting
  the server name without quotes, or not at all; our style is to have all names
  be quoted, and the server name already appears quoted in a few other messages,
  so just add quotes and make them all consistent.  Remove an extra "s" in other
  messages (typos introduced by myself in f56f8f8da6af).
  https://git.postgresql.org/pg/commitdiff/61639816b870347677e6e6945604e0d9da1837ca

Bruce Momjian pushed:

- docs:  fist draft version of the PG 12 release notes. Still needs text markup,
  links, word wrap, and indenting.
  https://git.postgresql.org/pg/commitdiff/bdf595adbca195fa54a909c74a5233ebc30641a1

- doc:  update PG 12 release notes, v2. Adjustments requested by reviewers.
  Reported-by: Amit Kapila, Thomas Munro, Andrew Gierth, Amit Langote, Oleg
  Bartunov, Michael Paquier, Alvaro Herrera, Tatsuo Ishii  Discussion:
  https://postgr.es/m/20190506233029.ozwged67i7s4qd6c@momjian.us
  https://git.postgresql.org/pg/commitdiff/64084d6857b1d8ac05ae46f658b6c244aa6ab591

- docs:  update release notes with fixes. Reported-by: Justin Pryzby
  Discussion: https://postgr.es/m/20190508203204.GA25482@telsasoft.com
  https://git.postgresql.org/pg/commitdiff/81ddfa2e4d9350eb68f28cde8ae6a7e0b39ef2ac

- doc:  more PG 12 release note adjustments. This adds two more items that
  should have been included in the beginning.  Reported-by: Justin Pryzby
  Discussion: https://postgr.es/m/20190508203204.GA25482@telsasoft.com
  https://git.postgresql.org/pg/commitdiff/79697d039f567cd52d844077244fb85df10dce19

- doc:  fix capitalization in PG 12 release notes. Reported-by: Thomas Munro
  Discussion:
  https://postgr.es/m/CA+hUKGJpep8uSXoDtVF6iROCRKce-39HEhDPUaYFyMn0U5e9ug@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/32fe7ee2dd2b2aa8620e69451f60b2b35989677c

- doc:  more PG 12 wording adjustments. Reported-by: Justin Pryzby  Discussion:
  https://postgr.es/m/20190510001959.GK3925@telsasoft.com
  https://git.postgresql.org/pg/commitdiff/97b1654da7dd38fa50c9b6139f4213a1c47f0c39

- doc: PG 12 wording improvments. Reported-by: Justin Pryzby  Discussion:
  https://postgr.es/m/20190510001335.GJ3925@telsasoft.com
  https://git.postgresql.org/pg/commitdiff/d0bbf871ca243eafcac7a84138741521c1aea3d2

- doc:  add markup for PG 12 release note text. I will add links to other parts
  of the docs later.
  https://git.postgresql.org/pg/commitdiff/c65bcfe9aeecae1c6204ad60612fae43669a88b0

- doc: PG 12 release note adjustment. Reported-by: Justin Pryzby  Discussion:
  https://postgr.es/m/20190510013449.GL3925@telsasoft.com
  https://git.postgresql.org/pg/commitdiff/b299efaea433a7d2c04ce124e4f6588807bbe87a

- docs:  PG 12 docs, clarify btree index changes. Reported-by: Peter Geoghegan
  Discussion:
  https://postgr.es/m/CAH2-WzkSYOM1GJVGtAbRW-OqymoCD=QWYG6ro+GaoOW-jPRuDQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/809e248299894b02e8f4eb3ee17829b2ae14ce9d

- docs:  properly attribute PG 12 rel item to James Coleman. Reported-by: David
  Rowley  Discussion:
  https://postgr.es/m/CAKJS1f-NDmeA_tb0oRFhrgf19xq3A9MeoyMcckY04Ct=_i0c2A@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/8aa1b0885e3d248dbf3e0b0c544125d13dbc36d0

- doc: reorder attribution of PG 12 btree item. Reported-by: Alexander Korotkov
  Discussion:
  https://postgr.es/m/CAPpHfdvkM-PkyrK6LQitJUDmC_1kOCEtTuseoVhCT=ew0XJmGg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/05f9eba3498f4dbc8687f66eff53a2bfb88f2595

- doc:  improve PG 12 item on partitioned tables. Reported-by: Amit Langote
  Discussion:
  https://postgr.es/m/5936b052-5d92-a2c9-75d2-0245fb2330b5@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/13d258ec0e55ebc4378e848934f0f4c0ffac0a6f

- doc:  add Heikki to PG 12 release note btree item. Reported-by: Peter
  Geoghegan  Discussion:
  https://postgr.es/m/CAH2-WzkrX-aA7d3OYtQT+8Mspq+tU5vwuVz=FTzMH3CdrSyprA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/064df0edfee91d3843d54d1f67c05a4634690a12

- docs:  adjust PG 12 floating point item. Reported-by: Andrew Gierth
  Discussion: https://postgr.es/m/87r295hjur.fsf@news-spur.riddles.org.uk
  https://git.postgresql.org/pg/commitdiff/0edc8fc47bc4482ceac85b09575d6372dbbc0bbf

- docs:  add links from the PG 12 release notes to the main docs.
  https://git.postgresql.org/pg/commitdiff/1708974485e82e1cf4694c683faa70fc5bcf142c

- docs:  PG 12 release notes, mention that REINDEX could now fail. This is
  because of the new tid in the index entry.  Reported-by: Peter Geoghegan
  https://git.postgresql.org/pg/commitdiff/d56fd6357a5e0e76fecf20c3dc762c5301290331

- doc:  remove pg_config mention from PG 12 release notes. Reported-by: Tom Lane
  Discussion: https://postgr.es/m/28209.1556556696@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/31f11f964734dbe2af2915182bf79f69e337d4d7

- docs:  remove second mention of btree max length reduction. I already added
  that to the incompatibility section as a separate item.  Reported-by: Peter
  Geoghegan
  https://git.postgresql.org/pg/commitdiff/4217d15d91128355ea13e6fb9c031b826e2a1335

Amit Kapila pushed:

- Revert "Avoid the creation of the free space map for small heap relations".
  This feature was using a process local map to track the first few blocks in
  the relation.  The map was reset each time we get the block with enough
  freespace.  It was discussed that it would be better to track this map on a
  per-relation basis in relcache and then invalidate the same whenever vacuum
  frees up some space in the page or when FSM is created.  The new design would
  be better both in terms of API design and performance.  List of commits
  reverted, in reverse chronological order:  06c8a5090e  Improve code comments
  in b0eaa4c51b. 13e8643bfc  During pg_upgrade, conditionally skip transfer of
  FSMs. 6f918159a9  Add more tests for FSM. 9c32e4c350  Clear the local map when
  not used. 29d108cdec  Update the documentation for FSM behavior.. 08ecdfe7e5
  Make FSM test portable. b0eaa4c51b  Avoid creation of the free space map for
  small heap relations.  Discussion:
  https://postgr.es/m/20190416180452.3pm6uegx54iitbt5@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/7db0cde6b58eef2ba0c70437324cbc7622230320

Peter Eisentraut pushed:

- doc: Generate keywords table automatically. The SQL keywords table in the
  documentation had until now been generated by some ad hoc scripting outside
  the source tree once for each major release.  This changes it to an automated
  process.  We have the PostgreSQL keywords available in a parseable format in
  parser/kwlist.h.  For the relevant SQL standard versions, keep the keyword
  lists in new text files.  A new script generate-keywords-table.pl pulls it all
  together and produces a DocBook table.  The final output in the documentation
  should be identical after this change.  Discussion:
  https://www.postgresql.org/message-id/flat/07daeadd-8c82-0d95-5e19-e350502cb749%402ndquadrant.com
  https://git.postgresql.org/pg/commitdiff/b753bc0c84e51c200ec7de6cefb6f689d13fef62

- Fix table lock levels for REINDEX INDEX CONCURRENTLY. REINDEX CONCURRENTLY
  locks tables with ShareUpdateExclusiveLock rather than the ShareLock used by a
  plain REINDEX.  However, RangeVarCallbackForReindexIndex() was not updated for
  that and still used the ShareLock only.  This would lead to lock upgrades
  later, leading to possible deadlocks.  Reported-by: Andres Freund
  <andres@anarazel.de> Reviewed-by: Andres Freund <andres@anarazel.de>
  Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion:
  https://www.postgresql.org/message-id/flat/20190430151735.wi52sxjvxsjvaxxt%40alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/add85ead4ab969c1e31d64f4476c2335856f4aa9

- Fix grammar in error message.
  https://git.postgresql.org/pg/commitdiff/02daece4ab4cd85b80d04469056e5b631918c9d6

- pg_controldata: Add common gettext flags. So it picks up strings in pg_log_*
  calls.  This was forgotten when it was added to all other relevant
  subdirectories.
  https://git.postgresql.org/pg/commitdiff/cd805f46d857291b26ba6eb491ce11b6e0fc9ad3

Magnus Hagander pushed:

- Fix typos and clarify a comment. Author: Daniel Gustafsson <daniel@yesql.se>
  https://git.postgresql.org/pg/commitdiff/98719af6c2e30d538cd05cfe044f58ba4067b52b

Fujii Masao pushed:

- Add TRUNCATE parameter to VACUUM. This commit adds new parameter to VACUUM
  command, TRUNCATE, which specifies that VACUUM should attempt to truncate off
  any empty pages at the end of the table and allow the disk space for the
  truncated pages to be returned to the operating system.  This parameter, if
  specified, overrides the vacuum_truncate reloption. If neither the reloption
  nor the VACUUM option is used, the default is true, as before.  Author: Fujii
  Masao Reviewed-by: Julien Rouhaud, Masahiko Sawada Discussion:
  https://postgr.es/m/CAD21AoD+qtrSDL=GSma4Wd3kLYLeRC0hPna-YAdkDeV4z156vg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/b84dbc8eb80b43e554891c459a19969d9fbdefe5

- Fix documentation for the privileges required for replication functions.
  Previously it's documented that use of replication functions is restricted to
  superusers. This is true for the functions which use replication origin, but
  not for pg_logicl_emit_message() and functions which use replication slot. For
  example, not only superusers but also users with REPLICATION privilege is
  allowed to use the functions for replication slot. This commit fixes the
  documentation for the privileges required for those replication functions.
  Back-patch to 9.4 (all supported versions).  Author: Matsumura Ryo Discussion:
  https://postgr.es/m/03040DFF97E6E54E88D3BFEE5F5480F74ABA6E16@G01JPEXMBYT04
  https://git.postgresql.org/pg/commitdiff/df631ebc737e9d9cdf8d0691969d404f1bd584a4

Alexander Korotkov pushed:

- Remove word "singleton" out of jsonpath docs. Word "singleton" is hard for
  user understanding, especially taking into account there is only one place
  it's used in the docs and there is even no definition. Use more evident
  wording instead.  Discussion:
  https://postgr.es/m/23737.1556550645%40sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/53ae0b16d6f60a15427e081091b2b81e36e674ee

- Improve error reporting in jsonpath. This commit contains multiple
  improvements to error reporting in jsonpath including but not limited to
  getting rid of following things:   * definition of error messages in macros,
  * errdetail() when valueable information could fit to errmsg(),  * word
  "singleton" which is not properly explained anywhere,  * line breaks in error
  messages.  Reported-by: Tom Lane Discussion:
  https://postgr.es/m/14890.1555523005%40sss.pgh.pa.us Author: Alexander
  Korotkov Reviewed-by: Tom Lane
  https://git.postgresql.org/pg/commitdiff/29ceacc3f93720d3ebb7e7e999f8b7fe9622389c

- Add jsonpath_encoding_1.out changes missed in 29ceacc3f9. Reported-by: Tom
  Lane Discussion: https://postgr.es/m/14305.1557268259%40sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/e5f978631722bb3cac42f0eb6e65e947e0f088ec

Peter Geoghegan pushed:

- Correct obsolete nbtsort.c minimum key comment. It is no longer possible under
  any circumstances for nbtree code to reconstruct a strict lower bound key
  (parent page's pivot tuple key) for a right sibling page by retrieving the
  first item in the right sibling page.
  https://git.postgresql.org/pg/commitdiff/d65b5ccad626e1942c862e8a70f56ad7ee7a8003

- Remove obsolete nbtree split REDO routine comment. Commit dd299df8189, which
  added suffix truncation to nbtree, simplified the WAL record format used by
  page splits.  It became necessary to explicitly WAL-log the new high key for
  the left half of a split in all cases, which relieved the REDO routine from
  having to reconstruct a new high key for the left page by copying the first
  item from the right page.  Remove a comment that referred to the previous
  practice.
  https://git.postgresql.org/pg/commitdiff/d95e36dc384e3068ae2db909c228b1800737b18d

Heikki Linnakangas pushed:

- Remove leftover reference to old "flat file" mechanism in a comment. The flat
  file mechanism was removed in PostgreSQL 9.0.
  https://git.postgresql.org/pg/commitdiff/256be1050cbbf90b1e44d11c8ed10f98255aa27d

Etsuro Fujita pushed:

- Add missing periods to comments.
  https://git.postgresql.org/pg/commitdiff/b7434dc007252d7a5e5f7f85700bd7400b1db201

- postgres_fdw: Fix cost estimation for aggregate pushdown. In commit
  7012b132d0, which added support for aggregate pushdown in postgres_fdw, the
  expense of evaluating the final scan/join target computed by
  make_group_input_target() was not accounted for at all in costing aggregate
  pushdown paths with local statistics.  The right fix for this would be to have
  a separate upper stage to adjust the final scan/join relation (see comments
  for apply_scanjoin_target_to_paths()); but for now, fix by adding the tlist
  eval cost when costing aggregate pushdown paths with local statistics.  Apply
  this to HEAD only to avoid destabilizing existing plan choices.  Author:
  Etsuro Fujita Reviewed-By: Antonin Houska Discussion:
  https://postgr.es/m/5C66A056.60007%40lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/edbcbe277d795ecc339b0e4fa29bae42ce1a7be9

- Doc: Update FDW documentation about GetForeignUpperPaths(). In commit
  d50d172e51, which added support for LIMIT/OFFSET pushdown in postgres_fdw, a
  new struct was introduced as the extra parameter of GetForeignUpperPaths() set
  for UPPERREL_FINAL, but I forgot to update the documentation to mention that.
  Author: Etsuro Fujita Discussion:
  https://postgr.es/m/CAPmGK17uSXQDe31oRb-z1nYyT6vVzkstZkA3_Wbq38U92b9BmQ%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/a0be05bab062eff16eafce3df73b3df453a694f4

Thomas Munro pushed:

- Fix copy-and-paste mistakes in documentation. Reported-by: Vik Fearing
  https://git.postgresql.org/pg/commitdiff/098344be663f5fc0ad166e7a9e1cd37721ee34d9

- Probe only 127.0.0.1 when looking for ports on Unix. Commit c0985099, later
  adjusted by commit 4ab02e81, probed 0.0.0.0 in addition to 127.0.0.1, for the
  benefit of Windows build farm animals.  It isn't really useful on Unix
  systems, and turned out to be a bit inconvenient to users of some corporate
  firewall software. Switch back to probing just 127.0.0.1 on non-Windows
  systems.  Back-patch to 9.6, like the earlier changes.  Discussion:
  https://postgr.es/m/CA%2BhUKG%2B21EPwfgs4m%2BtqyRtbVqkOUvP8QQ8sWk9%2Bh55Aub1H3A%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/8efe710d9c84502b3e6a9487937bccf881f56d9c

- Fix SxactGlobalXmin tracking. Commit bb16aba50 broke the code that maintains
  SxactGlobalXmin.  It could get stuck when a well-timed READ ONLY transaction
  runs.  If SxactGlobalXmin stops advancing, transactions on the
  FinishedSerializableTransactions queue are never cleaned up, so resources are
  effectively leaked.  Revert that hunk of the commit.  Also revert another
  similar hunk that was probably harmless, but unnecessary and unjustified,
  relating to the DOOMED flag in case of RO_SAFE early release.  Author: Thomas
  Munro Reported-by: Tom Lane Discussion:
  https://postgr.es/m/16170.1557251214%40sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/47a338cfcd67139a1f91892b080934fcfc3aea03

Andres Freund pushed:

- Remove reindex_catalog test from test schedules. As none of the approaches for
  avoiding the deadlock issues seem promising enough, and all the expected
  reindex related changes have been made, apply 60c2951e1bab7e to master as
  well.  Discussion: https://postgr.es/m/4622.1556982247@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/5997a8f4d7478ae6bac4dab12ca1f883e41a7aa1

Andrew Gierth pushed:

- Fix editing error in floating-point docs. My fault; the error was introduced
  in the Ryu patch.
  https://git.postgresql.org/pg/commitdiff/b721e201a0bcf0f9e1795c295e134e47d698e80c

Noah Misch pushed:

- Honor TEMP_CONFIG in TAP suites. The buildfarm client uses TEMP_CONFIG to
  implement its extra_config setting.  Except for stats_temp_directory,
  extra_config now applies to TAP suites; extra_config values seen in the past
  month are compatible with this.  Back-patch to 9.6, where PostgresNode was
  introduced, so the buildfarm can rely on it sooner.  Reviewed by Andrew
  Dunstan and Tom Lane.  Discussion:
  https://postgr.es/m/20181229021950.GA3302966@rfd.leadboat.com
  https://git.postgresql.org/pg/commitdiff/54c2ecb56707ed00844b8678a79570dd34cb95a3

== Pending Patches ==

Peter Geoghegan sent in a patch to standardize line pointers/item pointer terminology.

Thomas Munro sent in two revisions of a patch to detach from DSM segments last
in resowner.c

Ashwin Agrawal sent in a patch to adjust the toy table AM implementation to
match the latest APIs.

Thomas Munro sent in a patch to probe only 127.0.0.1 when looking for ports on
Unix.

Dilip Kumar, Thomas Munro, and Kuntal Ghosh traded patches to clean up orphaned
files using undo logs.

Ryo Matsumura sent in another revision of a patch to add PREPARE to eCPG.

David Fetter sent in two more revisions of a patch to add a way to supply stdin
to TAP tests.

David Fetter sent in two more revisions of a patch to add an ALL to EXPLAIN.

Kyotaro HORIGUCHI sent in three more revisions of a patch to fix partial
aggregation for statistical functions.

John Naylor sent in two revisions of a patch to fix a copy-paste-o comment in
lock.h.

Heikki Linnakangas sent in a patch to detect internal GiST page splits correctly
during index build.

Laurenz Albe sent in another revision of a patch to untangle some stuff about
identity sequences.

Tomáš Vondra sent in another revision of a patch to add a per-slice overflow
file.

Justin Pryzby sent in another revision of a patch to clean up/remove/update
references to OID columns.

Thomas Munro sent in a patch to prevent SxactGlobalXmin tracking from leaking
resources.

Thomas Munro sent in a patch to add a SMGR discriminator to buffer tags.

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

Paul A Jungwirth sent in another revision of a patch to implement range_agg.

Masahiko Sawada sent in a patch to add a toast.vacuum_index_cleanup GUC.

Masahiko Sawada sent in two options for a patch either to add an --index-cleanup
option to vacuumdb, or to add --truncate option to vacuumdb.

Dean Rasheed sent in a patch to plug a data leak to unprivileged users in
multivariate MCV stats.

Andres Freund sent in a patch to a test for the speculative insert abort case.

Julien Rouhaud sent in three revisions of a patch to fix a bug in reindexdb's
error reporting where reindexdb could report an extraneous message saying an
error happened while reindexing a database if it failed reindexing a table or an
index.

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

Fabien COELHO sent in a patch to make libpq documentation navigable between
functions.

Julien Rouhaud sent in a patch to clean up and refactor reindexdb.c.

Rikard Falkeborn sent in a patch to fix a dead code return value in jsonb_util.

Jonathan S. Katz sent in a patch to fix a typo in the release notes.




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

Предыдущее
От: "Jonathan S. Katz"
Дата:
Сообщение: PostgreSQL 11.3, 10.8, 9.6.13, 9.5.17, and 9.4.22 Released!
Следующее
От: Devart
Дата:
Сообщение: dbForge Studio for PostgreSQL 2.1 Gained a New Query Profiler