== PostgreSQL Weekly News - April 12 2015 == The 4th Turkish PostgreSQL Conference will be held on May 9, 2015 in Istanbul. http://pgday.postgresql.org.tr/en/index.html
== PostgreSQL Product News == pgbouncer 1.5.5, a light-weight connection pooler for PostgreSQL, released. https://pgbouncer.github.io/downloads/ pgpool-II versions 3.4.2, 3.3.6, 3.2.11, 3.1.14, and 3.0.17 released. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2015-04/threads.php == PostgreSQL Local == The second Swiss Postgres Conference will be held June 25-26, 2015 at HSR Rapperswil. http://www.postgres-conference.ch/ There is a Postgres track in a database technology conference(DTCC) in April 18, 2015 in Beijing, China. http://dtcc.it168.com/list_jiabin.html pgDay Paris will be held in Paris France on April 21, 2015. http://pgday.paris/ Call for Papers for PGDay in Belfort, France ends April 13, 2015. The conference will be held June 2, 2015. http://select-2-6-2015-as-pgday.org PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ PGDay UK, Conference will be taking place on 7th July 2015 – it is aimed at the UK PostgreSQL Community. The CfP is open until 13 April 2015. http://www.postgresqlusergroup.org.uk The Call For Papers for PostgresOpen 2015, being held in Dallas, Texas from September 16th to 18th, is now open. http://2015.postgresopen.org/callforpapers/ == 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 == Fujii Masao pushed: - Fix typo in libpq.sgml. Back-patch to all supported versions. Michael Paquier http://git.postgresql.org/pg/commitdiff/5f6a9d056a3ba8ba66cace5d84e46caadc6e3a42 - Add file_ops.c to GETTEXT_FILES in nls.mk. Since file_ops.c contains translatable strings, it should have been listed in GETTEXT_FILES. http://git.postgresql.org/pg/commitdiff/29407f97746ba2543b1845afe8ae22af09d43e45 - Fix typo in comment. http://git.postgresql.org/pg/commitdiff/026fafde9159046ad26d0ccba92be0e802c70e92 - Remove obsolete FORCE option from REINDEX. FORCE option has been marked "obsolete" since very old version 7.4 but existed for backwards compatibility. Per discussion on pgsql-hackers, we concluded that it's no longer worth keeping supporting the option. http://git.postgresql.org/pg/commitdiff/17d436d2e894a91f3e8a9eb1bb1688cb515f1546 - Mark the second argument of pg_log as the translatable string in nls.mk. http://git.postgresql.org/pg/commitdiff/b216ad7bf1a9308c97d2032d4793010e8c8aa7ec Álvaro Herrera pushed: - Fix object identities for pg_conversion objects. This was already fixed in 0d906798f, but I failed to update the array-formatted case. This is not backpatched, since this only affects the code path introduced by commit a676201490c. http://git.postgresql.org/pg/commitdiff/70dc2db7f1dfdecdacf595bf00964cb20ad5a835 - pg_event_trigger_dropped_objects: add is_temp column. It now also reports temporary objects dropped that are local to the backend. Previously we weren't reporting any temp objects because it was deemed unnecessary; but as it turns out, it is necessary if we want to keep close track of DDL command execution inside one session. Temp objects are reported as living in schema pg_temp, which works because such a schema-qualification always refers to the temp objects of the current session. http://git.postgresql.org/pg/commitdiff/e9a077cad3799b41e8deef6fd8cb87e50164a791 - Remove variable shadowing. Commit a2e35b53 should have removed the variable declaration in the inner block, but didn't. As a result, the returned address might end up not being what was intended. http://git.postgresql.org/pg/commitdiff/4e17e32f53c2de4a862ee5ef8bdcfa9152c11e25 - Fix autovacuum launcher shutdown sequence. It was previously possible to have the launcher re-execute its main loop before shutting down if some other signal was received or an error occurred after getting SIGTERM, as reported by Qingqing Zhou. While investigating, Tom Lane further noticed that if autovacuum had been disabled in the config file, it would misbehave by trying to start a new worker instead of bailing out immediately -- it would consider itself as invoked in emergency mode. Fix both problems by checking the shutdown flag in a few more places. These problems have existed since autovacuum was introduced, so backpatch all the way back. http://git.postgresql.org/pg/commitdiff/5df64f298d2863c9fb39437abb3ae6f988aedc0a - Change SQLSTATE for event triggers "wrong context" message. When certain event-trigger-only functions are called when not in the wrong context, they were reporting the "feature not supported" SQLSTATE, which is somewhat misleading. Create a new custom error code for such uses instead. Not backpatched since it may be seen as an undesirable behavioral change. Author: Michael Paquier. Discussion: https://www.postgresql.org/message-id/cab7npqq-5nakhqhh_nom7fpep37ncilkwpoj2yxb8tdoggb...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/73206812cd97436cffd8f331dbb09d38a2728162 - Optimize locking a tuple already locked by another subxact. Locking and updating the same tuple repeatedly led to some strange multixacts being created which had several subtransactions of the same parent transaction holding locks of the same strength. However, once a subxact of the current transaction holds a lock of a given strength, it's not necessary to acquire the same lock again. This made some coding patterns much slower than required. The fix is twofold. First we change HeapTupleSatisfiesUpdate to return HeapTupleBeingUpdated for the case where the current transaction is already a single-xid locker for the given tuple; it used to return HeapTupleMayBeUpdated for that case. The new logic is simpler, and the change to pgrowlocks is a testament to that: previously we needed to check for the single-xid locker separately in a very ugly way. That test is simpler now. As fallout from the HTSU change, some of its callers need to be amended so that tuple-locked-by-own-transaction is taken into account in the BeingUpdated case rather than the MayBeUpdated case. For many of them there is no difference; but heap_delete() and heap_update now check explicitely and do not grab tuple lock in that case. The HTSU change also means that routine MultiXactHasRunningRemoteMembers introduced in commit 11ac4c73cb895 is no longer necessary and can be removed; the case that used to require it is now handled naturally as result of the changes to heap_delete and heap_update. The second part of the fix to the performance issue is to adjust heap_lock_tuple to avoid the slowness: 1. Previously we checked for the case that our own transaction already held a strong enough lock and returned MayBeUpdated, but only in the multixact case. Now we do it for the plain Xid case as well, which saves having to LockTuple. 2. If the current transaction is the only locker of the tuple (but with a lock not as strong as what we need; otherwise it would have been caught in the check mentioned above), we can skip sleeping on the multixact, and instead go straight to create an updated multixact with the additional lock strength. 3. Most importantly, make sure that both the single-xid-locker case and the multixact-locker case optimization are applied always. We do this by checking both in a single place, rather than them appearing in two separate portions of the routine -- something that is made possible by the HeapTupleSatisfiesUpdate API change. Previously we would only check for the single-xid case when HTSU returned MayBeUpdated, and only checked for the multixact case when HTSU returned BeingUpdated. This was at odds with what HTSU actually returned in one case: if our own transaction was locker in a multixact, it returned MayBeUpdated, so the optimization never applied. This is what led to the large multixacts in the first place. Per bug report #8470 by Oskari Saarenmaa. http://git.postgresql.org/pg/commitdiff/27846f02c176eebe7e08ce51ed4d52140454e196 Simon Riggs pushed: - Fix spelling of author's name http://git.postgresql.org/pg/commitdiff/1cdf4d0b6ac41e200d904d3fe293e43e07fd3e3c Heikki Linnakangas pushed: - Fix process startup in pg_rewind. Don't allow pg_rewind to run as root on Unix platforms, as any new or replaced files in the data directory would become owned by root. On Windows, it can run under a user that has Administrator rights, but a restricted token needs to be used. This is the same we do e.g. in pg_resetxlog. Also, add missing set_pglocale_pgservice() call, to fix localization. Michael Paquier and Fujii Masao http://git.postgresql.org/pg/commitdiff/8a06c36aff4a94e5ffc3876cd85a1a16a82c754e - Fix reporting of missing or invalid command line arguments in pg_rewind. pg_fatal never returns, so a multi-line message cannot be printed by calling it twice. Michael Paquier and Fujii Masao http://git.postgresql.org/pg/commitdiff/ee075fcb130f834bd5913940b97ad53fd4d21e93 - Gitignore temp files generated by SSL regression suite. Michael Paquier http://git.postgresql.org/pg/commitdiff/0fb256dc8291657489e75ebb9cedc9a5012348ef - Make SSL regression test suite more portable by avoiding cp. Use perl 'glob' and File::Copy instead of "cp". This takes us one step closer to running the suite on Windows. Michael Paquier http://git.postgresql.org/pg/commitdiff/5d79b67bdd57c2fed3e66f5102bd79e88ecb5af3 - Remove duplicated words in comments. David Rowley http://git.postgresql.org/pg/commitdiff/a10589a5128e841d3faf94a2d8417a4f5497c4ac - Free leaked result set in pg_rewind. It was not significant in practice, it was just one instance of a small result set, but let's pacify Coverity. Michael Paquier http://git.postgresql.org/pg/commitdiff/74a68e37d059295e97cc55683c9342912a0ec81f Tom Lane pushed: - Fix assorted inconsistent function declarations. While gcc doesn't complain if you declare a function "static" and then define it not-static, other compilers do; and in any case the code is highly misleading this way. Add the missing "static" keywords to a couple of recent patches. Per buildfarm member pademelon. http://git.postgresql.org/pg/commitdiff/393de3a09868458dfb7ef765c544c34624ea1da2 Robert Haas pushed: - Make trace_sort control abbreviation debug output for the text opclass. This is consistent with what the new numeric suppor for abbreviated keys now does, and seems much more convenient than having a separate compiler define to control this debug output. Peter Geoghegan http://git.postgresql.org/pg/commitdiff/aea652abd3b6e41eeab58e14dfe3d3120592b443 Bruce Momjian pushed: - libpq: issue clear error message for nested service files. Previously an odd error message was generated. Nested service files are not supported. Report by David Johnston http://git.postgresql.org/pg/commitdiff/90a8b1f82b826ebe18a70e47dec3b342d7fcd8d9 - libpq: add newlines to SSPI error messages. Report by Tom Lane http://git.postgresql.org/pg/commitdiff/e4f1e0d842fa8e52d5972b19677ede5c36f44e98 Andres Freund pushed: - Fix typo in eb68379c3. I'd accidentally missed to rename PG_FORCE_NULL to BKI_FORCE_NULL in one place. Author: Jeevan Chalke Discussion: CAM2+6=vpoow5pqgqitjpx4qneokb7op8ad_8zg3qnhzmvvu...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/06d36fa40c5bf86004f9c968552f7cdb8f606d6d Magnus Hagander pushed: - Fix incorrect punctuation. Amit Langote http://git.postgresql.org/pg/commitdiff/8ae4600cd9a079981168def863edb38ef237da6c - Fix typo. Michael Paquier http://git.postgresql.org/pg/commitdiff/c9970ab937d53a169e3e9e6522963db7a530b7ee - Show owner of types in psql \dT+ http://git.postgresql.org/pg/commitdiff/a6f3c1f1e2c365dd7dee1e944389d62bf62aa22e - Add system view pg_stat_ssl. This view shows information about all connections, such as if the connection is using SSL, which cipher is used, and which client certificate (if any) is used. Reviews by Alex Shulgin, Heikki Linnakangas, Andres Freund & Michael Paquier http://git.postgresql.org/pg/commitdiff/9029f4b37406b21abb7516a2fd5643e0961810f8 Peter Eisentraut pushed: - libpq: Don't overwrite existing OpenSSL thread callbacks. If someone else already set the callbacks, don't overwrite them with ours. When unsetting the callbacks, only unset them if they point to ours. Author: Jan Urbański <wulc...@wulczer.org> http://git.postgresql.org/pg/commitdiff/8a0d34e4e45d44884ebdc6cb9d9ad9c3891d8505 - Move pg_archivecleanup from contrib/ to src/bin/. Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/83aca89f7c3f913d960e2ea2d4d93b7d8e7a691d == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Fabrízio de Royes Mello sent in two more revisions of a patch to refactor reloptions to set locklevel. Artem Luzyanin sent in two revisions of a patch to consolidate the documentation of spinlocks and like kind items. Emre Hasegeli sent in another revision of a patch to add a BRIN range operator class. Tomas Vondra sent in a patch to use foreign keys to improve join estimates. Michael Paquier sent in a patch to ignore some binaries generated in src/test. SAWADA Masahiko and Fabrízio de Royes Mello traded patches to add REINDEX ... VERBOSE. Shigeru HANADA sent in four more revisions of a patch to add a foreign join API. Petr Jelinek sent in another revision of a patch to implement TABLESAMPLE. Craig Ringer sent in a patch to add a pid column to pg_replication_slots. Peter Eisentraut and Pavel Stehule traded patches to add TRANSFORMS. Michael Paquier sent in another revision of a patch to add an error code to track unsupported contexts. Álvaro Herrera sent in two more revisions of a patch to add deparsing utilities. Peter Geoghegan sent in another revision of a patch to implement INSERT ... ON CONFLICT UPDATE (and IGNORE). Tom Lane sent in another revision of a patch to implement UPDATE (*) SET ... Fujii Masao sent in another revision of a patch to remove the obsolete FORCE option from REINDEX. Dean Rasheed sent in another revision of a patch to fix some infelicities in the error reporting for row-level access control. Kyotaro HORIGUCHI sent in another revision of a patch to implement regnamespace and regrole. Antonin Houska sent in a patch to fix some issues in xlogreader. Craig Ringer sent in two revisions of a patch to make pg_dump -t take materialized views, matview data, foreign tables, and sequences. Bruce Momjian sent in two revisions of a patch to ensure that CREATE TABLE (LIKE...) preserves the relhasoids setting. Michael Paquier sent in another revision of a patch to suppport TAP tests with MSVC and Windows. Jan Urbański sent in another revision of a patch to fix a bug in libpq's multi-threaded SSL callback handling. Ian Stakenvicius sent in a patch to fix an issue on Gentoo where postgres fails to start with timezone-data >=2013e. Etsuro Fujita sent in another revision of a patch to fix a problem where EvalPlanQual behaves oddly for FDW queries involving system columns. Pavel Stehule sent in a patch to add a "raw" output option to COPY. Chen Huajun sent in a patch to prevent setting Win32 server-side socket buffer size on Windows 2012. David Rowley sent in a patch to fix a few appendStringInfo* calls that were not quite doing things the way as intended. Michael Paquier sent in another revision of a patch to help improve the performance of make check-world. Heikki Linnakangas sent in a patch to remove xlogrecord padding. -- Sent via pgsql-announce mailing list (pgsql-announce@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-announce