== PostgreSQL Weekly News - January 31 2016 == "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until February 28th. http://5432meet.us/
== PostgreSQL Product News == faker_fdw 0.1.0, a foreign data wrapper for PostgreSQL that generates fake randomized data, released. https://github.com/guedes/faker_fdw PostgreDAC 3.1.0 a Delphi/C++ builder for PostgreSQL, released. http://microolap.com/products/connectivity/postgresdac/download/ == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2016-01/ == PostgreSQL Local == Prague PostgreSQL Developer Day 2016 (P2D2 2016) is a two-day conference that will be held on February 17-18 2016 in Prague, Czech Republic. Czech language web site below: http://www.p2d2.cz/ The annual Indian PGday will be held in Bengaluru, Karnataka, India on February 26, 2016. http://pgday.in The first pan-Asian PostgreSQL conference will be held March 16-17, 2016 in Singapore. http://2016.pgday.asia/ Nordic PGDay 2016 is a one day one track conference which will be held in Helsinki, Finland, on March 17, 2016. Registration is still open. http://2016.nordicpgday.org/ The 8th PostgreSQL Session will be held on April 6th, 2016, in Lyon, France. The CfP is open until February 29, 2016 at call-for-paper <AT> postgresql-sessions <DOT> org. PGConf US 2016 will take place April 18-20, 2016 in NYC. http://www.pgconf.us/2016/ LinuxFest Northwest will take place April 23-24, 2016 at Bellingham Technical College in Bellingham, Washington, USA. The CfP is now open. http://www.linuxfestnorthwest.org/2016/present FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina. The CfP is open. https://2016.foss4g-na.org/cfp PGCon 2016 will be held May 17-21, 2016 in Ottawa. http://www.pgcon.org/ This year's Swiss PGDay will be held on June 24, 2016 at the University of Applied Sciences in Rapperswil (Switzerland). The CfP is open. http://www.pgday.ch/ == 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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. Spanish language to p...@arpug.com.ar. == Applied Patches == Tatsuo Ishii pushed: - Revert "Fix broken multibyte regression tests." This reverts commit efc1610b64b04e7cf08cc1d6c608ede8b7d5ff07. The commit was plain wrong as pointed out in: http://www.postgresql.org/message-id/27771.1448736...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/ad2e233385ee3e441454f20a02ac0f68f7873bc2 Kevin Grittner pushed: - Various fixes to REFRESH MATERIALIZED VIEW tab completion. Masahiko Sawada, Fujii Masao, Kevin Grittner http://git.postgresql.org/pg/commitdiff/879d71393de001880e031255e41ca322c6027713 Tom Lane pushed: - Improve ResourceOwners' behavior for large numbers of owned objects. The original coding was quite fast so long as objects were always released in reverse order of addition; otherwise, it degenerated into O(N^2) behavior due to searching for the array element to delete. Improve matters by switching to hashed storage when the number of objects of a given type exceeds 64. (The cutover point is open to discussion, of course, but some simple performance testing suggests that hashing has enough overhead to be a loser below there.) Also, refactor resowner.c so that we don't need N copies of the array management code. Since all the resource IDs the code currently needs to deal with are either pointers or integers, it seems sufficient to create a one-size-fits-all infrastructure in which everything is converted to a Datum for storage. Aleksander Alekseev, reviewed by Stas Kelvich, further fixes by me http://git.postgresql.org/pg/commitdiff/cc988fbb0bf60a83b628b5615e6bade5ae9ae6f4 - Fix startup so that log prefix %h works for the log_connections message. We entirely randomly chose to initialize port->remote_host just after printing the log_connections message, when we could perfectly well do it just before, allowing %h and %r to work for that message. Per gripe from Artem Tomyuk. http://git.postgresql.org/pg/commitdiff/b8682a7155bee06667c5773e1ca6499a670338b0 - Fix incorrect pattern-match processing in psql's \det command. listForeignTables' invocation of processSQLNamePattern did not match up with the other ones that handle potentially-schema-qualified names; it failed to make use of pg_table_is_visible() and also passed the name arguments in the wrong order. Bug seems to have been aboriginal in commit 0d692a0dc9f0e532. It accidentally sort of worked as long as you didn't inquire too closely into the behavior, although the silliness was later exposed by inconsistencies in the test queries added by 59efda3e50ca4de6 (which I probably should have questioned at the time, but didn't). Per bug #13899 from Reece Hart. Patch by Reece Hart and Tom Lane. Back-patch to all affected branches. http://git.postgresql.org/pg/commitdiff/7e22470471e9ed7010fcbc4a18b0a461d088d7c7 Álvaro Herrera pushed: - Mostly mechanical cleanup of pgbench pgindent for recent commits; also change some variables from int to boolean, which is how they are really used. Mostly submitted by Fabien Coelho; this is in preparation to commit further patches to the file. http://git.postgresql.org/pg/commitdiff/5b3cc1af2f9ba7b0e30054b30e28bd2cc4175b78 - pgbench: improve multi-script support. Previously, it was possible to specify one or several custom scripts to run, or only one of the builtin scripts. With this patch it is also possible to specify to run the builtin scripts multiple times, using the new -b option. Also, unify the code for both cases; this eases future pgbench improvements. Author: Fabien Coelho Review: Michaël Paquier, Álvaro Herrera http://git.postgresql.org/pg/commitdiff/8bea3d2219844887e170471f223ba100b3c17571 - Fix spi_worker mention in bgworker documentation. The documentation mentioned contrib/ but the module was moved to src/test/modules/ by commit 22dfd116a127a of 9.5 era. Problem pointed out by Dickson Guedes in bug #13896 Backpatch-to: 9.5. http://git.postgresql.org/pg/commitdiff/e37483857dc4cf7106a47847620a074b1c921142 - pgbench: refactor handling of stats tracking. This doesn't add any functionality but just shuffles things around so that it can be reused and improved later. Author: Fabien Coelho Reviewed-by: Michael Paquier, Álvaro Herrera http://git.postgresql.org/pg/commitdiff/b60376649600268b75e1e8be86a6a6fe7fb9b3c3 Fujii Masao pushed: - Fix volatility marking of pg_size_pretty function. pg_size_pretty function should be marked immutable rather than volatile because it always returns the same result given the same argument. Pavel Stehule http://git.postgresql.org/pg/commitdiff/e09507a272e32bf203a51cc3cbb4d34028cba331 - Add gin_clean_pending_list function to clean up GIN pending list. This function cleans up the pending list of the GIN index by moving entries in it to the main GIN data structure in bulk. It returns the number of pages cleaned up from the pending list. This function is useful, for example, when the pending list needs to be cleaned up *quickly* to improve the performance of the search using GIN index. VACUUM can do the same thing, too, but it may take days to run on a large table. Jeff Janes, reviewed by Julien Rouhaud, Jaime Casanova, Alvaro Herrera and me. Discussion: CAMkU=1x8zFkpfnozXyt40zmR3Ub_kHu58LtRmwHUKRgQss7=i...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/7f46eaf035440564e7dae3b03916735b92c83248 - Fix typos in comments and doc overriden -> overridden. The misspelling in create_extension.sgml was introduced in b67aaf2, so no need to backpatch. http://git.postgresql.org/pg/commitdiff/62e2ddd4ca47756372f2788256f445bba6bb492c - Fix syntax descriptions for replication commands in logicaldecoding.sgml Patch-by: Oleksandr Shulgin Reviewed-by: Craig Ringer and Fujii Masao Backpatch-through: 9.4 where logical decoding was introduced http://git.postgresql.org/pg/commitdiff/c35c4ec45443cfb36893ce15769659c60fb80f3b Robert Haas pushed: - Fix cross-version pg_dump for aggregate combine functions. Fixes a defect in commit a7de3dc5c346e07e0439275982569996e645b3c2. David Rowley, per report from Jeff Janes, who also checked that the fix works. http://git.postgresql.org/pg/commitdiff/025b2f339260b727e113a01a20b616a336bff00a - Assert that create_unique_path returns non-NULL. Per off-list discussion with Tom Lane and Michael Paquier, Coverity gets unhappy if this is not done. http://git.postgresql.org/pg/commitdiff/eaf7b1f6432480e93d8c6824fbd503761a1c1a4f - Add [NO]BYPASSRLS options to CREATE USER and ALTER USER docs. Patch-by: Filip Rembiałkowski Reviewed-by: Robert Haas Backpatch-through: 9.5 http://git.postgresql.org/pg/commitdiff/80db1ca2d79338c35bb3e01f2aecad78c2231b06 - Avoid multiple foreign server connections when all use same user mapping. Previously, postgres_fdw's connection cache was keyed by user OID and server OID, but this can lead to multiple connections when it's not really necessary. In particular, if all relevant users are mapped to the public user mapping, then their connection options are certainly the same, so one connection can be used for all of them. While we're cleaning things up here, drop the "server" argument to GetConnection(), which isn't really needed. This saves a few cycles because callers no longer have to look this up; the function itself does, but only when establishing a new connection, not when reusing an existing one. Ashutosh Bapat, with a few small changes by me. http://git.postgresql.org/pg/commitdiff/96198d94cb7adc664bda341842dc8db671d8be72 - Add missing quotation mark. This fix accidentally got left out of the previous commit. http://git.postgresql.org/pg/commitdiff/2f6b041f76e6de0fa2921131a23bda794ffb83bb - Only try to push down foreign joins if the user mapping OIDs match. Previously, the foreign join pushdown infrastructure left the question of security entirely up to individual FDWs, but it would be easy for a foreign data wrapper to inadvertently open up subtle security holes that way. So, make it the core code's job to determine which user mapping OID is relevant, and don't attempt join pushdown unless it's the same for all relevant relations. Per a suggestion from Tom Lane. Shigeru Hanada and Ashutosh Bapat, reviewed by Etsuro Fujita and KaiGai Kohei, with some further changes by me. http://git.postgresql.org/pg/commitdiff/fbe5a3fb73102c2cfec11aaaa4a67943f4474383 - postgres_fdw: Refactor deparsing code for locking clauses. The upcoming patch to allow join pushdown in postgres_fdw needs to use this code multiple times, which requires moving it to deparse.c. That seems like a good idea anyway, so do that now both on general principle and to simplify the future patch. Inspired by a patch by Shigeru Hanada and Ashutosh Bapat, but I did it a little differently than what that patch did. http://git.postgresql.org/pg/commitdiff/b88ef201d46e6519b5e0589358c952a4c0f5bf0f - Migrate PGPROC's backendLock into PGPROC itself, using a new tranche. Previously, each PGPROC's backendLock was part of the main tranche, and the PGPROC just contained a pointer. Now, the actual LWLock is part of the PGPROC. As with previous, similar patches, this makes it significantly easier to identify these lwlocks in LWLOCK_STATS or Trace_lwlocks output and improves modularity. Author: Ildus Kurbangaliev Reviewed-by: Amit Kapila, Robert Haas http://git.postgresql.org/pg/commitdiff/b319356f0e94a6482c726cf4af96597c211d8d6e - Migrate replication slot I/O locks into a separate tranche. This is following in a long train of similar changes and for the same reasons - see b319356f0e94a6482c726cf4af96597c211d8d6e and fe702a7b3f9f2bc5bf6d173166d7d55226af82c8 inter alia. Author: Amit Kapila Reviewed-by: Alexander Korotkov, Robert Haas http://git.postgresql.org/pg/commitdiff/2251179e6ad3a865d2f55e1832fab34608fcce43 - postgres_fdw: More preliminary refactoring for upcoming join pushdown. The code that generates a complete SQL query for a given foreign relation was repeated in two places, and they didn't quite agree: the EXPLAIN case left out the locking clause. Centralize the code so we get the same behavior everywhere, and adjust calling conventions and which functions are static vs. extern accordingly . Centralize the code so we get the same behavior everywhere, and adjust calling conventions and which functions are static vs. extern accordingly. Ashutosh Bapat, reviewed and slightly adjusted by me. http://git.postgresql.org/pg/commitdiff/cc592c48c58d9c1920f8e2063756dcbcce79e4dd Peter Eisentraut pushed: - Fix whitespace http://git.postgresql.org/pg/commitdiff/9217bf3961c8420ca38bbe10819fb022185b9744 Andrew Dunstan pushed: - Fix error in documentated use of mingw-w64 compilers Error reported by Igal Sapir. http://git.postgresql.org/pg/commitdiff/7dc09c138493424e32876894c2c68ddecff3afc6 == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Michael Paquier sent in a patch to ensure that fsyncs actually fsync in the case of renaming. Corey Huinker and Michael Paquier traded revisions of a patch to add generate_series(date,date) and generate_series(date,date,integer). Corey Huinker sent in two more revisions of a patch to allow limiting FETCH by bytes. Kaigai Kouhei sent in another revision of a patch to add CustomScan support and an example. Vinayak Pokale sent in two more revisions of a patch to implement a vacuum progress checker. Amit Kapila sent in two more revisions of a patch to expand pg_stat_activity to chow waiting. Pavel Stěhule sent in two more revisions of a patch to add pg_size_bytes(). Pavel Stěhule sent in another revision of a patch to add num_notnulls(). Stas Kelvich sent in a patch to speed up two-phase commits by reading state files into memory during the replay of prepare, and if checkpoint/restartpoint occurs between prepare and commit, to move the data to files. Craig Ringer sent in two more revisions of a patch to implement failover slots. SAWADA Masahiko sent in two revisions of a patch to check for a suitable index to use in REFRESH MATERIALIZED VIEW CONCURRENTLY. Kyotaro HORIGUCHI sent in another revision of a patch to allow async-capable nodes to run the node before ExecProcNode(). Pavel Stěhule and Iacob Catalin traded patches to add an ereport function to PL/PythonU. Anastasia Lubennikova sent in another revision of a patch to add covering unique indexes. Etsuro Fujita sent in a patch to fix some capitalizations in fdwhandlers.sgml. Erik Rijkers sent in a patch to fix some typos in the pgbench docs. Aleksander Alekseev sent in another revision of a patch to optimize dynahashes. Stas Kelvich sent in another revision of a patch to add tsvector editing functions. Pavel Stěhule sent in another revision of a patch to better support %TYPE in PL/pgsql. José Arthur Benetasso Villanova sent in another revision of a patch to log operating system usernames connecting via unix socket. Fabien COELHO sent in a patch to fix a couple of minor bugs in pgbench. Ashutosh Bapat sent in a patch to keep from making separate DB connections to remote servers when not needed in FDWs. Artur Zakirov sent in a patch to fix some infelicities in tsearch2 parsing. Petr Jelínek sent in another revision of a patch to add a sequence access method. Peter Eisentraut sent in two more revisions of a patch to integrate better with systemd. Michael Paquier sent in three more revisions of a patch to avoid unneeded checkpoints. Noah Misch sent in two revisions of a patch to fix an issue that could cause a backend crash with nested CREATE TEMP TABLE invocations. Fabien COELHO and Michael Paquier traded patches to extend pgbench expressions with functions. Amit Kapila sent in a patch to reduce the number of WAL writes. Dilip Kumar sent in another revision of a patch to help scale relation extensions. Artur Zakirov sent in two more revisions of a patch to improve Hunspell dictionary support. Michael Paquier sent in a patch to fix some comment typos. Etsuro Fujita sent in another revision of a patch to make foreign table writes more efficient. Kaigai Kouhei sent in two more revisions of a patch to add CustomScan under a Gather node. Anastasia Lubennikova sent in three more revisions of a patch to compress B-Trees in a way that's analogous to that just used for GIN. Ashutosh Bapat sent in two more revisions of a patch to make read operations on the PostgreSQL FDW more efficient. Fujii Masao and SAWADA Masahiko traded patches to fix tab completion options for SET/RESET in psql. Alexander Korotkov sent in another revision of a patch to enable creating access methods with an example for Bloom filters. Alexander Korotkov sent in a patch to refactor SLRU tranches. Ashutosh Bapat sent in a patch to move the code to deparse SELECT statements into a function deparseSelectStmtForRel(). Vitaly Burovoy sent in a patch to fix an overflow in EXTRACT. Vik Fearing sent in another revision of a patch to add an idle-in-transaction timeout. Thomas Munro sent in a patch to detect SSI conflicts before reporting constraint violations. Vitaly Burovoy sent in a patch to make the behavior of all versions of the "isinf" function be similar. -- Sent via pgsql-announce mailing list (pgsql-announce@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-announce