== PostgreSQL Weekly News - August 17 2014 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - August 17 2014 == |
Date | |
Msg-id | 20140818055742.GA22766@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - August 17 2014 == == PostgreSQL Product News == pgBadger 6.0, a parallel PostgreSQL log analyzer written in Perl, released: https://sourceforge.net/projects/pgbadger/ Development: https://github.com/dalibo/pgbadger/ == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2014-08/threads.php == PostgreSQL Local == PgDay Portland, Oregon 2014 will be held Saturday September 6, 2014. https://wiki.postgresql.org/wiki/PDXPUGDay2014 Postgres Open 2014 will be in Chicago, IL, USA, September 17-19. Tickets and Tutorials now available for purchase. https://postgresopen.org/2014/tickets/ http://postgresopen.org/2014/callforpapers/ The 4th PgDay Ecuador will be held on Tuesday 7th in October at the city of Quito, as part of the 5th International Congress of Free Software. Send talk proposals to ecpug AT postgresql DOT org. The sixth PGDay Cubano be held on 13 and 14 October 2014 in Habana. https://postgresql.uci.cu/?p=380 PGConf.EU 2014 in Madrid, Spain on October 21-24 is now open for registration. http://2014.pgconf.eu/registration/ PGDay.IT 2014 will take place in Prato on November the 7th 2014. The International Call For Papers is now open: http://2014.pgday.it/call-for-papers-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 Pacific time. Please send English language ones to david@fetter.org, German language to pwn@pgug.de, Italian language to pwn@itpug.org. Spanish language to pwn@arpug.com.ar. == Applied Patches == Fujii Masao pushed: - Fix documentation oversights about pageinspect and initialization fork. The initialization fork was added in 9.1, but has not been taken into consideration in documents of get_raw_page function in pageinspect and storage layout. This commit fixes those oversights. get_raw_page can read not only a table but also an index, etc. So it should be documented that the function can read any relation. This commit also fixes the document of pageinspect that way. Back-patch to 9.1 where those oversights existed. Vik Fearing, review by MauMau http://git.postgresql.org/pg/commitdiff/7d835ff4db19c515171d6c8de772536c55600753 - Add tab-completion for \unset and valid setting values of psql variables. This commit also changes tab-completion for \set so that it displays all the special variables like COMP_KEYWORD_CASE. Previously it displayed only variables having the set values. Which was not user-friendly for those who want to set the unset variables. This commit also changes tab-completion for :variable so that only the variables having the set values are displayed. Previously even unset variables were displayed. Pavel Stehule, modified by me. http://git.postgresql.org/pg/commitdiff/e15c4ab5fb0de2cab393ed4be2136e1832746412 - Change first call of ProcessConfigFile so as to process only data_directory. When both postgresql.conf and postgresql.auto.conf have their own entry of the same parameter, PostgreSQL uses the entry in postgresql.auto.conf because it appears last in the configuration scan. IOW, the other entries which appear earlier are ignored. But, previously, ProcessConfigFile() detected the invalid settings of even those unused entries and emitted the error messages complaining about them, at postmaster startup. Complaining about the entries to ignore is basically useless. This problem happened because ProcessConfigFile() was called twice at postmaster startup and the first call read only postgresql.conf. That is, the first call could check the entry which might be ignored eventually by the second call which read both postgresql.conf and postgresql.auto.conf. To work around the problem, this commit changes ProcessConfigFile so that its first call processes only data_directory and the second one does all the entries. It's OK to process data_directory in the first call because it's ensured that data_directory doesn't exist in postgresql.auto.conf. Back-patch to 9.4 where postgresql.auto.conf was added. Patch by me. Review by Amit Kapila http://git.postgresql.org/pg/commitdiff/3e3f65973a3c94a699a1659254b89c4f77f0a6a7 - Fix typo in \setrandom document. Fabien COELHO http://git.postgresql.org/pg/commitdiff/d6ded369a7793c926661f492c153a6dd05afc5bc - Expose -S option in pg_receivexlog. This option is equivalent to --slot option which pg_receivexlog has already supported, which specifies the replication slot to use for WAL streaming. pg_recvlogical has already supported both options, and this commit makes pg_receivexlog consistent with pg_recvlogical regarding the slot option. Back-patch to 9.4 where the slot option was added. Michael Paquier http://git.postgresql.org/pg/commitdiff/52bffe3499d8e5f61efa385ab3c6a074314ee5db - Fix help message in pg_ctl. Previously the help message described that -m is an option for "stop", "restart" and "promote" commands in pg_ctl. But actually that's not an option for "promote". So this commit fixes that incorrect description in the help message. Back-patch to 9.3 where the incorrect description was added. http://git.postgresql.org/pg/commitdiff/a4287a689d10bd4863e3dfbf9c4f232feeca0cdd - Add missing index terms for replication commands in the document. Previously only CREATE_REPLICATION_SLOT was exposed as an index term. That's odd and there is no reason not to add index terms for other replication commands. Back-patch to 9.4. http://git.postgresql.org/pg/commitdiff/3e9f70f1287b9324e398a084a8e881ea6aefc3eb Tatsuo Ishii pushed: - Enhance pgbench's option checking. Now benchmarking options such as -c cannot be used if initializing option (-i) is specified. Also initializing options such as -F cannot be used if initializing option is not specified. Tatsuo Ishii and Fabien COELHO. http://git.postgresql.org/pg/commitdiff/51222a176624e8529143f26f43da200c5beb0e9e Andres Freund pushed: - Be less aggressive in asking for feedback of logical walsender clients. When doing logical decoding using START_LOGICAL_REPLICATION in a walsender process the walsender sometimes was sending out keepalive messages too frequently. Asking for feedback every time. WalSndWaitForWal() sends out keepalive messages when it's waiting for new WAL to be generated locally when it sees that the remote side hasn't yet flushed WAL up to the local position. That generally is good but causes problems if the remote side only writes but doesn't flush changes yet. So check for both remote write and flush position. Additionally we've asked for feedback to the keepalive message which isn't warranted when waiting for WAL in contrast to preventing timeouts because of wal_sender_timeout. Complaint and patch by Steve Singer. http://git.postgresql.org/pg/commitdiff/41d5f8ad734f28ca425636d5ac4c8ea9c29002a5 - pg_recvlogical message and code improvements. Some error messages complained about --init and --stop being used whereas the --create and --drop are the correct verbs. Fix that. Also a XLogRecPtr was tested in a boolean fashion instead of being compared to InvalidXLogRecPtr. Backpatch to 9.4 where pg_recvlogical was introduced. Michael Paquier http://git.postgresql.org/pg/commitdiff/596385be06e1c8ac7291958a556b10b37ee333d5 Tom Lane pushed: - Prevent memory leaks in parseRelOptions(). parseRelOptions() tended to leak memory in the caller's context. Most of the time this doesn't really matter since the caller's context is at most query-lifespan, and the function won't be invoked very many times. However, when testing with CLOBBER_CACHE_RECURSIVELY, the same relcache entry can get rebuilt a *lot* of times in one query, leading to significant intraquery memory bloat if it has any reloptions. Noted while investigating a related report from Tomas Vondra. In passing, get rid of some Asserts that are redundant with the one done by deconstruct_array(). As with other patches to avoid leaks in CLOBBER_CACHE testing, it doesn't really seem worth back-patching this. http://git.postgresql.org/pg/commitdiff/a844c29966d7c0cd6a457e9324f175349bb12df0 - Prevent memory leaks in RelationGetIndexList, RelationGetIndexAttrBitmap. When replacing rd_indexlist, rd_indexattr, etc, we neglected to pfree any old value of these fields. Under ordinary circumstances, the old value would always be NULL, so this seemed reasonable enough. However, in cases where we're rebuilding a system catalog's relcache entry and another cache flush occurs on that same catalog meanwhile, it's possible for the field to not be NULL when we return to the outer level, because we already refilled it while recovering from the inner flush. This leads to a fairly small session-lifespan leak in CacheMemoryContext. In real-world usage the leak would be too small to notice; but in testing with CLOBBER_CACHE_RECURSIVELY the leakage can add up to the point of causing OOM failures, as reported by Tomas Vondra. The issue has been there a long time, but it only seems worth fixing in HEAD, like the previous fix in this area (commit 078b2ed291c758e7). http://git.postgresql.org/pg/commitdiff/ab8c84db2f7af008151b848cf1d6a4672a39eecd - Update SysV parameter configuration documentation for FreeBSD. FreeBSD hasn't made any use of kern.ipc.semmap since 1.1, and newer releases reject attempts to set it altogether; so stop recommending that it be adjusted. Per bug #11161. Back-patch to all supported branches. Before 9.3, also incorporate commit 7a42dff47, which touches the same text and for some reason was not back-patched at the time. http://git.postgresql.org/pg/commitdiff/5ff5bfb5f0d83a538766903275b230499fa9ebe1 - Fix bogus commutator/negator links for JSONB containment operators. <@ and @> are each other's commutators, but they were incorrectly marked as being each other's negators instead. (This was actually questioned in a comment in the original commit, but nobody followed through :-(.) Per bug #11178 from Christian Pronovost. In passing, fix some JSONB operator descriptions that were randomly different from the phrasing of every other similar description. catversion bump for pg_catalog contents change. http://git.postgresql.org/pg/commitdiff/e3f9c16838358b6b3679dd014455d310919d7efa - Add opr_sanity queries to inspect commutator/negator links more closely. Make lists of the names of all operators that are claimed to be commutator pairs or negator pairs. This is analogous to the existing queries that make lists of all operator names appearing in particular opclass strategy slots. Unexpected additions to these lists are likely to be mistakes; had we had these queries in place before, bug #11178 might've been prevented. http://git.postgresql.org/pg/commitdiff/a068b5b65f83660fc99c3faf39ed50493b010fbb - Fix bogus return macros in range_overright_internal(). PG_RETURN_BOOL() should only be used in functions following the V1 SQL function API. This coding accidentally fails to fail since letting the compiler coerce the Datum representation of bool back to plain bool does give the right answer; but that doesn't make it a good idea. Back-patch to older branches just to avoid unnecessary code divergence. http://git.postgresql.org/pg/commitdiff/737cdc2d1412f3e4115137ca6fa14d1b3c39dcbc - Improve DISCARD documentation. The new DISCARD SEQUENCES option was inadequately described, and hadn't been mentioned at all in the initial Description paragraph. Rather than rectifying the latter the hard way, it seemed better to rewrite the description as a summary, instead of having it basically duplicate statements made under Parameters. Be more consistent about the ordering of the options, too. http://git.postgresql.org/pg/commitdiff/259904ecd42a46f5bb66bb85d547eba5b64a2cfa - Make an editorial pass over the 9.4 release notes. Update the notes to include commits through today, and do a lot of wordsmithing and markup adjustment. Notably, don't use <link> where <xref> will do; since we got rid of the text-format HISTORY file, there is no longer a reason to avoid <xref>. http://git.postgresql.org/pg/commitdiff/f66faadc4420fdc34f66057f493a0e09c0ad8a58 - Use ISO 8601 format for dates converted to JSON, too. Commit f30015b6d794c15d52abbb3df3a65081fbefb1ed made this happen for timestamp and timestamptz, but it seems pretty inconsistent to not do it for simple dates as well. (In passing, I re-pgindent'd json.c.) http://git.postgresql.org/pg/commitdiff/e56ec50c1622010c010e1c84bc02ce44285c4f41 Peter Eisentraut pushed: - doc: Remove obsolete set element DSSSL customizations. We don't use set elements (collection of books) anymore, so this is just dead code. http://git.postgresql.org/pg/commitdiff/faa14acc9b958d7b811d0aa624774f36e3fab750 - Fix whitespace http://git.postgresql.org/pg/commitdiff/5333c72c951cd30e46cece18e75bea53f7149b1b - Add some noreturn attributes based on compiler recommendations http://git.postgresql.org/pg/commitdiff/1d678bf7bc66d4478bdee51278946dcc9ae8cae5 - doc: Fix DocBook XML validity. See 3a9d430af515e9dd8a9d34a4011367e667a66521. A new one snuck in. http://git.postgresql.org/pg/commitdiff/d34b48a021b181e30c53280d336820740f67570b - Set shared library path for in-tree TAP tests. When the TAP tests are run in-tree (make check), set the shared library path using the appropriate environment variable, using a logic similar to pg_regress, so that the right libraries are used. http://git.postgresql.org/pg/commitdiff/f669b61476b2efd79701a7a104e9de2fe11e4e42 - Fix whitespace http://git.postgresql.org/pg/commitdiff/9ee9ca545bda210fec78381e8ad4ad1e1618b67c - doc: Work around stylesheet bug for man build. The upstream stylesheets for man output insert a *roff comment for an occurrence of an indexterm, for reasons that have apparently been lost in history. This, however, is done incorrectly and causes some formatting problems. This hasn't been an issue until now, but the reorganization of indexterm elements inside variablelists has triggered this issue. The upstream fix (http://sourceforge.net/p/docbook/bugs/1340/) is to drop indexterms altogether in man output, and so we'll do the same here. http://git.postgresql.org/pg/commitdiff/1330e2922c7f7d42780109247c28ad50a790f96c Robert Haas pushed: - Add sortsupport routines for text. This provides a small but worthwhile speedup when sorting text, at least in cases to which the sortsupport machinery applies. Robert Haas and Peter Geoghegan http://git.postgresql.org/pg/commitdiff/b34e37bfefbed1bf9396dde18f308d8b96fd176c - docs: Add missing period. Fabien COELHO and Robert Haas http://git.postgresql.org/pg/commitdiff/751b7041050b7b19bf3001633740616089973ab3 Heikki Linnakangas pushed: - Doc fix: New York State's capital is Albany. The inheritance example in the manual implies that the capital of New York is New York City, but in reality it's Albany. George Hartzell http://git.postgresql.org/pg/commitdiff/ef153ecc55a8f945d576a1e69a51b91046f24bb1 - Remove remnants of a JENTRY_ISFIRST flag bit. I removed the flag earlier, but missed a few references in jsonb.h. http://git.postgresql.org/pg/commitdiff/c07693f0c7cde7d269025fe714a124223a189e71 - Break out OpenSSL-specific code to separate files. This refactoring is in preparation for adding support for other SSL implementations, with no user-visible effects. There are now two #defines, USE_OPENSSL which is defined when building with OpenSSL, and USE_SSL which is defined when building with any SSL implementation. Currently, OpenSSL is the only implementation so the two #defines go together, but USE_SSL is supposed to be used for implementation-independent code. The libpq SSL code is changed to use a custom BIO, which does all the raw I/O, like we've been doing in the backend for a long time. That makes it possible to use MSG_NOSIGNAL to block SIGPIPE when using SSL, which avoids a couple of syscall for each send(). Probably doesn't make much performance difference in practice - the SSL encryption is expensive enough to mask the effect - but it was a natural result of this refactoring. Based on a patch by Martijn van Oosterhout from 2006. Briefly reviewed by Alvaro Herrera, Andreas Karlsson, Jeff Janes. http://git.postgresql.org/pg/commitdiff/680513ab79c7e12e402a2aad7921b95a25a4bcc8 Bruce Momjian pushed: - pg_upgrade: error if run from top of new PGDATA on Windows. Print a clear error message in this case, rather than wait for initdb --sync-only to generate a "Permission denied" error. http://git.postgresql.org/pg/commitdiff/e4c3c99ac3d4777458ef3e94b037438b244b72b6 - pg_upgrade: fix define adjusted during testing. from commit e4c3c99ac3d4777458ef3e94b037438b244b72b6 http://git.postgresql.org/pg/commitdiff/ea9b8abd6f457706a3501849d21587af178113a1 == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Michael Paquier sent in three more revisions of a patch to support N synchronous standby servers, N>1. Fujii Masao sent in another revision of a patch to allow showing only failed queries in psql. Fujii Masao sent in another revision of a patch to ignore unused GUCs at startup. Michael Paquier sent in two more revisions of a patch to improve versioning on Windows. Michael Paquier sent in another revision of a patch to remove the dependency on wsock32.lib when compiling code on Windows. Michael Paquier sent in a patch to fix the tab padding for the new option -F in the getops switch. Haribabu Kommi sent in another revision of a patch to fix the fact that inet types don't support min/max. Heikki Linnakangas sent in another revision of a patch to add an SSL regression test suite. Fabien COELHO sent in a patch to fix some issues in a previous patch which makes PL/PgSQL throw an error during compilation (instead of runtime) if the number of parameters passed to RAISE don't match the number of placeholders in error message. Sean Chittenden sent in a patch to fix a potential performance regression due to mmap(2) on FreeBSD. Fujii Masao sent in another revision of a patch to add pg_last_xact_insert_timestamp. Heikki Linnakangas sent in another revision of a patch to make WAL format and API changes. Heikki Linnakangas sent in another revision of a patch to support Windows SChannel as an OpenSSL replacement. Furuya Osamu sent in two revisions of a patch to add a setting to send status packets after fsync to --status-interval of pg_receivexlog. Atri Sharma sent in a WIP patch to enable GROUPING SETS. Heikki Linnakangas sent in two revisions of a patch to refactor heapam.c redo routines to use XLogReplayBuffer. Etsuro Fujita sent in another revision of a patch to compute attr_needed for child relations. Dilip Kumar sent in another revision of a patch to allow parallel cores to be used by vacuumdb. Fujii Masao sent in a patch to enable WAL archiving even on a standby. MauMau sent in another revision of a patch to implement pg_copy, a command for reliable WAL archiving. David Rowley sent in a patch to change some security-related uses of strncpy to strlcpy. Tom Lane an Heikki Linnakangas traded patches to fix an issue where TOAST fails to compress JSONB fields. Keith Baker sent in two more revisions of a patch to implement the locking needed for a QNX 6.5 port. SAWADA Masahiko sent in another revision of a patch to add line number as a prompt option to psql. Fabien COELHO sent in a patch to add a throttling latency limit to pgbench. Fujii Masao sent in a patch to change \watch so that it displays how long the query takes if \timing is enabled. Fujii Masao sent in a patch to allow immediate standby promotion. Rukh Meski sent in another revision of a patch to add LIMIT for UPDATE and DELETE. Kyotaro HORIGUCHI sent in a patch to add a new GUC category PGC_BACKEND_USERSET and change local_preload_libraries to use it. Peter Eisentraut sent in a patch to improve the speed of make check-world by having it only create one temporary installation, where before it made a temporary installation for every subdirectory. Alvaro Herrera and Heikki Linnakangas traded patches to implement minmax indexes. Fujii Masao sent in a patch to expose replication commands as index terms. Amit Kapila and Michael Paquier traded patches to fix an issue where the option -T in pg_basebackup doesn't work on Windows. Marko (johto) Tiikkaja sent in another revision of a patch to add PGP signatures to the pgcrypto extension. Marko (johto) Tiikkaja sent in another revision of a patch to add PGP armor headers to the pgcrypto extension. Fujii Masao sent in a patch to add a memory barrier to pgstat. Kaigai Kouhei sent in another revision of a patch to implement the custom plan API. Pavel Stehule sent in a patch to fix an issue with pg_dump where the existence of a large object (lo) could cause an unrestorable dump. Joachim Wieland sent in a patch to refactor pg_dump to remove global variables. In addition to being a good in itself, this is in preparation for a parallel analog of "pg_dump | psql". Noah Misch sent in a patch to fix the fact that the sample LDIF for pg_service.conf no longer works. Fabien COELHO sent in a patch to add a --tuple-size option to pgbench. Tomas Vondra sent in another revision of a patch to fix an issue where bad estimation together with large work_mem generates terrible slow hash joins. David Rowley sent in another revision of a patch to support SEMI and ANTI join removal. Rahila Syed sent in another revision of a patch to support various types of compression of full-page writes. Fabrízio de Royes Mello sent in another revision of a patch to enable ALTER TABLE ... SET LOGGED. Stephen Frost sent in two more revisions of a patch to tweak the command tags in ALTER TABLESPACE MOVE. Fujii Masao sent in another revision of a patch to add PENDING_LIST_CLEANUP_SIZE. Marco Nenciarini sent in a patch to add backup profile to base backup. Michael Paquier sent in another revision of a patch to add support for physical slot creation/deletion in pg_receivexlog.
pgsql-announce by date: