== PostgreSQL Weekly News - February 24, 2019 ==
От | David Fetter |
---|---|
Тема | == PostgreSQL Weekly News - February 24, 2019 == |
Дата | |
Msg-id | 20190224204957.GA8679@fetter.org обсуждение исходный текст |
Список | pgsql-announce |
== PostgreSQL Weekly News - February 24, 2019 == Pgpool-II 4.0.3, 3.7.8, 3.6.15, 3.5.19 and 3.4.22 released. http://pgpool.net/mediawiki/index.php/Downloads PGConf.Brazil 2019 is on August 1-3 2019 in São Paulo. The CfP is open at https://goo.gl/forms/owW8g5DKwnZtI4Mq1 until February 28, 2019. http://pgconf.com.br == PostgreSQL Product News == psycopg2 2.8 beta 1, a Python connector for PostgreSQL, released. https://www.postgresql.org/message-id/CA%2Bmi_8aNS0e29cWbd42Erdu_OW5Jx%2BQ5O_Hre%2BWdF3DcbfRU0A%40mail.gmail.com pgmetrics 1.6, a command-line tool for PostgreSQL metrics, released. https://pgmetrics.io/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2019-02/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on March 7-8, 2019, at Pasadena Convention Center, as part of SCaLE 17X. https://www.socallinuxexpo.org/scale/17x/postgresscale pgDay Paris 2019 will be held in Paris, France on March 12, 2019 at 199bis rue Saint-Martin. http://2019.pgday.paris/ Nordic PGDay 2019 will be held in Copenhagen, Denmark, at the Copenhagen Marriott Hotel, on March 19, 2019. https://2019.nordicpgday.org/ PGConf APAC 2019 will be held in Singapore March 19-21, 2019. http://2019.pgconfapac.org/ The German-speaking PostgreSQL Conference 2019 will take place on May 10, 2019 in Leipzig. The CfP is open until February 26, 2019 at http://2019.pgconf.de/cfp http://2019.pgconf.de/ PGDay.IT 2019 will take place May 16th and May 17th in Bologna, Italy. https://2019.pgday.it/en/ PGCon 2019 will take place in Ottawa on May 28-31, 2019. https://www.pgcon.org/2019 Swiss PGDay 2019 will take place in Rapperswil (near Zurich) on June 28, 2019. The CfP is open through April 18, 2019, and registration is open. http://www.pgday.ch/2019/ PostgresLondon 2019 will be July 2-3, 2019 with an optional training day on July 1. The CfP is open at https://goo.gl/forms/hsvZKAmq0c96XQ4l2 through March 15, 2019. http://postgreslondon.org == 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 == Michaël Paquier pushed: - Avoid some unnecessary block reads in WAL reader. When reading a new page internally and depending on the way the WAL reader facility gets used by plugins, the current implementation of the WAL reader may finish by reading a block multiple times while it is not actually necessary as the requested data length may be equal to what has been already read. This can happen for any size, but is more likely to happen at the end of a page. This can cause performance penalties in plugins which rely on the block reads to be purely sequential, zlib not liking backward reads for example. The new behavior also shaves some cycles when doing recovery. Author: Arthur Zakirov Reviewed-by: Andrey Lepikhov, Michael Paquier, Grigory Smolkin Discussion: https://postgr.es/m/2ddf4a32-517e-d6f4-d992-4a63b6035bfd@postgrespro.ru https://git.postgresql.org/pg/commitdiff/0dd6ff0ac8482f753405c5bdb091d2a8adc58e75 - Fix typo in transam.h for OIDs assigned by genbki.pl. The actual range of reserved OIDs in this case is [11000,11999] and not [11000,12000]. Author: John Naylor Discussion: https://postgr.es/m/CAJVSVGV5StmK-inxbmrf0nLbBGeaAKnjnqxXmk+4ufeav8JMSA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/f0cce9fcb5fd9f4158dbf5dfe11f263ad3b7b1dd - Fix some issues with TAP tests of pg_basebackup and pg_verify_checksums. ee9e145 has fixed the tests of pg_basebackup for checksums a first time, still one seek() call missed the shot. Also, the data written in files to emulate corruptions was not actually writing zeros as the quoting style was incorrect. Backpatch the portion for pg_basebackup to v11 where these tests have been introduced. The tests of pg_verify_checksums are new as of v12. Author: Michael Banck Discussion: https://postgr.es/m/1550153276.796.35.camel@credativ.de Backpatch-through: 11 https://git.postgresql.org/pg/commitdiff/a916bdc496a9d3fde48ca7c72478e7e4aecc5597 - Mark correctly initial slot snapshots with MVCC type when built. When building an initial slot snapshot, snapshots are marked with historic MVCC snapshots as type with the marker field being set in SnapBuildBuildSnapshot() but not overriden in SnapBuildInitialSnapshot(). Existing callers of SnapBuildBuildSnapshot() do not care about the type of snapshot used, but extensions calling it actually may, as reported. While on it, mark correctly the snapshot type when importing one. This is cosmetic as the field is enforced to 0. Author: Antonin Houska Reviewed-by: Álvaro Herrera, Michael Paquier Discussion: https://postgr.es/m/23215.1527665193@localhost Backpatch-through: 9.4 https://git.postgresql.org/pg/commitdiff/56fadbedbd2f697400b89e7b767cfa4ec67932d6 - Remove duplicate variable declaration in fe-connect.c. The same variables are declared twice when checking if a connection is writable, which is useless. Author: Haribabu Kommi Discussion: https://postgr.es/m/CAJrrPGf=rcALB54w_Tg1_hx3y+cgSWaERY-uYSQzGc3Zt5XN4g@mail.gmail.com https://git.postgresql.org/pg/commitdiff/554ca6954ecbfc54e7159a609b5ffc7921670185 - Add TAP tests for 2PC post-commit callbacks of multixacts at recovery. The current set of TAP tests for two-phase transactions include some coverage for post-commit callbacks of multixact, but it lacked tests for testing the recovery of those callbacks. This commit adds some tests with soft and hard restarts in this case, using transactions which include DDLs. Author: Michael Paquier Reviewed-by: Oleksii Kliukin Discussion: https://postgr.es/m/20190221055431.GO15532@paquier.xyz https://git.postgresql.org/pg/commitdiff/b1086767087efe437131b9059fc6f2d3b7c7ecc2 - Fix incorrect function reference in comment of twophase.c. The header block of TwoPhaseGetDummyBackendId mentioned incorrectly TwoPhaseGetDummyProc. Reported-by: Oleksii Kliukin Discussion: https://postgr.es/m/D8336E40-BBE1-4954-98BB-7830D3F5CB36@hintbits.com https://git.postgresql.org/pg/commitdiff/4c23216002ac816f67fb87301290fa992115215e Etsuro Fujita pushed: - Save PathTargets for distinct/ordered relations in root->upper_targets[]. For the convenience of extensions, we previously only saved PathTargets for grouped, window, and final relations in root->upper_targets[] in grouping_planner(). To improve the convenience, save PathTargets for distinct and ordered relations as well. Author: Antonin Houska, with an additional change by me Discussion: https://postgr.es/m/10994.1549559088@localhost https://git.postgresql.org/pg/commitdiff/3fdc374b5d24b08119a91555ca2fae427af0b085 Michael Meskes pushed: - Add bytea datatype to ECPG. So far ECPG programs had to treat binary data for bytea column as 'char' type. But this meant converting from/to escaped format with PQunescapeBytea/ PQescapeBytea() and therefore forcing users to add unnecessary code and cost for the conversion in runtime. By adding a dedicated datatype for bytea most of this special handling is no longer needed. Author: Matsumura-san ("Matsumura, Ryo" <matsumura.ryo@jp.fujitsu.com>) Discussion: https://postgr.es/m/flat/03040DFF97E6E54E88D3BFEE5F5480F737A141F9@G01JPEXMBYT04 https://git.postgresql.org/pg/commitdiff/050710b36964dee7e1b2bf6b5ef00041fd5d2787 - Sync ECPG's CREATE TABLE AS statement with backend's. Author: Higuchi-san ("Higuchi, Daisuke" <higuchi.daisuke@jp.fujitsu.com>) https://git.postgresql.org/pg/commitdiff/e81f0e3113e6d9791285e6629d5301759839f3c9 - Properly end string to make sure ecpglib does not read beyond its boundaries. https://git.postgresql.org/pg/commitdiff/8e6ab9f8012ff54d2e3cf2804db811e5f8eada1b Andrew Dunstan pushed: - Provide an extra-float-digits setting for pg_dump / pg_dumpall. Changes made by commit 02ddd49 mean that dumps made against pre version 12 instances are no longer comparable with those made against version 12 or later instances. This makes cross-version upgrade testing fail in the buildfarm. Experimentation has shown that the error is cured if the dumps are made when extra_float_digits is set to 0. Hence this patch allows for it to be explicitly set rather than relying on pg_dump's builtin default (3 in almost all cases). This feature might have other uses, but should not normally be used. Discussion: https://postgr.es/m/c76f7051-8fd3-ec10-7579-1f8842305b85@2ndQuadrant.com https://git.postgresql.org/pg/commitdiff/af25bc03e17eb0aba195e42506b1a15f47178e44 Tom Lane pushed: - De-clutter display of script runtimes in pg_regress. Add more whitespace, per suggestion from Peter Eisentraut. Discussion: https://postgr.es/m/e265e2ae-e92e-5ab9-dc68-60b6cb047b3d@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/93b5cc039e2328b7ac256de57a25c810d50a7f29 - Fix omissions in ecpg/test/sql/.gitignore. Oversights in commits 050710b36 and e81f0e311. https://git.postgresql.org/pg/commitdiff/315dcffb949bba8d2a002664bb6c4718e28b803b - Fix incorrect strictness test for ArrayCoerceExpr expressions. The recursion in contain_nonstrict_functions_walker() was done wrong, causing the strictness check to be bypassed for a parse node that is the immediate input of an ArrayCoerceExpr node. This could allow, for example, incorrect decisions about whether a strict SQL function can be inlined. I didn't add a regression test, because (a) the bug is so narrow and (b) I couldn't think of a test case that wasn't dependent on a large number of other behaviors, to the point where it would likely soon rot to the point of not testing what it was intended to. I broke this in commit c12d570fa, so back-patch to v11. Discussion: https://postgr.es/m/27571.1550617881@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/1571bc0f0613a82befe1a6eda39df161777231ad - Improve planner's understanding of strictness of type coercions. PG type coercions are generally strict, ie a NULL input must produce a NULL output (or, in domain cases, possibly an error). The planner's understanding of that was a bit incomplete though, so improve it: * Teach contain_nonstrict_functions() that CoerceViaIO can always be considered strict. Previously it believed that only if the underlying I/O functions were marked strict, which is often but not always true. * Teach clause_is_strict_for() that CoerceViaIO, ArrayCoerceExpr, ConvertRowtypeExpr, CoerceToDomain can all be considered strict. Previously it knew nothing about any of them. The main user-visible impact of this is that IS NOT NULL predicates can be proven to hold from expressions involving casts in more cases than before, allowing partial indexes with such predicates to be used without extra pushups. This reduces the surprise factor for users, who may well be used to ordinary (function-call-based) casts being known to be strict. Per a gripe from Samuel Williams. This doesn't rise to the level of a bug, IMO, so no back-patch. Discussion: https://postgr.es/m/27571.1550617881@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/e04a3905e4f2e93bbd8fca08c3baeed7b15a48cf - Speed up match_eclasses_to_foreign_key_col() when there are many ECs. Check ec_relids before bothering to iterate through the EC members. On a perhaps extreme, but still real-world, query in which match_eclasses_to_foreign_key_col() accounts for the bulk of the planner's runtime, this saves nearly 40% of the runtime. It's a bit of a stopgap fix, but it's simple enough to be back-patched to 9.6 where this code came in; so let's do that. David Rowley Discussion: https://postgr.es/m/6970.1545327857@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/fa86238f1eac5b1bfb3887d2deb138f53da82c9b - Move estimate_hashagg_tablesize to selfuncs.c, and widen result to double. It seems to make more sense for this to be in selfuncs.c, since it's largely a statistical-estimation thing, and it's related to other functions like estimate_hash_bucket_stats that are there. While at it, change the result type from Size to double. Perhaps at one point it was impossible for the result to overflow an integer, but I've got no confidence in that proposition anymore. Nothing's actually done with the result except to compare it to a work_mem-based limit, so as long as we don't get an overflow on the way to that comparison, things should be fine even with very large dNumGroups. Code movement proposed by Antonin Houska, type change by me Discussion: https://postgr.es/m/25767.1549359615@localhost https://git.postgresql.org/pg/commitdiff/0c7d53793079a1af3f070d93e3eb86a52720f6e7 - Fix mark-and-restore-skipping test case to not be a self-join. There isn't any good reason for this test to be a self-join rather than a join between separate tables, except that it saved a couple of SQL commands for setup. A proposed patch to optimize away self-joins breaks the test, so adjust it to avoid that happening. Discussion: https://postgr.es/m/64486b0b-0404-e39e-322d-0801154901f3@postgrespro.ru https://git.postgresql.org/pg/commitdiff/24d08f3c0a1f04ea8bac68eb3aa3b069680e43f5 - Fix plan created for inherited UPDATE/DELETE with all tables excluded. In the case where inheritance_planner() finds that every table has been excluded by constraints, it thought it could get away with making a plan consisting of just a dummy Result node. While certainly there's no updating or deleting to be done, this had two user-visible problems: the plan did not report the correct set of output columns when a RETURNING clause was present, and if there were any statement-level triggers that should be fired, it didn't fire them. Hence, rather than only generating the dummy Result, we need to stick a valid ModifyTable node on top, which requires a tad more effort here. It's been broken this way for as long as inheritance_planner() has known about deleting excluded subplans at all (cf commit 635d42e9c), so back-patch to all supported branches. Amit Langote and Tom Lane, per a report from Petr Fedorov. Discussion: https://postgr.es/m/5da6f0f0-1364-1876-6978-907678f89a3e@phystech.edu https://git.postgresql.org/pg/commitdiff/ab5fcf2b04f9cc4ecccb1832faabadb047087d23 - Fix ecpg bugs caused by missing semicolons in the backend grammar. The Bison documentation clearly states that a semicolon is required after every grammar rule, and our scripts that generate ecpg's grammar from the backend's implicitly assumed this is true. But it turns out that only ancient versions of Bison actually enforce that. There have been a couple of rules without trailing semicolons in gram.y for some time, and as a consequence, ecpg's grammar was faulty and produced wrong output for the affected statements. To fix, add the missing semis, and add some cross-checks to ecpg's scripts so that they'll bleat if we mess this up again. The cases that were broken were: * "SET variable = DEFAULT" (but not "SET variable TO DEFAULT"), as well as allied syntaxes such as ALTER SYSTEM SET ... DEFAULT. These produced syntactically invalid output that the server would reject. * Multiple type names in DROP TYPE/DOMAIN commands. Only the first type name would be listed in the emitted command. Per report from Daisuke Higuchi. Back-patch to all supported versions. Discussion: https://postgr.es/m/1803D792815FC24D871C00D17AE95905DB51CE@g01jpexmbkw24 https://git.postgresql.org/pg/commitdiff/9e138a401d19acc2129ebfd37e7609589210ff67 Andres Freund pushed: - Remove line duplicated during conflict resolution. I included the duplicated ExecTypeFromTL in 578b2297 "Remove WITH OIDS support". Reported-By: Peter Eisentraut Discussion: https://postgr.es/m/ba819888-63c6-7f98-6acb-3731142d9414@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/22bc403029c096639a74d7c91069bf9e8a35460f Peter Eisentraut pushed: - Use varargs macro for CACHEDEBUG. Reviewed-by: Andres Freund <andres@anarazel.de> https://git.postgresql.org/pg/commitdiff/90cfa49003831dbea109a9f0a7924dc95c1bf1c5 - Fix dbtoepub output file name. In previous releases, the input file of dbtoepub was postgres.xml, and dbtoepub knows to derive the output file name postgres.epub from that automatically. But now the intput file is postgres.sgml (since postgres.sgml is itself an XML file and we no longer need the intermediate postgres.xml file), but dbtoepub doesn't know how to deal with the .sgml suffix, so the automatically derived output file name becomes postgres.sgml.epub. Fix by adding an explicit -o option. https://git.postgresql.org/pg/commitdiff/7aa00d2464b4e14d553e8a64adacfe9741939e14 - pg_regress: Don't use absolute paths for the diff. Don't expand inputfile and outputfile to absolute paths globally, just where needed. In particular, pass them as is to the file name arguments of the diff command, so that we don't see the full absolute path in the diff header, which makes the diff unnecessarily verbose and harder to read. Discussion: https://www.postgresql.org/message-id/0cc82900-c457-1cee-3ab2-7b0f5d215061@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/1995552deb5479a50ec9044f0179f906ff7772e0 - doc: Add security information about pg_stat_activity. Add a basic note that some columns in pg_stat_activity and related views are not visible to all users. Discussion: https://www.postgresql.org/message-id/3018acd9-e5d8-1e85-5ed7-47276cd77569%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/213eae9b8a8a6b2ce3b0e5f5dc86d4b267096398 - Hide other user's pg_stat_ssl rows. Change pg_stat_ssl so that an unprivileged user can only see their own rows; other rows will be all null. This makes the behavior consistent with pg_stat_activity, where information about where the connection came from is also restricted. Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://www.postgresql.org/message-id/flat/63117976-d02c-c8e2-3aef-caa31a5ab8d3%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/f9692a769b16f53be80f819fa5ee91e28dc7683a - Add const qualifier. New code introduced in 050710b36964dee7e1b2bf6b5ef00041fd5d2787. The lack of const is not currently a compiler warning, but it's nice to have for consistency with surrounding code. https://git.postgresql.org/pg/commitdiff/1373ba55c9b9c9a5e4705daa03643255b4de1519 - Revert "pg_regress: Don't use absolute paths for the diff". This reverts commit 1995552deb5479a50ec9044f0179f906ff7772e0. Several developers didn't like the new behavior. https://git.postgresql.org/pg/commitdiff/f27522553992132d34c67caeea193d57934111cf Dean Rasheed pushed: - Fix DEFAULT-handling in multi-row VALUES lists for updatable views. INSERT ... VALUES for a single VALUES row is implemented differently from a multi-row VALUES list, which causes inconsistent behaviour in the way that DEFAULT items are handled. In particular, when inserting into an auto-updatable view on top of a table with a column default, a DEFAULT item in a single VALUES row gets correctly replaced with the table column's default, but for a multi-row VALUES list it is replaced with NULL. Fix this by allowing rewriteValuesRTE() to leave DEFAULT items in the VALUES list untouched if the target relation is an auto-updatable view and has no column default, deferring DEFAULT-expansion until the query against the base relation is rewritten. For all other types of target relation, including tables and trigger- and rule-updatable views, we must continue to replace DEFAULT items with NULL in the absence of a column default. This is somewhat complicated by the fact that if an auto-updatable view has DO ALSO rules attached, the VALUES lists for the product queries need to be handled differently from the original query, since the product queries need to act like rule-updatable views whereas the original query has auto-updatable view semantics. Back-patch to all supported versions. Reported by Roger Curley (bug #15623). Patch by Amit Langote and me. Discussion: https://postgr.es/m/15623-5d67a46788ec8b7f@postgresql.org https://git.postgresql.org/pg/commitdiff/41531e42d34f4aca117d343b5e40f3f757dec5fe Amit Kapila pushed: - Doc: Update the documentation for FSM behavior for small tables. In commit b0eaa4c51b, we have avoided the creation of FSM for small tables. So the functions that use FSM to compute the free space can return zero for such tables. This was previously also possible for the cases where the vacuum has not been triggered to update FSM. This commit updates the comments in code and documentation to reflect this behavior. Author: John Naylor Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CACPNZCtba-3m1q3A8gxA_vxg=T7gQf7gMbpR4Ciy5LntY-j+0Q@mail.gmail.com https://git.postgresql.org/pg/commitdiff/29d108cdecbe918452e70041d802cc515b2d56b8 Álvaro Herrera pushed: - Make object address handling more robust. pg_identify_object_as_address crashes when passed certain tuples from inconsistent system catalogs. Make it more defensive. Author: Álvaro Herrera Reviewed-by: Michaël Paquier Discussion: https://postgr.es/m/20190218202743.GA12392@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/5721b9b3ceaa57219244954a6084d107b73082b6 - Report correct name in autovacuum "work items" activity. We were reporting the database name instead of the relation name to pg_stat_activity. Repair. Reported-by: Justin Pryzby Discussion: https://postgr.es/m/20190220185552.GR28750@telsasoft.com https://git.postgresql.org/pg/commitdiff/98098faaff77a632c759c967f3b956524e492ee4 Andrew Gierth pushed: - Use an unsigned char for bool if we don't use the native bool. On (rare) platforms where sizeof(bool) > 1, we need to use our own bool, but imported c99 code (such as Ryu) may want to use bool values as array subscripts, which elicits warnings if bool is defined as char. Using unsigned char instead should work just as well for our purposes, and avoid such warnings. Per buildfarm members prariedog and locust. https://git.postgresql.org/pg/commitdiff/d26a810ebf9e419556a60bdc0a4190883c38f4c4 Robert Haas pushed: - Delay lock acquisition for partitions until we route a tuple to them. Instead of locking all partitions to which we might route a tuple at executor startup, just lock them as we use them. In some cases such a partition might get locked at executor startup anyway because it appears in the query's range table for some other reason, but in other cases this is a bit savings. This changes the order in which partitions are locked in some cases, which might conceivably create deadlock hazards that don't exist today, but per discussion, it seems like such cases should be rare enough that we can neglect them in favor of improving performance. David Rowley, reviewed and tested by Tomas Vondra, Sho Kato, John Naylor, Tom Lane, and me. Discussion: http://postgr.es/m/CAKJS1f-=FnMqmQP6qitkD+xEddxw22ySLP-0xFk3JAqUX2yfMw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/9eefba181f7782d27d85d7e94e6028371e7ab2d7 - Move code for managing PartitionDescs into a new file, partdesc.c. This is similar in spirit to the existing partbounds.c file in the same directory, except that there's a lot less code in the new file created by this commit. Pending work in this area proposes to add a bunch more code related to PartitionDescs, though, and this will give us a good place to put it. Discussion: http://postgr.es/m/CA+TgmoZUwPf_uanjF==gTGBMJrn8uCq52XYvAEorNkLrUdoawg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/1bb5e78218107db543086e71fc162d36a955b08e Thomas Munro pushed: - Tolerate ENOSYS failure from sync_file_range(). One unintended consequence of commit 9ccdd7f6 was that Windows WSL users started getting a panic whenever we tried to initiate data flushing with sync_file_range(), because WSL does not implement that system call. Previously, they got a stream of periodic warnings, which was also undesirable but at least ignorable. Prevent the panic by handling ENOSYS specially and skipping the panic promotion with data_sync_elevel(). Also suppress future attempts after the first such failure so that the pre-existing problem of noisy warnings is improved. Back-patch to 9.6 (older branches were not affected in this way by 9ccdd7f6). Author: Thomas Munro and James Sewell Tested-by: James Sewell Reported-by: Bruce Klein Discussion: https://postgr.es/m/CA+mCpegfOUph2U4ZADtQT16dfbkjjYNJL1bSTWErsazaFjQW9A@mail.gmail.com https://git.postgresql.org/pg/commitdiff/483520eca426fb1b428e8416d1d014ac5ad80ef4 - Tolerate EINVAL when calling fsync() on a directory. Previously, we tolerated EBADF as a way for the operating system to indicate that it doesn't support fsync() on a directory. Tolerate EINVAL too, for older versions of Linux CIFS. Bug #15636. Back-patch all the way. Reported-by: John Klann Discussion: https://postgr.es/m/15636-d380890dafd78fc6@postgresql.org https://git.postgresql.org/pg/commitdiff/f16735d80d2fbe1c86f4ac044ee66fe2073b8877 == Pending Patches == Thomas Munro sent in a patch to fix inconsistent out-of-memory error reporting in dsa.c. Donald Dong sent in another revision of a patch to improve cost computations for EXPLAIN. Noah Misch sent in a patch to restrict vac_update_datfrozenxid() to one backend per database, and restrict vac_truncate_clog() and asyncQueueAdvanceTail() to one backend per cluster. Peter Eisentraut sent in a patch to add the eponymous environment GUC and a new --clear-environment option for pg_ctl. Michael Banck sent in two more revisions of a patch to make it possible to track the progress of pg_verify_checksums. Euler Taveira de Oliveira sent in two revisions of a patch to pg_restore to stdout in --file. Aleksey Kondratov sent in two more revisions of a patch to pg_rewind which adds options to use restore_command from command line or cluster config. Kyotaro HORIGUCHI sent in three more revisions of a patch to make the stats collector use shared memory instead of files. Iwata Aya sent in two more revisions of a patch to add a libpq debug log. Chengchao Yu sent in another revision of a patch to fix a deadlock issue in single user mode when an I/O failure occurs. Dmitry Dolgov sent in another revision of a patch to implement generic type subscripting. Masahiko Sawada sent in another revision of a patch to create a copy function for replication slots. Surafel Temesgen sent in two more revisions of a patch to let COPY continue after a failure and log the failing rows. Peter Eisentraut sent in two more revisions of a patch to add collations with nondeterministic comparison, of which case-insensitive ones are an example. Amit Langote sent in three more revisions of a patch to speed up planning with partitions. Michaël Paquier sent in three more revisions of a patch to fix an infelicity in 2PC's locking. Takayuki Tsunakawa sent in another revision of a patch to speed up transaction completion in the case where many relations are accessed in a transaction. Nikita Glukhov sent in three more revisions of a patch to add kNN to B-Tree indexes. Dmitry Dolgov sent in another revision of a patch to implement index skip scan a.k.a. loose index scan atop IndexOnlyScan. Artur Zakirov sent in another revision of a patch to make it possible to use shared Ispell dictionaries. Peter Eisentraut sent in a patch to hide other users' pg_stat_ssl rows from unprivileged users. David Rowley sent in another revision of a patch to ensure that partitions are locked on demand rather than in advance during INSERT and UPDATE. Sergei Kornilov sent in a patch to clarify the in-line documentation of bgwriter_lru_maxpages in the sample postgresql.conf. Etsuro Fujita sent in another revision of a patch to fix some problems with plan estimates in the PostgreSQL FDW. Kyotaro HORIGUCHI and Takeshi Ideriha traded patches to protect syscache from bloating with negative cache entries. Robert Haas sent in a patch to add a catalog_cache_memory_target GUC. Haribabu Kommi sent in another revision of a patch to add a pluggable storage API. Amit Kapila and John Naylor traded patches to avoid creation of the free space map for small tables. Tom Lane sent in another revision of a patch to add equivalence class indexing. Michaël Paquier sent in another revision of a patch to add a flag to format_type_extended to enforce NULL-ness, refactor the format procedure and operator APIs to be more modular, and eliminate the user-visible cache lookup errors for objaddr SQL functions. Christoph Berg sent in a patch to align timestamps in pg_regress output. Pierre Ducroquet sent in a patch to document some of the row-level security limitations. Pavan Deolasee sent in another revision of a patch to fix an infelicity between COPY FREEZE and setting PD_ALL_VISIBLE/visibility map bits. Justin Pryzby sent in another revision of a patch to show the size of a partitioned table in psql. Paul Ramsey sent in another revision of a patch to implement compressed TOAST slicing. David Rowley sent in another revision of a patch to transform suitable NOT IN constructs into anti-joins, greatly speeding up execution. Thomas Munro sent in a PoC patch to add parameterized vectors and sorting/searching support, inject a few extra tricks into simplevector.h, convert the type of various relationOids members from List to oid_vector, add a few more simplevector improvements, and convert p_joinexprs from a List to a nodep_vector. Mitani sent in two revisions of a patch to enable transactions on partitioned tables via the PostgreSQL FDW. Shawn Debnath sent in another revision of a patch to refactor the fsync mechanism to support future SMGR implementations, along with a couple of temporary patches to instrument. Robbie Harwood sent in a patch to log the encryption strength in libpq GSSAPI connections. Gilles Darold sent in another revision of a patch to psql to add schema total size to the output of \dn+. Pavel Stěhule and Chapman Flack traded patches to add variadic support to LEAST and GREATEST. Nikita Glukhov sent in a patch to make some JSONB functions more efficient. Tom Lane sent in another revision of a patch to remove unneeded self-joins. Kyotaro HORIGUCHI sent in another revision of a patch to add a WAL relief vent for replication slots. Haribabu Kommi sent in another revision of a patch to libpq to add a TargetSessionAttrsType enum, make transaction_read_only a GUC_REPORT variable, and add a prefer-read target_session_attrs type. Yuzuko Hosoya sent in a patch to fix a bug in the pruning of default partitions. Peter Eisentraut sent in another revision of a patch to create a unified logging system for command-line programs. Dean Rasheed sent in a patch to clarify and fix OVERRIDING {USER | SYSTEM} VALUES in DML. Magnus Hagander sent in two revisions of a patch to fix an issue that manifested as checksum errors in pg_stat_database. Magnus Hagander sent in another revision of a patch to prevent XID wraparound by making it easier to reap temp tables. Álvaro Herrera sent in another revision of a patch to make it possible for foreign keys to point at partitioned tables. Robert Haas sent in another revision of the lastRemovedXid-to-primary patch. Amit Khandekar sent in another revision of a patch to add a prefetch_xid_horizon_scan. Álvaro Herrera sent in another revision of a patch to make it possible to monitor the progress of CREATE INDEX CONCURRENTLY. Peter Eisentraut and Corey Huinker traded patches to clean up ri_triggers.c. Andrew Gierth sent in a patch to make JIT on FreeBSD ARMv7 work. Andrew Dunstan sent in a patch to fix some FOP warnings about id attributes in title tags in the documentation. Tomáš Vondra sent in another revision of a patch to add multi-range capability to BRIN indexes. Magnus Hagander sent in a patch to prevent dropping temp schemas. Tomáš Vondra sent in a patch to enable including configuration parameters in EXPLAIN output via a new SETTINGS option. Tom Lane sent in a patch to convert Lists into arrays. David Rowley sent in another revision of a patch to forgo generating single-subpath Append and MergeAppend paths. David Rowley sent in another revision of a patch to allow Append to be used in place of MergeAppend for some cases. David Rowley sent in another revision of a patch to make it possible to make pg_dump output multiple-values INSERTs. Alexander Korotkov sent in another revision of a patch to implement JSONPATH. Andrey Borodin sent in another revision of a patch to implement GiST verification function for amcheck. Jeff Janes sent in another revision of a patch to fix the Bloom index cost model.
В списке pgsql-announce по дате отправления:
Предыдущее
От: Bo PengДата:
Сообщение: Pgpool-II 4.0.3, 3.7.8, 3.6.15, 3.5.19 and 3.4.22 are nowofficially released.