== PostgreSQL Weekly News - February 16, 2020 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - February 16, 2020 == |
Date | |
Msg-id | 20200216225025.GA12542@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - February 16, 2020 == PostgreSQL security releases 12.2, 11.7, 10.12, 9.6.17, 9.5.21, and 9.4.26 are out. Upgrade as soon as possible. 9.4.26 is the end of the 9.4 series. https://www.postgresql.org/about/news/2011/ Swiss PGDay 2020 will take place in Rapperswil (near Zurich) on June 18-19, 2020. The Call for Speakers will be open February 18, 2020 through March 17, 2020. https://www.pgday.ch/2020/ == PostgreSQL Product News == wal2json 2.1, a JSON output plugin for changeset extraction, released. As this release fixes important bugs, it would be good to upgrade ASAP. https://github.com/eulerto/wal2json/releases == PostgreSQL Local == pgDay Israel 2020 will take place on March 19, 2020 in Tel Aviv. http://pgday.org.il/ pgDay Paris 2020 will be held in Paris, France on March 26, 2020 at Espace Saint-Martin. https://2020.pgday.paris/ Nordic PGDay 2020 will be held in Helsinki, Finland at the Hilton Helsinki Strand Hotel on March 24, 2020. PGConf India 2020 will be on February 26-28, 2020 in Bengaluru, Karnataka. http://pgconf.in/ PostgreSQL@SCaLE is a two day, two track event which takes place on March 5-6, 2020, at Pasadena Convention Center, as part of SCaLE 18X. https://www.socallinuxexpo.org/scale/18x/postgresscale The German-speaking PostgreSQL Conference 2020 will take place on May 15, 2019 in Stuttgart. PGCon 2020 will take place in Ottawa on May 26-29, 2020. https://www.pgcon.org/2020/ PGDay.IT 2020 will take place June 11-12 in Bergamo, Italy. https://2020.pgday.it/en/ 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 == Tom Lane pushed: - Revert "docs: change "default role" wording to "predefined role"". This reverts commit 0e936a2148472e6c364aee8c3e298dc16dc4240a. Per discussion, we can't change the section title without some web-site work, so revert this change temporarily. Discussion: https://postgr.es/m/157742545062.1149.11052653770497832538@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/c185a57753e64fe3ffc996ea18da8672b302a5a4 - Doc: fix old oversights in GRANT/REVOKE documentation. The GRANTED BY clause in GRANT/REVOKE ROLE has been there since 2005 but was never documented. I'm not sure now whether that was just an oversight or was intentional (given the limited capability of the option). But seeing that pg_dumpall does emit code that uses this option, it seems like not documenting it at all is a bad idea. Also, when we upgraded the syntax to allow CURRENT_USER/SESSION_USER as the privilege recipient, the role form of GRANT was incorrectly not modified to show that, and REVOKE's docs weren't touched at all. Although I'm not that excited about GRANTED BY, the other oversight seems serious enough to justify a back-patch. Discussion: https://postgr.es/m/3070.1581526786@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/dce988145f7e455f224310afec6b06bcf3eed24e - Remove long-dead comments. These should've been dropped by a8bb8eb58, but evidently were missed. Not important enough to back-patch. https://git.postgresql.org/pg/commitdiff/0973f5602c349ad99fae6f57cdcc26754a03ba83 - Avoid a performance regression in float overflow/underflow detection. Commit 6bf0bc842 replaced float.c's CHECKFLOATVAL() macro with static inline subroutines, but that wasn't too well thought out. In the original coding, the unlikely condition (isinf(result) or result == 0) was checked first, and the inf_is_valid or zero_is_valid condition only afterwards. The inline-subroutine coding caused that to be swapped around, which is pretty horrid for performance because (a) in common cases the is_valid condition is twice as expensive to evaluate (e.g., requiring two isinf() calls not one) and (b) in common cases the is_valid condition is false, requiring us to perform the unlikely-condition check anyway. Net result is that one isinf() call becomes two or three, resulting in visible performance loss as reported by Keisuke Kuroda. The original fix proposal was to revert the replacement of the macro, but on second thought, that macro was just a bad idea from the beginning: if anything it's a net negative for readability of the code. So instead, let's just open-code all the overflow/underflow tests, being careful to test the unlikely condition first (and mark it unlikely() to help the compiler get the point). Also, rather than having N copies of the actual ereport() calls, collapse those into out-of-line error subroutines to save some code space. This does mean that the error file/line numbers won't be very helpful for figuring out where the issue really is --- but we'd already burned that bridge by putting the ereports into static inlines. In HEAD, check_float[48]_val() are gone altogether. In v12, leave them present in float.h but unused in the core code, just in case some extension is depending on them. Emre Hasegeli, with some kibitzing from me and Andres Freund Discussion: https://postgr.es/m/CANDwggLe1Gc1OrRqvPfGE=kM9K0FSfia0hbeFCEmwabhLz95AA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/607f8ce74df9d5a4a7a3c65235909794cdc1d1d8 - Mark some contrib modules as "trusted". This allows these modules to be installed into a database without superuser privileges (assuming that the DBA or sysadmin has installed the module's files in the expected place). You only need CREATE privilege on the current database, which by default would be available to the database owner. The following modules are marked trusted: btree_gin btree_gist citext cube dict_int earthdistance fuzzystrmatch hstore hstore_plperl intarray isn jsonb_plperl lo ltree pg_trgm pgcrypto seg tablefunc tcn tsm_system_rows tsm_system_time unaccent uuid-ossp In the future we might mark some more modules trusted, but there seems to be no debate about these, and on the whole it seems wise to be conservative with use of this feature to start out with. Discussion: https://postgr.es/m/32315.1580326876@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/eb67623c965b4759a96309cdb58a17339fc5d401 - Remove pg_regress' --load-language option. We haven't used this option since inventing extensions. As of commit 50fc694e4 it's actually formally equivalent to --load-extension, so let's just drop it. Discussion: https://postgr.es/m/6853.1581627393@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/751c63cea0befe292fafd9a4a1f16dfa2f1746f9 - Don't require pg_class.dat to contain correct relnatts values. Practically everybody who's ever added a column to one of the bootstrap catalogs has been burnt by the need to update the relnatts field in the initial pg_class data to match. Now that we use Perl scripts to generate postgres.bki, we can have the machines take care of that, by filling the field during genbki.pl. While at it, use the BKI_DEFAULTS mechanism to eliminate repetitive specifications of other column values in pg_class.dat, too. They weren't particularly a maintenance problem, but this way is prettier (certainly the spotty previous usage of BKI_DEFAULTS wasn't pretty). No catversion bump needed, since this doesn't actually change the contents of postgres.bki. Per gripe from Justin Pryzby, though this is quite different from his originally proposed solution. Amit Langote, John Naylor, Tom Lane Discussion: https://postgr.es/m/20200212182337.GZ1412@telsasoft.com https://git.postgresql.org/pg/commitdiff/86ff085e83888e2e359620fc326608a674423308 - Run "make reformat-dat-files". Mostly to make sure the previous commit didn't break this. Discussion: https://postgr.es/m/20200212182337.GZ1412@telsasoft.com https://git.postgresql.org/pg/commitdiff/b78542b9e975494bba6db2d2802439c3328d5ef7 - Clarify coding in Catalog::AddDefaultValues. Make it a bit shorter and better-commented; no functional change. Alvaro Herrera and Tom Lane Discussion: https://postgr.es/m/20200212182337.GZ1412@telsasoft.com https://git.postgresql.org/pg/commitdiff/9d1ec5a8e155a996a81b5fecc3da803ecb94d8ae - Update obsolete comment. Noted by Justin Pryzby, though I chose to just rip out the stale text, as it's in no way relevant to this particular function. Discussion: https://postgr.es/m/20200212182337.GZ1412@telsasoft.com https://git.postgresql.org/pg/commitdiff/faade5d4c6d8b4f7d46f91702a57529c96aee86e - Try again to work around Windows' ERROR_SHARING_VIOLATION in pg_ctl. Commit 0da33c762 introduced an unfortunate regression in pg_ctl on Windows: if the log file specified with -l doesn't exist yet, and pg_ctl is running with Administrator privileges, then the log file might get created with permissions that prevent the postmaster from writing on it. (It seems that whether this happens depends on whether the log file is inside the user's home directory or not, and perhaps on other phase-of-the-moon conditions, which may explain why we failed to notice it sooner.) To fix, just don't create the log file if it doesn't exist yet. The case where we need to wait obviously only occurs with a pre-existing log file. In passing, switch from using fopen() to plain open(), saving a few cycles. Per bug #16259 from Jonathan Katz and Heath Lord. Back-patch to v12, as the faulty commit was. Alexander Lakhin Discussion: https://postgr.es/m/16259-c5ebed32a262a8b1@postgresql.org https://git.postgresql.org/pg/commitdiff/e02ea141ee66e5b2372e1eb2d2000b7ed3a8e13a Thomas Munro pushed: - psql: Fix %w length in PROMPT2 when PROMPT1 contains a newline. The width of the invisible PROMPT2 must take into account, in order for user input to be aligned with the first line, that PROMPT1 can contain newlines. Author: Maxence Ahlouche Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CAJeaomVyLSP_Wj%3D0FtYNTuoopWHyFarhUtYKDHs0HHv%2Bb%3DN9sA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/1713a0013f909d9ce5dd43d234f1cd33d6a50854 - Use pg_pwrite() in more places. This removes some lseek() system calls. Author: Thomas Munro Reviewed-by: Andres Freund Discussion: https://postgr.es/m/CA%2BhUKGJ%2BoHhnvqjn3%3DHro7xu-YDR8FPr0FL6LF35kHRX%3D_bUzg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/701a51fd4e01dbbd02067d8f01905a04bc571131 Michaël Paquier pushed: - pg_upgrade: Fix quoting of some arguments in pg_ctl command. The previous coding forgot to apply shell quoting to the socket directory and the data folder, leading to failures when running pg_upgrade. This refactors the code generating the pg_ctl command starting clusters to use a more correct shell quoting. Failures are easier to trigger in 12 and newer versions by using a value of --socketdir that includes quotes, but it is also possible to cause failures with quotes included in the default socket directory used by pg_upgrade or the data folders of the clusters involved in the upgrade. As 9.4 is going to be EOL'd with the next minor release, nobody is likely going to upgrade to it now so this branch is not included in the set of branches fixed. Author: Michael Paquier Reviewed-by: Álvaro Herrera, Noah Misch Backpatch-through: 9.5 https://git.postgresql.org/pg/commitdiff/d1c0b6132839e496eea73383813a127833af72f1 - Revert "pg_upgrade: Fix quoting of some arguments in pg_ctl command". This reverts commit d1c0b61. The patch has some downsides that require more attention, as discussed with Noah Misch. Backpatch-through: 9.5 https://git.postgresql.org/pg/commitdiff/4e818866e57aa9ec13821fd36a2ff60e00e6dea6 - Add %x to default PROMPT1 and PROMPT2 in psql. %d can be used to track if the current connection is in a transaction block or not, and adding it by default to the prompt has the advantage to not need a modification of .psqlrc, something not possible depending on the environment. This discussion has happened across various sources, and there was a strong consensus in favor of this change. Author: Vik Fearing Reviewed-by: Fabien Coelho Discussion: https://postgr.es/m/09502c40-cfe1-bb29-10f9-4b3fa7b2bbb2@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/dcdbb5a5db09064ac08ff3971c5031281ef2e545 - Remove some dead code in contrib/adminpack/. Since its introduction in fe59e56, the code in charge of validating and converting a file path includes some extra handling for absolute paths pointing to an external log_directory, but this has never been used. Author: Antonin Houska Reviewed-by: Julien Rouhaud, Michael Paquier Discussion: https://postgr.es/m/32663.1581592539@antos https://git.postgresql.org/pg/commitdiff/11f063b0a974f4e1c87c26d0fe259c2167f3d00e Amit Kapila pushed: - doc: Spell checking. Reported-by: Justin Pryzby Author: Justin Pryzby Backpatch-through: 9.6 Discussion: https://postgr.es/m/20200206021432.GA24549@telsasoft.com https://git.postgresql.org/pg/commitdiff/77a00b809a03fbc80957815bbd9092aa9a7748e3 - Fix typos. Reported-by: Justin Pryzby Author: Justin Pryzby Discussion: https://postgr.es/m/20200206021432.GA24549@telsasoft.com https://git.postgresql.org/pg/commitdiff/3dfba9fdf52121e777e83f27120a755f408927ed Álvaro Herrera pushed: - Fix priv checks for ALTER <object> DEPENDS ON EXTENSION. Marking an object as dependant on an extension did not have any privilege check whatsoever; this allowed any user to mark objects as droppable by anyone able to DROP EXTENSION, which could be used to cause system-wide havoc. Disallow by checking that the calling user owns the mentioned object. (No constraints are placed on the extension.) Security: CVE-2020-1720 Reported-by: Tom Lane Discussion: 31605.1566429043@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/b048f558dd7c26a0c630a2cff29d3d8981eaf6b9 - createuser: fix parsing of --connection-limit argument. The original coding failed to quote the argument properly. Reported-by: Daniel Gustafsson Discussion: 1B8AE66C-85AB-4728-9BB4-612E8E61C219@yesql.se https://git.postgresql.org/pg/commitdiff/8fa8e011563744f61d29024ab187a189124a6551 Jeff Davis pushed: - Change signature of TupleHashTableHash(). Commit 4eaea3db introduced TupleHashTableHash(), but the signature didn't match the other exposed functions. Separate it into internal and external versions. The external version hides the details behind an API more consistent with the other external functions, and the internal version is still suitable for simplehash. https://git.postgresql.org/pg/commitdiff/11de6c903da99a4b2220acfa776fc26c7f384ccc - Logical Tape Set: lazily allocate read buffer. The write buffer was already lazily-allocated, so this is more symmetric. It also means that a freshly-rewound tape (whether for reading or writing) is not consuming memory for the buffer. Discussion: https://postgr.es/m/97c46a59c27f3c38e486ca170fcbc618d97ab049.camel%40j-davis.com https://git.postgresql.org/pg/commitdiff/7fdd919ae7550f478e7ae4031f7f439278cf2282 Peter Eisentraut pushed: - Simplify passing of configure arguments to pg_config. The previous system had configure put the value into the makefiles and then have the makefiles pass them to the build of pg_config. That was put in place when pg_config was a shell script. We can simplify that by having configure put the value into pg_config.h directly. This also makes the standard build system match how the MSVC build system already does it. Discussion: https://www.postgresql.org/message-id/flat/6e457870-cef5-5f1d-b57c-fc89cfb8a788%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/b691c189c671ca9b88743ed6546b60641e5199e4 - psql: Remove one use of HAVE_UNIX_SOCKETS. This use was not protecting any unportable code, it was just omitting the code because it wouldn't be used. Remove the use to reduce code complexity a bit. Discussion: https://www.postgresql.org/message-id/flat/54bde68c-d134-4eb8-5bd3-8af33b72a010@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/541757f34ee099dd8e601b29dfad6302c6747d71 - Canonicalize some URLs. https://git.postgresql.org/pg/commitdiff/2102ba4b586350957bf95b371432583239000164 - Document the pg_upgrade -j/--jobs option as taking an argument. https://git.postgresql.org/pg/commitdiff/e49d5ebbaebc3ecd6b495fda9518c2c2fac5c296 Fujii Masao pushed: - Fix bug in pg_basebackup -F plain -R. Commit caba97a9d9 changed pg_basebackup -F plain -R so that it overwrote postgresql.auto.conf in the backup, with new connection setting. This could cause the existing postgresql.auto.conf settings in the server to get lost unexpectedly. This is a bug. This commit fixes the bug by making pg_basebackup -F plain -R append the connection setting into postgresql.auto.conf in the backup. Author: Fujii Masao Reviewed-by: Sergei Kornilov Discussion: https://postgr.es/m/250dcf2a-94e7-c05e-824a-73cfb38a48a4@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/be6221e9be234109aa261ea767c85f5e8cda90e8 Andres Freund pushed: - Test additional speculative conflict scenarios. Previously, the speculative insert tests did not cover the case when a tuple t is inserted into a table with a unique index on a column but before it can insert into the index, a concurrent transaction has inserted a conflicting value into the index and the insertion of tuple t must be aborted. The basic permutation is one session successfully inserts into the table and an associated unique index while a concurrent session successfully inserts into the table but discovers a conflict before inserting into the index and must abort the insertion. Several variants on this include: - swap which session is successful - first session insert transaction does not commit, so second session must wait on a transaction lock - first session insert does not "complete", so second session must wait on a speculative insertion lock Also, refactor the existing TOAST table upsert test to be in the same spec and reuse the steps. Author: Melanie Plageman, Ashwin Agrawal, Andres Freund Reviewed-by: Andres Freund, Taylor Vesely Discussion: https://postgr.es/m/CAAKRu_ZRmxy_OEryfY3G8Zp01ouhgw59_-_Cm8n7LzRH5BAvng@mail.gmail.com https://git.postgresql.org/pg/commitdiff/43e08419708a938236e76cd50de2db512e1c3a0c - Try to harden insert-conflict-specconflict against autovacuum. Looks like guaibasaurus had a autovacuum running during the controller_print_speculative_locks step (just added in 43e08419708). Which does indeed seem quite possible. Avoid the problem by only looking for the backends participating in the test. https://git.postgresql.org/pg/commitdiff/997563dfcb2501a7a199589cd6f15f2bb8af3d04 Peter Geoghegan pushed: - Doc: Restructure B-Tree support routine docs. Use a top-level "variablelist", with one item per B-Tree support function. This structure matches the structure used by various "Extensibility" sections in other documentation chapters for other index access methods. An explicit list makes it much clearer where each item begins and ends. This wasn't really a problem before now, but an upcoming patch that adds deduplication to nbtree will need to have its own new B-Tree support function. Ease the burden of translators by tidying up btree.sgml ahead of committing the deduplication patch. https://git.postgresql.org/pg/commitdiff/caba0910afa124b8c6c61208b487846eea6b1970 - Recreate website's formatting for "website" doc builds. The stylesheets used for the HTML documentation rendered on postgresql.org have shifted, and no longer matched what was expected by "make STYLE=website html" builds performed locally. Local doc builds did not reflect other aspects of the website, including font and margins. This patch updates the references to use the current set of stylesheets that are used by the documentation on postgresql.org. This also wraps the documentation preview in a HTML container so it can keep the content within similar margins to those found on the website. The documentation on building the docs is updated to reflect this change, and to let the documentation builder know that an external network connection is required to properly preview documentation built with "make STYLE=website html" (which was true prior to this patch too, but not mentioned). Author: Jonathan Katz Reported-By: Tom Lane Discussion: https://postgr.es/m/1375.1581446233@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/317906f2a634090a79ca95d5816931c4ce8dca5a == Pending Patches == Takashi Menjo sent in another revision of a patch to implement a non-volatile WAL buffer. Michail Nikolaev sent in a patch to expand the comments on exec_simple_query. Etsuro Fujita sent in another revision of a patch to improve the algorithm used for partition-wise JOINs. Masahiko Sawada sent in another revision of a patch to fix some logical copy_replication_slot issues. Fujii Masao sent in a patch to ensure that pg_basebackup -F plain -R appends the setting rather than overwriting it. Hubert Zhang sent in a patch to print the physical file path when checksum check fails. Konstantin Knizhnik sent in another revision of a patch to implement global temporary tables. Masahiko Sawada sent in a patch to make it possible to identify user-created objects. Andy Fan sent in two more revisions of a patch to erase the distinctClause if the result is unique by definition. Yugo Nagata sent in another revision of a patch to implement incremental maintenance of materialized views. Kuntal Ghosh sent in a patch to set alloc_len as MaxHeapTupleSize. Masahiko Sawada sent in another revision of a patch to implement a KMS. Pavel Stěhule sent in two more revisions of a patch to implement schema variables. Quan Zongliang sent in another revision of a patch to restore replication settings when modifying a field type. Adam Lee sent in a patch to add a sanity check to BackgroundWorker's function entry. Ivan Taranov sent in a patch to implement a custom PostgreSQL launcher for tests. Dilip Kumar sent in two more revisions of a patch to fix an infelicity between logical_work_mem and logical streaming of large in-progress transactions. Peter Eisentraut sent in a patch to change client-side fsync_fname() to report errors fatally. Peter Eisentraut sent in a patch to refer to the bug report address by symbol rather than hard coding it, and add the PostgreSQL home page to --help output. Jeff Davis sent in two more revisions of a patch to implement memory-bounded hash aggregation. Melanie Plageman sent in another revision of a patch to implement adaptive hashjoin. Corey Huinker sent in another revision of a patch to add a glossary. Thomas Munro sent in another revision of a patch to prefetch WALs. Peter Eisentraut sent in another revision of a patch to support UNIX sockets on Windows. Thomas Munro sent in a patch to use the checkpointer to fsync SLRU files, where before fsync() was called separately afterwards. This change brings SLRU files into line with relation files. Imai Yoshikazu sent in another revision of a patch to add a pg_stat_waitaccum view and use same to change the measuring method of wait event time from INSTR_TIME to rdtsc. Peter Eisentraut sent in a patch to support external parameters in the EXECUTE command. Fujii Masao sent in a patch to fix silent truncation and implement the documented comment lines for .pgpass. Fabrízio de Royes Mello sent in a patch to fix an infelicity between event triggers and pg_restore in parallel mode. Emre Hasegeli sent in two more revisions of a patch to fix a performance regression with float calculations. Ranier Vilela sent in two revisions of a patch to fix some perceived issues in libpq. Julien Rouhaud sent in two more revisions of a patch to implement collation versioning. Peter Eisentraut sent in a patch to add backend type placeholder to log_line_prefix. Peter Eisentraut sent in another revision of a patch to fill in extraUpdatedCols in logical replication, and make tables with generated columns more efficient. Peter Eisentraut sent in two revisions of a patch to allow running src/tools/msvc/mkvcbuild.pl under not Windows. Thomas Munro sent in a patch to introduce pg_file_size() to get the file size for an fd, and remove lseek() calls from slru.c and walsender.c Alexey Bashtanov sent in a patch to clarify what can be used in UPDATE FROM and DELETE USING. Thomas Munro sent in a patch to use cached smgrnblocks() results in recovery. Fujii Masao sent in two revisions of a patch to ensure that wait events are reported while waiting for WAL archiving. Peter Eisentraut sent in a patch to fix compiler warnings on 64-bit Windows. Mark Dilger sent in another revision of a patch to make it possible for front-end code to use back-end's core hashing functions. Amit Langote sent in another revision of a patch to avoid checking a child's LOCK privilege when locked recursively. Peter Geoghegan sent in another revision of a patch to add deduplication to nbtree. Michaël Paquier sent in a patch to fix an issue with quoting in createdb. Thomas Munro sent in another revision of a patch to add an SQL type xid8 to expose FullTransactionId to users, and introduce xid8 variants of the txid_XXX() fmgr functions. Pengzhou Tang sent in another revision of a patch to extract only the columns needed for a query. Justin Pryzby sent in two more revisions of a patch to ensure that vacuum errcontext shows the block being processed. Tom Lane sent in a patch to remove the CREATE EXTENSION FROM option. Melanie Plageman sent in a patch to find both aggregated and unaggregated columns in same function. Zeng Wenjing sent in another revision of a patch to implement global temporary tables. Ashwin Agrawal and Andreas Karlsson traded patches to regularize the creation of symlinks in Makefiles. Justin Pryzby sent in two more revisions of a patch to ensure that HashAggregate reports bucket and memory stats.
pgsql-announce by date: