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

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

== PostgreSQL Product News ==

pgBadger v11.1, a PostgreSQL log analyzer and graph tool written in
Perl, released.
https://github.com/darold/pgbadger/releases

PGXN Client 1.3, a Python client for the PostgreSQL Extension Network, released.
https://github.com/pgxn/pgxnclient/releases/tag/v1.3

ldap2pg 5.0, a tool for roles and privileges synchronization from an
LDAP-compatible directory, released.
https://dali.bo/ldap2pg_changelog_5_0

pgCluu 3.0, a Perl program to audit PostgreSQL performance, released.
http://pgcluu.darold.net/

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

== PostgreSQL Jobs for September ==

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

== PostgreSQL Local ==

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

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

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

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

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

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

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

== PostgreSQL in the News ==

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

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

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

== Applied Patches ==

Alexander Korotkov pushed:

- Support for FF1-FF6 datetime format patterns. SQL Standard 2016 defines
  FF1-FF9 format patters for fractions of seconds in jsonpath .datetime() method
  and CAST (... FORMAT ...) SQL clause.  Parsing engine of upcoming .datetime()
  method will be shared with to_date()/ to_timestamp().  This patch implements
  FF1-FF6 format patterns for upcoming jsonpath .datetime() method.
  to_date()/to_timestamp() functions will also get support of this format
  patterns as positive side effect.  FF7-FF9 are not supported due to lack of
  precision in our internal timestamp representation.  Extracted from original
  patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov. Heavily revised by me.
  Discussion:
  https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com
  Discussion:
  https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
  Author: Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov
  Reviewed-by: Anastasia Lubennikova, Peter Eisentraut
  https://git.postgresql.org/pg/commitdiff/d589f94460c24d9b7ac21887d031818d6e3f354d

- Support for SSSSS datetime format pattern. SQL Standard 2016 defines SSSSS
  format pattern for seconds past midnight in jsonpath .datetime() method and
  CAST (... FORMAT ...) SQL clause.  In our datetime parsing engine we currently
  support it with SSSS name.  This commit adds SSSSS as an alias for SSSS.
  Alias is added in favor of upcoming jsonpath .datetime() method.  But it's
  also supported in to_date()/ to_timestamp() as positive side effect.
  Discussion:
  https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
  Author: Nikita Glukhov, Alexander Korotkov Reviewed-by: Anastasia Lubennikova,
  Peter Eisentraut
  https://git.postgresql.org/pg/commitdiff/b64b857f50fb51da1588c54a56f8fc1c0d491058

- Improve handling of NULLs in KNN-GiST and KNN-SP-GiST. This commit improves
  subject in two ways:   * It removes ugliness of 02f90879e7, which stores
  distance values and null    flags in two separate arrays after GISTSearchItem
  struct.  Instead we pack    both distance value and null flag in
  IndexOrderByDistance struct.  Alignment    overhead should be negligible,
  because we typically deal with at most few    "col op const" expressions in
  ORDER BY clause.  * It fixes handling of "col op NULL" expression in
  KNN-SP-GiST.  Now, these    expression are not passed to support functions,
  which can't deal with them.    Instead, NULL result is implicitly assumed.  It
  future we may decide to    teach support functions to deal with NULL
  arguments, but current solution is    bugfix suitable for backpatch.
  Reported-by: Nikita Glukhov Discussion:
  https://postgr.es/m/826f57ee-afc7-8977-c44c-6111d18b02ec%40postgrespro.ru
  Author: Nikita Glukhov Reviewed-by: Alexander Korotkov Backpatch-through: 9.4
  https://git.postgresql.org/pg/commitdiff/6cae9d2c10e151f741e7bc64a8b70bb2615c367c

- Fix freeing old values in index_store_float8_orderby_distances(). 6cae9d2c10
  has added an error in freeing old values in
  index_store_float8_orderby_distances() function.  It looks for old value in
  scan->xs_orderbynulls[i] after setting a new value there. This commit fixes
  that.  Also it removes short-circuit in handling distances == NULL situation.
  Now distances == NULL will be treated the same way as array with all null
  distances.  That is, previous values will be freed if any.  Reported-by: Tom
  Lane, Nikita Glukhov Discussion:
  https://postgr.es/m/CAPpHfdu2wcoAVAm3Ek66rP%3Duo_C-D84%2B%2Buf1VEcbyi_caBXWCA%40mail.gmail.com
  Discussion:
  https://postgr.es/m/426580d3-a668-b9d1-7b8e-f74d1a6524e0%40postgrespro.ru
  Backpatch-through: 12
  https://git.postgresql.org/pg/commitdiff/8c8a267201bebb0edeaab2a76b7d3bcc9739924f

- Remove unstable KNN SP-GiST test. 6cae9d2c10 introduced test for NULL values
  in KNN SP-GiST.  This test relies on undetermined ordering showing different
  results on various platforms.  This commit removes that test.  Will be
  replaced with better test later.  Discussion:
  https://postgr.es/m/6d51305e1159241cabee132f7efc7eff%40xs4all.nl
  Backpatch-through: 12
  https://git.postgresql.org/pg/commitdiff/f5f084fc3ec516545d826e1e9b7ab4aabf612698

- Provide stable test for NULL-values in KNN SP-GiST. f5f084fc3e has removed
  test because of its instability.  This commit provides alternative test with
  determined ordering using extra ORDER BY expression.  Backpatch-through: 12
  https://git.postgresql.org/pg/commitdiff/5033e9580869fec514d787dc9d3b0b63cce0bcfb

Peter Eisentraut pushed:

- Remove mingwcompat.c. We believe that the issues that this was working around
  have been fixed in MinGW more than 5 years ago, so this isn't necessary
  anymore.  Discussion:
  https://www.postgresql.org/message-id/flat/20190719050830.GK1859%40paquier.xyz
  https://git.postgresql.org/pg/commitdiff/a25221f53c7960e00484c801f10d2e989b75a7f2

- Add some const decorations to array constants. Author: Mark G
  <markg735@gmail.com> Discussion:
  https://www.postgresql.org/message-id/flat/CAEeOP_YFVeFjq4zDZLDQbLSRFxBiTpwBQHxCNgGd%2Bp5VztTXyQ%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/48770492c3b796b251112fa9b74534f087c9f471

- Revert change of ecpglib major version. The major version of ecpglib was
  changed in bd7c95f0c1a38becffceb3ea7234d57167f6d4bf, apparently without
  justification.  Revert this, since nothing has changed in this library except
  some added functions.  Discussion:
  https://www.postgresql.org/message-id/flat/48ee4c56-e1df-b39d-2cad-c7d80b120eb5%402ndquadrant.com
  https://git.postgresql.org/pg/commitdiff/74f2a8aa27cb7bd2dbab3ed58e6b5c239a6b4a31

- GSSAPI error message improvements. Make the error messages around GSSAPI
  encryption a bit clearer.  Tweak some messages to avoid plural problems.  Also
  make a code change for clarity.  Using "conf" for "confidential" is quite
  confusing.  Using "conf_state" is perhaps not much better but that's what the
  GSSAPI documentation uses, so there is at least some hope of understanding it.
  https://git.postgresql.org/pg/commitdiff/e1c8743e6ccd262df84fa2d80bf21d72115ac0d6

- Remove removed file from nls.mk. part of revert "Add DECLARE STATEMENT support
  to ECPG."
  https://git.postgresql.org/pg/commitdiff/72c48c3fc31e3be090b1f70eb6d8222634ba4bde

Tom Lane pushed:

- Fix bogus handling of XQuery regex option flags. The SQL spec defers to XQuery
  to define what the option flags are for LIKE_REGEX patterns.  XQuery says
  that: * 's' allows the dot character to match newlines, which by   default it
  will not; * 'm' allows ^ and $ to match at newlines, not only at the
  start/end of the whole string. Thus, these are *not* inverses as they are for
  the similarly-named POSIX options, and neither one corresponds to the POSIX
  'n' option. Fortunately, Spencer's library does expose these two behaviors as
  separately twiddlable flags, so we just have to fix the mapping from JSP flag
  bits to REG flag bits.  I also chose to rename the symbol for 's' to DOTALL,
  to make it clearer that it's not the inverse of MLINE.  Also, XQuery says that
  if the 'q' flag "is used together with the m, s, or x flag, that flag has no
  effect".  I read this as saying that 'q' overrides the other flags; whoever
  wrote our code seems to have read it backwards.  Lastly, while XQuery's 'x'
  flag is related to what Spencer's code does for REG_EXPANDED, it's not the
  same or a subset.  It seems best to treat XQuery's 'x' as unimplemented for
  now.  Maybe later we can expand our regex code to offer 'x'-style parsing as a
  separate option.  While at it, refactor the jsonpath code so that (a) there's
  only one copy of the flag transformation logic not two, and (b) the processing
  of flags is independent of the order in which the flags are written.  We need
  some documentation updates to go with this, but I'll tackle that separately.
  Back-patch to v12 where this code originated.  Discussion:
  https://postgr.es/m/CAPpHfdvDci4iqNF9fhRkTqhe-5_8HmzeLt56drH%2B_Rv2rNRqfg@mail.gmail.com
  Reference: https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#flags
  https://git.postgresql.org/pg/commitdiff/d5b90cd648558a4fd714b1396176ddb028ec28fc

- Doc: improve documentation around jsonpath regular expressions. Provide some
  documentation about the differences between XQuery regular expressions and
  those supported by Spencer's regex engine. Since SQL now exposes XQuery
  regexps with the LIKE_REGEX operator, I made this a standalone section
  designed to help somebody who has to translate a LIKE_REGEX query to Postgres.
  (Eventually we might extend Spencer's engine to allow precise implementation
  of XQuery, but not today.)  Reference that in the jsonpath docs, provide
  definitions of the XQuery flag letters, and add a description of the
  JavaScript-inspired string literal syntax used within jsonpath.  Also point
  out explicitly that backslashes used within like_regex patterns will need to
  be doubled.  This also syncs the docs with the decision implemented in commit
  d5b90cd64 to desupport XQuery's 'x' flag for now.  Jonathan Katz and Tom Lane
  Discussion:
  https://postgr.es/m/CAPpHfdvDci4iqNF9fhRkTqhe-5_8HmzeLt56drH%2B_Rv2rNRqfg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/0a97edb12ec44f8d2d8828cbca6dd7639408ac88

- Revert "Add DECLARE STATEMENT support to ECPG.". This reverts commit
  bd7c95f0c1a38becffceb3ea7234d57167f6d4bf, along with assorted follow-on fixes.
  There are some questions about the definition and implementation of that
  statement, and we don't have time to resolve them before v13 release.  Rather
  than ship the feature and then have backwards-compatibility concerns
  constraining any redesign, let's remove it for now and try again later.
  Discussion:
  https://postgr.es/m/TY2PR01MB2443EC8286995378AEB7D9F8F5B10@TY2PR01MB2443.jpnprd01.prod.outlook.com
  https://git.postgresql.org/pg/commitdiff/96b6c82c9dd4a6a91c7e54bf42d36da111959ec6

- Fix some minor spec-compliance issues in jsonpath lexer. Although the SQL/JSON
  tech report makes reference to ECMAScript which allows both single- and
  double-quoted strings, all the rest of the report speaks only of double-quoted
  string literals in jsonpaths. That's more compatible with JSON itself;
  moreover single-quoted strings are hard to use inside a jsonpath that is
  itself a single-quoted SQL literal.  So guess that the intent is to allow only
  double-quoted literals, and remove lexer support for single-quoted literals.
  It'll be less painful to add this again later if we're wrong, than to remove a
  shipped feature.  Also, adjust the lexer so that unrecognized backslash
  sequences are treated as just meaning the escaped character, not as errors.
  This change has much better support in the standards, as JSON, JavaScript and
  ECMAScript all make it plain that that's what's supposed to happen.
  Back-patch to v12.  Discussion:
  https://postgr.es/m/CAPpHfdvDci4iqNF9fhRkTqhe-5_8HmzeLt56drH%2B_Rv2rNRqfg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/e56cad84d542a8cc2056390a9c651118cfa6c89c

- Update time zone data files to tzdata release 2019c. DST law changes in Fiji
  and Norfolk Island.  Historical corrections for Alberta, Austria, Belgium,
  British Columbia, Cambodia, Hong Kong, Indiana (Perry County), Kaliningrad,
  Kentucky, Michigan, Norfolk Island, South Korea, and Turkey.
  https://git.postgresql.org/pg/commitdiff/df4fbcd8990e025d6701d0993f401d315cb619a2

- Fix up handling of nondeterministic collations with pattern_ops opclasses.
  text_pattern_ops and its siblings can't be used with nondeterministic
  collations, because they use the text_eq operator which will not behave as
  bitwise equality if applied with a nondeterministic collation.  The initial
  implementation of that restriction was to insert a run-time test in the
  related comparison functions, but that is inefficient, may throw misleading
  errors, and will throw errors in some cases that would work. It seems
  sufficient to just prevent the combination during CREATE INDEX, so do that
  instead.  Lacking any better way to identify the opclasses involved, we need
  to hard-wire tests for them, which requires hand-assigned values for their
  OIDs, which forces a catversion bump because they previously had OIDs that
  would be assigned automatically.  That's slightly annoying in the v12 branch,
  but fortunately we're not at rc1 yet, so just do it.  Back-patch to v12 where
  nondeterministic collations were added.  In passing, run make
  reformat-dat-files, which found some unrelated whitespace issues (slightly
  different ones in HEAD and v12).  Peter Eisentraut, with small corrections by
  me  Discussion: https://postgr.es/m/22566.1568675619@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/2810396312664bdb941e549df7dfa75218d73a1c

- Straighten out leakproofness markings on text comparison functions. Since we
  introduced the idea of leakproof functions, texteq and textne were marked
  leakproof but their sibling text comparison functions were not.  This
  inconsistency seemed justified because texteq/textne just relied on memcmp()
  and so could easily be seen to be leakproof, while the other comparison
  functions are far more complex and indeed can throw input-dependent errors.
  However, that argument crashed and burned with the addition of
  nondeterministic collations, because now texteq/textne may invoke the exact
  same varstr_cmp() infrastructure as the rest.  It makes no sense whatever to
  give them different leakproofness markings.  After a certain amount of angst
  we've concluded that it's all right to consider varstr_cmp() to be leakproof,
  mostly because the other choice would be disastrous for performance of many
  queries where leakproofness matters.  The input-dependent errors should only
  be reachable for corrupt input data, or so we hope anyway; certainly, if they
  are reachable in practice, we've got problems with requirements as basic as
  maintaining a btree index on a text column.  Hence, run around to all the SQL
  functions that derive from varstr_cmp() and mark them leakproof.  This should
  result in a useful gain in flexibility/performance for queries in which
  non-leakproofness degrades the efficiency of the query plan.  Back-patch to
  v12 where nondeterministic collations were added. While this isn't an
  essential bug fix given the determination that varstr_cmp() is leakproof, we
  might as well apply it now that we've been forced into a post-beta4 catversion
  bump.  Discussion: https://postgr.es/m/31481.1568303470@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/c160b8928c77cb52f52d7509465b6c7d8026bd27

- Make some efficiency improvements in LISTEN/NOTIFY. Move the responsibility
  for advancing the NOTIFY queue tail pointer from the listener(s) to the
  notification sender, and only have the sender do it once every few queue
  pages, rather than after every batch of notifications as at present.  This
  reduces the number of times we execute asyncQueueAdvanceTail, and reduces
  contention when there are multiple listeners (since that function requires
  exclusive lock). This change relies on the observation that we don't really
  need the tail pointer to be exactly up-to-date.  It's certainly not necessary
  to attempt to release disk space more often than once per SLRU segment. The
  only other usage of the tail pointer is that an incoming listener, if it's the
  only listener in its database, will need to scan the queue forward from the
  tail; but that's surely a less performance-critical path than routine sending
  and receiving of notifies.  We compromise by advancing the tail pointer after
  every 4 pages of output, so that it shouldn't get more than a few pages
  behind.  Also, when sending signals to other backends after adding notify
  message(s) to the queue, recognize that only backends in our own database are
  going to care about those messages, so only such backends really need to be
  awakened promptly.  Backends in other databases should get kicked if they're
  well behind on reading the queue, else they'll hold back the global tail
  pointer; but wakening them for every single message is pointless.  This change
  can substantially reduce signal traffic if listeners are spread among many
  databases.  It won't help for the common case of only a single active
  database, but the extra check costs very little.  Martijn van Oosterhout, with
  some adjustments by me  Discussion:
  https://postgr.es/m/CADWG95vtRBFDdrx1JdT1_9nhOFw48KaeTev6F_LtDQAFVpSPhA@mail.gmail.com
  Discussion:
  https://postgr.es/m/CADWG95uFj8rLM52Er80JnhRsTbb_AqPP1ANHS8XQRGbqLrU+jA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/51004c7172b5c35afac050f4d5849839a06e8d3b

- Fix typo in tts_virtual_copyslot. The code used the destination slot's natts
  where it intended to use the source slot's natts.  Adding an Assert shows that
  there is no case in "make check-world" where these counts are different, so
  maybe this is a harmless bug, but it's still a bug.  Takayuki Tsunakawa
  Discussion:
  https://postgr.es/m/0A3221C70F24FB45833433255569204D1FD34C0E@G01JPEXMBYT05
  https://git.postgresql.org/pg/commitdiff/0a2f894c3c88e4693d7cd36cba1b136474c7ff89

Etsuro Fujita pushed:

- Doc: Update FDW documentation about direct foreign table modification. 1.
  Commit 7086be6e3 should have documented the limitation that the direct
  modification is disabled when WCO constraints are present, but didn't,
  which is definitely my fault.  Update the documentation (Postgres 9.6
  onwards).  2. Commit fc22b6623 should have documented the limitation that the
  direct    modification is disabled when generated columns are defined, but
  didn't.  Update the documentation (Postgres 12 onwards).  Author: Etsuro
  Fujita Discussion:
  https://postgr.es/m/CAPmGK14AYCPunLb6TRz1CQsW5Le01Z2ox8LSOKH0P-cOVDcQRA%40mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/f9f2fda79658cc8f898c6fa7ba6da9a1f394cdee

Fujii Masao pushed:

- Remove unused smgrdounlinkfork() function. smgrdounlinkfork() became dead code
  as the result of commit ece01aae47, but it was left in place just in case we
  want it someday. However no users have appeared in 7 years, so it's time to
  remove this unused function.  Author: Kirk Jamison Discussion:
  https://www.postgresql.org/message-id/D09B13F772D2274BB348A310EE3027C64E2067@g01jpexmbkw24
  https://git.postgresql.org/pg/commitdiff/33a94bae605edf3ceda6751916f0b1af3e88630a

Álvaro Herrera pushed:

- pg_upgrade/test.sh: Quote sed(1) argument. Lack of quotes results in failure
  to run the test under older Solaris.  Author: Marina Polyakova, Victor Wagner
  Discussion:
  https://postgr.es/m/feba89f89e8925b3535cb7d72b9e05e1@postgrespro.ru
  https://git.postgresql.org/pg/commitdiff/32200c19dd8f084956d90e3c2cb5c2b8a8b90dfa

- Fix testlibpq3. The sample output assumes non-standard-conforming
  interpretation of backslashes in input literals, so the actual output didn't
  match.  Noticed while perusing another patch that touches this file.
  Evidently this code is seldom checked, so I'm not going to bother backpatching
  this fix.
  https://git.postgresql.org/pg/commitdiff/9b8e99e905097e104c295bff1c47b6c0d652efdb

- Fix example program in docs too (??). Fixup for previous commit: actually, the
  complete source for testlibpq3.c appears in SGML docs, so we need to patch
  that also. Go figure.
  https://git.postgresql.org/pg/commitdiff/59354ccef5d7671bb11982628d6ddd6fffbad2c4

- Fix progress report of REINDEX INDEX. I (Álvaro) broke that in commit
  6212276e4343 -- forgot to set the necessary flag.  Repair.  Author: Amit
  Langote Discussion:
  https://postgr.es/m/CA+HiwqEaM2tV5awKhP1vSbgjQe_uXVU15Oi4sTgwgempwMiT8g@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/d1b0007639a1cefb5dcecf44999a4461f4c34089

- Refactor code into new JsonbValueAsText, and use it more.
  jsonb_object_field_text and jsonb_array_element_text both contained identical
  copies of this code, so extract that into new routine JsonbValueAsText.  This
  can also be used in other places, to measurable performance benefit: the
  jsonb_each() and jsonb_array_elements() functions can use it for outputting
  text forms instead of their less efficient current implementation (because we
  no longer need to build intermediate a jsonb representation of each value).
  Author: Nikita Glukhov Discussion:
  https://postgr.es/m/7c417f90-f95f-247e-ba63-d95e39c0ad14@postgrespro.ru
  https://git.postgresql.org/pg/commitdiff/abb014a63106653f2872a3b1662a79ab80d4dcbb

- Optimize get_jsonb_path_all avoiding an iterator. Instead of creating an
  iterator object at each step down the JSONB object/array, we can just just
  examine its object/array flags, which is faster.  Also, use the recently
  introduced JsonbValueAsText instead of open-coding the same thing, for code
  simplicity.  Author: Nikita Glukhov Discussion:
  https://postgr.es/m/7c417f90-f95f-247e-ba63-d95e39c0ad14@postgrespro.ru
  https://git.postgresql.org/pg/commitdiff/dbb9aeda9959d8a8f463e841b69dfa04afc67a3a

- Split out code into new getKeyJsonValueFromContainer(). The new function
  stashes its output value in a JsonbValue that can be passed in by the caller,
  which enables some of them to pass stack-allocated structs -- saving palloc
  cycles.  It also allows some callers that know they are handling a jsonb
  object to use this new jsonb object-specific API, instead of going through
  generic container findJsonbValueFromContainer.  Author: Nikita Glukhov
  Discussion:
  https://postgr.es/m/7c417f90-f95f-247e-ba63-d95e39c0ad14@postgrespro.ru
  https://git.postgresql.org/pg/commitdiff/1a2983231d9080bfa06cfbf38d5415b5d71eea91

Michaël Paquier pushed:

- Redesign pageinspect function printing infomask bits. After more discussion,
  the new function added by ddbd5d8 could have been designed in a better way.
  Based on an idea from Álvaro, instead of returning one column which includes
  both the raw and combined flags, use two columns, with one for the raw flags
  and one for the combined flags.  This also takes care of some issues with
  HEAP_LOCKED_UPGRADED and HEAP_XMAX_IS_LOCKED_ONLY which are not really
  combined flags as they depend on conditions defined by other raw bits, as
  mentioned by Amit.  While on it, fix an extra issue with combined flags.  A
  combined flag was returned if at least one of its bits was set, but all its
  bits need to be set to include it in the result.  Author: Michael Paquier
  Reviewed-by: Álvaro Herrera, Amit Kapila Discussion:
  https://postgr.es/m/20190913114950.GA3824@alvherre.pgsql
  https://git.postgresql.org/pg/commitdiff/58b4cb30a5bf52d71a4d0e5f9f7e1da3e64f67cc

- Doc: Fix incorrect mention to connection_object in CONNECT command of ECPG.
  This fixes an inconsistency with this parameter name not listed in the command
  synopsis, and connection_name is the parameter name more commonly used in the
  docs for ECPG commands.  Reported-by: Yusuke Egashita Discussion:
  https://postgr.es/m/156870956796.1259.11456186889345212399@wrigleys.postgresql.org
  Backpatch-through: 9.4
  https://git.postgresql.org/pg/commitdiff/bec847d9e946ab6e05a2884e524c3cc8c52feebb

Amit Kapila pushed:

- Doc: document autovacuum interruption. It's important users be able to know
  (without looking at the source code) that running DDL or DDL-like commands can
  interrupt autovacuum which can lead to a lot of dead tuples and hence slower
  database operations.  Reported-by: James Coleman Author: James Coleman
  Reviewed-by: Amit Kapila Backpatch-through: 9.4 Discussion:
  https://postgr.es/m/CAAaqYe-XYyNwML1=f=gnd0qWg46PnvD=BDrCZ5-L94B887XVxQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/82fa3ff867219a212a467317a77011df29cb5903

- Fix typo in commit 578b229718. Reported-by: Filip Rembiałkowski Author: Filip
  Rembiałkowski Backpatch-through: 12, where it was introduced Discussion:
  https://postgr.es/m/CAP_rwwmSNy1=_82rwGe3-X4PjWqPSFXtzNf43DCtGzD7SazdXA@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/70377cf4c6bf4eb4b2d1209752a300d5f3571145

- Fix typo in commit 82fa3ff8672. Reported-By: Kuntal Ghosh (off-list)
  Backpatch-through: 9.4, like 82fa3ff8672
  https://git.postgresql.org/pg/commitdiff/c53e40a132dca2ea8db73ce705a9019197ec338b

== Pending Patches ==

Arseny Sher sent in another revision of a patch to ERROR out early on any
attempt to touch user indexes while they are being (re)built.

Alexander Korotkov sent in another revision of a patch to implement the JSON
datetime methods, some of which he pushed.

Alexander Korotkov sent in another revision of a patch to create a pool of
BGWorkers for streamed transactions apply which do not spill to disk.

Nikita Glukhov sent in two more revisions of a patch to implement SQL/JSON
functions.

Álvaro Herrera sent in two more revisions of a patch to add an enum relation
type.

Michaël Paquier sent in two more revisions of a patch to consolidate the
str2*int64 functions into one place.

Paul A Jungwirth and Amit Kapila traded patches to ensure that there is a range
test for hash indexes.

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

Michaël Paquier sent in three more revisions of a patch to combine the
pageinspect flags.

Tattsu Yama sent in another revision of a patch to fix a bug in the CLUSTER
command progress monitor.

Nikita Glukhov sent in another revision of a patch to add JSON_TABLE.
 
Leif Gunnar Erlandsen sent in a patch to pause recovery if the PITR target is
not reached.

Kirk Jamison and Fujii Masao traded patches to speed up truncation of relation
forks.

Tom Lane sent in a patch to remove support for single-quoted literals in
jsonpath, treat an unrecognized escape as meaning the escaped character, rather
than throwing an error, and clarify and shorten the jsonpath_scan code.

David Fetter sent in eight more revisions of a patch to make output for int4 and
int8 more efficient.

Pavel Stěhule sent in three more revisions of a patch to implement DROP DATABASE
FORCE and add a similar option to dropdb.

Fabien COELHO and Amit Kapila traded patches to make it possible for pgbench to
create partitioned tables.

Álvaro Herrera sent in another revision of a patch to consolidate reading of
XLOG pages.

Quan Zongliang sent in a patch to add a GUC variable that control logical
replication.

Dmitry Dolgov sent in another revision of a patch to implement generic type
subscripting and use same in arrays and JSONB.

James Coleman sent in a patch to document the behavior of concurrent index
builds waiting on each other.

Nikita Glukhov sent in a patch to fix parsing of identifiers in jsonpath.

Peter Smith and Kyotaro HORIGUCHI traded patches to add more compile-time
asserts.

Aleksey Kondratov sent in another revision of a patch to enable REINDEX and
REINDEX CONCURRENTLY to SET TABLESPACE.

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

Álvaro Herrera sent in another revision of a patch to enable logging of portal
parameters on error.

Soumyadeep Chakraborty sent in two revisions of a patch to ensure that the JIT
not generate deforming code when the tuple is virtual in expr eval of scan
fetch, and do some refactoring of the JIT deforming code more generally.

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

Surafel Temesgen sent in another revision of a patch to implement FETCH FIRST
... PERCENT.

Paul Guo sent in two more revisions of a patch to extract common
recovery-related functions from pg_basebackup into separate files for use by
pg_rewind, add an option to write recovery configuration information in
pg_rewind, and ensure target clean shutdown at the beginning of pg_rewind.

Amit Langote sent in another revision of a patch to make some cosmetic
improvements to partitionwise join code, ensure that partitionwise join handles
FULL JOINs correctly, and add multi-relation EC child members in a separate
pass.

Asim R P sent in two more revisions of a patch to support node initialization
from backup with tablespaces, add tests to replay create database operation on
standby, and fix replay of create database records on standby.

Kyotaro HORIGUCHI and Sergei Kornilov traded patches to enable an online change
to primary_conninfo.

Michaël Paquier sent in a patch to fix a failure for the lock mode used for
custom relation options, and enable definition of lock modes for custom
reloptions.

Michaël Paquier sent in another revision of a patch to add a way to test
reloptions from inside of access method.

Fabien COELHO sent in two more revisions of a patch to ensure that psql always
shows all result sets in a multi-statement string.

Luis Carril sent in another revision of a patch to add an option to dump foreign
data in pg_dump.

Robert Haas sent in a PoC patch to reduce code duplication in and eliminate
weird macro tricks from the pg_basebackup code, and implement a backup manifest
with file names, sizes, timestamps, checksums.

Andres Freund and Tom Lane traded patches to do more logging to track down
subscriptionCheck failures on buildfarm member nightjar.

Jeff Davis and Michaël Paquier traded patches to add a 'channel_binding' libpq
parameter.

Andres Freund sent in another revision of a patch to implement generic functions
for Node types using generated metadata.

Juan José Santamaría Flecha sent in two revisions of a patch to fix a bug that
manifested as wrong results using initcap() with non-normalized strings.

Esteban Zimanyi sent in a patch to extend range type operators to cope with
elements.

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

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



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

Предыдущее
От: Gilles Darold
Дата:
Сообщение: pgFormatter v4.1 released
Следующее
От: "Daniel Westermann (DWE)"
Дата:
Сообщение: Announcing the German-speaking PostgreSQL Conference 2020