== PostgreSQL Weekly News - May 26, 2019 ==
От | David Fetter |
---|---|
Тема | == PostgreSQL Weekly News - May 26, 2019 == |
Дата | |
Msg-id | 20190526165347.GA5642@fetter.org обсуждение исходный текст |
Список | pgsql-announce |
== PostgreSQL Weekly News - May 26, 2019 == PostgreSQL 12 Beta 1 released. Test thorougly! https://www.postgresql.org/about/news/1943/ == PostgreSQL Product News == barman 2.8, a backup and recovery manager for PostgreSQL, released. https://www.pgbarman.org/barman-2-8-released/ dbForge Studio for PostgreSQL released. https://blog.devart.com/whats-new-dbforge-studio-pgsql-21.html pg_probackup 2.1.2, a utility to manage backup and recovery of PostgreSQL database clusters, released. https://github.com/postgrespro/pg_probackup == PostgreSQL Jobs for May == http://archives.postgresql.org/pgsql-jobs/2019-05/ == PostgreSQL Local == PGCon 2019 will take place in Ottawa on May 28-31, 2019. Registration is open. https://www.pgcon.org/2019 pgibz will be held in Ibiza, Spain on June 19-23, 2019. The CfP is open. https://pgibz.io/ Swiss PGDay 2019 will take place in Rapperswil (near Zurich) on June 28, 2019. Registration is open. http://www.pgday.ch/2019/ PostgresLondon 2019 will be July 2-3, 2019 with an optional training day on July 1. http://postgreslondon.org PGConf.Brazil 2019 will take place August 1-3, 2019 in São Paulo. http://pgconf.com.br The first Austrian pgDay, will take place September 6, 2019 at the Hilton Garden Inn in Wiener Neustadt. https://pgday.at/en/ PostgresConf South Africa 2019 will take place in Johannesburg on October 8-9, 2019 The Call for Papers is open through June 30, 2019. https://postgresconf.org/conferences/SouthAfrica2019 == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ PostgreSQL Weekly News is brought to you this week by David Fetter Submit news and announcements by Sunday at 3:00pm PST8PDT to david@fetter.org. == Applied Patches == Tom Lane pushed: - Improve logrotate test so that it meaningfully exercises syslogger. Discussion of bug #15804 reveals that this test didn't really prove that the syslogger child process ever launched successfully, much less did anything. It was only checking that the expected log file gets created, and that's done in the postmaster. Moreover, the test assumed it could rename the log file, which is likely to fail on Windows (cf. commit d611175e5). Instead, use the default log file name pattern, which should result in a new file name being chosen after 1 second, and verify that rotation has occurred by checking for a new file name. Also add code to test that messages actually do propagate through the syslogger. In theory this version of the test should work on Windows, so revert d611175e5. Discussion: https://postgr.es/m/15804-3721117bf40fb654@postgresql.org https://git.postgresql.org/pg/commitdiff/9d5c22d28f8c161aa729d841aeec936c646044d4 - Stamp 12beta1. https://git.postgresql.org/pg/commitdiff/a240570b1e3802d1e82da08a9d72abeade370249 - Doc: improve description of regexp character classes. Define the meanings of the POSIX-spec character classes in line, rather than referring to the ctype(3) man page. That man page doesn't even exist on many modern systems, and if it does exist it probably says the wrong things about non-ASCII characters. Also document our non-POSIX-spec "ascii" character class. Also, point out here that this behavior is controlled by collation or LC_CTYPE, since the existing text explaining that is pretty far away. Per gripe from Geert Lobbestael. Given the lack of prior complaints, I'm not excited about back-patching this. Discussion: https://postgr.es/m/155837022049.1359.2948065118562813468@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/cf92226e9f7f985a678287167b954a831a3b660c - Insert temporary debugging output in regression tests. We're seeing occasional instability in the plans generated for parallel queries on the "a_star" table hierarchy. This suggests that something is changing the planner's stats for those tables, but that should not be happening within a regression test run. To try to gather some information about what's happening, insert additional queries to check the basic page/tuple counts for these tables, as well as whether any vacuums or analyzes have happened on them. (We expect that only the database-wide VACUUM in sanity_check.sql will have touched them.) I added the probes not only in select_parallel.sql itself, but also in stats.sql, bearing in mind that the stats collector's lag may prevent the initial query from reporting current truth. If any extra vacuum/analyze has happened, the recheck in stats.sql definitely ought to see it. This commit can be reverted once we figure out what's going on. Per suggestion from David Rowley, though I changed the queries around. Discussion: https://postgr.es/m/CA+hUKG+0CxrKRWRMf5ymN3gm+BECHna2B-q1w8onKBep4HasUw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/f03a9ca4366d064d89b7cf7ed75d4e43f2ed0667 - Make pg_upgrade's test.sh less chatty. The use of "set -x" to echo a subset of the test's commands might've been a good idea during development of this test, but it's been stable for long enough now that the extra output isn't very useful. Also our project expectations have been trending towards less output in non-error cases; the fact that "set -x" produces output on stderr is particularly annoying from that standpoint. So get rid of it. Also, pass "-A trust" to initdb explicitly so that it won't issue a warning about "trust" being an insecure default. This matches what the TAP tests have done for a long time, and again gets rid of some noise on stderr. Discussion: https://postgr.es/m/21766.1558397960@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/eb9812f272db8e93416831e5254569b76edf8264 - Un-break pg_upgrade regression test. Commit 5af2e976d removed a bit too much from the test.sh invocation. Per buildfarm. https://git.postgresql.org/pg/commitdiff/5eb4a51cb15166392ca3ede6ec58f8f1f820ef53 - In transam.h, don't expose static inline functions to frontend code. That leads to unsatisfied external references if the C compiler fails to elide unused static functions. Apparently, we have no buildfarm members building HEAD that have that issue ... but such compilers still exist in the wild. Need to do something about that. In passing, fix Berkeley-era typo in comment. Discussion: https://postgr.es/m/27054.1558533367@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/4fbf809e13c3ba09c4f03d148cb58767e56f67f1 - Add .gitignore entries for new ecpg test case. Oversight in commit a1dc6ab465986a62b308dd1bb8da316b5ed9685a. https://git.postgresql.org/pg/commitdiff/4a657ab260499381c645673ca1c3255adc0b2ace - Fix O(N^2) performance issue in pg_publication_tables view. The original coding of this view relied on a correlated IN sub-query. Our planner is not very bright about correlated sub-queries, and even if it were, there's no way for it to know that the output of pg_get_publication_tables() is duplicate-free, making the de-duplicating semantics of IN unnecessary. Hence, rewrite as a LATERAL sub-query. This provides circa 100X speedup for me with a few hundred published tables (the whole regression database), and things would degrade as roughly O(published_relations * all_relations) beyond that. Because the rules.out expected output changes, force a catversion bump. Ordinarily we might not want to do that post-beta1; but we already know we'll be doing a catversion bump before beta2 to fix pg_statistic_ext issues, so it's pretty much free to fix it now instead of waiting for v13. Per report and fix suggestion from PegoraroF10. Discussion: https://postgr.es/m/1551385426763-0.post@n3.nabble.com https://git.postgresql.org/pg/commitdiff/166f69f769c83ef8759d905bf7f1a9aa1d97a340 - Initial pgindent run for v12. This is still using the 2.0 version of pg_bsd_indent. I thought it would be good to commit this separately, so as to document the differences between 2.0 and 2.1 behavior. Discussion: https://postgr.es/m/16296.1558103386@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/be76af171cdb3e7465c4ef234af403f97ad79b7b - Phase 2 pgindent run for v12. Switch to 2.1 version of pg_bsd_indent. This formats multiline function declarations "correctly", that is with additional lines of parameter declarations indented to match where the first line's left parenthesis is. Discussion: https://postgr.es/m/CAEepm=0P3FeTXRcU5B2W3jv3PgRVZ-kGUXLGfd42FFhUROO3ug@mail.gmail.com https://git.postgresql.org/pg/commitdiff/8255c7a5eeba8f1a38b7a431c04909bde4f5e67d - Initial pgperltidy run for v12. Make all the perl code look nice, too (for some value of "nice"). https://git.postgresql.org/pg/commitdiff/db6e2b4c52ade524f3db419d75084728e96e1f9c - Doc: fix typo in pgbench random_zipfian() documentation. Per bug #15819 from Koizumi Satoru. Discussion: https://postgr.es/m/15819-e6191bef1f7334c0@postgresql.org https://git.postgresql.org/pg/commitdiff/591fb289c3eef010ee1bb271a54fab7da385c4cd - Fix thinko in new ECPG "PREPARE AS" code. ecpg_register_prepared_stmt() is pretty obviously checking the wrong variable while trying to detect malloc failure. Error in commit a1dc6ab46, spotted by Coverity. https://git.postgresql.org/pg/commitdiff/331695a4d9ca40864240aca721dc588a206ff395 - Fix more thinkos in new ECPG "PREPARE AS" code. ecpg_build_params() failed to check for ecpg_alloc failure in one newly-added code path, and leaked a temporary string in another path. Errors in commit a1dc6ab46, spotted by Coverity. https://git.postgresql.org/pg/commitdiff/39fe881d3cf315d8d2ea9ee4ea1e3e39a82d5cc7 Noah Misch pushed: - In the pg_upgrade test suite, don't write to src/test/regress. When this suite runs installcheck, redirect file creations from src/test/regress to src/bin/pg_upgrade/tmp_check/regress. This closes a race condition in "make -j check-world". If the pg_upgrade suite wrote to a given src/test/regress/results file in parallel with the regular src/test/regress invocation writing it, a test failed spuriously. Even without parallelism, in "make -k check-world", the suite finishing second overwrote the other's regression.diffs. This revealed test "largeobject" assuming @abs_builddir@ is getcwd(), so fix that, too. Buildfarm client REL_10, released forty-five days ago, supports saving regression.diffs from its new location. When an older client reports a pg_upgradeCheck failure, it will no longer include regression.diffs. Back-patch to 9.5, where pg_upgrade moved to src/bin. Reviewed by Andrew Dunstan. Discussion: https://postgr.es/m/20181224034411.GA3224776@rfd.leadboat.com https://git.postgresql.org/pg/commitdiff/bd1592e8570282b1650af6b8eede0016496daecd - Revert "In the pg_upgrade test suite, don't write to src/test/regress.". This reverts commit bd1592e8570282b1650af6b8eede0016496daecd. It had multiple defects. Discussion: https://postgr.es/m/12717.1558304356@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/ae35e1c9d74afc3b1e7572ad60781946fdf71e95 Andres Freund pushed: - Don't to predicate lock for analyze scans, refactor scan option passing. Before this commit, when ANALYZE was run on a table and serializable was used (either by virtue of an explicit BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE, or default_transaction_isolation being set to serializable) a null pointer dereference lead to a crash. The analyze scan doesn't need a snapshot (nor predicate locking), but before this commit a scan only contained information about being a bitmap or sample scan. Refactor the option passing to the scan_begin callback to use a bitmask instead. Alternatively we could have added a new boolean parameter, but that seems harder to read. Even before this issue various people (Heikki, Tom, Robert) suggested doing so. These changes don't change the scan APIs outside of tableam. The flags argument could be exposed, it's not necessary to fix this problem. Also the wrapper table_beginscan* functions encapsulate most of that complexity. After these changes fixing the bug is trivial, just don't acquire predicate lock for analyze style scans. That was already done for bitmap heap scans. Add an assert that a snapshot is passed when acquiring the predicate lock, so this kind of bug doesn't require running with serializable. Also add a comment about sample scans currently requiring predicate locking the entire relation, that previously wasn't remarked upon. Reported-By: Joe Wildish Author: Andres Freund Discussion: https://postgr.es/m/4EA80A20-E9BF-49F1-9F01-5B66CAB21453@elusive.cx https://postgr.es/m/20190411164947.nkii4gaeilt4bui7@alap3.anarazel.de https://postgr.es/m/20190518203102.g7peu2fianukjuxm@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/c3b23ae457ddc8b7bfacb3c0569278615a2df2cd - Fix and improve SnapshotType comments. The comment for SNAPSHOT_SELF was unfortunately explaining SNAPSHOT_DIRTY, as reported by Sergei. Also expand a few comments, and include a few more comments from heapam_visibility.c, so they're in an AM independent place. Reported-By: Sergei Kornilov Author: Andres Freund Discussion: https://postgr.es/m/9152241558192351@sas1-d856b3d759c7.qloud-c.yandex.net https://git.postgresql.org/pg/commitdiff/78d6a9cbd3438969ac87b9f1aaf0f07226636ed7 - Minimally fix partial aggregation for aggregates that don't have one argument. For partial aggregation combine steps, AggStatePerTrans->numTransInputs was set to the transition function's number of inputs, rather than the combine function's number of inputs (always 1). That lead to partial aggregates with strict combine functions to wrongly check for NOT NULL input as required by strictness. When the aggregate wasn't exactly passed one argument, the strictness check was either omitted (in the 0 args case) or too many arguments were checked. In the latter case we'd read beyond the end of FunctionCallInfoData->args (only in master). AggStatePerTrans->numTransInputs actually has been wrong since since 9.6, where partial aggregates were added. But it turns out to not be an active problem in 9.6 and 10, because numTransInputs wasn't used at all for combine functions: Before c253b722f6 there simply was no NULL check for the input to strict trans functions, and after that the check was simply hardcoded for the right offset in fcinfo, as it's done by code specific to combine functions. In bf6c614a2f2 (11) the strictness check was generalized, with common code doing the strictness checks for both plain and combine transition functions, based on numTransInputs. For combine functions this lead to not emitting an expression step to check for strict input in the 0 arguments case, and in the > 1 arguments case, we'd check too many arguments.Due to the fact that the relevant fcinfo->isnull[2..] was always zero-initialized (more or less by accident, by being part of the AggStatePerTrans struct, which is palloc0'ed), there was no observable damage in the latter case before a9c35cf85ca1f, we just checked too many array elements. Due to the changes in a9c35cf85ca1f, > 1 argument bug became visible, because these days fcinfo is a) dynamically allocated without being zeroed b) exactly the length required for the number of specified arguments (hardcoded to 2 in this case). This commit only contains a fairly minimal fix, setting numTransInputs to a hardcoded 1 when building a pertrans for a combine function. It seems likely that we'll want to clean this up further (e.g. the arguments build_pertrans_for_aggref() aren't particularly meaningful for combine functions). But the wrap date for 12 beta1 is coming up fast, so it seems good to have a minimal fix in place. Backpatch to 11. While AggStatePerTrans->numTransInputs was set wrongly before that, the value was not used for combine functions. Reported-By: Rajkumar Raghuwanshi Diagnosed-By: Kyotaro Horiguchi, Jeevan Chalke, Andres Freund, David Rowley Author: David Rowley, Kyotaro Horiguchi, Andres Freund Discussion: https://postgr.es/m/CAKcux6=uZEyWyLw0N7HtR9OBc-sWEFeByEZC7t-KDf15FKxVew@mail.gmail.com https://git.postgresql.org/pg/commitdiff/2657283256f1cab53d09d2c7db1ce9b7065193a0 - Remove outdated comment in copy.c. https://git.postgresql.org/pg/commitdiff/fb504c5e4b5ce71e703006375ee2f5e4b57d89c9 - Fix regression tests broken in fc7c281f87467. This shouldn't have been committed without even running the tests (nor were the tests added that were suggested). I'm fixing up the results to get the buildfarm back to green, it's quite possible we'll want to revert this later. https://git.postgresql.org/pg/commitdiff/47a14c99e4715dde7f570d050e1ddb6d21278bf8 - pg_upgrade: Avoid check target accidentally breaking make's --output-sync. When $(MAKE) is present in a rule, make assumes that target is a submake, and it doesn't need to buffer its output. But in this case it's a shell script that needs buffered output. Avoid that heuristic, by referring to $(MAKE) via an indirection. Discussion: https://postgr.es/m/20190521004717.qsktdsugj3shagco@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/5af2e976d72aa345337596cc986237c57e1146b2 - pg_upgrade: Don't use separate installation for test. For pg_upgrade's test we (unless prevented by the caller via via NO_TEMP_INSTALL) built a separate installation. That causes an unnecessary slowdown after the infrastructure introduced by dcae5faccab (and unnecessarily duplicates code). Author: Andres Freund Reviewed-By: Tom Lane Discussion: https://postgr.es/m/20190521191918.z7kwnrlj45mk2k67@alap3.anarazel.de https://postgr.es/m/20190521195209.qfzwfxvymguuwlu5@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/7005389b2ad17258bc3aa0a2427c4eb77fed1d09 - pg_upgrade: Make test.sh's installcheck use to-be-upgraded version's bindir. On master (after 700538) the old version's installed psql was used - even when the old version might not actually be installed / might be installed into a temporary directory. As commonly the case when just executing make check for pg_upgrade, as $oldbindir is just the current version's $bindir. In the back branches, with --install specified, psql from the new version's temporary installation was used, without --install (e.g for NO_TEMP_INSTALL, cf 47b3c26642), the new version's installed psql was used (which might or might not exist). Author: Andres Freund Discussion: https://postgr.es/m/20190522175150.c26f4jkqytahajdg@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/f916221df5652b95c402847905bdf48950b5b281 - tableam: Rename wrapper functions to match callback names. Some of the wrapper functions didn't match the callback names. Many of them due to staying "consistent" with historic naming of the wrapped functionality. We decided that for most cases it's more important to be for tableam to be consistent going forward, than with the past. The one exception is beginscan/endscan/... because it'd have looked odd to have systable_beginscan/endscan/... with a different naming scheme, and changing the systable_* APIs would have caused way too much churn (including breaking a lot of external users). Author: Ashwin Agrawal, with some small additions by Andres Freund Reviewed-By: Andres Freund Discussion: https://postgr.es/m/CALfoeiugyrXZfX7n0ORCa4L-m834dzmaE8eFdbNR6PMpetU4Ww@mail.gmail.com https://git.postgresql.org/pg/commitdiff/73b8c3bd2889fed986044e15aefd0911f96ccdd3 Michaël Paquier pushed: - Fix some grammar in documentation of spgist and pgbench. Discussion: https://postgr.es/m/92961161-9b49-e42f-0a72-d5d47e0ed4de@postgrespro.ru Author: Liudmila Mantrova Reviewed-by: Jonathan Katz, Tom Lane, Michael Paquier Backpatch-through: 9.4 https://git.postgresql.org/pg/commitdiff/03310dbea9746439e9f0fdedce0fa298b8c4cc76 - Fix ordering of GRANT commands in pg_dump for database creation. This uses a method similar to 68a7c24f, which guarantees that GRANT commands using the WITH GRANT OPTION are dumped in a way so as cascading dependencies are respected. As databases do not have support for initial privileges via pg_init_privs, we need to repeat again the same ACL reordering method. ACL for databases have been moved from pg_dumpall to pg_dump in v11, so this impacts pg_dump for v11 and above, and pg_dumpall for v9.6 and v10. Discussion: https://postgr.es/m/15788-4e18847520ebcc75@postgresql.org Author: Nathan Bossart Reviewed-by: Haribabu Kommi Backpatch-through: 9.6 https://git.postgresql.org/pg/commitdiff/b8c6014a65ee0819e8fe4c7536f72da0df5d8e46 - Remove -o/--oids from pg_dumpall. This has been forgotten in 578b229, which has removed support for WITH OIDS. Discussion: https://postgr.es/m/CALAY4q99FcFCoG6ddke0V-AksGe82L_+bhDWgEfgZBakB840zA@mail.gmail.com Author: Surafel Temesgen https://git.postgresql.org/pg/commitdiff/657c2384c6c79c6ed0d6f71f811b2fc7c41f104a - Fix ordering of GRANT commands in pg_dumpall for tablespaces. This uses a method similar to 68a7c24f and now b8c6014 (applied for database creation), which guarantees that GRANT commands using the WITH GRANT OPTION are dumped in a way so as cascading dependencies are respected. Note that tablespaces do not have support for initial privileges via pg_init_privs, so the same method needs to be applied again. It would be nice to merge all the logic generating ACL queries in dumps under the same banner, but this requires extending the support of pg_init_privs to objects that cannot use it yet, so this is left as future work. Discussion: https://postgr.es/m/20190522071555.GB1278@paquier.xyz Author: Michael Paquier Reviewed-by: Nathan Bossart Backpatch-through: 9.6 https://git.postgresql.org/pg/commitdiff/156c0c2dff403fd115f3a5f6d73ab80959c84129 - Fix table dump in pg_dump[all] with backends older than 9.5. The access method name "amname" can be dumped as of 3b925e90, but queries for backends older than 9.5 forgot to map it to a dummy NULL value, causing the column to not be mapped to a number. As a result, pg_dump was throwing some spurious errors in its stderr output coming from libpq: pg_dump: column number -1 is out of range 0..36 Fix this issue by adding a mapping of "amname" to NULL to all the older queries. Discussion: https://postgr.es/m/20190522083038.GA16837@paquier.xyz Author: Michael Paquier Reviewed-by: Dmitry Dolgov, Andres Freund, Tom Lane https://git.postgresql.org/pg/commitdiff/54487d1560619a0027e0651d1b8d715ca8fc388c Peter Eisentraut pushed: - Remove bug.template file. It's outdated and not really in use anymore. Discussion: https://www.postgresql.org/message-id/flat/cf7ed2b1-1ebe-83cf-e05e-d5943f67af2d%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/8bbb8166b63eeebd0cb618ddcf7dcaf8c4ba66f4 - Translation updates. Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: a20bf6b8a5b4e32450967055eb5b07cee4704edd https://git.postgresql.org/pg/commitdiff/3c439a58df83ae51f650cfae9878df1f9b70c4b8 - Convert ExecComputeStoredGenerated to use tuple slots. This code was still using the old style of forming a heap tuple rather than using tuple slots. This would be less efficient if a non-heap access method was used. And using tuple slots is actually quite a bit faster when using heap as well. Also add some test cases for generated columns with null values and with varlena values. This lack of coverage was discovered while working on this patch. Discussion: https://www.postgresql.org/message-id/flat/20190331025744.ugbsyks7czfcoksd%40alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/66a4bad83aaa6613a45a00a488c04427f9969fb4 - Change Graphviz file extension. Change extension for Graphviz files from .dot to .gv. The latter appears to be the generally preferred one nowadays. Discussion: https://www.postgresql.org/message-id/flat/71fe76d2-c7d7-2acc-6762-bbf9e61c566e%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/41205719d34969018f708baa70d9d06dae0c0d08 Fujii Masao pushed: - Make VACUUM accept 1 and 0 as a boolean value. Commit 41b54ba78e allowed existing VACUUM options to take a boolean argument. It's documented that valid boolean values that VACUUM can accept are true, false, on, off, 1, and 0. But previously the parser failed to accept 1 and 0 as a boolean value in VACUUM syntax because of a lack of NumericOnly clause for vac_analyze_option_arg in gram.y. This commit adds such NumericOnly clause so that VACUUM options can take also 1 and 0 as a boolean value. Discussion: https://postgr.es/m/CAHGQGwGYg82A8UCQxZe7Zn9MnyUBGdyB=1CNpKF3jBny+RbyfA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/fc7c281f87467c1ff24fd72e0cc313dd6a71873f - Fix comment for issue_xlog_fsync(). "segno" is the argument for the function, not "log" and "seg". Author: Antonin Houska Discussion: https://postgr.es/m/11863.1558361020@spoje.net https://git.postgresql.org/pg/commitdiff/b8e2170e40a151eb94079ce9cd791a712ed95342 - Mention ANALYZE boolean options in documentation. Commit 41b54ba78e allowed not only VACUUM but also ANALYZE options to take a boolean argument. But it forgot to update the documentation for ANALYZE. This commit adds the descriptions about those ANALYZE boolean options into the documentation. This patch also updates tab-completion for ANALYZE boolean options. Reported-by: Kyotaro Horiguchi Author: Fujii Masao Reviewed-by: Masahiko Sawada, Michael Paquier Discussion: https://postgr.es/m/CAHGQGwHTUt-kuwgiwe8f0AvTnB+ySqJWh95jvmh-qcoKW9YA9g@mail.gmail.com https://git.postgresql.org/pg/commitdiff/03de5187d50af67d154a47cf00899290dca13003 Robert Haas pushed: - tableam: Move heap-specific logic from needs_toast_table below tableam. This allows table AMs to completely suppress TOAST table creation, or to modify the conditions under which they are created. Patch by me. Reviewed by Andres Freund. Discussion: http://postgr.es/m/CA+Tgmoa4O2n=yphqD2pERUnYmUO84bH1SqMsA-nSxBGsZ7gWfA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/1171d7d58545f26a402f76a05936d572bf29d53b Bruce Momjian pushed: - doc: adjustments for PG 12 release notes. Mostly commit messages, attribution, and text, all suggested by Andres Freund. Discussion: https://postgr.es/m/20190520221719.pqgld3krjc2docr5@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/32fe2e3194c7198ca4afdb6bea4ffa12466612b1 - doc: fix markup for PG 12 rel notes. https://git.postgresql.org/pg/commitdiff/0fca8285ea533fa669a372c91fdb42265dcf7435 - doc: adjust PG 12 relnotes item on float digit adjustment. Discussion: https://postgr.es/m/87y330d8ty.fsf@news-spur.riddles.org.uk https://git.postgresql.org/pg/commitdiff/b84a801d6a6737e6d84326b77d98b498402ecad0 - docs: adjust RECORD PG 12 relnote item. Discussion: https://postgr.es/m/15486.1558393010@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/3468a04a3e498bab755909505e8f7b6023bea493 - docs: PG 12 relnote adjustments based on feedback from Tom Lane. Discussion: https://postgr.es/m/22793.1558399695@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/8e719d33fd253fc378871ba4dbf2de41fd2ba462 - doc: PG 12 relnotes, correct recovery_target* variable mention. Clarify new restriction on recovery_target* variables. Reported-by: Gaby Schilders Discussion: reported via chat https://git.postgresql.org/pg/commitdiff/ba95a6933632410d103d6f17cd3bc1adf92a08f9 - docs: PG 12 release notes, support functions. Move support function mention to the proper section, and reword. Reported-by: Tom Lane Discussion: https://postgr.es/m/5121.1558472431@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/728840fe13acff7b03a4b1a813eeb8900ce5e469 Michael Meskes pushed: - Implement PREPARE AS statement for ECPG. Besides implementing the new statement this change fix some issues with the parsing of PREPARE and EXECUTE statements. The different forms of these statements are now all handled in a ujnified way. Author: Matsumura-san <matsumura.ryo@jp.fujitsu.com> https://git.postgresql.org/pg/commitdiff/a1dc6ab465986a62b308dd1bb8da316b5ed9685a Andrew Gierth pushed: - Fix array size allocation for HashAggregate hash keys. When there were duplicate columns in the hash key list, the array sizes could be miscomputed, resulting in access off the end of the array. Adjust the computation to ensure the array is always large enough. (I considered whether the duplicates could be removed in planning, but I can't rule out the possibility that duplicate columns might have different hash functions assigned. Simpler to just make sure it works at execution time regardless.) Bug apparently introduced in fc4b3dea2 as part of narrowing down the tuples stored in the hashtable. Reported by Colm McHugh of Salesforce, though I didn't use their patch. Backpatch back to version 10 where the bug was introduced. Discussion: https://postgr.es/m/CAFeeJoKKu0u+A_A9R9316djW-YW3-+Gtgvy3ju655qRHR3jtdA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/44e95b5728a4569c494fa4ea4317f8a2f50a206b Thomas Munro pushed: - Fix typos. Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/CA%2BhUKGJFWXmtYo6Frd77RR8YXCHz7hJ2mRy5aHV%3D7fJOqDnBHA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/7988cb446d20512ec9d091db66dba6adee3f3d4b - Update copyright year. Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/CA%2BhUKGJFWXmtYo6Frd77RR8YXCHz7hJ2mRy5aHV%3D7fJOqDnBHA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/4c9210f34c621639f896d57cf7bfb5e9be139c91 Amit Kapila pushed: - Doc: fix incorrect references in PG 12 release notes. Reported-by: Euler Taveira Author: Euler Taveira Discussion: https://postgr.es/m/CAHE3wgjiA8DdnUzH9WqBLxdrUVvjDkKNdHx-MkEg9uV+HtpMfg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/02aa15de1b3821b0288a13dec71ce99f2e31fda5 - Fix typos. Reported-by: Alexander Lakhin Author: Alexander Lakhin Reviewed-by: Amit Kapila and Tom Lane Discussion: https://postgr.es/m/7208de98-add8-8537-91c0-f8b089e2928c@gmail.com https://git.postgresql.org/pg/commitdiff/9679345f3c5ec071f63db358581e28f06c8744a7 == Pending Patches == Noah Misch sent in a patch to remove the temp_root of the pg_upgrade test. Thomas Munro sent in a patch to remove a bogus iso change. Masahiko Sawada sent in another revision of a patch to clean up toast vacuum index. David Rowley sent in a patch to clean up nodeAgg.c Rushabh Lathia sent in another revision of a patch to fix the behavior of default tablespaces and partitions. Justin Pryzby and Paul A Jungwirth traded patches to clean up the docs. Matwey V. Kornilov sent in a patch to add an SP-GiST quadtree @<(point,circle) operator. Robert Haas sent in another revision of a patch to tableam which moves heap-specific logic from needs_toast_table below tableam, which allows table AMs to completely suppress TOAST table creation, or to modify the conditions under which they are created. Kyotaro HORIGUCHI sent in three more revisions of a patch to fix the WAL-skipping feature. Antonin Houska sent in another revision of a patch to consolidate reading of XLOG pages. Antonin Houska sent in a patch to use TupleTableSlotOps fields in a few more places. Robert Haas sent in another revision of a patch to split tuptoaster.c into three separate files, create an API for inserting and deleting rows in TOAST tables, and allow TOAST tables to be implemented using table AMs other than heap. Paul A Jungwirth sent in two revisions of a patch to clarify the documentation of partitioned tables referenced by foreign keys. Andres Freund sent in another revision of a patch to teach the pg_upgrade test to honor NO_TEMP_INSTALL. Alexey Klyukin sent in a patch to fix a bug which manifested as deadlocks in upgrades of row-level locks. Daniel Gustafsson sent in a patch to use heap_multi_insert() for pg_attribute/depend insertions. Colm McHugh and Andrew Gierth traded patches to fix a write after end of array in hashed agg initialization. Michaël Paquier sent in a patch to fix a bug that manifested as pg_dump throwing "column number -1 is out of range 0..36". Antonin Houska and Kyotaro HORIGUCHI traded patches to remove page-read callback from XLogReaderState. Amit Khandekar sent in two more revisions of a patch to implement minimal logical decoding on standbys. Stas Kelvich sent in another revision of a patch to enforce read-only access to temp tables in 2PC transactions. Thomas Munro sent in a patch to drop IDENTIFICATION comment blocks. Haribabu Kommi sent in a patch to support building with Microsoft Visual Studio 2019. Fabien COELHO sent in another revision of a patch to add \aset to pgbench to store the results of a combined query. Fabien COELHO sent in another revision of a patch to skip pgbench progress reports where needed. Fabien COELHO sent in another revision of a patch to add a pseudo-random permutation function to pgbench. Fabien COELHO sent in another revision of a patch to add a SHOW_ALL_RESULTS setting to psql. Fabien COELHO sent in another revision of a patch to share str2*int64 functions. Jonathan S. Katz sent in another revision of a patch to create a press release draft. David Rowley sent in a patch to fix excessive memory usage in multi-statement queries w/ partitioning. Tom Lane sent in a patch to suppress noise in successful check-world runs. Ashwin Agrawal sent in another revision of a patch to implement Zedstore, a compressed columnar store for PostgreSQL. Tom Lane sent in another revision of a patch to fix some SQL-spec incompatibilities in similar_escape() and related stuff. David Rowley sent in a patch to clarify the fact that CREATE INDEX CONCURRENTLY does not yet apply to partitioned indexes. David Rowley sent in two more revisions of a patch to warn against creating too many partitions. David Rowley sent in another revision of a patch to convert NOT IN to anti-joins. Vik Fearing sent in a patch to fix an aggregate error message. Fabien COELHO sent in a patch to fix a typo in the pgbench docs. Jonathan S. Katz sent in a patch to add a warning about the client authentication defaults that initdb provides. Pavel Stěhule sent in another revision of a patch to implement schema variables. Pavel Stěhule sent in another revision of a patch to implement commontype and commontypearray. Mark Dilger sent in a patch to fix some assumptions in indexam and tableam. didier sent in a patch to avoid passing null pointers to memcpy() in print_aligned_text(). Ashwin Agrawal sent in a patch to avoid confusing error message for REINDEX CONCURRENTLY. David Rowley sent in another revision of a patch to fix a performance issue in foreign-key-aware join estimation. David Rowley sent in another revision of a patch to improve runtime pruning explain output. Tom Lane sent in two more revisions of a patch to convert Lists to arrays. Alexander Lakhin sent in a patch to fix some code notational inconsistencies. David Rowley sent in a patch to clean up and speed up string functions. Fabien COELHO sent in a patch to add a long (--relfilenode=) option to pg_checksums.
В списке pgsql-announce по дате отправления: