== PostgreSQL Weekly News - August 12 2018 ==

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

PostgreSQL security releases 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24, and 11 Beta 3 are out.
Please read the announcement below and upgrade as soon as possible.
https://www.postgresql.org/about/news/1878/

== PostgreSQL Product News ==

PostGIS 2.5.0beta2 the industry standard geographic information
system package for PostgreSQL, released.
https://postgis.net/2018/08/11/postgis-2.5.0beta2/

pgmetrics 1.4, a command-line tool to extract and display metrics from a PostgreSQL
server, released.
https://pgmetrics.io/

== PostgreSQL Jobs for August ==

http://archives.postgresql.org/pgsql-jobs/2018-08/

== PostgreSQL Local ==

PostgreOpen Silicon Valley 2018 will be held in San Francisco on September 5-7, 2018.
https://2018.postgresopen.org/

The Portland PostgreSQL Users Group will be holding a PGDay on September 10,
2018 in Portland, OR.  The CfP is open at https://goo.gl/forms/E0CiUQGSZGMYwh922
https://pdx.postgresql.us/pdxpgday2018

PostgresConf South Africa 2018 will take place in Johannesburg on October 9, 2018
https://postgresconf.org/conferences/SouthAfrica2018

PostgreSQL Conference Europe 2018 will be held on October 23-26, 2018 at the
Lisbon Marriott Hotel in Lisbon, Portugal.
https://2017.pgconf.eu/

2Q PGConf will be on December 4-5, 2018 in Chicago, IL.  The CfP is open through
August 27, 2018 at midnight Pacific Time at http://www.2qpgconf.com/#cfp
http://www.2qpgconf.com/

PGConf.ASIA 2018 will take place on December 10-12, 2018 in Akihabara, Tokyo,
Japan.
http://www.pgconf.asia/EN/2018/

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

- Ensure pg_dump_sort.c sorts null vs non-null namespace consistently.  The
  original coding here (which is, I believe, my fault) supposed that it didn't
  need to concern itself with the possibility that one object of a given
  type-priority has a namespace while another doesn't.  But that's not reliably
  true anymore, if it ever was; and if it does happen then it's possible that
  DOTypeNameCompare returns self-inconsistent comparison results.  That leads to
  unspecified behavior in qsort() and a resultant weird output order from
  pg_dump.  This should end up being only a cosmetic problem, because any
  ordering constraints that actually matter should be enforced by the later
  dependency-based sort.  Still, it's a bug, so back-patch.  Report and fix by
  Jacob Champion, though I editorialized on his patch to the extent of making
  NULL sort after non-NULL, for consistency with our usual sorting definitions.
  Discussion:
  https://postgr.es/m/CABAq_6Hw+V-Kj7PNfD5tgOaWT_-qaYkc+SRmJkPLeUjYXLdxwQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/5b5ed4756c9b3efff787f4921659a9d4d51726e5

- Fix pg_upgrade to handle event triggers in extensions correctly.  pg_dump with
  --binary-upgrade must emit ALTER EXTENSION ADD commands for all objects that
  are members of extensions.  It forgot to do so for event triggers, as per bug
  #15310 from Nick Barnes.  Back-patch to 9.3 where event triggers were
  introduced.  Haribabu Kommi Discussion:
  https://postgr.es/m/153360083872.1395.4593932457718151600@wrigleys.postgresql.org
  https://git.postgresql.org/pg/commitdiff/03838b804905e3fd26ec648c7df1505cf0d8e413

- Fix incorrect initialization of BackendActivityBuffer.  Since commit
  c8e8b5a6e, this has been zeroed out using the wrong length.  In practice the
  length would always be too small, leading to not zeroing the whole buffer
  rather than clobbering additional memory; and that's pretty harmless, both
  because shmem would likely start out as zeroes and because we'd reinitialize
  any given entry before use.  Still, it's bogus, so fix it.  Reported by
  Petru-Florin Mihancea (bug #15312) Discussion:
  https://postgr.es/m/153363913073.1303.6518849192351268091@wrigleys.postgresql.org
  https://git.postgresql.org/pg/commitdiff/41db97399d6b5492cb4538680531f81f4711b0f4

- Don't record FDW user mappings as members of extensions.  CreateUserMapping
  has a recordDependencyOnCurrentExtension call that's been there since
  extensions were introduced (very possibly my fault).  However, there's no
  support anywhere else for user mappings as members of extensions, nor are they
  listed as a possible member object type in the documentation.  Nor does it
  really seem like a good idea for user mappings to belong to extensions when
  roles don't.  Hence, remove the bogus call.  (As we saw in bug #15310, the
  lack of any pg_dump support for this case ensures that any such membership
  record would silently disappear during pg_upgrade.  So there's probably no
  need for us to do anything else about cleaning up after this mistake.)
  Discussion: https://postgr.es/m/27952.1533667213@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/9b7c56d6cba9d23318d98af58f0c1adc85869bbf

- Match RelOptInfos by relids not pointer equality.  Commit 1c2cb2744 added some
  code that tried to detect whether two RelOptInfos were the "same" rel by
  pointer comparison; but it turns out that inheritance_planner breaks that,
  through its shenanigans with copying some relations forward into new
  subproblems.  Compare relid sets instead.  Add a regression test case to
  exercise this area.  Problem reported by Rushabh Lathia; diagnosis and fix by
  Amit Langote, modified a bit by me.  Discussion:
  https://postgr.es/m/CAGPqQf3anJGj65bqAQ9edDr8gF7qig6_avRgwMT9MsZ19COUPw@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/11e22e486d8da6cef4d954c6f2952097df276fa7

- Remove unwanted "garbage cleanup" logic in Makefiles.  GNUmakefile.in defined
  a macro "garbage" that seems to have been meant as a suitable target for
  automatic "rm -rf" treatment, but it isn't actually used anywhere (and indeed
  never was, AFAICT).  Moreover, we have concluded that the Makefiles shouldn't
  take it upon themselves to remove files that aren't expected by-products of
  building, so that doing anything like that would be against project policy
  anyway.  Hence, just remove the macro.  Grepping around finds another
  violation of that policy in ecpg/preproc, so clean that up too.  Daniel
  Gustafsson (ecpg change by me) Discussion:
  https://postgr.es/m/AFBEF63E-E19D-4EBB-9F08-4617CDC751ED@yesql.se
  https://git.postgresql.org/pg/commitdiff/1eee8d4994fe0b93ac02c613c1e955680e3a5ce3

- Remove bogus Assert in make_partitionedrel_pruneinfo().  This Assert thought
  that a given rel couldn't be both leaf and non-leaf, but it turns out that in
  some unusual plan trees that's wrong, so remove it.  The lack of testing for
  cases like that is quite concerning --- there is little reason for confidence
  that there aren't other bugs in the area.  But developing a stable test case
  seems rather difficult, and in any case we don't need this Assert.  David
  Rowley Discussion:
  https://postgr.es/m/CAJGNTeOkdk=UVuMugmKL7M=owgt4nNr1wjxMg1F+mHsXyLCzFA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/59ef49d26d2f8724d0788fea0774f786a22ca63d

- Fix failure to reset libpq's state fully between connection attempts.  The
  logic in PQconnectPoll() did not take care to ensure that all of a PGconn's
  internal state variables were reset before trying a new connection attempt.
  If we got far enough in the connection sequence to have changed any of these
  variables, and then decided to try a new server address or server name, the
  new connection might be completed with some state that really only applied to
  the failed connection.  While this has assorted bad consequences, the only one
  that is clearly a security issue is that password_needed didn't get reset, so
  that if the first server asked for a password and the second didn't,
  PQconnectionUsedPassword() would return an incorrect result.  This could be
  leveraged by unprivileged users of dblink or postgres_fdw to allow them to use
  server-side login credentials that they should not be able to use.  Other
  notable problems include the possibility of forcing a v2-protocol connection
  to a server capable of supporting v3, or overriding "sslmode=prefer" to cause
  a non-encrypted connection to a server that would have accepted an encrypted
  one.  Those are certainly bugs but it's harder to paint them as security
  problems in themselves.  However, forcing a v2-protocol connection could
  result in libpq having a wrong idea of the server's
  standard_conforming_strings setting, which opens the door to SQL-injection
  attacks.  The extent to which that's actually a problem, given the
  prerequisite that the attacker needs control of the client's connection
  parameters, is unclear.  These problems have existed for a long time, but
  became more easily exploitable in v10, both because it introduced easy ways to
  force libpq to abandon a connection attempt at a late stage and then try
  another one (rather than just giving up), and because it provided an easy way
  to specify multiple target hosts.  Fix by rearranging PQconnectPoll's state
  machine to provide centralized places to reset state properly when moving to a
  new target host or when dropping and retrying a connection to the same host.
  Tom Lane, reviewed by Noah Misch.  Our thanks to Andrew Krasichkov for finding
  and reporting the problem.  Security: CVE-2018-10915
  https://git.postgresql.org/pg/commitdiff/d1c6a14bacfa5fe7690e2c71b1626dbc87a57355

- Last-minute updates for release notes.  Security: CVE-2018-10915,
  CVE-2018-10925
  https://git.postgresql.org/pg/commitdiff/e0ee93053998b159e395deed7c42e02b1f921552

- Document need to clear MAKELEVEL when invoking PG build from a makefile.
  Since commit 3b8f6e75f, failure to do this would lead to
  submake-generated-headers not doing anything, so that references to generated
  or symlinked headers would fail.  Previous to that, the omission only led to
  temp-install not doing anything, which apparently affects many fewer people
  (doesn't anybody use "make check" in their build rules??).  Hence, backpatch
  to v11 but not further.  Per complaints from Christoph Berg, Jakob Egger, and
  others.
  https://git.postgresql.org/pg/commitdiff/8694a1ce406d58873e7332fa725baeeff18f57b2

- Cosmetic cleanups in initdb.c.  Commit bcbd94080 didn't bother to fix up a
  comment it had falsified.  Also, const-ify choose_dsm_implementation(), since
  what it's returning is always a constant string; pickier compilers would warn
  about this.
  https://git.postgresql.org/pg/commitdiff/d4a900458e505092a8013eb77c9631d58c3c2a0a

- Distinguish printf-like functions that support %m from those that don't.  The
  elog/ereport family of functions certainly support the %m format spec, because
  they implement it "by hand".  But elsewhere we have printf wrappers that might
  or might not allow it depending on whether the platform's printf does.  (Most
  non-glibc versions don't, and notably, src/port/snprintf.c doesn't.)  Hence,
  rather than using the gnu_printf format archetype interchangeably for all
  these functions, use it only for elog/ereport.  This will allow us to get
  compiler warnings for mistakes like the ones fixed in commit a13b47a59, at
  least on platforms where printf doesn't take %m and gcc is correctly
  configured to know it.  (Unfortunately, that won't happen on Linux, nor on
  macOS according to my testing.  It remains to be seen what the buildfarm's
  gcc-on-Windows animals will think of this, but we may well have to rely on
  less-popular platforms to warn us about unportable code of this kind.)
  Discussion: https://postgr.es/m/2975.1526862605@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/3a60c8ff892a8242b907f44702bfd9f1ff877d45

- Produce compiler errors if errno is referenced inside elog/ereport calls.
  It's often unsafe to reference errno within an elog/ereport call, because
  there are a lot of sub-functions involved and they might not all preserve
  errno.  (This is why we support the %m format spec: it works off a value of
  errno captured before we execute any potentially-unsafe functions in the
  arguments.)  Therefore, we have a project policy not to use errno there.  This
  patch adds a hack to cause an (admittedly obscure) compiler error for such
  unsafe usages.  With the current code, the error will only be seen on Linux,
  macOS, and FreeBSD, but that should certainly be enough to catch mistakes in
  the buildfarm if they somehow get missed earlier.  In addition, fix some
  places in src/common/exec.c that trip the error.  I think these places are
  actually all safe, but it's simple enough to avoid the error by capturing
  errno manually, and doing so is good future-proofing in case these call sites
  get any more complicated.  Thomas Munro (exec.c fixes by me) Discussion:
  https://postgr.es/m/2975.1526862605@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/a2a8acd15217b1e355c083a41da4dc5c7f35b30b

- Fix wrong order of operations in inheritance_planner.  When considering a
  partitioning parent rel, we should stop processing that subroot as soon as
  we've done adjust_appendrel_attrs and any securityQuals updates.  The rest of
  this is unnecessary, and indeed adding duplicate subquery RTEs to the subroot
  is *wrong*.  As the code stood, the children of that partition ended up with
  two sets of copied subquery RTEs, confusing matters greatly.  Even more
  hilarity ensued if all of the children got excluded by constraint exclusion,
  so that the extra RTEs didn't make it back into the parent rtable.  Per fuzz
  testing by Andreas Seltenreich.  Back-patch to v11 where this got broken (by
  commit 0a480502b, it looks like).  Discussion:
  https://postgr.es/m/87va8g7vq0.fsf@ansel.ydns.eu
  https://git.postgresql.org/pg/commitdiff/4a2994f055be9405a254b22de6cd2107a0f46563

Heikki Linnakangas pushed:

- Don't run atexit callbacks in quickdie signal handlers.  exit() is not
  async-signal safe. Even if the libc implementation is, 3rd party libraries
  might have installed unsafe atexit() callbacks. After receiving SIGQUIT, we
  really just want to exit as quickly as possible, so we don't really want to
  run the atexit() callbacks anyway.  The original report by Jimmy Yih was a
  self-deadlock in startup_die().  However, this patch doesn't address that
  scenario; the signal handling while waiting for the startup packet is more
  complicated. But at least this alleviates similar problems in the SIGQUIT
  handlers, like that reported by Asim R P later in the same thread.  Backpatch
  to 9.3 (all supported versions).  Discussion:
  https://www.postgresql.org/message-id/CAOMx_OAuRUHiAuCg2YgicZLzPVv5d9_H4KrL_OFsFP%3DVPekigA%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/8e19a82640d3fa2350db146ec72916856dd02f0a

- Spell "partitionwise" consistently.  I'm not sure which spelling is better,
  "partitionwise" or "partition-wise", but everywhere else we spell it
  "partitionwise", so be consistent.  Tatsuro Yamada reported the one in README,
  I found the other one with grep.  Discussion:
  https://www.postgresql.org/message-id/d25ebf36-5a6d-8b2c-1ff3-d6f022a56000@lab.ntt.co.jp
  https://git.postgresql.org/pg/commitdiff/31380bc7c204e7cfa9c9e1c62947909e2b38577c

Peter Geoghegan pushed:

- Doc: Correct description of amcheck example query.  The amcheck documentation
  incorrectly claimed that its example query verifies every catalog index in the
  database.  In fact, the query only verifies the 10 largest indexes (as
  determined by pg_class.relpages).  Adjust the description accordingly.
  Backpatch: 10-, where contrib/amcheck was introduced.
  https://git.postgresql.org/pg/commitdiff/313cbdc7f666a5af2c977463faf8a0eb06011b98

- Handle parallel index builds on mapped relations.  Commit 9da0cc35284, which
  introduced parallel CREATE INDEX, failed to propagate relmapper.c backend
  local cache state to parallel worker processes.  This could result in parallel
  index builds against mapped catalog relations where the leader process
  (participating as a worker) scans the new, pristine relfilenode, while worker
  processes scan the obsolescent relfilenode.  When this happened, the final
  index structure was typically not consistent with the owning table's
  structure.  The final index structure could contain entries formed from both
  heap relfilenodes.  Only rebuilds on mapped catalog relations that occur as
  part of a VACUUM FULL or CLUSTER could become corrupt in practice, since their
  mapped relation relfilenode swap is what allows the inconsistency to arise.
  On master, fix the problem by propagating the required relmapper.c backend
  state as part of standard parallel initialization (Cf. commit 29d58fd3).  On
  v11, simply disallow builds against mapped catalog relations by deeming them
  parallel unsafe.  Author: Peter Geoghegan Reported-By: "death lock"
  Reviewed-By: Tom Lane, Amit Kapila Bug: #15309 Discussion:
  https://postgr.es/m/153329671686.1405.18298309097348420351@wrigleys.postgresql.org
  Backpatch: 11-, where parallel CREATE INDEX was introduced.
  https://git.postgresql.org/pg/commitdiff/4974d7f87e62a58e80c6524e49677cb25cc10e12

Michaël Paquier pushed:

- Restrict access to reindex of shared catalogs for non-privileged users.  A
  database owner running a database-level REINDEX has the possibility to also do
  the operation on shared system catalogs without being an owner of them, which
  allows him to block resources it should not have access to.  The same goes for
  a schema owner.  For example, PostgreSQL would go unresponsive and even block
  authentication if a lock is waited for pg_authid.  This commit makes sure that
  a user running a REINDEX SYSTEM, DATABASE or SCHEMA only works on the
  following relations: * The user is a superuser * The user is the table owner *
  The user is the database/schema owner, only if the relation worked on is not
  shared.  Robert has worded most the documentation changes, and I have coded
  the core part.  Reported-by: Lloyd Albin, Jeremy Schneider Author: Michael
  Paquier, Robert Haas Reviewed by: Nathan Bossart, Kyotaro Horiguchi
  Discussion:
  https://postgr.es/m/152512087100.19803.12733865831237526317@wrigleys.postgresql.org
  Discussion: https://postgr.es/m/20180805211059.GA2185@paquier.xyz
  Backpatch-through: 11- as the current behavior has been around for a very long
  time and could be disruptive for already released branches.
  https://git.postgresql.org/pg/commitdiff/661dd23950f2e64646404605e99315d2379de0e5

- Improve TRUNCATE by avoiding early lock queue.  A caller of TRUNCATE could
  previously queue for an access exclusive lock on a relation it may not have
  permission to truncate, potentially interfering with users authorized to work
  on it.  This can be very intrusive depending on the lock attempted to be
  taken.  For example, pg_authid could be blocked, preventing any authentication
  attempt to happen on a PostgreSQL instance.  This commit fixes the case of
  TRUNCATE so as RangeVarGetRelidExtended is used with a callback doing the
  necessary ACL checks at an earlier stage, avoiding lock queuing issues, so as
  an immediate failure happens for unprivileged users instead of waiting on a
  lock that would not be taken.  This is rather similar to the type of work done
  in cbe24a6 for CLUSTER, and the code of TRUNCATE is this time refactored so as
  there is no user-facing changes.  As the commit for CLUSTER, no back-patch is
  done.  Reported-by: Lloyd Albin, Jeremy Schneider Author: Michael Paquier
  Reviewed by: Nathan Bossart, Kyotaro Horiguchi Discussion:
  https://postgr.es/m/152512087100.19803.12733865831237526317@wrigleys.postgresql.org
  Discussion: https://postgr.es/m/20180806165816.GA19883@paquier.xyz
  https://git.postgresql.org/pg/commitdiff/f841ceb26d701e7f5f48190bf7290c400cba30a2

Bruce Momjian pushed:

- docs:  Only first instance of a PREPARE parameter sets data type.  If the
  first reference to $1 is "($1 = col) or ($1 is null)", the data type can be
  determined, but not for "($1 is null) or ($1 = col)".  This change documents
  this.  Reported-by: Morgan Owens Discussion:
  https://postgr.es/m/153233728858.1404.15268121695358514937@wrigleys.postgresql.org
  Backpatch-through: 9.3
  https://git.postgresql.org/pg/commitdiff/b284262e40424daa1c546ad76f365b31304d7944

Álvaro Herrera pushed:

- Add RECURSIVE to documentation index.  Author: Daniel Vérité
  <daniel@manitou-mail.org> Reviewed-by: Fabien COELHO <coelho@cri.ensmp.fr>
  Discussion:
  https://postgr.es/m/76d905d7-7eb7-4574-b6ec-a0ca3a1523c0@manitou-mail.org
  https://git.postgresql.org/pg/commitdiff/a5db27418e222a930cd39f48907e58a13837b331

Alexander Korotkov pushed:

- Fix misspelled pg_trgm contrib name in PostgreSQL 11 release notes.  Author:
  Masahiko Sawada Discussion:
  https://postgr.es/m/CAD21AoD0Eii9y9f3cQV9AsaUF%3DMmOrQuZLHqoobFp%3DmSKEx1CA%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/3abc5a67edfdc568ef1b68845b29c3aa5c03b852

- Add missing documentation for argument of amcostestimate().  5262f7a4fc44 have
  introduced parallel index scan.  In order to estimate the number of parallel
  workers, it adds extra argument to amcostestimate() index access method API
  function.  However, this extra argument was missed in the documentation.  This
  commit fixes that.  Discussion:
  https://postgr.es/m/4128fdb4-8b63-2e05-38f6-3125f8c27263%40lab.ntt.co.jp
  Author: Tatsuro Yamada, Alexander Korotkov Backpatch-through: 10
  https://git.postgresql.org/pg/commitdiff/e01d3477e7486b0bbc6591be67675962218245b2

- Fix typo in SP-GiST error message.  Error message didn't match the actual
  check.  Fix that.  Compression of leaf SP-GiST values was introduced in 11.
  So, backpatch.  Discussion:
  https://postgr.es/m/20180810.100742.15469435.horiguchi.kyotaro%40lab.ntt.co.jp
  Author: Kyotaro Horiguchi Backpatch-through: 11
  https://git.postgresql.org/pg/commitdiff/2b13702d5c7e879bdd0587a80d5cfaeb5206f4ea

Andrew Dunstan pushed:

- Revert changes in execMain.c from commit 16828d5c0273b.  These changes were
  put in at some stage of the development process, but are unnecessary and
  should not have made it into the final patch. Mea culpa.  Per gripe from
  Andreas Freund Backpatch to REL_11_STABLE
  https://git.postgresql.org/pg/commitdiff/5c047fd709ae274d5d543b250c70cc2b15e4fe65

== Pending Patches ==

Etsuro Fujita sent in another revision of a patch to prevent doing
partition-wise joins when whole-row vars are involved.

Laurenz Albe sent in another revision of a patch to use pgwin32_open in frontend
code on Windows.

Jeremy Evans, Peter Eisentraut, and Amit Langote traded patches to improve error
messages for CREATE OR REPLACE PROCEDURE.

Andrey Borodin sent in another revision of a patch to implement GiST VACUUM.

Paul Guo sent in another revision of a patch to create a new session for
postmaster in pg_ctl by calling setsid().

Jeremy Evans sent in a patch to have hint use DROP ROUTINE instead of DROP
FUNCTION when erroring out of CREATE PROCEDURE.

Amit Langote sent in a patch to fix a bug regarding partition column option
inheritance.

Don Seiler sent in a patch to add application_name to the Port struct to enable
displaying the application name in "connection authorized" log messages.

Andrey V. Lepikhov sent in another revision of a patch to implement retail
IndexTuple deletion.

Amit Langote sent in two more revisions of a patch to add some partition tree
inspection functions.

Marina Polyakova sent in another revision of a patch to add error handling and
retrying of transactions with serialization/deadlock failures in pgbench.

Peter Eisentraut sent in a patch to remove dead foreign key optimization code
and apply RI trigger skipping tests also for DELETE.

Asim Praveen sent in a patch to mark a shared buffer as read-write or read-only
using mprotect().  The idea is to catch violations of shared buffer access
rules.

Amit Langote sent in a patch to add a test case that would actually use run-time
pruning. This would help prevent regressions of the recent patch to match
RelOptInfos by relids instead of pointer equality.

Ashutosh Bapat sent in two more revisions of a patch to implement the
TupleTableSlot abstraction.

Kyotaro HORIGUCHI sent in a patch to fix foreign update on remote partitioned
tables.

Simon Muller sent in another revision of a patch to add an option to COPY's
'text' format to output a header.

Tom Lane sent in a PoC patch to implement a function trust mechanism.

Pavel Stěhule sent in five more revisions of a patch to implement schema
variables.

Peter Eisentraut sent in a patch to remove the ancient pre-dlopen dynloader
code.

Michaël Paquier sent in a patch to make autovacuum more aggressive to remove
orphaned temp tables.

Andrew Dunstan sent in two more revisions of a patch to add an option to build
pgbench using ppoll() for larger connection counts.

David G. Johnston sent in another revision of a patch to clarify the fact that
PostgreSQL does not yet consider CHECK constraints as capable of seeing other
tables.

Peter Eisentraut sent in a patch to ensure that pgbench returns non-zero if
during the run, any error has occurred.

Kyotaro HORIGUCHI sent in a patch to implement a new New pg_ctl subcommand:
"logrotate".

Ivan Kartyshov and Alexander Korotkov traded patches to add a new lock mode:
ACCESS EXCLUSIVE LOCAL, then use same to help deal with situations where a
long-running transaction could hold up replication.

Tom Lane sent in a patch to libpq to improve the handling of multiple addresses
in connection information by looking up each hostname as needed, and proceeding
on to the next hostname if it gets a DNS lookup failure.

David Rowley sent in a patch to refrain from destroying the original partdesc on
rel invalidation.

Kyotaro HORIGUCHI sent in a patch to fix a dubious message related to the
SP-GiST compress method.

Fabien COELHO sent in another revision of a patch to handle overflows better in
pgbench.

Thomas Munro sent in a patch to use portable close-on-exec syscalls, fix a
deadlock in AbsorbAllFsyncRequests(), handle postmaster death and
check-for-interrupts, and handle EMSGSIZE on macOS.

Alexandra Ryzhevich sent in another revision of a patch to make it possible for
non-superusers to create extensions.

Tom Lane sent in another revision of a patch to check the /etc/localtime symlink
for time zone names.

Kyotaro HORIGUCHI sent in a patch to fix some infelicities in NLS handling.

Daniel Vérité sent in another revision of a patch to implement a CSV output
format for psql.

Tom Lane sent in a patch to ensure that libpq appends to errors instead of
overwriting them.

David Rowley sent in a patch to fix a partition missing from subplans error.

Fabien COELHO sent in another revision of a patch to pgbench to clean up
doCustom.

Tomáš Vondra and Andres Freund traded patches to fix an infelicity between
logical decoding / rewrite map and maxAllocatedDescs.

Nico Williams sent in a patch to keep rpath et. al. from xml2-config --libs.

Noah Misch sent in a patch to help make postmaster.pid less of a breaking
dependency.

Edmund Horner sent in a patch to add a new plan type: TidRangeScan, which, as
implied by the name, speeds up tid scans.



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

Предыдущее
От: "Jonathan S. Katz"
Дата:
Сообщение: PostgreSQL 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24, and 11 Beta 3Released!
Следующее
От: Peter Eisentraut
Дата:
Сообщение: PgBouncer 1.9.0 released