== PostgreSQL Weekly News - March 8, 2020 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - March 8, 2020 == |
Date | |
Msg-id | 20200308220833.GA26266@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - March 8, 2020 == PgConf Belgium will take place on May 8, 2020 at the UCLL Campus in Haasrode (near Leuven). The CfS is open through March 31, 2020 at https://pgconf.be/#cfs http://pgconf.be Odyssey 1.1, a multi-threaded connection pooler for PostgreSQL, released. https://github.com/yandex/odyssey/releases Bucardo 5.6.0, a replication system with dual-master capability, released. http://bucardo.org/wiki/Bucardo pgAdmin4 4.19, a web- and native GUI control center for PostgreSQL, released. https://www.pgadmin.org/docs/pgadmin4/dev/release_notes_4_19.html == PostgreSQL Product News == == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2020-03/ == PostgreSQL Local == pgDay Israel 2020 will take place on March 19, 2020 in Tel Aviv. http://pgday.org.il/ Nordic PGDay 2020 will be held in Helsinki, Finland at the Hilton Helsinki Strand Hotel on March 24, 2020. pgDay Paris 2020 will be held in Paris, France on March 26, 2020 at Espace Saint-Martin. https://2020.pgday.paris/ PGConfNepal 2020 will be held April 17-18, 2020 at Kathmandu University, Dhulikhel, Nepal. https://pgconf.org.np/ PGDay Ukraine will take place April 25th, 2020 in Lviv at the Bank Hotel. https://pgday.org.ua/ 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/ Swiss PGDay 2020 will take place in Rapperswil (near Zurich) on June 18-19, 2020. The Call for Speakers is open through March 17, 2020. https://www.pgday.ch/2020/ Postgres Ibiza will be held in Ibiza, Spain on June 25-26, 2020. https://pgibz.io/ 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 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/ 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 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 Geoghegan pushed: - Remove dead code from _bt_update_posting(). Discussion: https://postgr.es/m/CAH2-WzmAufHiOku6AGiFD=81VQs5nYJ1L2YkhW1t+BH4CMsgRw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/84ec9b231a865348f5388dcc125c084297709332 - Add assertions to _bt_update_posting(). Copy some assertions from _bt_form_posting() to its sibling function, _bt_update_posting(). Discussion: https://postgr.es/m/CAH2-WzkPR8KMwkL0ap976kmXwBCeukTeHz6fB-U__wvuP1S9Zg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/77b88bd5dc92a46319a3dd4b554f89f634bb9eaa - Silence nbtree.h cpluspluscheck warning. Add a cast to size_t to silence "comparison between signed and unsigned integer expressions" cpluspluscheck warning. Reported-By: Tom Lane Discussion: https://postgr.es/m/7971.1583171266@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/90051cd8278bd089cf59ca6366df64de2982be2a - Remove overzealous _bt_split() assertions. _bt_split() is passed NULL as its insertion scankey for internal page splits. Two recently added Assert() statements failed to consider this, leading to a crash with pg_upgrade'd BREE_VERSION < 4 indexes. Remove the assertions. The assertions in question were added by commit 0d861bbb, which added nbtree deduplication. It would be possible to fix the assertions directly instead, but they weren't adding much anyway. https://git.postgresql.org/pg/commitdiff/1e07f5e0a1cf56f8cbc121dbb86c128a0f711c94 - pageinspect: Fix types used for bt_metap() columns. The data types that contrib/pageinspect's bt_metap() function were declared to return as OUT arguments were wrong in some cases. For example, the oldest_xact column (a TransactionId/xid field) was declared integer/int4 within the pageinspect extension's sql file. This led to errors when an oldest_xact value that exceeded 2^31-1 was encountered. Some of the other columns were defined incorrectly ever since pageinspect was first introduced, though they were far less likely to produce problems in practice. Fix these issues by changing the declaration of bt_metap() to consistently use data types that can reliably represent all possible values. This fixes things on HEAD only. No backpatch, since it doesn't seem like there is a safe way to fix the issue without including a new version of the pageinspect extension (HEAD/Postgres 13 already introduced a new version of the extension). Besides, the oldest_xact issue has been around since the release of Postgres 11, and we haven't heard any complaints about it before now. Also, throw an error when we detect a bt_metap() declaration that must be from an old version of the pageinspect extension by examining the number of attributes from the tuple descriptor for the return tuples. It seems better to throw an error in a reliable and obvious way following a Postgres upgrade, rather than letting bt_metap() fail unpredictably. The problem is fundamentally with the CREATE FUNCTION declared data types themselves, so I see no sensible alternative. Reported-By: Victor Yegorov Bug: #16285 Discussion: https://postgr.es/m/16285-df8fc1000ab3d5fc@postgresql.org https://git.postgresql.org/pg/commitdiff/691e8b2e1889d61df47ae76601fa9db6cbac6f1c Michaël Paquier pushed: - Handle logical decoding in multi-insert for catalog tuples. The code path for multi-insert decoding is not stressed yet for catalogs (a future patch may introduce this capability), so no back-patch is needed. Author: Daniel Gustafsson Discussion: https://postgr.es/m/9690D72F-5C4F-4016-9572-6D16684E1D87@yesql.se https://git.postgresql.org/pg/commitdiff/12c5cad76f9247f39b6e542ef1c6255912c2adda - Fix command-line colorization on Windows with VT100-compatible environments. When setting PG_COLOR to "always" or "auto" in a Windows terminal VT100-compatible, the colorization output was not showing up correctly because it is necessary to update the console's output handling mode. This fix allows to detect automatically if the environment is compatible with VT100. Hence, PG_COLOR=auto is able to detect and handle both compatible and non-compatible environments. The behavior of PG_COLOR=always remains unchanged, as it enforces the use of colorized output even if the environment does not allow it. This fix is based on an initial suggestion from Thomas Munro. Reported-by: Haiying Tang Author: Juan José Santamaría Flecha Reviewed-by: Michail Nikolaev, Michael Paquier, Haiying Tang Discussion: https://postgr.es/m/16108-134692e97146b7bc@postgresql.org Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/3b77dce863d94de2de40b2a302c0f58248655e6c - Preserve pg_index.indisclustered across REINDEX CONCURRENTLY. If the flag value is lost, a CLUSTER query following REINDEX CONCURRENTLY could fail. Non-concurrent REINDEX is already handling this case consistently. Author: Justin Pryzby Discussion: https://postgr.es/m/20200229024202.GH29456@telsasoft.com Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/d79fb88ac738e0854e84a6c9445babfa5b2504b0 - Fix assertion failure with ALTER TABLE ATTACH PARTITION and indexes. Using ALTER TABLE ATTACH PARTITION causes an assertion failure when attempting to work on a partitioned index, because partitioned indexes cannot have partition bounds. The grammar of ALTER TABLE ATTACH PARTITION requires partition bounds, but not ALTER INDEX, so mixing ALTER TABLE with partitioned indexes is confusing. Hence, on HEAD, prevent ALTER TABLE to attach a partition if the relation involved is a partitioned index. On back-branches, as applications may rely on the existing behavior, just remove the culprit assertion. Reported-by: Alexander Lakhin Author: Amit Langote, Michael Paquier Discussion: https://postgr.es/m/16276-5cd1dcc8fb8be7b5@postgresql.org Backpatch-through: 11 https://git.postgresql.org/pg/commitdiff/0b48f1335dddb7141160e392cccac98edfb3fa85 - Fix more issues with dependency handling at swap phase of REINDEX CONCURRENTLY. When canceling a REINDEX CONCURRENTLY operation after swapping is done, a drop of the parent table would leave behind old indexes. This is a consequence of 68ac9cf, which fixed the case of pg_depend bloat when repeating REINDEX CONCURRENTLY on the same relation. In order to take care of the problem without breaking the previous fix, this uses a different strategy, possible even with the exiting set of routines to handle dependency changes. The dependencies of/on the new index are additionally switched to the old one, allowing an old invalid index remaining around because of a cancellation or a failure to use the dependency links of the concurrently-created index. This ensures that dropping any objects the old invalid index depends on also drops the old index automatically. Reported-by: Julien Rouhaud Author: Michael Paquier Reviewed-by: Julien Rouhaud Discussion: https://postgr.es/m/20200227080735.l32fqcauy73lon7o@nol Backpatch-through: 12 https://git.postgresql.org/pg/commitdiff/fbcf0871123b464fef7f957301dcc57377cde9c5 - Avoid -Wconversion warnings when using checksum_impl.h. This does not matter much when compiling Postgres proper as many warnings exist when enabling this compilation flag, but it can be annoying for external modules willing to use both. Author: David Steele Discussion: https://postgr.es/m/91d86c8a-11fc-7b88-43eb-5ca3f6fb8bd3@pgmasters.net https://git.postgresql.org/pg/commitdiff/0065174324a97c0f39ccf0823a81fb674fb49cca - Fix page-level checksum calculation in checksum_impl.h. Issue introduced by me, as of 0065174. Reported-by: David Steele Discussion: https://postgr.es/m/1cf30561-7dad-dc6e-9fc3-5c456948cfeb@pgmasters.net https://git.postgresql.org/pg/commitdiff/addd034ae1795d0a99305b294e4dce44c6b1dfd8 Peter Eisentraut pushed: - Remove long unused code behind a #if 0. Author: Vignesh C <vignesh21@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CALDaNm3sn4yOq-4rogb-CfE0EYw6b3mVzz8+DnS9BNRwPnhngw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/d433b79b89c7d429ab69cb00857a8aca45d0ad47 - Update Microsoft documentation link. Reported-by: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com> Discussion: https://www.postgresql.org/message-id/CAC%2BAXB1EDXiRPmiVfh%2BWX79x5vXJDU17k0GkDjfyPgOWO4Y5og%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/ed0d8837658946de4c965a55bf0ea73fd2682d7f - pg_standby: Don't use HAVE_WORKING_LINK. HAVE_WORKING_LINK is meant to indicate support for hard links, mainly for Windows. Here it is used for soft links on Unix, and the functionality is optional anyway, so we can just make it error out normally if needed. Discussion: https://www.postgresql.org/message-id/flat/72fff73f-dc9c-4ef4-83e8-d2e60c98df48%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/1810ca18bfad9072facc548417630115b078483e - Move pg_upgrade's Windows link() implementation to AC_REPLACE_FUNCS. This way we can make use of it in other components as well, and it fits better with the rest of the build system. Discussion: https://www.postgresql.org/message-id/flat/72fff73f-dc9c-4ef4-83e8-d2e60c98df48%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/0ad6f848eef267489d4aee7306c16f96454b7a64 - Fix typo. https://git.postgresql.org/pg/commitdiff/8d7def5c27c18c85deaf4e55c39a074600f36b48 - doc: Add information about new SQL part SQL/MDA. https://git.postgresql.org/pg/commitdiff/33e27c3785c5ce8a3264d6af2550ec5adcebc517 - doc: Remove unused ids. Some reference pages contained id attributes on refname elements. These were apparently copied around from ancient times, but they don't serve a purpose. FOP issues minor warnings about them. So it's easiest to just remove them. https://git.postgresql.org/pg/commitdiff/7e39b968f118c6444bd3a3bd59c3e9d73e652e0c Tom Lane pushed: - Blacklist port/win32_msvc/utime.h in cpluspluscheck and headerscheck. Since commit 481c8e923 it tends to produce "error: sys/utime.h: No such file or directory" on non-Windows platforms. https://git.postgresql.org/pg/commitdiff/7b425a5283cb2c8a452c2e79d6218e41373fd641 - Fix possibly-uninitialized variable. Thinko in 2f9661311. Per buildfarm, as well as warning seen locally. https://git.postgresql.org/pg/commitdiff/91f3bd732cea7e25e53eaceae88232d0ab984434 - Allow to_date/to_timestamp to recognize non-English month/day names. to_char() has long allowed the TM (translation mode) prefix to specify output of translated month or day names; but that prefix had no effect in input format strings. Now it does. to_date() and to_timestamp() will now recognize the same month or day names that to_char() would output for the same format code. Matching is case-insensitive (per the active collation's notion of what that means), just as it has always been for English month/day names without the TM prefix. (As per the discussion thread, there are lots of cases that this feature will not handle, such as alternate day names. But being able to accept what to_char() will output seems useful enough.) In passing, fix some shaky English and violations of message style guidelines in jsonpath errors for the .datetime() method, which depends on this code. Juan José Santamaría Flecha, reviewed and modified by me, with other commentary from Alvaro Herrera, Tomas Vondra, Arthur Zakirov, Peter Eisentraut, Mark Dilger. Discussion: https://postgr.es/m/CAC+AXB3u1jTngJcoC1nAHBf=M3v-jrEfo86UFtCqCjzbWS9QhA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/d67755049388526cd8673aa826dc794b97345eb3 - Introduce macros for typalign and typstorage constants. Our usual practice for "poor man's enum" catalog columns is to define macros for the possible values and use those, not literal constants, in C code. But for some reason lost in the mists of time, this was never done for typalign/attalign or typstorage/attstorage. It's never too late to make it better though, so let's do that. The reason I got interested in this right now is the need to duplicate some uses of the TYPSTORAGE constants in an upcoming ALTER TYPE patch. But in general, this sort of change aids greppability and readability, so it's a good idea even without any specific motivation. I may have missed a few places that could be converted, and it's even more likely that pending patches will re-introduce some hard-coded references. But that's not fatal --- there's no expectation that we'd actually change any of these values. We can clean up stragglers over time. Discussion: https://postgr.es/m/16457.1583189537@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/3ed2005ff595d349276e5b2edeca1a8100b08c87 - Remove ancient support for upgrading pre-7.3 foreign key constraints. Before 7.3, foreign key constraints had no explicit catalog representation, so that what pg_dump produced for them was (usually) a set of three CREATE CONSTRAINT TRIGGER commands. Commit a2899ebdc and some follow-on fixes added an ugly hack in CreateTrigger() to recognize that pattern and reconstruct the foreign key definition. However, we've never had any test coverage for that code, so that it's legitimate to wonder if it still works; and having to maintain it in the face of upcoming trigger-related patches seems rather pointless. Let's decree that its time has passed, and drop it. This is part of a group of patches removing various server-side kluges for transparently upgrading pre-8.0 dump files. Since we've had few complaints about dropping pg_dump's support for dumping from pre-8.0 servers (commit 64f3524e2), it seems okay to now remove these kluges. Daniel Gustafsson Discussion: https://postgr.es/m/805874E2-999C-4CDA-856F-1AFBD9DFE933@yesql.se https://git.postgresql.org/pg/commitdiff/e58a5997528794687e40ec64b3c4d95a4e6cd0b0 - Remove ancient hacks to ignore certain opclass names in CREATE INDEX. Twenty years ago, we removed certain operator classes in favor of letting indexes over their data types be built with some other binary-compatible, more standard opclass. As a hack to allow existing index definitions to be dumped and reloaded, we made CREATE INDEX ignore the removed opclass names, so that such indexes would fall back to the new default opclass for their data types. This was never intended to be a long-lived thing; it carries the obvious risk of breaking some future developer's attempt to re-use those old opclass names. Since all of the cases in question are for opclasses that were removed before PG 8.0, it seems okay to get rid of these hacks now. This is part of a group of patches removing various server-side kluges for transparently upgrading pre-8.0 dump files. Since we've had few complaints about dropping pg_dump's support for dumping from pre-8.0 servers (commit 64f3524e2), it seems okay to now remove these kluges. Discussion: https://postgr.es/m/3685.1583422389@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/84eca14bc4bdf71911cceb3a6286bc47db3a5a06 - Remove the "opaque" pseudo-type and associated compatibility hacks. A long time ago, it was necessary to declare datatype I/O functions, triggers, and language handler support functions in a very type-unsafe way involving a single pseudo-type "opaque". We got rid of those conventions in 7.3, but there was still support in various places to automatically convert such functions to the modern declaration style, to be able to transparently re-load dumps from pre-7.3 servers. It seems unnecessary to continue to support that anymore, so take out the hacks; whereupon the "opaque" pseudo-type itself is no longer needed and can be dropped. This is part of a group of patches removing various server-side kluges for transparently upgrading pre-8.0 dump files. Since we've had few complaints about dropping pg_dump's support for dumping from pre-8.0 servers (commit 64f3524e2), it seems okay to now remove these kluges. Discussion: https://postgr.es/m/4110.1583255415@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/bb03010b9f0766e10399174fe850b2506907c4e4 - Allow ALTER TYPE to change some properties of a base type. Specifically, this patch allows ALTER TYPE to: * Change the default TOAST strategy for a toastable base type; * Promote a non-toastable type to toastable; * Add/remove binary I/O functions for a type; * Add/remove typmod I/O functions for a type; * Add/remove a custom ANALYZE statistics functions for a type. The first of these can be done by the type's owner; all the others require superuser privilege since misuse could cause problems. The main motivation for this patch is to allow extensions to upgrade the feature sets of their data types, so the set of alterable properties is biased towards that use-case. However it's also true that changing some other properties would be a lot harder, as they get baked into physical storage and/or stored expressions that depend on the type. Along the way, refactor GenerateTypeDependencies() to make it easier to call, refactor DefineType's volatility checks so they can be shared by AlterType, and teach typcache.c that it might have to reload data from the type's pg_type row, a scenario it never handled before. Also rearrange alter_type.sgml a bit for clarity (put the composite-type operations together). Tomas Vondra and Tom Lane Discussion: https://postgr.es/m/20200228004440.b23ein4qvmxnlpht@development https://git.postgresql.org/pg/commitdiff/fe30e7ebfa3846416f1adeb7cf611006513a4ee0 - Allow Unicode escapes in any server encoding, not only UTF-8. SQL includes provisions for numeric Unicode escapes in string literals and identifiers. Previously we only accepted those if they represented ASCII characters or the server encoding was UTF-8, making the conversion to internal form trivial. This patch adjusts things so that we'll call the appropriate encoding conversion function in less-trivial cases, allowing the escape sequence to be accepted so long as it corresponds to some character available in the server encoding. This also applies to processing of Unicode escapes in JSONB. However, the old restriction still applies to client-side JSON processing, since that hasn't got access to the server's encoding conversion infrastructure. This patch includes some lexer infrastructure that simplifies throwing errors with error cursors pointing into the middle of a string (or other complex token). For the moment I only used it for errors relating to Unicode escapes, but we might later expand the usage to some other cases. Patch by me, reviewed by John Naylor. Discussion: https://postgr.es/m/2393.1578958316@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/a6525588b7c21fd8539e9a43ec9c5c245ed1cc91 - Create contrib/bool_plperl to provide a bool transform for PL/Perl[U]. plperl's default handling of bool arguments or results is not terribly satisfactory, since Perl doesn't consider the string 'f' to be false. Ideally we'd just fix that, but the backwards-compatibility hazard would be substantial. Instead, build a TRANSFORM module that can be optionally applied to provide saner semantics. Perhaps usefully, this is also about the minimum possible skeletal example of a plperl transform module; so it might be a better starting point for user-written transform modules than hstore_plperl or jsonb_plperl. Ivan Panchenko Discussion: https://postgr.es/m/1583013317.881182688@f390.i.mail.ru https://git.postgresql.org/pg/commitdiff/36058a3c55d2c42a513a53da8140b07cf0893afb - Simplify/speed up assertion cross-check in ginCompressPostingList(). I noticed while testing some other stuff that the CHECK_ENCODING_ROUNDTRIP logic in ginCompressPostingList could account for over 50% of the runtime of an INSERT with a GIN index. While that's not relevant to production performance, it's still kind of annoying in a debug build. Replacing the loop around short memcmp's with one long memcmp works just as well and is significantly faster, at least on my machine. https://git.postgresql.org/pg/commitdiff/ea7dace2aa21e79a7a8eb23c493bcd2057d9bd7e - Tab completion: offer parens as appropriate in CREATE/ALTER TEXT SEARCH. Jeff Janes, Georgios Kokolatos Discussion: https://postgr.es/m/CAMkU=1wU=vgxnvwy2HswLUVvoawrkrjZYeKXMr3w3p=_NNbGhQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/b9c3de62cbc9c6993ceac0de99985cf051e91c88 Álvaro Herrera pushed: - Represent command completion tags as structs. The backend was using strings to represent command tags and doing string comparisons in multiple places, but that's slow and unhelpful. Create a new command list with a supporting structure to use instead; this is stored in a tag-list-file that can be tailored to specific purposes with a caller-definable C macro, similar to what we do for WAL resource managers. The first first such uses are a new CommandTag enum and a CommandTagBehavior struct. Replace numerous occurrences of char *completionTag with a QueryCompletion struct so that the code no longer stores information about completed queries in a cstring. Only at the last moment, in EndCommand(), does this get converted to a string. EventTriggerCacheItem no longer holds an array of palloc’d tag strings in sorted order, but rather just a Bitmapset over the CommandTags. Author: Mark Dilger, with unsolicited help from Álvaro Herrera Reviewed-by: John Naylor, Tom Lane Discussion: https://postgr.es/m/981A9DB4-3F0C-4DA5-88AD-CB9CFF4D6CAD@enterprisedb.com https://git.postgresql.org/pg/commitdiff/2f9661311b83dc481fc19f6e3bda015392010a40 - Remove RangeIOData->typiofunc. We used to carry the I/O function OID in RangeIOData, but it's not used for anything. Since the struct is not exposed to the world anyway, we can simplify it a bit. Also, rename the FmgrInfo member to match the accompanying 'typioparam' and put them in a more sensible order. Reviewed by Tom Lane and Paul Jungwirth. Discussion: https://postgr.es/m/20200304215711.GA8732@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/a77315fdf2a197a925e670be2d8b376c4ac02efc Fujii Masao pushed: - Report progress of streaming base backup. This commit adds pg_stat_progress_basebackup view that reports the progress while an application like pg_basebackup is taking a base backup. This uses the progress reporting infrastructure added by c16dc1aca5e0, adding support for streaming base backup. Bump catversion. Author: Fujii Masao Reviewed-by: Kyotaro Horiguchi, Amit Langote, Sergei Kornilov Discussion: https://postgr.es/m/9ed8b801-8215-1f3d-62d7-65bff53f6e94@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/e65497df8f85ab9b9084c928ff69f384ea729b24 - Fix the name of the first WAL segment file, in docs. Previously the documentation explains that WAL segment files start at 000000010000000000000000. But the first WAL segment file that initdb creates is 000000010000000000000001 not 000000010000000000000000. This change was caused by old commit 8c843fff2d, but the documentation had not been updated a long time. Back-patch to all supported branches. Author: Fujii Masao Reviewed-by: David Zhang Discussion: https://postgr.es/m/CAHGQGwHOmGe2OqGOmp8cOfNVDivq7dbV74L5nUGr+3eVd2CU2Q@mail.gmail.com https://git.postgresql.org/pg/commitdiff/54a4f52a9258198243c53fceaf8da70546ebd652 - Fix typo in monitoring.sgml. Author: Noriyoshi Shinoda https://git.postgresql.org/pg/commitdiff/61b73940452b1f6871a1d73f35216fb052a7a5ab - Fix issues around .pgpass file. This commit fixes the following two issues around .pgpass file. (1) If the length of a line in .pgpass file was larger than 319B, libpq silently treated each 319B in the line as a separate setting line. (2) The document explains that a line beginning with # is treated as a comment in .pgpass. But there was no code doing such special handling. Whether a line begins with # or not, libpq just checked that the first token in the line match with the host. For (1), this commit makes libpq warn if the length of a line is larger than 319B, and throw away the remaining part beginning from 320B position. For (2), this commit changes libpq so that it treats any lines beginning with # as comments. Author: Fujii Masao Reviewed-by: Hamid Akhtar Discussion: https://postgr.es/m/c0f0c01c-fa74-9749-2084-b73882fd5465@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/2eb3bc58814fa1ab86308a3658ddb76081080db3 Jeff Davis pushed: - Extend ExecBuildAggTrans() to support a NULL pointer check. Optionally push a step to check for a NULL pointer to the pergroup state. This will be important for disk-based hash aggregation in combination with grouping sets. When memory limits are reached, a given tuple may find its per-group state for some grouping sets but not others. For the former, it advances the per-group state as normal; for the latter, it skips evaluation and the calling code will have to spill the tuple and reprocess it in a later batch. Add the NULL check as a separate expression step because in some common cases it's not needed. Discussion: https://postgr.es/m/20200221202212.ssb2qpmdgrnx52sj%40alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/c954d49046504bde0a80b5fec53f4321dd88f1ea Alexander Korotkov pushed: - Show opclass and opfamily related information in psql. This commit provides psql commands for listing operator classes, operator families and its contents in psql. New commands will be useful for exploring capabilities of both builtin opclasses/opfamilies as well as opclasses/opfamilies defined in extensions. Discussion: https://postgr.es/m/1529675324.14193.5.camel%40postgrespro.ru Author: Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov Reviewed-by: Michael Paquier, Alvaro Herrera, Arthur Zakirov Reviewed-by: Kyotaro Horiguchi, Andres Freund https://git.postgresql.org/pg/commitdiff/b0b5e20cd8d1a58a8782d5dc806a5232db116e2f == Pending Patches == Krasiyan Andreev sent in two more revisions of a patch to implement IGNORE NULLS in windowing functions. Pavel Stěhule sent in a patch to add \gf to psql for formatting the output of queries. Amit Langote sent in another revision of a patch to fix a partition routing layering violation in nodeModifyTable.c. Thomas Munro sent in another revision of a patch to implement WAL prefetching. Peter Eisentraut sent in a patch to silence compiler warnings with Python 3.9. Cary Huang sent in a patch to fix a documentation bug around TLS certificates. Mike Palmiotto sent in two more revisions of a patch to introduce a subprocess infrastructure and use same to refactor some crufty bits of the code. Jesse Zhang sent in another revision of a patch to use LZCOUNT when possible. Alexander Korotkov sent in another revision of a patch to implement kNN for B-Tree indexes. Daniel Gustafsson sent in another revision of a patch to use heap_multi_insert() for pg_attribute/depend insertions. Hamid Akhtar sent in another revision of a patch to add some GUCs and infrastructure for handling orphan prepared transactions. Nikita Glukhov sent in two more revisions of a patch to implement more SQL/JSON functions. Andy Fan sent in two more revisions of a patch to Erase the distinct path if the result is unique by catalog. Fujii Masao and Noriyoshi Shinoda traded patches to implement a pg_stat_progress_basebackup view. Chris Bandy sent in five revisions of a patch to add tests for integrity violation error fields and add object names to partition integrity violations. Ashutosh Bapat sent in another revision of a patch to implement a better partition matching algorithm for partition-wise join. Soumyadeep Chakraborty sent in a patch to jit which eliminates a const pointer to fmgrinfo. Andres Freund sent in a patch to add CSNs. Tels sent in another revision of a patch to improve the performance of sqrt on NUMERICs. Justin Pryzby sent in two more revisions of a patch to show the block being processed in vacuum errcontext. Tomáš Vondra sent in a patch to assign subtransaction xids to the top level xid if the record has that information. Masahiko Sawada sent in two more revisions of a patch to implement a key management system. Zeng Wenjing sent in three more revisions of a patch to implement global temporary tables. Laurenz Albe sent in four revisions of a patch to add autovacuum_vacuum_insert_threshold and autovacuum_vacuum_insert_scale_factor GUCs/reloptions. Michaël Paquier sent in three revisions of a patch to fix some infelicities in reindex dependencies. Peter Geoghegan sent in another revision of a patch to avoid a pipeline stall in _bt_compare() and inline it. Julien Rouhaud sent in another revision of a patch to add queryId to pg_stat_activity. Dilip Kumar sent in another revision of a patch to add a fastpath for sending changes to output plugin in logical decoding. Kyotaro HORIGUCHI sent in another revision of a patch to fix the WAL-skipping feature. Julien Rouhaud sent in another revision of a patch to implement collation versioning. Peter Eisentraut sent in another revision of a patch to remove HAVE_WORKING_LINK. Dmitry Dolgov sent in another revision of a patch to implement generic type subscripting. Fujii Masao sent in another revision of a patch to fix an issue in .pgpass where lines were silently being split if they were too long. Michaël Paquier sent in another revision of a patch to pg_rewind which adds options to use the restore_command from recovery.conf or the command line. Arseny Sher sent in two more revisions of a patch to fix some logical copy_replication_slot issues. Michaël Paquier sent in two more revisions of a patch to fix the documentation for PG_COLOR. Nikolay Shaplov sent in another revision of a patch to split StdRdOptions into HeapOptions and ToastOptions. Jeff Davis sent in another revision of a patch to add LogicalTapeSetExtend() to logtape.c. Mahendra Singh sent in two more revisions of a patch to add a Conflict EXTENTION lock in group member, and add an Assert to verify that we never try to take any heavyweight lock after acquiring relation Extension lock. Masahiko Sawada sent in another revision of a patch to identify user-created objects. Masahiko Sawada sent in two more revisions of a patch to fix double updating ps title when recovery conflict resolution with lock, and update the process title during conflict resolution with buffer-pin and database. Álvaro Herrera sent in another revision of a patch to implement multiranges. Tomáš Vondra sent in another revision of a patch to add support for IN and @> in functional-dependency statistics use. Mark Dilger sent in a patch to implement the cmdstats subsystem. Kyotaro HORIGUCHI sent in another revision of a patch to make end-of-recovery error less scary. Peter Eisentraut sent in another revision of a patch to preserve the replica identity index across ALTER TABLE rewrite operations. Daniel Gustafsson sent in a patch to add a test for add a test for large object updates. Ibrar Ahmed sent in another revision of a patch to ensure that COPY FREEZE actually freezes right. David Zhang sent in a patch to add a couple of tests for GSSAPI auth. Robert Haas sent in another revision of a patch to implement backup manifests. Kyotaro HORIGUCHI and Fujii Masao traded patches to add a TAP test for a crash bug, tidy up XLogSource usage, and fix a crash bug in targeted promotion. Ivan Kartyshov sent in two more revisions of a patch to make async replicas wait for lsn to be replayed. James Coleman sent in two more revisions of a patch to implement incremental sort. Julien Rouhaud sent in two more revisions of a patch to prevent reindexing invalid indexes on TOAST tables. Justin Pryzby sent in three more revisions of a patch to make pg_ls_tmpdir show directories and shared filesets. Asif Rehman and Pavel Stěhule traded patches to implement schema variables. Ibrar Ahmed sent in another revision of a patch to add tab completion to psql for ALTER .. DEPENDS ON EXTENSION. Fujii Masao sent in a patch to prefer promote to pause. Álvaro Herrera sent in a patch to have range_deserialize have an out param for flags (replacing "empty"). Callers can examine "IsEmpty" from that using a macro accessor. Justin Pryzby sent in a patch to make explain show tuplehash bucket and memory stats. John Dent sent in another revision of a patch to implement UNNEST(REFCURSOR). Julien Rouhaud sent in a patch to add an optional timeout value to isolationtester steps, and add regression tests for failed REINDEX TABLE CONCURRENTLY. Tomáš Vondra sent in two more revisions of a patch to support using extended stats for parts of OR clauses, support clauses of the form Var op Var, and support extended statistics on expressions. Nikita Glukhov sent in another revision of a patch to improve the ltree syntax. Fabien COELHO sent in another revision of a patch to make it possible to connect asynchronously in pgbench. Fabien COELHO sent in another revision of a patch to add barriers to pgbench. Peter Eisentraut sent in another revision of a patch to refactor ps_status.c API, unify several ways to tracking backend type, add backend type to csvlog and optionally log_line_prefix, and replace am_syslogger global variable with MyBackendType. Peter Eisentraut sent in a patch to remove utils/acl.h from catalog/objectaddress.h. Tom Lane sent in another revision of a patch to fix a bug in pg_restore with EventTrigger in parallel mode. James Coleman sent in another revision of a patch to improve pg_rewind explanation and warnings.
pgsql-announce by date: