== PostgreSQL Weekly News - March 30 2014 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - March 30 2014 == |
Date | |
Msg-id | 20140331064454.GA32171@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - March 30 2014 == == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2014-03/threads.php == PostgreSQL Local == PGConf NYC 2014 will be held April 3-4, 2014 in New York, New York, USA. http://nyc.pgconf.us/2014/ The Open Data Summit will be held Friday April 11, 2014 in Denver, Colorado, USA. http://www.opendatasummit.com PGCon 2014, the world-wide developer conference for PostgreSQL, will be in Ottawa, Ontario, Canada May 20-24, 2014. http://www.pgcon.org/2014/ The sixth PGDay Cubano be held on 13 and 14 October 2014 in Habana. https://postgresql.uci.cu/?p=380 == 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 == Heikki Linnakangas pushed: - Fix "the the" typos. Erik Rijkers http://git.postgresql.org/pg/commitdiff/3ed249b74133bc567a4efcfb90eb69d445097c1b - Remove dead code and add comments. 'cbuffer' variable was left over from an earlier version of the patch to rewrite the incomplete split handling. http://git.postgresql.org/pg/commitdiff/2f3afc09793da3a30f2878f34eda30a71060da7e - Change ginMergeItemPointers to return a palloc'd array. That seems nicer than making it the caller's responsibility to pass a suitable-sized array. All the callers were just palloc'ing an array anyway. http://git.postgresql.org/pg/commitdiff/bb42e21be274a71f6868ce2fc8fae2c15c3ecf66 - Fix 'recheck' flag in tsquery's GIN tri-consistent function. It needs to be initialized, like in the boolean gin_tsquery_consistent version. Peter Geoghegan. http://git.postgresql.org/pg/commitdiff/86cf41ed27f6e822a99998505ecffb42f2662662 - Use pg_usleep() instead of plain sleep(), to fix Windows build. Per buildfarm. http://git.postgresql.org/pg/commitdiff/28475f8e58bd5da2b44a42203665a543f335c6a3 - Add -f/--follow option to pg_xlogdump. This is useful for seeing what WAL records are inserted in real-time, by pointing pg_xlogdump to a live server. http://git.postgresql.org/pg/commitdiff/ce9bb92f8fb8d25cf00ec939797ffdb5930fb792 - Pass more than the first XLogRecData entry to rm_desc, with WAL_DEBUG. If you compile with WAL_DEBUG and enable it with wal_debug=on, we used to only pass the first XLogRecData entry to the rm_desc routine. I think the original assumprion was that the first XLogRecData entry contains all the necessary information for the rm_desc routine, but that's a pretty shaky assumption. At least standby_redo didn't get the memo. To fix, piece together all the data in a temporary buffer, and pass that to the rm_desc routine. It's been like this forever, but the patch didn't apply cleanly to back-branches. Probably wouldn't be hard to fix the conflicts, but it's not worth the trouble. http://git.postgresql.org/pg/commitdiff/c2a6724823c14fd442c5441eb169b2581781fef0 - Silence compiler warnings in new jsonb code. Amit Kapila. http://git.postgresql.org/pg/commitdiff/e709ced1536d1ed34d96633ea7c319a3a2a2751c Fujii Masao pushed: - Fix START_REPLICATION syntax in document. Enclose "TIMELINE tli" part with brackets because it's optional. Backport to 9.3 where TIMELINE option was introduced. Noted by Marko Tiikkaja http://git.postgresql.org/pg/commitdiff/cf5d38f4b9bcdf035c46ca8b3e5442557a21ef34 - Don't forget to flush XLOG_PARAMETER_CHANGE record. Backpatch to 9.0 where XLOG_PARAMETER_CHANGE record was instroduced. http://git.postgresql.org/pg/commitdiff/49638868f81f05e9ea4799e6c6148b76b47da83d Bruce Momjian pushed: - Fix ts_rank_cd() to ignore stripped lexemes. Previously, stripped lexemes got a default location and could be considered if mixed with non-stripped lexemes. BACKWARD INCOMPATIBILITY CHANGE http://git.postgresql.org/pg/commitdiff/1420f3a9827a39e5c6c998f6fa35a6fc97903145 - docs: Add short "cover density" description. Also, previous commit 1420f3a9827a39e5c6c998f6fa35a6fc97903145 to fix ts_rank_cd() for stripped lexemes was from a patch created by Alex Hill. http://git.postgresql.org/pg/commitdiff/0b5c0f3bc78d72b753387f84b9188709af3ef8fb - Remove wchar.c Asserts that were stricter than the main code. Assert errors were thrown for functions being passed invalid encodings, while the main code handled it just fine. Also document that libpq's PQclientEncoding() returns -1 for an encoding lookup failure. Per report from Peter Geoghegan http://git.postgresql.org/pg/commitdiff/5db55c6bbca28b8be4d68d2fa0e22465cfe8e755 - doc: list unlogged tables as a non-durable option http://git.postgresql.org/pg/commitdiff/6c5ced1526b189ed98baa0d195a7078d1afd112e - pg_upgrade: use pg_usleep(); remove Windows workaround http://git.postgresql.org/pg/commitdiff/ba08155bd5e6dffe5cd4bda9e7d6616b5e20d564 - psql: update "replica identity" display for \d+. Display "replica identity" only for \d plus mode, exclude system schema objects, and display all possible values, not just non-default, non-index ones. http://git.postgresql.org/pg/commitdiff/b69c4e65bea92ef617581365c365d2f43aa9e1fa - contrib/test_decoding: adjust expected output. Expected output has changed because of psql replica identity output changes. Reported by Christoph Berg http://git.postgresql.org/pg/commitdiff/5906e10a2aecf472c41b2cb5a2a923c7bbabdce2 - Adjust getpwuid() fix commit to display errno string on failure. This adjusts patch 613c6d26bd42dd8c2dd0664315be9551475b8864. http://git.postgresql.org/pg/commitdiff/e1827012ed4119150e29c3afcf462d3353f3a405 - psql: display "Replica Identity" only for FULL and NOTHING. INDEX is already displayed on the index, and we now exclude pg_catalog. DEFAULT is not displayed. http://git.postgresql.org/pg/commitdiff/9d66116444b9763bc09defb688fb09343420e040 Magnus Hagander pushed: - Fix typos in pg_basebackup documentation. Joshua Tolley http://git.postgresql.org/pg/commitdiff/36f7c3a1e019d16a83a363958c3f3927692821d9 Andrew Dunstan pushed: - Tidy up the populate/to_record{set} code for json a bit. In the process fix a small bug. http://git.postgresql.org/pg/commitdiff/fbc3def8620953cf124aac65e7be4821f138c37f - Cleanup around json_to_record/json_to_recordset Set function parameter names and defaults. Add jsonb versions (which the code already provided for so the actual new code is trivial). Add jsonb regression tests and docs. Bump catalog version (which I apparently forgot to do when jsonb was committed). http://git.postgresql.org/pg/commitdiff/f9c6d72cbf49257fea4265d994b96e66f25b2474 - Fix uninitialized variables in json's populate_record_worker(). Peter Geoghegan. http://git.postgresql.org/pg/commitdiff/7e4d1600a621ee4e786e715bc82eaad1113dba0e - Use separate output dirs for test_decoding's two runs. contrib/test_decoding's "make check" runs two sets of tests. Unless we specify separate output directories for each set the isolation tests will overwrite the output from the normal regression set. Doing this will help the buildfarm collect complete logs. http://git.postgresql.org/pg/commitdiff/7317d8d961f210c3a6b20972cd605bcd9bffb06e Tom Lane pushed: - Fix refcounting bug in PLy_modify_tuple(). We must increment the refcount on "plntup" as soon as we have the reference, not sometime later. Otherwise, if an error is thrown in between, the Py_XDECREF(plntup) call in the PG_CATCH block removes a refcount we didn't add, allowing the object to be freed even though it's still part of the plpython function's parsetree. This appears to be the cause of crashes seen on buildfarm member prairiedog. It's a bit surprising that we've not seen it fail repeatably before, considering that the regression tests have been exercising the faulty code path since 2009. The real-world impact is probably minimal, since it's unlikely anyone would be provoking the "Tom Dunstan["new"] is not a dictionary" error in production, and that's the only case that is actually wrong. Still, it's a bug affecting the regression tests, so patch all supported branches. In passing, remove dead variable "plstr", and demote "platt" to a local variable inside the PG_TRY block, since we don't need to clean it up in the PG_CATCH path. http://git.postgresql.org/pg/commitdiff/2d5e0f07de0119045fb889f9c11de0e486ce4ac5 - Document that Python 2.3 requires cdecimal module for full functionality. This has been true for some time, but we were leaving users to discover it the hard way. Back-patch to 9.2. It might've been true before that, but we were claiming Python 2.2 compatibility before that, so I won't guess at the exact requirements back then. http://git.postgresql.org/pg/commitdiff/f3cfc23195e3363ceab49449ed851944bcaf0849 - Improve documentation note about Python 2.3 and cdecimal. Explain exactly what fails (ie, function arguments of type numeric) if you don't have it. http://git.postgresql.org/pg/commitdiff/e5a452b3a4600dfc9c045e1591c25e6a567d8d73 - Un-break peer authentication. Commit 613c6d26bd42dd8c2dd0664315be9551475b8864 sloppily replaced a lookup of the UID obtained from getpeereid() with a lookup of the server's own user name, thus totally destroying peer authentication. Revert. Per report from Christoph Berg. In passing, make sure get_user_name() zeroes *errstr on success on Windows as well as non-Windows. I don't think any callers actually depend on this ATM, but we should be consistent across platforms. http://git.postgresql.org/pg/commitdiff/b777be0d48a042f500cac72140ffb50392973aa2 - Fix EquivalenceClass processing for nested append relations. The original coding of EquivalenceClasses didn't foresee that appendrel child relations might themselves be appendrels; but this is possible for example when a UNION ALL subquery scans a table with inheritance children. The oversight led to failure to optimize ordering-related issues very well for the grandchild tables. After some false starts involving explicitly flattening the appendrel representation, we found that this could be fixed easily by removing a few implicit assumptions about appendrel parent rels not being children themselves. Kyotaro Horiguchi and Tom Lane, reviewed by Noah Misch http://git.postgresql.org/pg/commitdiff/a87c729153e372f3731689a7be007bc2b53f1410 - Improve regression test for pg_filenode_relation(). Make it print the details in case there's a failure. Andres Freund, slightly modified by me http://git.postgresql.org/pg/commitdiff/9613a1d98e5f940d8124850e61b0a950157c8863 - Fix dumping of a materialized view that depends on a table's primary key. It is possible for a view or materialized view to depend on a table's primary key, if the view query relies on functional dependency to abbreviate a GROUP BY list. This is problematic for pg_dump since we ordinarily want to dump view definitions in the pre-data section but indexes in post-data. pg_dump knows how to deal with this situation for regular views, by breaking the view's ON SELECT rule apart from the view proper. But it had not been taught what to do about materialized views, and in fact mistakenly dumped them as regular views in such cases, as seen in bug #9616 from Jesse Denardo. If we had CREATE OR REPLACE MATERIALIZED VIEW, we could fix this in a manner analogous to what's done for regular views; but we don't yet, and we'd not back-patch such a thing into 9.3 anyway. As a hopefully- temporary workaround, break the circularity by postponing the matview into post-data altogether when this case occurs. http://git.postgresql.org/pg/commitdiff/62215de2925705bc607635e45ff800364456b1a1 Noah Misch pushed: - Force consistent row order in contrib/test_decoding regression test. http://git.postgresql.org/pg/commitdiff/7ed908be41fbca1635d34f97138abb13beab8b24 - Document platform-specificity of unix_socket_permissions. Back-patch to 8.4 (all supported versions). http://git.postgresql.org/pg/commitdiff/fbd32b0cab806a2244bd5171e4b60e53f4a9dfe7 - Secure Unix-domain sockets of "make check" temporary clusters. Any OS user able to access the socket can connect as the bootstrap superuser and in turn execute arbitrary code as the OS user running the test. Protect against that by placing the socket in the temporary data directory, which has mode 0700 thanks to initdb. Back-patch to 8.4 (all supported versions). The hazard remains wherever the temporary cluster accepts TCP connections, notably on Windows. Attempts to run "make check" from a directory with a long name will now fail. An alternative not sharing that problem was to place the socket in a subdirectory of /tmp, but that is only secure if /tmp is sticky. The PG_REGRESS_SOCK_DIR environment variable is available as a workaround when testing from long directory paths. As a convenient side effect, this lets testing proceed smoothly in builds that override DEFAULT_PGSOCKET_DIR. Popular non-default values like /var/run/postgresql are often unwritable to the build user. Security: CVE-2014-0067 http://git.postgresql.org/pg/commitdiff/31c6e54ec9abab0c63d709e492ef18a701b02641 - Revert "Secure Unix-domain sockets of "make check" temporary clusters." About half of the buildfarm members use too-long directory names, strongly suggesting that this approach is a dead end. http://git.postgresql.org/pg/commitdiff/8f5578d0f9681ef81bc71a3762a191d66a29c8b1 == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Kaigai Kouhei sent in another revision of a patch to implement custom plan nodes. Petr (PJMODOS) Jelinek sent in another revision of a patch to implement plpgsql.extra_warnings, plpgsql.extra_errors. MauMau sent in another revision of a patch to fix an issue where PostgreSQL fails to start on Windows if it crashes after tablespace creation. Michael Paquier sent in a patch to add a new parameter RollbackError to control rollback behavior on error. Etsuro Fujita sent in two more revisions of a patch to implement inherit support for foreign tables. David Rowley and Florian Pflug traded patches to implement inverse transition functions for aggregates. Peter Geoghegan sent in a patch to fix an infelicity in jsonfuncs.c. Ants Aasma sent in a patch to add in a missing pfree in logical_heap_rewrite_flush_mappings(). Rajeev Rastogi sent in a patch to fix an issue where datistemplate of pg_database does not behave as per description in documentation. Kaigai Kouhei sent in another revision of a patch to implement the custom plan interface. Tomas Vondra sent in a patch to decreasing memory needlessly consumed by array_agg. Peter Geoghegan sent in a patch to do better at HINTing an appropriate column within errorMissingColumn(). Jan Pecek (honzap AT gmail DOT com) sent in a patch to fix an issue where storinig data in pg_toast for a custom type fails. Bruce Momjian and Fabrízio de Royes Mello traded patches to change the display of OID-ness for tables in psql. Peter Geoghegan sent in a patch to extend SortSupport and tuplesort to support "poor man's normalized keys".
pgsql-announce by date: