== PostgreSQL Weekly News - February 9, 2020 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - February 9, 2020 ==
Date
Msg-id 20200209184242.GA15303@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - February  9, 2020 ==

PostgresLondon 2020 will be July 7-8, 2020 with an optional training day on
July 6. The CfP is open at https://forms.gle/5m8ybUt9YDZG4gVU7 through March
27, 2020.
http://postgreslondon.org

Austrian pgDay will take place September 18, 2020 at Schloss Schoenbrunn
(Apothekertrakt) in Vienna. The CfP is open until April 19, 2020 at
https://pgday.at/en/talk-commitee/
https://pgday.at/en/

== PostgreSQL Product News ==

pg_sqlog 1.0, an extension that provides SQL interface to the PostgreSQL logs,
released,
https://github.com/kouber/pg_sqlog

Database Lab 0.2.0, a tool for fast cloning of large PostgreSQL databases to
build non-production environments, released:
https://gitlab.com/postgres-ai/database-lab

pgAdmin4 4.18, a web- and native GUI control center for PostgreSQL, released.
https://www.pgadmin.org/docs/pgadmin4/dev/release_notes_4_18.html

pgspider, a cluster engine for distributed data based on PostgreSQL foreign
data wrappers, released.
https://github.com/pgspider/pgspider

== PostgreSQL Jobs for February ==

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

== PostgreSQL Local ==

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

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

Nordic PGDay 2020 will be held in Helsinki, Finland at the Hilton Helsinki
Strand Hotel on March 24, 2020.

PGConf India 2020 will be on February 26-28, 2020 in Bengaluru, Karnataka.
http://pgconf.in/

PostgreSQL@SCaLE is a two day, two track event which takes place on
March 5-6, 2020, at Pasadena Convention Center, as part of SCaLE 18X.
https://www.socallinuxexpo.org/scale/18x/postgresscale

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

PGCon 2020 will take place in Ottawa on May 26-29, 2020.
https://www.pgcon.org/2020/

PGDay.IT 2020 will take place June 11-12 in Bergamo, Italy.
https://2020.pgday.it/en/

PG Day Russia will be in Saint Petersburg on July 10, 2020. The CfP is open at
https://pgday.ru/en/2020/for-speakers through April 6, 2020.
https://pgday.ru/en/2020/

FOSS4G 2020, will take place in Calgary, Alberta, Canada August 24-29 2020.
the Call for Papers is currently open at https://2020.foss4g.org/speakers/
https://2020.foss4g.org/

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

Michaël Paquier pushed:

- Add declaration-level assertions for compile-time checks. Those new assertions
  can be used at file scope, outside of any function for compilation checks.
  This commit provides implementations for C and C++, and fallback
  implementations.  Author: Peter Smith Reviewed-by: Andres Freund, Kyotaro
  Horiguchi, Dagfinn Ilmari Mannsåker, Michael Paquier Discussion:
  https://postgr.es/m/201DD0641B056142AC8C6645EC1B5F62014B8E8030@SYD1217
  https://git.postgresql.org/pg/commitdiff/f1f10a1ba9e17e606a7b217ccccdd3cc4d8cb771

- Fix fuzzy error handling in pg_basebackup when opening gzFile. First, this
  code did not bother checking for a failure when calling dup().  Then, per
  zlib, gzerror() returns NULL for a NULL input, which can happen if passing
  down to gzdopen() an invalid file descriptor or if there was an allocation
  failure.  No back-patch is done as this would unlikely be a problem in the
  field.  Per Coverity.  Reported-by: Tom Lane
  https://git.postgresql.org/pg/commitdiff/177be9edf4bb966400db7769d61e479aa0fe0201

- Add leader_pid to pg_stat_activity. This new field tracks the PID of the group
  leader used with parallel query.  For parallel workers and the leader, the
  value is set to the PID of the group leader.  So, for the group leader, the
  value is the same as its own PID.  Note that this reflects what PGPROC stores
  in shared memory, so as leader_pid is NULL if a backend has never been
  involved in parallel query.  If the backend is using parallel query or has
  used it at least once, the value is set until the backend exits.  Author:
  Julien Rouhaud Reviewed-by: Sergei Kornilov, Guillaume Lelarge, Michael
  Paquier, Tomas Vondra Discussion:
  https://postgr.es/m/CAOBaU_Yy5bt0vTPZ2_LUM6cUcGeqmYNoJ8-Rgto+c2+w3defYA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/b025f32e0b5d7668daec9bfa957edf3599f4baa8

- Revert "Add GUC checks for ssl_min_protocol_version and
  ssl_max_protocol_version". This reverts commit 41aadee, as the GUC checks
  could run on older values with the new values used, and result in incorrect
  errors if both parameters are changed at the same time.  Per complaint from
  Tom Lane.  Discussion: https://postgr.es/m/27574.1581015893@sss.pgh.pa.us
  Backpatch-through: 12
  https://git.postgresql.org/pg/commitdiff/414c2fd1e1c0ccd1af1cad046bef1264e3f4347f

- Revert "Prevent running pg_basebackup as root". This reverts commit 7bae0ad,
  as this is not ideal with the tar format, and we may want to explore more
  options like what is done by tar with some equivalents of --owner and --group,
  but for pg_basebackup.  Per complaints from Magnus Hagander and Stephen Frost.
  Discussion: https://postgr.es/m/20200205172259.GW3195@tamriel.snowman.net
  https://git.postgresql.org/pg/commitdiff/dcddc3f813ff39d0e33c2b7c77092a6c0b0e9d0b

- Fix typo in proc.c. Author: Julien Rouhaud Discussion:
  https://postgr.es/m/20200206082333.GA95343@nol
  https://git.postgresql.org/pg/commitdiff/5ac4e9a12c6543414891cd8972b2cd36a08e40cc

- Bump catalog version for the addition of leader_pid in pg_stat_activity.
  Oversight in commit b025f32.  Per private report from Julien Rouhaud.
  https://git.postgresql.org/pg/commitdiff/c4f3b63caba02b087519d58cb9bf4990b9c8ec45

Álvaro Herrera pushed:

- Add missing break out seqscan loop in logical replication. When replica
  identity is FULL (an admittedly unusual case), the loop that searches for
  tuples in execReplication.c didn't stop scanning the table when once a
  matching tuple was found.  Add the missing 'break'.  Note slight behavior
  change: we now return the first matching tuple rather than the last one.  They
  are supposed to be indistinguishable anyway, so this shouldn't matter.
  Author: Konstantin Knizhnik Discussion:
  https://postgr.es/m/379743f6-ae91-b866-f7a2-5624e6d2b0a4@postgrespro.ru
  https://git.postgresql.org/pg/commitdiff/1c7a0b387d18c517d45e2f6ec7d8b7d1b2d5fe13

- ALTER SUBSCRIPTION / REFRESH docs: explain copy_data. The docs are ambiguous
  as to which tables would be copied over when the copy_data parameter is true
  in ALTER SUBSCRIPTION ... REFRESH PUBLICATION. Make it clear that it only
  applies to tables which are new in the publication.  Author: David Christensen
  (reword by Álvaro Herrera) Discussion:
  https://postgr.es/m/95339420-7F09-4F8C-ACC0-8F1CFAAD9CD7@endpoint.com
  https://git.postgresql.org/pg/commitdiff/75cdf24ec3f812b2c52e0f47286665f9c8ced24b

- Make vacuum buffer counters 64 bits wide. Using 32 bit counters means they can
  now realistically wrap around when vacuuming extremely large tables.  Because
  they're signed integers, stats printed by vacuum look very odd when they do.
  We'd love to backpatch this, but refrain because the variables are exported
  and could cause third-party code to break.  Reviewed-by: Julien Rouhaud, Tom
  Lane, Michael Paquier Discussion:
  https://postgr.es/m/20200131205926.GA16367@alvherre.pgsql
  https://git.postgresql.org/pg/commitdiff/15d13e82911f7cc9f04f0bf419a96fd827fd1a9d

- Fix TRUNCATE .. CASCADE on partitions. When running TRUNCATE CASCADE on a
  child of a partitioned table referenced by another partitioned table, the
  truncate was not applied to partitions of the referencing table; this could
  leave rows violating the constraint in the referencing partitioned table.
  Repair by walking the pg_constraint chain all the way up to the topmost
  referencing table.  Note: any partitioned tables containing FKs that reference
  other partitioned tables should be checked for possible violating rows, if
  TRUNCATE has occurred in partitions of the referenced table.  Reported-by:
  Christophe Courtois Author: Jehan-Guillaume de Rorthais Discussion:
  https://postgr.es/m/20200204183906.115f693e@firost
  https://git.postgresql.org/pg/commitdiff/9710d3d4a87f428a10f63015a0d75ccf028dd137

- Fix failure to create FKs correctly in partitions. On a multi-level partioned
  table, when adding a partition not directly connected to the root table,
  foreign key constraints referencing the root were not cloned to the new
  partition, leading to the FK being possibly inadvertently violated later on.
  This was caused by fuzzy thinking in CloneFkReferenced (commit f56f8f8da6af):
  it was skipping constraints marked as having parents on the theory that
  cloning those would create duplicates; but that's only correct for the top
  level of the partitioning hierarchy.  For levels below that one, such
  constraints must still be considered and only skipped if later on we see that
  we'd create duplicates.  Apparently, I (Álvaro) wrote the comments right but
  the code implemented something slightly different.  Author: Jehan-Guillaume de
  Rorthais Discussion: https://postgr.es/m/20200206004948.238352db@firost
  https://git.postgresql.org/pg/commitdiff/55173d2e663fbe32430665ce7bd65a47856dc237

Tom Lane pushed:

- Fix handling of "Subplans Removed" field in EXPLAIN output. Commit 499be013d
  added this field in a rather poorly-thought-through manner, with the result
  being that rather than being a field of the Append or MergeAppend plan node as
  intended (and as it seems to be, in text format), it was actually an element
  of the "Plans" subgroup. At least in JSON format, that's flat out invalid
  syntax, because "Plans" is an array not an object.  While it's not hard to
  move the generation of the field so that it appears where it's supposed to,
  this does result in a visible change in field order in text format, in cases
  where a Append or MergeAppend plan node has any InitPlans attached.  That's
  slightly annoying to do in stable branches; but the alternative of continuing
  to emit broken non-text formats seems worse.  Also, since the set of fields
  emitted is not supposed to be data-dependent in non-text formats, make sure
  that "Subplans Removed" appears in Append and MergeAppend nodes even when it's
  zero, in those formats.  (The previous coding made it look like it could
  appear in some other node types such as BitmapAnd, but we don't actually
  support runtime pruning there, so don't emit it in those cases.)  Per bug
  #16171 from Mahadevan Ramachandran.  Fix by Daniel Gustafsson and Tom Lane,
  reviewed by Hamid Akhtar.  Back-patch to v11 where this code came in.
  Discussion: https://postgr.es/m/16171-b72259ab75505fa2@postgresql.org
  https://git.postgresql.org/pg/commitdiff/7d91b604d9b5d6ec8c19c57a9ffd2f27129cdd94

- Store the deletion horizon XID for a deleted GIN page on the right page.
  Commit b10714080 moved the GinPageSetDeleteXid() call to a spot where the
  "page" variable was pointing to the wrong page, causing the XID to be inserted
  on a page that's not being deleted, thus allowing later GinPageIsRecyclable
  tests to recycle the deleted page too soon.  It might be a good idea to stop
  using the single "page" variable for multiple purposes in this function.  But
  for the moment I just moved the GinPageSetDeleteXid() call down beside the
  GinPageSetDeleted() call, which seems like a more logical place for it anyway.
  Back-patch to v11, as the faulty patch was.  (Fortunately, the bug hasn't made
  it into any release yet.)  Discussion:
  https://postgr.es/m/21620.1581098806@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/4093ff573702e9f157507340593680dc2c75e88e

Thomas Munro pushed:

- Handle lack of DSM slots in parallel btree build, take 2. Commit 74618e77
  added a new check intended to fix a bug, but put it in the wrong place so that
  parallel btree build was always disabled.  Do the check after we've actually
  tried to create a DSM segment.  Back-patch to 11, like the earlier commit.
  Reviewed-by: Peter Geoghegan Discussion:
  https://postgr.es/m/CAH2-WzmDABkJzrNnvf%2BOULK-_A_j9gkYg_Dz-H62jzNv4eKQTw%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/d9fe702a2c9843af71419ad0df069859e5581694

- Add kqueue(2) support to the WaitEventSet API. Use kevent(2) to wait for
  events on the BSD family of operating systems and macOS.  This is similar to
  the epoll(2) support added for Linux by commit 98a64d0bd.  Author: Thomas
  Munro Reviewed-by: Andres Freund, Marko Tiikkaja, Tom Lane Tested-by: Mateusz
  Guzik, Matteo Beccati, Keith Fiske, Heikki Linnakangas, Michael Paquier, Peter
  Eisentraut, Rui DeSousa, Tom Lane, Mark Wong Discussion:
  https://postgr.es/m/CAEepm%3D37oF84-iXDTQ9MrGjENwVGds%2B5zTr38ca73kWR7ez_tA%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/815c2f0972c8386aba7c606f1ee6690d13b04db2

Noah Misch pushed:

- When a TAP file has non-zero exit status, retain temporary directories.
  PostgresNode already retained base directories in such cases.  Stop using
  $SIG{__DIE__}, which is redundant with the exit status check, in lieu of
  proliferating it to TestLib.  Back-patch to 9.6, where commit
  88802e068017bee8cea7a5502a712794e761c7b5 introduced retention on failure.
  Reviewed by Daniel Gustafsson.  Discussion:
  https://postgr.es/m/20200202170155.GA3264196@rfd.leadboat.com
  https://git.postgresql.org/pg/commitdiff/bf989aaf35613ed2c2a66e120ca600e7b9da4f82

Andrew Gierth pushed:

- Force tuple conversion when the source has missing attributes. Tuple
  conversion incorrectly concluded that no conversion was needed as long as all
  the attributes lined up. But if the source tuple has a missing attribute (from
  addition of a column with default), then the destination tupdesc might not
  reflect the same default. The typical symptom was that the affected columns
  would be unexpectedly NULL.  Repair by always forcing conversion if the source
  has missing attributes, which will be filled in by the deform operation. (In
  theory we could optimize for when the destination has the same default, but
  that seemed overkill.)  Backpatch to 11 where missing attributes were added.
  Per bug #16242.  Vik Fearing (discovery, code, testing) and me (analysis,
  testcase).  Discussion:
  https://postgr.es/m/16242-d1c9fca28445966b@postgresql.org
  https://git.postgresql.org/pg/commitdiff/bf6cc19e347d4cb8dfc8f05a59171ac06e18b5e5

Fujii Masao pushed:

- Fix bug in LWLock statistics mechanism. Previously PostgreSQL built with
  -DLWLOCK_STATS could report more than one LWLock statistics entries for the
  same backend process and the same LWLock. This is strange and only one
  statistics should be output in that case, instead.  The cause of this issue is
  that the key variable used for LWLock stats hash table was not fully
  initialized. The key consists of two fields and they were initialized. But the
  following 4 bytes allocated in the key variable for the alignment was not
  initialized. So even if the same key was specified, hash_search(HASH_ENTER)
  could not find the existing entry for that key and created new one.  This
  commit fixes this issue by initializing the key variable with zero. As the
  side effect of this commit, the volume of LWLock statistics output would be
  reduced very much.  Back-patch to v10, where commit 3761fe3c20 introduced the
  issue.  Author: Fujii Masao Reviewed-by: Julien Rouhaud, Kyotaro Horiguchi
  Discussion:
  https://postgr.es/m/26359edb-798a-568f-d93a-6aafac49752d@oss.nttdata.com
  https://git.postgresql.org/pg/commitdiff/3ccc66dac65e12b8f19d0766b00feabd55433854

- Fix bug in Tid scan. Commit 147e3722f7 changed Tid scan so that it calls
  table_beginscan() and uses the scan option for seq scan. This change caused
  two issues.  (1) The change caused Tid scan to take a predicate lock on the
  entire        relation in serializable transaction even when relation-level
  lock is not necessary. This could lead to an unexpected        serialization
  error.  (2) The change caused Tid scan to increment the number of seq_scan
  in pg_stat_*_tables views even though it's not seq scan. This        could
  confuse the users.  This commit adds the scan option for Tid scan and makes
  Tid scan use it, to avoid those issues.  Back-patch to v12, where the bug was
  introduced.  Author: Tatsuhito Kasahara Reviewed-by: Kyotaro Horiguchi,
  Masahiko Sawada, Fujii Masao Discussion:
  https://postgr.es/m/CAP0=ZVKy+gTbFmB6X_UW0pP3WaeJ-fkUWHoD-pExS=at3CY76g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/cb5b28613d553b1c750622e91cbc96c83f052a63

Amit Kapila pushed:

- Fix typo. Reported-by: Amit Langote Author: Amit Langote Backpatch-through:
  9.6, where it was introduced Discussion:
  https://postgr.es/m/CA+HiwqFNADeukaaGRmTqANbed9Fd81gLi08AWe_F86_942Gspw@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/cac8ce4a738a6fbc6cda4759c056f89a5b603bfc

Jeff Davis pushed:

- Logical Tape Set: use min heap for freelist. Previously, the freelist of
  blocks was tracked as an occasionally-sorted array. A min heap is more
  resilient to larger freelists or more frequent changes between reading and
  writing.  Discussion:
  https://postgr.es/m/97c46a59c27f3c38e486ca170fcbc618d97ab049.camel%40j-davis.com
  https://git.postgresql.org/pg/commitdiff/c02fdc9223015c5c386abfa00c47fc7f4c845161

- Refactor hash_agg_entry_size(). Consolidate the calculations for hash table
  size estimation. This will help with upcoming Hash Aggregation work that will
  add additional call sites.
  https://git.postgresql.org/pg/commitdiff/7d4395d0a11589aa450a073d658c49b420f4493f

- Introduce TupleHashTableHash() and LookupTupleHashEntryHash(). Expose two new
  entry points: one for only calculating the hash value of a tuple, and another
  for looking up a hash entry when the hash value is already known. This will be
  useful for disk-based Hash Aggregation to avoid recomputing the hash value for
  the same tuple after saving and restoring it from disk.  Discussion:
  https://postgr.es/m/37091115219dd522fd9ed67333ee8ed1b7e09443.camel%40j-davis.com
  https://git.postgresql.org/pg/commitdiff/4eaea3db150af56aa2e40efe91997fd25f3b6d73

Peter Eisentraut pushed:

- Ensure relcache consistency around generated columns. In certain transient
  states, it's possible that a table has attributes with attgenerated set but no
  default expressions in pg_attrdef yet. In that case, the old code path would
  not set relation->rd_att->constr->has_generated_stored, unless
  relation->rd_att->constr was also populated for some other reason. There was
  probably no practical impact, but it's better to keep this consistent.
  Reported-by: Andres Freund <andres@anarazel.de> Discussion:
  https://www.postgresql.org/message-id/flat/20200115181105.ad6ab6dlgyww3lb6%40alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/fc7a5e9eaa2fa34b053ffe52e0e57f1fd6b1f939

Andres Freund pushed:

- expression eval, jit: Minor code cleanups. This mostly consists of using C99
  style for loops, moving variables into narrower scopes, and a smattering of
  other minor improvements. Done separately to make it easier to review patches
  with actual functional changes.  Author: Andres Freund Discussion:
  https://postgr.es/m/20191023163849.sosqbfs5yenocez3@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/1ec7679f1b67e84be688a311dce234eeaa1d5de8

- jit: Reference functions by name in IOCOERCE steps. Previously we used
  constant function pointer addresses, which prevents inlining and other related
  optimizations.  Author: Andres Freund Discussion:
  https://postgr.es/m/20191023163849.sosqbfs5yenocez3@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/8c2769405ff1f4617b0d3af50760b1ee357733ef

- expression eval: Don't redundantly keep track of AggState. It's already
  tracked via ExprState->parent, so we don't need to also include it in
  ExprEvalStep. When that code originally was written ExprState->parent didn't
  exist, but it since has been introduced in 6719b238e8f.  Author: Andres Freund
  Discussion:
  https://postgr.es/m/20191023163849.sosqbfs5yenocez3@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/1fdb7f9789c4550204cd62d1746a7deed1dc4c29

- jit: Remove redundancies in expression evaluation code generation. This merges
  the code emission for a number of opcodes by handling the behavioural
  difference more locally. This reduces code, and also improves the generated
  code a bit in some cases, by removing redundant constants.  Author: Andres
  Freund Discussion:
  https://postgr.es/m/20191023163849.sosqbfs5yenocez3@alap3.anarazel.de
  https://git.postgresql.org/pg/commitdiff/e6f86f8dd9835b18890fd8e9868884dec37e3bd7

- jit: Reference expression step functions via llvmjit_types. The main benefit
  of doing so is that this allows llvm to ensure that types match - previously
  that'd only be detected by a crash within the called function. There were a
  number of cases where we passed a superfluous parameter...  To avoid needing
  to add all the functions to llvmjit.{c,h}, instead get them from the llvm
  module for llvmjit_types.c. Also use that for the functions from llvmjit_types
  already in llvmjit.h.  Author: Soumyadeep Chakraborty and Andres Freund
  Discussion:
  https://postgr.es/m/CADwEdooww3wZv-sXSfatzFRwMuwa186LyTwkBfwEW6NjtooBPA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/b059d2f45685a946da061ee15692fa306bd67f12

== Pending Patches ==

Thomas Munro sent in a patch to prefetch cache lines while building hash join
table.

Fujii Masao and Amit Langote traded patches to implement
pg_stat_progress_basebackup.

Jeff Davis sent in five more revisions of a patch to refactor logtape handling
and implement memory-bounded hash aggregation atop that.

Konstantin Knizhnik sent in two more revisions of a patch to implement global
temporary tables.

Mark Dilger sent in three more revisions of a patch to make Portal->commandTag
into an enum.

Kirk Jamison sent in another revision of a patch to optimize dropping of
relation buffers using dlist.

Rémi Lapeyre sent in another revision of a patch to add a HEADER option to COPY
in text format.

Takuma Hoshiai sent in another revision of a patch to implement incremental
maintenance of materialized views.

Takeshi Ideriha sent in another revision of a patch to implement a memory
context for global system catalog cache and relation cache backed by DSA, and
use same to implement the aforementioned global system catalog.

Kirill Bychik sent in a patch to enable gathering of per-statement WAL
generation statistics, similar to how it is done for buffer usage and use same
in pg_stat_statements.

Julien Rouhaud sent in another revision of a patch to improve collation
versioning.

Nathan Bossart sent in another revision of a patch to add MAIN_RELATION_CLEANUP
and TOAST_TABLE_CLEANUP options to VACUUM.

Masahiko Sawada sent in a patch to implement an SQL function pg_is_user_object()
that returns true if the given oid is user object oid, that is greater than or
equal to FirstNormalObjectId.

Jeff Janes and Fujii Masao traded patches to fix some bad logging around broken
implementations of restore_command.

Dilip Kumar sent in another revision of a patch to fix an infelicity between
logical_work_mem and logical streaming of large in-progress transactions.

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

Kasahara Tatsuhito sent in six revisions of a patch to fix some tidscan issues.

Amit Langote and Justin Pryzby traded patches to make "cluster" a property of
tables in pg_index.

Antonin Houska sent in a patch to fix some assumptions about the number of
parallel workers.

Masahiko Sawada sent in another revision of a patch to move relation extension
locks out of heavyweight lock.

Justin Pryzby sent in three revisions of a patch to fix some typos in comments
in the user documentation.

Keisuke Kuroda, Emre Hasegeli, and Tels traded patches to bring back the
CHECKFLOATVAL() macro.

Andy Fan sent in another revision of a patch to remove the distinctClause if the
result is unique by definition.

Eka Palamadai sent in a patch to fix a bug that manifested as replica sends an
incorrect epoch in its hot standby feedback to the origin.

Michaël Paquier sent in another revision of a patch to improve errors when
setting incorrect bounds for SSL protocols.

Thomas Munro sent in a patch to use pg_pread() and pg_pwrite() in slru.c, use
pg_pwrite() in rewriteheap.c, and use pg_pwrite() in walreceiver.c.

Peter Geoghegan sent in another revision of a patch to add deduplication to
nbtree.

Craig Ringer sent in a patch to PGXS to add support for built control files.

Kyotaro HORIGUCHI sent in a patch to fix the handling of tentative state after
changing synchronous_standby_names.

Julien Rouhaud sent in another revision of a patch to add queryId to
pg_catalog.pg_stat_activity.

Thomas Munro sent in a patch to introduce a SegmentNumber typedef for relation
segment numbers.

Alexey Bashtanov sent in a patch to add a GUC to control the maximum length of
parameter values logged.

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

Robert Haas sent in a patch to make it possible for front-end code to use the
backend's hashing functions.

Thomas Munro sent in another revision of a patch to reduce WaitEventSet syscall
churn.

Alexey Bashtanov sent in another revision of a patch to improve the transparency
of bitmap-only heap scans.

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

Kuntal Ghosh and Andres Freund traded patches to restrict memory allocation in
reorderbuffer context.

Andres Freund sent in a patch to fix an infelicity in the tests for speculative
insert abort.

Justin Pryzby sent in another revision of a patch to ensure that the vacuum
errcontext shows the block being processed, and adds functions to initialize
errcontext.

Joe Nelson sent in a patch to implement a rational type.



pgsql-announce by date:

Previous
From: Nikolay Samokhvalov
Date:
Subject: Database Lab 0.2.0: fast cloning of large PostgreSQL databases tobuild non-production environments
Next
From: "Jonathan S. Katz"
Date:
Subject: PostgreSQL 12.2, 11.7, 10.12, 9.6.17, 9.5.21, and 9.4.26 Released!