== PostgreSQL Weekly News - September 28, 2019 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - September 28, 2019 == |
Date | |
Msg-id | 20190929060448.GA3648@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - September 28, 2019 == PostgreSQL 12 Release Candidate 1 released. Test! https://www.postgresql.org/about/news/1975/ The German-speaking PostgreSQL Conference 2020 will take place on May 10, 2019 in Stuttgart. == PostgreSQL Product News == PostGIS 3.0.0beta1, the industry standard geographic information system package for PostgreSQL, released. https://postgis.net/2019/09/28/postgis-3.0.0beta1/ pgFormatter 4.1, a formatter/beautifier for SQL code, released. http://sqlformat.darold.net/ == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2019-09/ == PostgreSQL Local == PostgresConf South Africa 2019 will take place in Johannesburg on October 8-9, 2019 https://postgresconf.org/conferences/SouthAfrica2019 PostgreSQL Conference Europe 2019 will be held on October 15-18, 2019 in Milan, Italy. https://2019.pgconf.eu/ 2Q PGConf 2019 will be held December 4 & 5 in Chicago. https://www.2qpgconf.com/ PGDay Down Under 2019 will be held on November 15, 2019 in Sydney, Australia. The CfP is open until 5pm AEST AEST on October 5th, 2019. https://pgdu.org/ pgDay Paris 2020 will be held in Paris, France on March 26, 2020 at Espace Saint-Martin. http://2020.pgday.paris/ Nordic PGDay 2020 will be held in Helsinki, Finland at the Hilton Helsinki Strand Hotel on March 24, 2020. The CfP is open through December 31, 2019 at https://2020.nordicpgday.org/cfp/ PGConf India 2020 will be on February 26-28, 2020 in Bengaluru, Karnataka. The CfP is open until November 15, 2019. http://pgconf.in/ == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ PostgreSQL Weekly News is brought to you this week by David Fetter Submit news and announcements by Sunday at 3:00pm PST8PDT to david@fetter.org. == Applied Patches == Peter Eisentraut pushed: - NLS: Fix backend gettext triggers. The backend also needs to pull in translations from the frontend pg_log_*() functions, since some files in src/common/ use those. https://git.postgresql.org/pg/commitdiff/467c1d9107e15a44a0ca3c46f0c7ebeeb7cfa208 - Message style fixes. https://git.postgresql.org/pg/commitdiff/887248e97e2da6f602ddf22aaaaf8cb41d0d010d - Don't disable ccache when building with coverage support. This was working around a bug in ccache that was fixed in ccache 3.2.2 (released 2015-05-10). (Users of older ccache versions can continue to set CCACHE_DISABLE themselves.) Discussion: https://www.postgresql.org/message-id/20190530191130.GA24528@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/2e5c83acbb7b3916037b3e3a2f81ced10d413a3e - doc: Reorder JSON functions documentation. Put the description of the SQL/JSON path language after the description of the general JSON functions and operators, instead of before. Discussion: https://www.postgresql.org/message-id/16968.1569189812@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/a083657896c739909a25190ebd0032c01f6c8109 - doc: Update note about source code formatting. Update the note about why not to use // comments, even though it's now technically supported. The note about variable declarations was dropped here because it's addressed more properly later in the chapter. Discussion: https://www.postgresql.org/message-id/flat/156924954640.1117.6309209869705522549%40wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/49e36e7901c691fd7e80ba56465b649a211290cf - doc: Update a confusing sentence about SQL/JSON. Author: Liudmila Mantrova <l.mantrova@postgrespro.ru> Reported-by: Jeff Janes <jeff.janes@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CAMkU%3D1wP-SO4KpiLxHJuPezTJCmK%3DJqefLXrr3eXFO7Qku%2BtMg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/a4a5c0cf9cec3df2d1662a799c539c2cc84aa463 - doc: Format example JSON data better. https://git.postgresql.org/pg/commitdiff/6c3ef7482f2bdedc68146a4ffcba4b8b241b91a9 - doc: Fix whitespace in markup. https://git.postgresql.org/pg/commitdiff/8190164e82ae03bde80864ab0941794a90e70483 - doc: Add timeline as valid recovery target in standby.signal documentation. The documentation states that no target settings will be used when standby.signal is present, but this is not quite the case since recovery_target_timeline is a valid recovery target for a standby. Update the documentation with this exception. Author: David Steele <david@pgmasters.net> Discussion: https://www.postgresql.org/message-id/flat/e445616d-023e-a268-8aa1-67b8b335340c%40pgmasters.net https://git.postgresql.org/pg/commitdiff/775578a445bbbbfc43b1dcc1c3e2d3b4bdb35962 - Fix compilation with older OpenSSL versions. Some older OpenSSL versions (0.9.8 branch) define TLS*_VERSION macros but not the corresponding SSL_OP_NO_* macro, which causes the code for handling ssl_min_protocol_version/ssl_max_protocol_version to fail to compile. To fix, add more #ifdefs and error handling. Reported-by: Victor Wagner <vitus@wagner.pp.ru> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://www.postgresql.org/message-id/flat/20190924101859.09383b4f%40fafnir.local.vm https://git.postgresql.org/pg/commitdiff/4e6f101e921c9a7ff4e7fff847966b9cdd390753 Tom Lane pushed: - Doc: clarify handling of duplicate elements in array containment tests. The array <@ and @> operators do not worry about duplicates: if every member of array X matches some element of array Y, then X is contained in Y, even if several members of X get matched to the same Y member. This was not explicitly stated in the docs though, so improve matters. Discussion: https://postgr.es/m/156614120484.1310.310161642239149585@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/13cd97e6c8c9679a9b2384c22a4f0333b1a5cc55 - Prevent bogus pullup of constant-valued functions returning composite. Fix an oversight in commit 7266d0997: as it stood, the code failed when a function-in-FROM returns composite and can be simplified to a composite constant. For the moment, just test for composite result and abandon pullup if we see one. To make it actually work, we'd have to decompose the composite constant into per-column constants; which is surely do-able, but I'm not convinced it's worth the code space. Per report from Raúl Marín Rodríguez. Discussion: https://postgr.es/m/CAM6_UM4isP+buRA5sWodO_MUEgutms-KDfnkwGmryc5DGj9XuQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/a9ae99d0190960ce2d3dd3e5f10e7f4adc3cf203 - Fix handling of GENERATED columns in CREATE TABLE LIKE INCLUDING DEFAULTS. LIKE INCLUDING DEFAULTS tried to copy the attrdef expression without copying the state of the attgenerated column. This is in fact wrong, because GENERATED and DEFAULT expressions are not the same kind of animal; one can contain Vars and the other not. We *must* copy attgenerated when we're copying the attrdef expression. Rearrange the if-tests so that the expression is copied only when the correct one of INCLUDING DEFAULTS and INCLUDING GENERATED has been specified. Per private report from Manuel Rigger. Tom Lane and Peter Eisentraut https://git.postgresql.org/pg/commitdiff/b81a9c2fc52509025c635fa08ecaec1bad21441b - Doc: clean up markup for jsonb_set and related functions. The markup for optional parameters was neither correct nor consistent. In passing, fix a spelling mistake. Per report from Alex Macy. Some of these mistakes are old, so back-patch as appropriate. Discussion: https://postgr.es/m/156953522258.1204.12736099368284950578@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/4fa1d89cba0f1feb5120e99eb01c152ba276c4e9 - Finish reverting "Insert temporary debugging output in regression tests.". This removes the last of the temporary debugging queries added to the regression tests by commit f03a9ca43. We've pretty much convinced ourselves that the plan instability we were seeing is due to VACUUM sometimes failing to update relpages/reltuples for a single-page table, due to bgwriter or checkpointer holding a pin on that page at just the wrong time. I'll push a workaround for that separately. Discussion: https://postgr.es/m/CA+hUKG+0CxrKRWRMf5ymN3gm+BECHna2B-q1w8onKBep4HasUw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/d9cacca2d139d9e0792544f773d2361d8478c131 - ANALYZE a_star and its children to avoid plan instability in tests. We've noted certain EXPLAIN queries on these tables occasionally showing unexpected plan choices. This seems to happen because VACUUM sometimes fails to update relpages/reltuples for one of these single-page tables, due to bgwriter or checkpointer holding a pin on the lone page at just the wrong time. To ensure those values get set, insert explicit ANALYZE operations on these tables after we finish populating them. This doesn't seem to affect any other test cases, so it's a usable fix. Back-patch to v12. In principle the issue exists further back, but we have not seen it before v12, so I won't risk back-patching further. Discussion: https://postgr.es/m/24480.1569518042@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/b9bffa004a9980ac235b6ff541ee2fe0e9800372 - Make pg_regress.c unset PGDATABASE during make installcheck. For the most part, we leave libpq-controlling environment variables alone during "make installcheck", reasoning that connecting to the server the user expects us to connect to may depend on those variables. But that argument doesn't apply to PGDATABASE, since we always want to connect to a specific database name within the server. And failing to unset it causes certain ECPG tests to fail, as various people have complained of in the past. So let's unset it. Possibly this should be back-patched, but I'm disinclined to do that right before 12.0 release. Maybe later. Discussion: https://postgr.es/m/20180318205548.2akxjqvo7hrk5wbc@alap3.anarazel.de Discussion: https://postgr.es/m/E1bOum4-0002EA-2y@gemulon.postgresql.org https://git.postgresql.org/pg/commitdiff/5ee96b3e2221d154ffcb719bd2dee1179c53f821 - Improve stability of partition_prune regression test. This test already knew that, to get stable test output, it had to hide "loops" counts in EXPLAIN ANALYZE results. But that's not nearly enough: if we get a smaller number of workers than we planned for, then the "Workers Launched" number will change, and so will all the rows and loops counts up to the Gather node. This has resulted in repeated failures in the buildfarm, so adjust the test to filter out all these counts. (Really, we wouldn't bother with EXPLAIN ANALYZE at all here, except that currently the only way to verify that executor-time pruning has happened is to look for '(never executed)' annotations. Those are stable and needn't be filtered out.) Back-patch to v11 where the test was introduced. Discussion: https://postgr.es/m/11952.1569536725@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/4ea03f3f4eba3c76abae2e69bf48c921799a68a3 Jeff Davis pushed: - Add libpq parameter 'channel_binding'. Allow clients to require channel binding to enhance security against untrusted servers. Author: Jeff Davis Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/227015d8417f2b4fef03f8966dbfa5cbcc4f44da.camel%40j-davis.com https://git.postgresql.org/pg/commitdiff/d6e612f837e235db0411e8b67558c9a6b3e9f41f Andres Freund pushed: - Fix ExprState's tag to be of type NodeTag rather than Node. This appears to have been an oversight in b8d7f053c5c2. As it's effectively harmless, though confusing, only fix in master. Author: Andres Freund https://git.postgresql.org/pg/commitdiff/30d13796582fe13df0cbea1a8605d926a454d32f - Fix implicit-fallthrough compiler warning introduced in 6dda292d4df82. For some reason at least gcc-9 warns about the fallthrough, even though it otherwise recognizes that elog(ERROR, ...) doesn't return. Author: Andres Freund https://git.postgresql.org/pg/commitdiff/c967e13f4047ef6f3d91bcb1cff6d746322aff6d - Silence -Wmaybe-uninitialized compiler warnings in dbcommands.c. When compiling postgres using gcc -O3, there are false-positive warnings about the now initialized variables. Silence them. Author: Peter Eisentraut, Andres Freund Discussion: https://postgr.es/m/15fb2350-b8b8-e188-278f-0b34fdee5210@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/3f6b3be39ca91a62b88051a6b4fdf428a05c6b0d Fujii Masao pushed: - Speedup truncations of relation forks. When a relation is truncated, shared_buffers needs to be scanned so that any buffers for the relation forks are invalidated in it. Previously, shared_buffers was scanned for each relation forks, i.e., MAIN, FSM and VM, when VACUUM truncated off any empty pages at the end of relation or TRUNCATE truncated the relation in place. Since shared_buffers needed to be scanned multiple times, it could take a long time to finish those commands especially when shared_buffers was large. This commit changes the logic so that shared_buffers is scanned only one time for those three relation forks. Author: Kirk Jamison Reviewed-by: Masahiko Sawada, Thomas Munro, Alvaro Herrera, Takayuki Tsunakawa and Fujii Masao Discussion: https://postgr.es/m/D09B13F772D2274BB348A310EE3027C64E2067@g01jpexmbkw24 https://git.postgresql.org/pg/commitdiff/6d05086c0a79e50d8e91ed953626ec7280cd2481 Álvaro Herrera pushed: - Rework WAL-reading supporting structs. The state-tracking of WAL reading in various places was pretty messy, mostly because the ancient physical-replication WAL reading code wasn't using the XLogReader abstraction. This led to some untidy code. Make it prettier by creating two additional supporting structs, WALSegmentContext and WALOpenSegment which keep track of WAL-reading state. This makes code cleaner, as well as supports more future cleanup. Author: Antonin Houska Reviewed-by: Álvaro Herrera and (older versions) Robert Haas Discussion: https://postgr.es/m/14984.1554998742@spoje.net https://git.postgresql.org/pg/commitdiff/709d003fbd98b975a4fbcb4c5750fa6efaf9ad87 - Split out recovery confing-writing code from pg_basebackup. ... into a new file, fe_utils/recovery_gen.c. This can later be used by pg_rewind. Authors: Paul Guo, Jimmy Yih, Ashwin Agrawal. A few tweaks by Álvaro Herrera Reviewed-by: Michaël Paquier Discussion: https://postgr.es/m/CAEET0ZEffUkXc48pg2iqARQgGRYDiiVxDu+yYek_bTwJF+q=Uw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/caba97a9d9f4d4fa2531985fd12d3cd823da06f3 - Support reloptions of enum type. All our current in core relation options of type string (not many, admittedly) behave in reality like enums. But after seeing an implementation for enum reloptions, it's clear that strings are messier, so introduce the new reloption type. Switch all string options to be enums instead. Fortunately we have a recently introduced test module for reloptions, so we don't lose coverage of string reloptions, which may still be used by third-party modules. Authors: Nikolay Shaplov, Álvaro Herrera Reviewed-by: Nikita Glukhov, Aleksandr Parfenov Discussion: https://postgr.es/m/43332102.S2V5pIjXRx@x200m https://git.postgresql.org/pg/commitdiff/773df883e8f7543958d0d719c025b5f47c5a67f0 - Update expected output for dummy_index_am. Forgot to add the file in the previous commit. https://git.postgresql.org/pg/commitdiff/bd29cc1992df9a1b786ca36c05e8f590d3795d10 - Have pg_rewind run crash recovery before rewinding. If we don't do this, the rewind fails if the server wasn't cleanly shut down, which seems unhelpful serving no purpose. Also provide a new option --no-ensure-shutdown to suppress this behavior, for alleged advanced usage that prefers to avoid the crash recovery. Authors: Paul Guo, Jimmy Yih, Ashwin Agrawal Reviewed-by: Álvaro Herrera Discussion: https://postgr.es/m/CAEET0ZEffUkXc48pg2iqARQgGRYDiiVxDu+yYek_bTwJF+q=Uw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/5adafaf176d09ba5ea11ae128416fc5211469bc0 Alexander Korotkov pushed: - Fix bug in pairingheap_SpGistSearchItem_cmp(). Our item contains only so->numberOfNonNullOrderBys of distances. Reflect that in the loop upper bound. Discussion: https://postgr.es/m/53536807-784c-e029-6e92-6da802ab8d60%40postgrespro.ru Author: Nikita Glukhov Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/90c0987258264de07780f0329db2fce83098fba8 - Implement standard datetime parsing mode. SQL Standard 2016 defines rules for handling separators in datetime template strings, which are different to to_date()/to_timestamp() rules. Standard allows only small set of separators and requires strict matching for them. Standard applies to jsonpath .datetime() method and CAST (... FORMAT ...) SQL clause. We're not going to change handling of separators in existing to_date()/to_timestamp() functions, because their current behavior is familiar for users. Standard behavior now available by special flag, which will be used in upcoming .datetime() jsonpath method. Discussion: https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com Author: Alexander Korotkov https://git.postgresql.org/pg/commitdiff/1a950f37d0a283f2a76bec63c05530ed6eb16de1 - Allow datetime values in JsonbValue. SQL/JSON standard allows manipulation with datetime values. So, it appears to be convinient to allow datetime values to be represented in JsonbValue struct. These datetime values are allowed for temporary representation only. During serialization datetime values are converted into strings. SQL/JSON requires writing timestamps with timezone in the same timezone offset as they were parsed. This is why we allow storage of timezone offset in JsonbValue struct. For the same reason timezone offset argument is added to JsonEncodeDateTime() function. Extracted from original patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov. Revised by me. Comments were adjusted by Liudmila Mantrova. Discussion: https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com Discussion: https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com Author: Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Liudmila Mantrova Reviewed-by: Anastasia Lubennikova, Peter Eisentraut https://git.postgresql.org/pg/commitdiff/6dda292d4df82a9158d1acc93feecf3b84637b59 - Implement parse_datetime() function. This commit adds parse_datetime() function, which implements datetime parsing with extended features demanded by upcoming jsonpath .datetime() method: * Dynamic type identification based on template string, * Support for standard-conforming 'strict' mode, * Timezone offset is returned as separate value. Extracted from original patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov. Revised by me. Discussion: https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com Discussion: https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com Author: Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov Reviewed-by: Anastasia Lubennikova, Peter Eisentraut https://git.postgresql.org/pg/commitdiff/66c74f8b6e347ba5830bf06468bef8081601c187 - Error suppression support for upcoming jsonpath .datetime() method. Add support of error suppression in some date and time manipulation functions as it's required for jsonpath .datetime() method support. This commit doesn't use PG_TRY()/PG_CATCH() in order to implement that. Instead, it provides internal versions of date and time functions used, which support error suppression. Discussion: https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com Author: Alexander Korotkov, Nikita Glukhov Reviewed-by: Anastasia Lubennikova, Peter Eisentraut https://git.postgresql.org/pg/commitdiff/5bc450629b31a0b6986e668056d5bd36792412d2 - Implement jsonpath .datetime() method. This commit implements jsonpath .datetime() method as it's specified in SQL/JSON standard. There are no-argument and single-argument versions of this method. No-argument version selects first of ISO datetime formats matching input string. Single-argument version accepts template string as its argument. Additionally to .datetime() method itself this commit also implements comparison ability of resulting date and time values. There is some difficulty because exising jsonb_path_*() functions are immutable, while comparison of timezoned and non-timezoned types involves current timezone. At first, current timezone could be changes in session. Moreover, timezones themselves are not immutable and could be updated. This is why we let existing immutable functions throw errors on such non-immutable comparison. In the same time this commit provides jsonb_path_*_tz() functions which are stable and support operations involving timezones. As new functions are added to the system catalog, catversion is bumped. Support of .datetime() method was the only blocker prevents T832 from being marked as supported. sql_features.txt is updated correspondingly. Extracted from original patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov. Heavily revised by me. Comments were adjusted by Liudmila Mantrova. Discussion: https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com Discussion: https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com Author: Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Liudmila Mantrova Reviewed-by: Anastasia Lubennikova, Peter Eisentraut https://git.postgresql.org/pg/commitdiff/bffe1bd68457e43925c362d8728ce3b25bdf1c94 - Correctly cast types to Datum and back in compareDatetime(). Discussion: https://postgr.es/m/CAPpHfdteFKW6MLpXM4md99m55YAuXs0n9_P2wiTq_EmG09doUA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/7881bb14f4b23e8dc8671938cfb3f34117c12d8b Michaël Paquier pushed: - Fix failure with lock mode used for custom relation options. In-core relation options can use a custom lock mode since 47167b7, that has lowered the lock available for some autovacuum parameters. However it forgot to consider custom relation options. This causes failures with ALTER TABLE SET when changing a custom relation option, as its lock is not defined. The existing APIs to define a custom reloption does not allow to define a custom lock mode, so enforce its initialization to AccessExclusiveMode which should be safe enough in all cases. An upcoming patch will extend the existing APIs to allow a custom lock mode to be defined. The problem can be reproduced with bloom indexes, so add a test there. Reported-by: Nikolay Sharplov Analyzed-by: Thomas Munro, Michael Paquier Author: Michael Paquier Reviewed-by: Kuntal Ghosh Discussion: https://postgr.es/m/20190920013831.GD1844@paquier.xyz Backpatch-through: 9.6 https://git.postgresql.org/pg/commitdiff/736b84eede6cfdadf1114cf5a0e950d7f4986d82 - Allow definition of lock mode for custom reloptions. Relation options can define a lock mode other than AccessExclusiveMode since 47167b7, but modules defining custom relation options did not really have a way to enforce that. Correct that by extending the current API set so as modules can define a custom lock mode. Author: Michael Paquier Reviewed-by: Kuntal Ghosh Discussion: https://postgr.es/m/20190920013831.GD1844@paquier.xyz https://git.postgresql.org/pg/commitdiff/69f94108079d70093b59096a3ae0ad82c842b4c0 - Add dummy_index_am to src/test/modules/. This includes more tests dedicated to relation options, bringing the coverage of this code close to 100%, and the module can be used for other purposes, like a base template for an index AM implementation. Author: Nikolay Sharplov, Michael Paquier Reviewed-by: Álvaro Herrera, Dent John Discussion: https://postgr.es/m/17071942.m9zZutALE6@x200m https://git.postgresql.org/pg/commitdiff/640c19869f8c4b5c34d3982b5e1cd40e62abbb85 - Make more stable regression tests of dummy_index_am for string validations. Several buildfarm members (crake, loach and spurfowl) are complaining about two queries looking up at pg_class.reloptions which trigger the validation routines for string reloptions with default values. This commit limits the routines to be triggered only when building an index with all custom options set in CREATE INDEX, which is sufficient for the coverage. Introduced by 640c198. https://git.postgresql.org/pg/commitdiff/e0afac124ec7026a49909436ebcfc2bd999852a8 - Doc: Fix example related to partition pruning. Append node has been removed in v12 when there would be only one subnode under it. Author: Amit Langote Discussion: https://postgr.es/m/CA+HiwqHhS62w8zUFXF4NBjvMboCXYnD-jWoWp-tfo2aHvP3Gxg@mail.gmail.com Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/f5daf7f3266ff5a92f1bf8d386bd5ac3d7d042d6 - Fix comment in xlogreader.c. This has been introduced by 709d003, that has moved readSegNo, readOff and readPageTLI into a new structure called WALOpenSegment initialized separately. Author: Kyotaro Horiguchi Discussion: https://postgr.es/m/20190926.110809.248342687.horikyota.ntt@gmail.com https://git.postgresql.org/pg/commitdiff/6e22813b2d6083afa2b5af1612a834b3ffae3389 - Fix lockmode initialization for custom relation options. The code was enforcing AccessExclusiveLock for all custom relation options, which is incorrect as the APIs allow a custom lock level to be set. While on it, fix a couple of inconsistencies in the tests and the README of dummy_index_am. Oversights in commit 773df88. Discussion: https://postgr.es/m/20190925234152.GA2115@paquier.xyz https://git.postgresql.org/pg/commitdiff/fbfa5664882c9b61428266e6fb0d48b0147c421a - Add tab completion for EXPLAIN (SETTINGS) in psql. Author: Justin Pryzby Reviewed-by: Tatsuro Yamada Discussion: https://postgr.es/m/20190927022051.GC24334@telsasoft.com Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/4b011cad272e997935eb8d80ab741a40b395fdf5 - Remove code relevant to OpenSSL 0.9.6 in be/fe-secure-openssl.c. HEAD supports OpenSSL 0.9.8 and newer versions, and this code likely got forgotten as its surrounding comments mention an incorrect version number. Author: Michael Paquier Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/20190927032311.GB8485@paquier.xyz https://git.postgresql.org/pg/commitdiff/55282fa20f46c193bd4a89ad5bcd048048a8734d Amit Kapila pushed: - Fix oversight in commit 4429f6a9e3e12bb4af6e3677fbc78cd80f160252. The test name and the following test cases suggest the index created should be hash index, but it forgot to add 'using hash' in the test case. This in itself won't improve code coverage as there were some other tests which were covering the corresponding code. However, it is better if the added tests serve their actual purpose. Reported-by: Paul A Jungwirth Author: Paul A Jungwirth Reviewed-by: Mahendra Singh Backpatch-through: 9.4 Discussion: https://postgr.es/m/CA+renyV=Us-5XfMC25bNp-uWSj39XgHHmGE9Rh2cQKMegSj52g@mail.gmail.com https://git.postgresql.org/pg/commitdiff/bb0e3ce8eb074cef7a88c20bfc34f7e0346312b1 == Pending Patches == David Fetter sent in four more revisions of a patch to make integer output more efficient. Alexander Korotkov sent in another revision of a patch to show access methods information. Benjie Gillam sent in two revisions of a patch to sort policies and triggers by table name in pg_dump. Binguo Bao sent in another revision of a patch to de-TOAST using an iterator. Fabien COELHO sent in three more revisions of a patch to enable pgbench to create partitioned tables. Antonin Houska and Álvaro Herrera traded patches to consolidate the reading of XLOG pages into a single code path. Aleksey Kondratov sent in another revision of a patch to enable CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly. Etsuro Fujita sent in another revision of a patch to improve the partition matching algorithm for partition-wise join. Fujii Masao sent in a patch to fix the formatting of a log message in proto.c. Tom Lane sent in a patch to cope with large encoding conversions. Michaël Paquier sent in two more revisions of a patch to fix a failure with lock mode used for custom relation options, and allow the definition of a lock mode for custom reloptions. Amit Langote sent in a patch to fix an example in partitioning documentation. Michaël Paquier sent in another revision of a patch to add a flag to format_type_extended to enforce NULL-ness, refactor the format procedure and operator APIs to be more modular, and eliminate user-visible cache lookup errors for objaddr SQL functions. Michaël Paquier sent in a patch to add an error to truncate. Anastasia Lubennikova and Peter Geoghegan traded patches to add deduplication to nbtree. Kyotaro HORIGUCHI sent in another revision of a patch to make it possible to change change primary_conninfo online. Dmitry Dolgov sent in another revision of a patch to implement index skip scans. Muhammad Usama sent in a patch to make it possible to specify partitions on table creation. Yuli Khodorkovskiy sent in another revision of a patch to add a MAC for TRUNCATE. Kyotaro HORIGUCHI sent in two more revisions of a patch to remove the page-read callback from XLogReaderState. Ashutosh Sharma sent in a patch to fix an issue in zedstore. Alexander Korotkov sent in a patch to introduce RRRR and RR, revise YYY, YY and Y datetime format patterns. David Steele and Fujii Masao traded patches to error if the recovery target is set in crash recovery. Amit Langote sent in another revision of a patch to use root parent's permissions when reading child table stats. Euler Taveira de Oliveira sent in another revision of a patch to implement row filtering for logical replication. Kyotaro HORIGUCHI sent in a patch to fix a comment in xlogreader.c. Amit Langote sent in another revision of a patch to rearrange the partition routing layer. Ashwin Agrawal sent in another revision of a patch to remove IndexBuildCallback's dependency on HeapTuple. Konstantin Knizhnik sent in another revision of a patch to implement global temporary tables. Takayuki Tsunakawa sent in another revision of a patch to speed up transaction completion after many relations are accessed in a transaction. Konstantin Knizhnik sent in another revision of a patch to implement autoprepare. Aleksey Kondratov sent in another revision of a patch to pg_rewind to add options to use restore_command from either the command line or from cluster configuration. Luis Carril sent in another revision of a patch to make it possible to dump foreign data in pg_dump. Jehan-Guillaume de Rorthais sent in another revision of a patch to add facilities to fetch real timeline from SQL. Juan José Santamaría Flecha sent in another revision of a patch to enable to_date and to_timestamp() to accept localized names. Álvaro Herrera sent in another revision of a patch to implement range_agg. Pavel Stěhule sent in two more revisions of a patch to implement dropdb --force. Youki Shiraishi sent in three revisions of a patch to add comments for a postgres program in bootstrap mode. Michaël Paquier sent in another revision of a patch to refactor connection with password prompt loop for frontends. Konstantin Knizhnik sent in two more revisions of a patch to implement a built-in connection pooler. Masahiko Sawada sent in three revisions of a patch to remove recovered history file. Amit Khandekar sent in another revision of a patch to implement minimal logical decoding on standbys. Paul Guo and Aleksey Kondratov traded patches to Test new standby start with generated config during pg_rewind remote. Soumyadeep Chakraborty and Andres Freund traded patches to reduce code duplication for ExecJust*Var operations, stop generating EEOP_*_FETCHSOME operations for slots know to be virtual, and make some cosmetic changes. Tomáš Vondra and Dilip Kumar traded patches to fix some infelicities between logical_work_mem and logical streaming of large in-progress transactions. Tomáš Vondra sent in another revision of a patch to optimize partial TOAST compression. Kyotaro HORIGUCHI sent in another revision of a patch to implement a shared-memory-based stats collector. Michaël Paquier sent in a patch to fix the SSL tests for channel_binding with OpenSSL <= 1.0.1. Haozhou Wang sent in another revision of a patch to implement hooks intended to enable setting disk quotas. Andres Freund sent in a patch to fix a JIT performance bug/regression and ensure that enough about JIT appears in EXPLAIN. Yuya Watari sent in two revisions of a patch to silence some compiler warnings. Konstantin Knizhnik sent in another revision of a patch to remove unneeded self-joins. Alexey Bashtanov sent in another revision of a patch to log bind parameter values on error. David Steele sent in a patch to ignore recovery/standby signal files in pg_basebackup. Michaël Paquier sent in a patch to clean up code related to OpenSSL <= 0.9.6 in fe/be-secure-openssl.c. James Coleman sent in a patch to consider low startup cost in add_partial_path. Nikita Glukhov sent in another revision of a patch to implement SQL/JSON functions. Nikita Glukhov sent in another revision of a patch to implement JSON_TABLE. Andrey Borodin sent in another revision of a patch to use memcpy in pglz decompression. James Coleman sent in another revision of a patch to implement incremental sort.
pgsql-announce by date: