[ANNOUNCE] == PostgreSQL Weekly News - November 12 2017 ==
== PostgreSQL Weekly News - November 12 2017 == PostgreSQL security releases 10.1, 9.6.6, 9.5.10, 9.4.15, 9.3.20, and 9.2.24 are out. Please read the announcement below and upgrade at the next available downtime. https://www.postgresql.org/about/news/1801/ PGConf.Brazil 2018 will take place in São Paulo, Brazil on August 3-4 2018. The CfP will open soon. http://pgconf.com.br Nordic PGDay 2018 will be held in Oslo, Norway, at the Radisson Blu Hotel Nydalen, on March 13, 2018. The CfP is open through December 31, 2017 at https://2018.nordicpgday.org/cfp/ pgDay Paris 2018 will be held in Paris, France at the Espace Saint-Martin, on March 15 2018. The CfP is open until December 31, 2017. http://2018.pgday.paris/callforpapers/ == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2017-11/ == PostgreSQL Local == PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Australia 2017 will be held on November 17 in Melbourne. http://2017.pgday.com.au/ PostgreSQL Session will take place November 17th, 2017, in Paris, France. http://www.postgresql-sessions.org/en/9/start PGDAY Brasilia 2017 will take place December 2, 2017. The CfP is open at http://www.pgdaybrasilia.com.br/submissao-de-palestra/ PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ FOSDEM PGDay 2018, a one day conference held before the main FOSDEM event will be held in Brussels, Belgium, on Feb 2nd, 2018. https://2018.fosdempgday.org/ Prague PostgreSQL Developer Day 2018 (P2D2 2018) is a two-day conference that will be held on February 14-15 2018 in Prague, Czech Republic. The CfP is open until January 5, 2018 at https://p2d2.cz/callforpapers http://www.p2d2.cz/ PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka. Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by October 31st, 2017. http://pgconf.in/ PostgreSQL@SCaLE is a two day, two track event which takes place on March 8-9, 2018, at Pasadena Convention Center, as part of SCaLE 16X. The CfP is open through October 31, 2017 at http://www.socallinuxexpo.org/scale/16x/cfp PGConf APAC 2018 will be held in Singapore March 22-24, 2018. The CfP is open at http://2018.pgconfapac.org/cfp through December 4, 2017. http://2018.pgconfapac.org/ The German-speaking PostgreSQL Conference 2018 will take place on April 13th, 2018 in Berlin. The CfP is open until January 09, 2018 at http://2018.pgconf.de/de/callforpapers.html and the conference site is at http://2018.pgconf.de/ PGCon 2018 will take place in Ottawa on May 29 - June 2018. The CfP goes out soon. https://www.pgcon.org/2018/ == 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 EST5EDT. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Release notes for 10.1, 9.6.6, 9.5.10, 9.4.15, 9.3.20, 9.2.24. In the v10 branch, also back-patch the effects of 1ff01b390 and c29c57890 on these files, to reduce future maintenance issues. (I'd do it further back, except that the 9.X branches differ anyway due to xlog-to-wal link tag renaming.) https://git.postgresql.org/pg/commitdiff/b35b185bf705c4dbaf21198c81b3d85f4a96804a - Fix version numbering foulups exposed by 10.1. configure computed PG_VERSION_NUM incorrectly. (Coulda sworn I tested that logic back when, but it had an obvious thinko.) pg_upgrade had not been taught about the new dispensation with just one part in the major version number. Both things accidentally failed to fail with 10.0, but with 10.1 we got the wrong results. Per buildfarm. https://git.postgresql.org/pg/commitdiff/d0c80c17f1a6d0b93d2ca14fe47d83b131ce9108 - Fix unportable usage of functions. isdigit(), isspace(), etc are likely to give surprising results if passed a signed char. We should always cast the argument to unsigned char to avoid that. Error in commit 63d6b97fd, found by buildfarm member gaur. Back-patch to 9.3, like that commit. https://git.postgresql.org/pg/commitdiff/d1f9ac5b100dbc4da02f0f209a2e7730bd5e83e9 - Fix unportable spelling of int64 constant. Per buildfarm member pademelon. https://git.postgresql.org/pg/commitdiff/92a1834dd88e56e823ac6641313a2f077a8af72e - Fix two violations of the ResourceOwnerEnlarge/Remember protocol. The point of having separate ResourceOwnerEnlargeFoo and ResourceOwnerRememberFoo functions is so that resource allocation can happen in between. Doing it in some other order is just wrong. OpenTemporaryFile() did open(), enlarge, remember, which would leak the open
[ANNOUNCE] == PostgreSQL Weekly News - November 05 2017 ==
== PostgreSQL Weekly News - November 05 2017 == PGCon 2018 will take place in Ottawa on May 29 - June 2018. The CfP goes out soon. https://www.pgcon.org/2018/ Prague PostgreSQL Developer Day 2018 (P2D2 2018) is a two-day conference that will be held on February 14-15 2018 in Prague, Czech Republic. The CfP is open until January 5, 2018 at https://p2d2.cz/callforpapers http://www.p2d2.cz/ == PostgreSQL Product News == PGroonga 2.0.2 a full text search platform for all languages, released. http://groonga.org/en/blog/2017/10/10/pgroonga-2.0.2.html Pgpool-II 3.6.7, 3.5.11, 3.4.14, and 3.3.18 released. http://www.pgpool.net/docs/latest/en/html/release.html OmniDB 2.3, a browser-based database management tool, released. https://www.2ndquadrant.com/en/resources/omnidb/ check_postgres 2.23.0, a PostgreSQL plugin for the Nagios/Icinga monitoring systems, released. https://github.com/bucardo/check_postgres/releases/tag/2.23.0 Database Designer for PostgreSQL 1.12 released. http://microolap.com/products/database/postgresql-designer/news/detail.php?ID=1803 == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2017-11/ == PostgreSQL Local == 2ndQuadrant PostgreSQL Conference 2017 (2Q PGConf, for short) will be hosted on November 6th & 7th in New York City, and November 9th in Chicago. http://www.2qpgconf.com/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Australia 2017 will be held on November 17 in Melbourne. http://2017.pgday.com.au/ PostgreSQL Session will take place November 17th, 2017, in Paris, France. http://www.postgresql-sessions.org/en/9/start PGDAY Brasilia 2017 will take place December 2, 2017. The CfP is open at http://www.pgdaybrasilia.com.br/submissao-de-palestra/ PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ FOSDEM PGDay 2018, a one day conference held before the main FOSDEM event will be held in Brussels, Belgium, on Feb 2nd, 2018. https://2018.fosdempgday.org/ PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka. Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by October 31st, 2017. http://pgconf.in/ PostgreSQL@SCaLE is a two day, two track event which takes place on March 8-9, 2018, at Pasadena Convention Center, as part of SCaLE 16X. The CfP is open through October 31, 2017 at http://www.socallinuxexpo.org/scale/16x/cfp PGConf APAC 2018 will be held in Singapore March 22-24, 2018. The CfP is open at http://2018.pgconfapac.org/cfp through December 4, 2017. http://2018.pgconfapac.org/ The German-speaking PostgreSQL Conference 2018 will take place on April 13th, 2018 in Berlin. The CfP is open until January 09, 2018 at http://2018.pgconf.de/de/callforpapers.html and the conference site is at http://2018.pgconf.de/ == 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 EST5EDT. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Magnus Hagander pushed: - Fix typo. https://git.postgresql.org/pg/commitdiff/77954f996cdb31ead2718aa3a9b4878da382e385 - Fix typo in comment. Etsuro Fujita https://git.postgresql.org/pg/commitdiff/854b643c8eb476ab957d83d562c8bfa10586d123 - Fix comment. Author: Bernd Helmle <maili...@oopsware.de> https://git.postgresql.org/pg/commitdiff/86bc521811f381a121817fdfb096df431edb32f5 Álvaro Herrera pushed: - Fix autovacuum work item error handling. In autovacuum's "work item" processing, a few strings were allocated in the current transaction's memory context, which goes away during error handling; if an error happened during execution of the work item, the pfree() calls to clean up afterwards would try to release already-released memory, possibly leading to a crash. In branch master, this was already fixed by commit 335f3d04e4c8, so backpatch that to REL_10_STABLE to fix the problem there too. As a secondary problem, verify that the autovacuum worker is connected to the right database for each work item; otherwise some items would be discarded by workers in other databases. Reported-by: Justin Pryzby Discussion: https://postgr.es/m/20171014035732.gb31...@telsasoft.com https://git.postgresql.org/pg/commitdiff/be72b9c378bfe99a3d175c98d36dc150229f4faf - Revert bogus fixes of HOT-freezing bug. It turns out we misdiagnosed what the real problem was. Revert the previous changes, because they may have worse consequences going forward. A better fix is forthcoming. The simplistic test case is kept, though disabled. Discussion:
[ANNOUNCE] == PostgreSQL Weekly News - October 29 2017 ==
== PostgreSQL Weekly News - October 29 2017 == The German-speaking PostgreSQL Conference 2018 will take place on April 13th, 2018 in Berlin. The CfP is open until January 09, 2018 at http://2018.pgconf.de/de/callforpapers.html and the conference site is at http://2018.pgconf.de/ == PostgreSQL Product News == Amazon Aurora with PostgreSQL compatibility released. https://aws.amazon.com/about-aws/whats-new/2017/10/announcing-general-availability-of-amazon-aurora-with-postgresql-compatibility/ A PostgreSQL RPM repository for SLES 12 has been set up at: https://zypp.postgresql.org/ pg_filedump 10.0 a utility to format PostgreSQL heap/index/control files into a human-readable form, released. https://wiki.postgresql.org/wiki/Pg_filedump == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2017-10/ == PostgreSQL Local == pgday.Seoul 2017 will be held in Seoul, South Korea on November 4, 2017. Korean language information is here: http://pgday.postgresql.kr/ 2ndQuadrant PostgreSQL Conference 2017 (2Q PGConf, for short) will be hosted on November 6th & 7th in New York City, and November 9th in Chicago. http://www.2qpgconf.com/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Australia 2017 will be held on November 17 in Melbourne. http://2017.pgday.com.au/ PostgreSQL Session will take place November 17th, 2017, in Paris, France. http://www.postgresql-sessions.org/en/9/start PGDAY Brasilia 2017 will take place December 2, 2017. The CfP is open at http://www.pgdaybrasilia.com.br/submissao-de-palestra/ PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ FOSDEM PGDay 2018, a one day conference held before the main FOSDEM event will be held in Brussels, Belgium, on Feb 2nd, 2018. https://2018.fosdempgday.org/ PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka. Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by October 31st, 2017. http://pgconf.in/ PostgreSQL@SCaLE is a two day, two track event which takes place on March 8-9, 2018, at Pasadena Convention Center, as part of SCaLE 16X. The CfP is open through October 31, 2017 at http://www.socallinuxexpo.org/scale/16x/cfp PGConf APAC 2018 will be held in Singapore March 22-24, 2018. The CfP is open at http://2018.pgconfapac.org/cfp through December 4, 2017. http://2018.pgconfapac.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 EST5EDT. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Adjust psql \d query to avoid use of @> operator. It seems that the parray_gin extension has seen fit to introduce a "text[] @> text[]" operator, which conflicts with the core "anyarray @> anyarray" operator, causing ambiguous-operator failures if the input arguments are coercible to text[] without being exactly that type. This strikes me as a bad idea, but it's out there and people use it. As of v10, that breaks psql's query that tries to test "pg_statistic_ext.stxkind @> '{d}'", since stxkind is char[]. The best workaround seems to be to avoid use of that operator. We can use a scalar-vs-array test "'d' = any(stxkind)" instead; that's arguably more readable anyway. Per report from Justin Pryzby. Backpatch to v10 where this query was added. Discussion: https://postgr.es/m/20171022181525.ga21...@telsasoft.com https://git.postgresql.org/pg/commitdiff/471d55859c11b40059aef7dd82f82b3a0dc338b1 - Adjust psql \d query to avoid use of @> operator. It seems that the parray_gin extension has seen fit to introduce a "text[] @> text[]" operator, which conflicts with the core "anyarray @> anyarray" operator, causing ambiguous-operator failures if the input arguments are coercible to text[] without being exactly that type. This strikes me as a bad idea, but it's out there and people use it. As of v10, that breaks psql's query that tries to test "pg_statistic_ext.stxkind @> '{d}'", since stxkind is char[]. The best workaround seems to be to avoid use of that operator. We can use a scalar-vs-array test "'d' = any(stxkind)" instead; that's arguably more readable anyway. Per report from Justin Pryzby. Backpatch to v10 where this query was added. Discussion: https://postgr.es/m/20171022181525.ga21...@telsasoft.com https://git.po
[ANNOUNCE] == PostgreSQL Weekly News - October 15 2017 ==
== PostgreSQL Weekly News - October 15 2017 == PGConf APAC 2018 will be held in Singapore March 22-24, 2018. The CfP is open at http://2018.pgconfapac.org/cfp through December 4, 2017. http://2018.pgconfapac.org/ PGDAY Brasilia 2017 will take place December 2, 2017. The CfP is open at http://www.pgdaybrasilia.com.br/submissao-de-palestra/ == PostgreSQL Product News == psqlODBC 10.00. released. https://odbc.postgresql.org/docs/release.html Ajqvue Version 1.15, a java-based UI which supports PostgreSQL, released. http://ajqvue.com pglogical 2.1, a logical-WAL-based replication system for PostgreSQL, released. https://www.2ndquadrant.com/en/resources/pglogical/ repmgr 4.0 beta1, a replication manager for PostgreSQL, released. http://repmgr.org/release-notes-4.0beta1.html pg_repack 1.4.2, an extension for removing bloat, released. http://reorg.github.io/pg_repack/ sql_insert_writer v0.1.0, a Python3 utility to build legible skeletons for INSERT and INSERT FROM statements, released. https://github.com/18F/sql_insert_writer == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2017-10/ == PostgreSQL Local == PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ pgday.Seoul 2017 will be held in Seoul, South Korea on November 4, 2017. Korean language information is here: http://pgday.postgresql.kr/ 2ndQuadrant PostgreSQL Conference 2017 (2Q PGConf, for short) will be hosted on November 6th & 7th in New York City, and November 9th in Chicago. http://www.2qpgconf.com/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Australia 2017 will be held on November 17 in Melbourne. http://2017.pgday.com.au/ PostgreSQL Session will take place November 17th, 2017, in Paris, France. http://www.postgresql-sessions.org/en/9/start PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka. Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by October 31st, 2017. http://pgconf.in/ PostgreSQL@SCaLE is a two day, two track event which takes place on March 8-9, 2018, at Pasadena Convention Center, as part of SCaLE 16X. The CfP is open through October 31, 2017 at http://www.socallinuxexpo.org/scale/16x/cfp == 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 EST5EDT. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Andres Freund pushed: - Reduce memory usage of targetlist SRFs. Previously nodeProjectSet only released memory once per input tuple, rather than once per returned tuple. If the computation of an individual returned tuple requires a lot of memory, that can lead to problems. Instead change things so that the expression context can be reset once per output tuple, which requires a new memory context to store SRF arguments in. This is a longstanding issue, but was hard to fix before 9.6, due to the way tSRFs where evaluated. But it's fairly easy to fix now. We could backpatch this into 10, but given there've been fewc omplaints that doesn't seem worth the risk so far. Reported-By: Lucas Fairchild Author: Andres Freund, per discussion with Tom Lane Discussion: https://postgr.es/m/4514.1507318...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/84ad4b036d975ad1be0f52251bac3a06463c9811 - Fix pnstrdup() to not memcpy() the maximum allowed length. The previous behaviour was dangerous if the length passed wasn't the size of the underlying buffer, but the maximum size of the underlying buffer. Author: Andres Freund Discussion: https://postgr.es/m/20161003215524.mwz5p45pcverr...@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/82c117cb90e6b6b79f06d61eb1ddf06e94e75b60 - Rewrite strnlen replacement implementation from 8a241792f96. The previous placement of the fallback implementation in libpgcommon was problematic, because libpqport functions need strnlen functionality. Move replacement into libpgport. Provide strnlen() under its posix name, instead of pg_strnlen(). Fix stupid configure bug, executing the test only when compiled with threading support. Author: Andres Freund Discussion: https://postgr.es/m/e1e1gr2-0005fb...@gemulon.postgresql.org https://git.postgresql.org/pg/commitdiff/fffd651e83ccbd6191a76be6ec7c6b1b27888fde - Prevent
[ANNOUNCE] == PostgreSQL Weekly News - September 24 2017 ==
== PostgreSQL Weekly News - September 24 2017 == PostgreSQL 10 Release Candidate 1 released. Test! https://www.postgresql.org/about/news/1783/ == PostgreSQL Product News == pg-wrapper 0.2.2, a wrapper for PHP's pgsql extension, released. https://github.com/sad-spirit/pg-wrapper brimbox 2.3.4, a web database interface and framework built atop PostgreSQL, released. https://www.brimbox.com/brimbox-version-2-3-4-released/ pg_dirtyread 1.2, an extension that provides the ability to read dead but unvacuumed rows from a relation, released. https://github.com/ChristophBerg/pg_dirtyread pg_builder 0.2.1, a PHP query builder for PostgreSQL, released. https://github.com/sad-spirit/pg-builder == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2017-09/ == PostgreSQL Local == PGDay.IT 2017 will take place October 13th, in Milan, Italy. http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Australia 2017 will be held on November 17 in Melbourne. http://2017.pgday.com.au/ 2ndQuadrant PostgreSQL Conference 2017 (2Q PGConf, for short) will be hosted on November 6th & 7th in New York City, and November 9th in Chicago. http://www.2qpgconf.com/ PostgreSQL Session November 17th, 2017, in Paris, France. The CfP is open until September 30, 2017 at call-for-paper AT postgresql-sessions DOT org. Details at http://blog.dalibo.com/2017/08/29/cfp_pgsession9.html PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka. Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by October 31st, 2017. http://pgconf.in/ == 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 EST5EDT. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Peter Eisentraut pushed: - Remove dead external links from documentation. https://git.postgresql.org/pg/commitdiff/d31892e2105cf48d8430807d74d5fdf1434af541 - Update some dead external links in the documentation. https://git.postgresql.org/pg/commitdiff/4b17c894293d0c3ed944da76aeb9bc2bb02a6db6 - Sync process names between ps and pg_stat_activity. Remove gratuitous differences in the process names shown in pg_stat_activity.backend_type and the ps output. Reviewed-by: Takayuki Tsunakawa <tsunakawa.ta...@jp.fujitsu.com> https://git.postgresql.org/pg/commitdiff/be87b70b6117609b7db0cd5e0cd96e7f569bdddb - Fix compiler warning. from gcc-7 -Wformat-truncation (via -Wall) https://git.postgresql.org/pg/commitdiff/d42294fc00da4b97d04ddb4401b76295e8d86816 - Add basic TAP test setup for pg_upgrade. The plan is to convert the current pg_upgrade test to the TAP framework. This commit just puts a basic TAP test in place so that we can see how the build farm behaves, since the build farm client has some special knowledge of the pg_upgrade tests. Author: Michael Paquier <michael.paqu...@gmail.com> https://git.postgresql.org/pg/commitdiff/f41e56c76e39f02bef7ba002c9de03d62b76de4d - Fix build with !USE_WIDE_UPPER_LOWER. The placement of the ifdef blocks in formatting.c was pretty bogus, so the code failed to compile if USE_WIDE_UPPER_LOWER was not defined. Reported-by: Peter Geoghegan <p...@bowt.ie> Reported-by: Noah Misch <n...@leadboat.com> https://git.postgresql.org/pg/commitdiff/e6023ee7fa73a2d9a2d7524f63584844b2291def - Remove contrib/chkpass. The recent addition of a test suite for this module revealed a few problems. It uses a crypt() method that is no longer considered secure and doesn't work anymore on some platforms. Using a volatile input function violates internal sanity check assumptions and leads to failures on the build farm. So this module is neither a usable security tool nor a good example for an extension. No one wanted to argue for keeping or improving it, so remove it. Discussion: https://www.postgresql.org/message-id/5645b0d7-cc40-6ab5-c553-292a91091ee7%402ndquadrant.com https://git.postgresql.org/pg/commitdiff/5d3cad564729f64d972c5c803ff34f0eb40bfd0c - doc: Document commands that cannot be run in a transaction block. Mainly covering the new CREATE SUBSCRIPTION and DROP SUBSCRIPTION, but ALTER DATABASE SET TABLESPACE was also missing. https://git.postgresql.org/pg/commitdiff/91ad8b416cee753eaa6f520ee2d21c2d41853381 - Revert "Add ba
[ANNOUNCE] == PostgreSQL Weekly News - September 17 2017 ==
== PostgreSQL Weekly News - September 17 2017 == PGConf India 2018 will be on February 22-23, 2018 in Bengaluru, Karnataka. Proposals are due via https://goo.gl/forms/F9hRjOIsaNasVOAz2 by October 31st, 2017. http://pgconf.in/ == PostgreSQL Product News == PostGIS 2.4.0 rc1 the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/2017/09/13/postgis-2.4.0rc1 PostgreSQL Automatic Failover (PAF) v2.2.0 released. https://github.com/dalibo/PAF/releases/tag/v2.2.0 oracle_fdw 2.0.0 released. https://laurenz.github.io/oracle_fdw == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2017-09/ == PostgreSQL Local == PGDay.IT 2017 will take place October 13th, in Milan, Italy. http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Australia 2017 will be held on November 17 in Melbourne. The CfP is open through September 8, 2017 at https://goo.gl/5d9EbT http://2017.pgday.com.au/ 2ndQuadrant PostgreSQL Conference 2017 (2Q PGConf, for short) will be hosted on November 6th & 7th in New York City, and November 9th in Chicago. http://www.2qpgconf.com/ PostgreSQL Session November 17th, 2017, in Paris, France. The CfP is open until September 30, 2017 at call-for-paper AT postgresql-sessions DOT org. Details at http://blog.dalibo.com/2017/08/29/cfp_pgsession9.html PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ == 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 EST5EDT. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Peter Eisentraut pushed: - Fix DROP SUBSCRIPTION hang. When ALTER SUBSCRIPTION DISABLE is run in the same transaction before DROP SUBSCRIPTION, the latter will hang because workers will still be running, not having seen the DISABLE committed, and DROP SUBSCRIPTION will wait until the workers have vacated the replication origin slots. Previously, DROP SUBSCRIPTION killed the logical replication workers immediately only if it was going to drop the replication slot, otherwise it scheduled the worker killing for the end of the transaction, as a result of 7e174fa793a2df89fe03d002a5087ef67abcdde8. This, however, causes the present problem. To fix, kill the workers immediately in all cases. This covers all cases: A subscription that doesn't have a replication slot must be disabled. It was either disabled in the same transaction, or it was already disabled before the current transaction, but then there shouldn't be any workers left and this won't make a difference. Reported-by: Arseny Sher <a.s...@postgrespro.ru> Discussion: https://www.postgresql.org/message-id/flat/87mv6av84w.fsf%40ars-thinkpad https://git.postgresql.org/pg/commitdiff/8edacab209957520423770851351ab4013cb0167 - Message style fixes. https://git.postgresql.org/pg/commitdiff/821fb8cdbf700a8aadbe12d5b46ca4e61be5a8a8 - doc: Document function pointer source code style. as implemented in 1356f78ea93395c107cbc75dc923e29a0efccd8a https://git.postgresql.org/pg/commitdiff/3612019a7925012445af29b9ea7af84bd68a5932 - pg_receivewal: Add --endpos option. This is primarily useful for making tests of this utility more deterministic, to avoid the complexity of starting pg_receivewal as a deamon in TAP tests. While this is less useful than the equivalent pg_recvlogical option, users can as well use it for example to enforce WAL streaming up to a end-of-backup position, to save only a minimal amount of WAL. Use this new option to stream WAL data in a deterministic way within a new set of TAP tests. Author: Michael Paquier <michael.paqu...@gmail.com> https://git.postgresql.org/pg/commitdiff/6d9fa52645e71711410a66b5349df3be0dd49608 - Allow custom search filters to be configured for LDAP auth. Before, only filters of the form "(=)" could be used to search an LDAP server. Introduce ldapsearchfilter so that more general filters can be configured using patterns, like "(|(uid=$username)(mail=$username))" and "(&(uid=$username) (objectClass=posixAccount))". Also allow search filters to be included in an LDAP URL. Author: Thomas Munro Reviewed-By: Peter Eisentraut, Mark Cave-Ayland, Magnus Hagander Discussion: https://postgr.es/m/CAEepm=0XTkYvMci0WRubZcf_1am8=gP=7ojerpsufryckf2...@mail.gma
[ANNOUNCE] == PostgreSQL Weekly News - August 21 2017 ==
== PostgreSQL Weekly News - August 21 2017 == PGDay Australia 2017 will be held on November 17 in Melbourne. The CfP is open through September 8, 2017 at https://goo.gl/5d9EbT http://2017.pgday.com.au/ == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2017-08/ == PostgreSQL Local == PGDay Austin 2017 will be held on August 26, 2017 https://pgdayaustin2017.postgresql.us PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. https://pgbr.postgresql.org.br/2017/ PGDay.IT 2017 will take place in October 13th, in Milan, Italy. http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Michael Meskes pushed: - Changed ecpg parser to allow RETURNING clauses without attached C variables. https://git.postgresql.org/pg/commitdiff/ea0ca75d5d14e0c98782a2188405685af4a475a0 - Allow continuation lines in ecpg cppline parsing. https://git.postgresql.org/pg/commitdiff/a4619b26a6a69ab31cab4a0632460647d7f5510f Tom Lane pushed: - Absorb -D USE 32BIT TIME T switch from Perl, if relevant. Commit 3c163a7fc's original choice to ignore all #define symbols whose names begin with underscore turns out to be too simplistic. On Windows, some Perl installations are built with -D USE 32BIT TIME T, and we must absorb that or we get the wrong result for sizeof(PerlInterpreter). This effectively re-reverts commit ef58b87df, which injected that symbol in a hacky way, making it apply to all of Postgres not just PL/Perl. More significantly, it did so on *all* 32-bit Windows builds, even when the Perl build to be used did not select this option; so that it fails to work properly with some newer Perl builds. By making this change, we would be introducing an ABI break in 32-bit Windows builds; but fortunately we have not used type time t in any exported Postgres APIs in a long time. So it should be OK, both for PL/Perl itself and for third-party extensions, if an extension library is built with a different USE 32BIT TIME T setting than the core code. Patch by me, based on research by Ashutosh Sharma and Robert Haas. Back-patch to all supported branches, as commit 3c163a7fc was. Discussion: https://postgr.es/m/CANFyU97OVQ3+Mzfmt3MhuUm5NwPU=-FtbNH5Eb7nZL9ua8=r...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/5a5c2feca3fd858e70ea348822595547e6fa6c15 - Handle elog(FATAL) during ROLLBACK more robustly. Stress testing by Andreas Seltenreich disclosed longstanding problems that occur if a FATAL exit (e.g. due to receipt of SIGTERM) occurs while we are trying to execute a ROLLBACK of an already-failed transaction. In such a case, xact.c is in TBLOCK ABORT state, so that AbortOutOfAnyTransaction would skip AbortTransaction and go straight to CleanupTransaction. This led to an assert failure in an assert-enabled build (due to the ROLLBACK's portal still having a cleanup hook) or without assertions, to a FATAL exit complaining about "cannot drop active portal". The latter's not disastrous, perhaps, but it's messy enough to want to improve it. We don't really want to run all of AbortTransaction in this code path. The minimum required to clean up the open portal safely is to do AtAbort Memory and AtAbort Portals. It seems like a good idea to do AtAbort Memory unconditionally, to be entirely sure that we are starting with a safe CurrentMemoryContext. That means that if the main loop in AbortOutOfAnyTransaction does nothing, we need an extra step at the bottom to restore CurrentMemoryContext = TopMemoryContext, which I chose to do by invoking AtCleanup Memory. This'll result in calling AtCleanup Memory twice in many of the paths through this function, but that seems harmless and reasonably inexpensive. The original motivation for the assertion in AtCleanup Portals was that we wanted to be sure that any user-defined code executed as a consequence of the cleanup hook runs during AbortTransaction not CleanupTransaction. That still seems like a valid concern, and now that we've see
[ANNOUNCE] == PostgreSQL Weekly News - August 14 2017 ==
== PostgreSQL Weekly News - August 14 2017 == PostgreSQL 10 Beta 3 released. Test! https://www.postgresql.org/about/news/1771/ Security releases 9.6.4, 9.5.8, 9.4.13, 9.3.18 and 9.2.22 are out. Please read the announcement below and upgrade at the next available downtime. https://www.postgresql.org/about/news/1772/ 2ndQuadrant PostgreSQL Conference 2017 (2Q PGConf, for short) will be hosted on November 6th & 7th in New York City, and November 9th in Chicago. http://www.2qpgconf.com/ PGConf Local: Seattle Has been rescheduled to November 13 - 14, 2017. Registration at https://www.pgconf.us/#Seattle2017 PGConf Local: Austin will be held December 4 - 5, 2017. Call for Papers is now open at https://www.pgconf.us/conferences/Austin2017 == PostgreSQL Product News == PGroonga 1.2.3, a full text search platform for all languages, released. http://groonga.org/en/blog/2017/07/03/pgroonga-1.2.3.html JDBC 42.1.4 released https://jdbc.postgresql.org/documentation/changelog.html#version_42.1.4 psqlODBC 09.06.0410 released. https://odbc.postgresql.org/docs/release.html psycopg2 2.7.3, a Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2017/07/24/psycopg-273-released/ pg_repack 1.4.1, an extension for removing bloat, released. http://reorg.github.io/pg_repack/ == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2017-08/ == PostgreSQL Local == PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. https://pgbr.postgresql.org.br/2017/ PGDay.IT 2017 will take place in October 13th, in Milan, Italy. http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf Local: Seattle will be held November 13 - 14, 2017. https://www.pgconf.us/#Seattle2017 PGDay Austin 2017 will be held on December 4 - 5, 2017. https://pgdayaustin2017.postgresql.us PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Noah Misch pushed: - Disclaim xmltable() support for non-UTF8 databases. The xmltable() implementation mirrors xpath(), including its lack of character encoding awareness. https://git.postgresql.org/pg/commitdiff/b4a2eea030ba74ea84335c7d5bc999f693ffd9a4 - Fix vertical spanning in table "wait_event Description". Michael Paquier Discussion: https://postgr.es/m/cab7npqqr3keqvxeuunycm7tdk2fb9oluq8du0+y0rzeon_1...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/e88928c50dfe2623c899f82b54aad69da248ad07 Álvaro Herrera pushed: - Fix replication origin-related race conditions. Similar to what was fixed in commit 9915de6c1cb2 for replication slots, but this time it's related to replication origins: DROP SUBSCRIPTION attempts to drop the replication origin, but that fails if the replication worker process hasn't yet marked it unused. This causes failures in the buildfarm: ERROR: could not drop replication origin with OID 1, in use by PID 34069 Like the aforementioned commit, fix by having the process running DROP SUBSCRIPTION sleep until the worker marks the the replication origin struct as free. This uses a condition variable on each replication origin shmem state struct, so that the session trying to drop can sleep and expect to be awakened by the process keeping the origin open. Also fix a SGML markup in the previous commit. Discussion: https://postgr.es/m/20170808001433.rozlseaf4m2wkw3n@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/b2c95a3798ff39fc24d71b6655ddfe0e4cb3f378 - Fix inadequacies in recently added wait events In commit 9915de6c1cb2, we introduced a new wait point for replication slots and incorrectly labelled it as wait event PG_WAIT_LOCK. That's wrong, so invent an appropriate new wait event instead, and document it properly. While at it, fix numerous other problems in the vicinity: - two different walreceiver wait events were being mixed up in a single wait event (which wasn't documented either); split it out so that they can be distinguished, and document the new events properly. - ParallelBitmapPopulate was documented but didn't exist. - ParallelBitmapScan was not documented (I think this should be called "ParallelBitmapScanInit" instead.) - Logical replication wait events weren't documented - various symbols had been added in dartboard order in various places. Put them in alphabetical order in
[ANNOUNCE] == PostgreSQL Weekly News - July 23 2017 ==
== PostgreSQL Weekly News - July 23 2017 == PGDay Australia 2017 will be held on November 17 in Melbourne. The CfP is open through August 20, 2017 at https://goo.gl/5d9EbT http://2017.pgday.com.au/ == PostgreSQL Product News == psqlODBC 09.06.0400 released. https://odbc.postgresql.org/docs/release.html barman 2.2, a backup and recovery manager for PostgreSQL, released. https://www.2ndquadrant.com/en/about/news/announcing-release-barman-2-2/ psycopg2 2.7.2, a Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2017/07/22/psycopg-272-released/ pg_chameleon 1.5, a tool for replicating from MySQL to PostgreSQL, released. https://pypi.python.org/pypi/pg_chameleon == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2017-07/ == PostgreSQL Local == PGConf Local: Seattle will be held August 11 - 12, 2017. https://www.pgconf.us/#Seattle2017 PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. https://pgbr.postgresql.org.br/2017/ PGDay.IT 2017 will take place in October 13th, in Milan, Italy. http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. The CfP is open through August 7, 2017. https://2017.pgconf.eu/ PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Noah Misch pushed: - MSVC: Don't link libpgcommon into pgcrypto. Doing so was useful in 273c458a2b3a0fb73968020ea5e9e35eb6928967 but became obsolete when 818fd4a67d610991757b610755e3065fb99d80a5 caused postgres.exe to provide the relevant symbols. No other loadable module links to libpgcommon directly. https://git.postgresql.org/pg/commitdiff/2f7f45a64badec18ce75e44ca35c078f08e2651e Robert Haas pushed: - hash: Fix write-ahead logging bugs related to init forks. One, logging for CREATE INDEX was oblivious to the fact that when an unlogged table is created, *only* operations on the init fork should be logged. Two, init fork buffers need to be flushed after they are written; otherwise, a filesystem-level copy following recovery may do the wrong thing. (There may be a better fix for this issue than the one used here, but this is transposed from the similar logic already present in XLogReadBufferForRedoExtended, and a broader refactoring after beta2 seems inadvisable.) Amit Kapila, reviewed by Ashutosh Sharma, Kyotaro Horiguchi, and Michael Paquier Discussion: http://postgr.es/m/caa4ek1jpcmsetol_j7wodumeefyrpi7fpyhevds7fyyrcrg...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/09c2e7cd2ff0b884625c37ce8249832820c58710 - Use a real RT index when setting up partition tuple routing. Before, we always used a dummy value of 1, but that's not right when the partitioned table being modified is inside of a WITH clause rather than part of the main query. Amit Langote, reported and reviewd by Etsuro Fujita, with a comment change by me. Discussion: http://postgr.es/m/ee12f648-8907-77b5-afc0-2980bcb0a...@lab.ntt.co.jp https://git.postgresql.org/pg/commitdiff/f81a91db4d1c2032632aa5df9fc14be24f5fe5ec - Reverse-convert row types in ExecWithCheckOptions. Just as we already do in ExecConstraints, and for the same reason: to improve the quality of error messages. Etsuro Fujita, reviewed by Amit Langote Discussion: http://postgr.es/m/56e0baa8-e458-2bbb-7936-367f7d832...@lab.ntt.co.jp https://git.postgresql.org/pg/commitdiff/c85ec643ff2586e2d144374f51f93bfa215088a2 - pg_rewind: Fix busted sanity check. As written, the code would only fail the sanity check if none of the columns returned by the server were of the expected type, but we want it to fail if even one column is not of the expected type. Discussion: http://postgr.es/m/CA+TgmoYuY5zW7JEs+1hSS1D=V5K8h1SQuESrq=bmneo0b71...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/063ff9210c54928a2d19f9e826486621809e1b82 - pg_rewind: Fix some problems when copying files >2GB. When incrementally updating a file larger than 2GB, the old code could either fail outright (if the client asked the server for bytes beyond the 2GB boundary) or fail to copy all the blocks that had actually been modified (if the server reported a file size to the cli
[ANNOUNCE] == PostgreSQL Weekly News - July 16 2017 ==
== PostgreSQL Weekly News - July 16 2017 == PostgreSQL 10 Beta 2 released. Test! https://www.postgresql.org/about/news/1763/ == PostgreSQL Product News == Pgpool-II 3.6.5, 3.5.9, 3.4.12, 3.3.16 and 3.2.21 released. http://pgpool.net/mediawiki/index.php/Downloads == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2017-07/ == PostgreSQL Local == PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. https://pgbr.postgresql.org.br/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us PGConf Local: Seattle will be held August 11 - 12, 2017. https://www.pgconf.us/#Seattle2017 PGDay.IT 2017 will take place in October 13th, in Milan, Italy. The CfP is open until July 9th, 2017 at http://2017.pgday.it/en/blog/call-for-papers http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Tom Lane pushed: - Doc: clarify wording about tool requirements in sourcerepo.sgml. Original wording had confusingly vague antecedent for "they", so replace that with a more repetitive but clearer formulation. In passing, make the link to the installation requirements section more specific. Per gripe from Martin Mai, though this is not the fix he initially proposed. Discussion: https://postgr.es/m/CAN_NWRu-cWuNaiXUjV3m4H-riWURuPW=j21bsalads6rjjz...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/3834abe90c7359319d1909fdb69a40963276a690 - Doc: desultory copy-editing for v10 release notes. Improve many item descriptions, improve markup, relocate some items that seemed to be in the wrong section. https://git.postgresql.org/pg/commitdiff/749eceff4a1f9740391b126c81af9fd4bf3b1eaa - Doc: remove claim that PROVE_FLAGS defaults to '--verbose'. Commit e9c81b601 changed this, but missed updating the documentation. The adjacent claim that we use TAP tests only in src/bin seems pretty obsolete as well. Minor other copy-editing. https://git.postgresql.org/pg/commitdiff/260ba8525a6365cfb3251d619767cc6ae19ddff8 - On Windows, retry process creation if we fail to reserve shared memory. We've heard occasional reports of backend launch failing because pgwin32_ReserveSharedMemoryRegion() fails, indicating that something has already used that address space in the child process. It's not very clear what, given that we disable ASLR in Windows builds, but suspicion falls on antivirus products. It'd be better if we didn't have to disable ASLR, anyway. So let's try to ameliorate the problem by retrying the process launch after such a failure, up to 100 times. Patch by me, based on previous work by Amit Kapila and others. This is a longstanding issue, so back-patch to all supported branches. Discussion: https://postgr.es/m/caa4ek1+r6hsx6t_yvwtx+nrznevp+mrqxadgjzchcau8uij...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/45e004fb4e3937dbdabf6d5c1706f1a02fdceb94 - Stamp 10beta2. https://git.postgresql.org/pg/commitdiff/42171e2cd23c8307bbe0ec64e901f58e297db1c3 - Fix multiple assignments to a column of a domain type. We allow INSERT and UPDATE commands to assign to the same column more than once, as long as the assignments are to subfields or elements rather than the whole column. However, this failed when the target column was a domain over array rather than plain array. Fix by teaching process_matched_tle() to look through CoerceToDomain nodes, and add relevant test cases. Also add a group of test cases exercising domains over array of composite. It's doubtless accidental that CREATE DOMAIN allows this case while not allowing straight domain over composite; but it does, so we'd better make sure we don't break it. (I could not find any documentation mentioning either side of that, so no doc changes.) It's been like this for a long time, so back-patch to all supported branches. Discussion: https://postgr.es/m/4206.1499798...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/b1cb32fb62c9951c9ba35cb774fb8beec9090cb7 - Avoid integer overflow while sifting-up a heap in tuplesort.c. If the number of tuples in the heap exceeds approximately
[ANNOUNCE] == PostgreSQL Weekly News - July 09 2017 ==
== PostgreSQL Weekly News - July 09 2017 == == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2017-07/ == PostgreSQL Local == PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. https://pgbr.postgresql.org.br/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. http://www.pgconf.uk PGConf.Brazil 2017 OnLine Edition will be live from Brazil on July 10-14 2017. http://pgconf.com.br PGConf Local: Philly will be held July 13 - 14, 2017. Registration is now open at https://www.pgconf.us/conferences/Philly2017 PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us PGConf Local: Seattle will be held August 11 - 12, 2017. https://www.pgconf.us/#Seattle2017 PGDay.IT 2017 will take place in October 13th, in Milan, Italy. The CfP is open until July 9th, 2017 at http://2017.pgday.it/en/blog/call-for-papers http://pgday.it PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Heikki Linnakangas pushed: - Forbid gen_random_uuid() with --disable-strong-random. Previously, gen_random_uuid() would fall back to a weak random number generator, unlike gen_random_bytes() which would just fail. And this was not made very clear in the docs. For consistency, also make gen_random_uuid() fail outright, if compiled with --disable-strong-random. Re-word the error message you get with --disable-strong-random. It is also used by pgp functions that require random salts, and now also gen_random_uuid(). Reported by Radek Slupik. Discussion: https://www.postgresql.org/message-id/20170101232054.10135.50...@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/bf723a274cbb00c7fba66c66312a77940af13d79 - Treat clean shutdown of an SSL connection same as the non-SSL case. If the client closes an SSL connection, treat it the same as EOF on a non-SSL connection. In particular, don't write a message in the log about that. Michael Paquier. Discussion: https://www.postgresql.org/message-id/cab7npqsfyvv42q2acfo%3dvrvf2gxozamjlapq3s3kkjhzayi...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/b93827c745f346a765e7e59584127e07a37c78da Magnus Hagander pushed: - Don't mention SSL methods that aren't reachable in docs. Author: Michael Paquier <michael.paqu...@gmail.com> https://git.postgresql.org/pg/commitdiff/42794d6749f24636efbb198db17c30c63df10900 - Fix out of date comment. Author: Masahiko Sawada <sawada.m...@gmail.com> https://git.postgresql.org/pg/commitdiff/4808d69955f5115686633cd3cc78b9957122e1ad Peter Eisentraut pushed: - Improve subscription locking. This avoids "tuple concurrently updated" errors when a ALTER or DROP SUBSCRIPTION writes to pg_subscription_rel at the same time as a worker. Author: Petr Jelinek <petr.jeli...@2ndquadrant.com> https://git.postgresql.org/pg/commitdiff/cb9079cd51a2df677dc182aec72d88383b9c2a79 - Document how logical replication deals with statement triggers. Reported-by: Константин Евтеев <konst...@gmail.com> Bug: #14699 https://git.postgresql.org/pg/commitdiff/012d83f57aff973a73214262f3d87105786e3500 - psql documentation fixes. Update the documentation for \pset to mention columns|linestyle|pager_min_lines. Add various mentions of \pset command equivalences that were previously inconsistent. Author: Дилян Палаузов <dpa-postg...@aegee.org> https://git.postgresql.org/pg/commitdiff/5191e357cf22e200a9baaf97bbe8a07ee2537537 - Fix output of char node fields. WRITE_CHAR_FIELD() didn't do any escaping, so that for example a zero byte would cause the whole output string to be truncated. To fix, pass the char through outToken(), so it is escaped like a string. Adjust the reading side to handle this. https://git.postgresql.org/pg/commitdiff/d80e73f2293429cf8a0a13c243852379ec2e37e2 - pg_ctl: Make failure to complete operation a nonzero exit. If an operation being waited for does not complete within the timeout, then exit with a nonzero exit status. This was previously handled inconsistently. https://git.postgresql.org/pg/commitdiff/1bac5f552a25aca3aa2ef1d404f7cdf7788c34d8 - Re
[ANNOUNCE] == PostgreSQL Weekly News - June 25 2017 ==
== PostgreSQL Weekly News - June 25 2017 == PGDay.IT 2017 will take place in October 13th, in Milan, Italy. The CfP is open until July 9th, 2017 at http://2017.pgday.it/en/blog/call-for-papers http://pgday.it == PostgreSQL Product News == PL/Java 1.5.1-BETA1 released. http://tada.github.io/pljava/ == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2017-06/ == PostgreSQL Local == Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The schedule is online and registration is open. http://www.pgday.ch/2017/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. The CfP is open until June 30, 2017. https://pgbr.postgresql.org.br/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. http://www.pgconf.uk PGConf.Brazil 2017 OnLine Edition will be live from Brazil on July 10-14 2017. http://pgconf.com.br PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Tatsuo Ishii pushed: - Improve PostgreSQL 10.0 release note regarding pg_current_logfile(). Author: Yugo Nagata https://git.postgresql.org/pg/commitdiff/b4166a8df914f56b3b7d2dc1b74897e7525c5cea Andres Freund pushed: - Fix leaking of small spilled subtransactions during logical decoding. When, during logical decoding, a transaction gets too big, it's contents get spilled to disk. Not just the top-transaction gets spilled, but *also* all of its subtransactions, even if they're not that large themselves. Unfortunately we didn't clean up such small spilled subtransactions from disk. Fix that, by keeping better track of whether a transaction has been spilled to disk. Author: Andres Freund Reported-By: Dmitriy Sarafannikov, Fabrízio de Royes Mello Discussion: https://postgr.es/m/1457621358.355011...@f382.i.mail.ru https://postgr.es/m/CAFcNs+qNMhNYii4nxpO6gqsndiyxNDYV0S=jnq0v_see+9p...@mail.gmail.com Backpatch: 9.4-, where logical decoding was introduced https://git.postgresql.org/pg/commitdiff/3bdea167eb01491a4898e977d308508374e97bfa - Fix possibility of creating a "phantom" segment after promotion. When promoting a standby just after a XLOG_SWITCH record was replayed, and next segment(s) are already are locally available (via walsender, restore_command + trigger/recovery target), that segment could accidentally be recycled onto the past of the new timeline. Later checkpointer would create a .ready file for it, assuming there was an error during creation, and it would get archived. That causes trouble if another standby is later brought up from a basebackup from before the timeline creation, because it would try to read the segment, because XLogFileReadAnyTLI just tries all possible timelines, which doesn't have valid contents. Thus replay would fail. The problem, if already occurred, can be fixed by removing the segment and/or having restore_command filter it out. The reason for the creation of such "phantom" segments was, that after an XLOG_SWITCH record the EndOfLog variable points to the beginning of the next segment, and RemoveXlogFile() used XLByteToPrevSeg(). Normally RemoveXlogFile() doing so is harmless, because the last segment will still exist preventing InstallXLogFileSegment() from causing harm, but just after promotion there's no previous segment on the new timeline. Fix that by using XLByteToSeg() instead of XLByteToPrevSeg(). Author: Andres Freund Reported-By: Greg Burek Discussion: https://postgr.es/m/20170619073026.zcwpe6mydsaz5...@alap3.anarazel.de Backpatch: 9.2-, bug older than all supported versions https://git.postgresql.org/pg/commitdiff/fb886c153bc168eeb1c3fd2f24562b5b808357d6 Tom Lane pushed: - On Windows, make pg_dump use binary mode for compressed plain text output. The combination of -Z -Fp and output to stdout resulted in corrupted output data, because we left stdout in text mode, resulting in newline conversion being done on the compressed stream. Switch stdout to binary mode for this cas
[ANNOUNCE] == PostgreSQL Weekly News - June 18 2017 ==
== PostgreSQL Weekly News - June 18 2017 == PGConf.Brazil 2017 OnLine Edition will be live from Brazil on July 10-14 2017. http://pgconf.com.br == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2017-06/ == PostgreSQL Local == Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The schedule is online and registration is open. http://www.pgday.ch/2017/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. The CfP is open until June 30, 2017. https://pgbr.postgresql.org.br/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. http://www.pgconf.uk PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Tatsuo Ishii pushed: - Fix ALTER TABLE doc examples. Patch by Yugo Nagata <nag...@sraoss.co.jp>. Confirmed by Amit Langote, who is the original author of the document part. https://git.postgresql.org/pg/commitdiff/eab86897bd8cbeb21ae8959ca9a095ce7cb663df - Fix typo in PostgreSQL 10.0 release note. Patch by Yugo Nagata. https://git.postgresql.org/pg/commitdiff/e800656d9a9b40b2f55afabe76354ab6d93353b3 - Fix document bug regarding read only transactions. It was explained that read only transactions (not in standby) allow to update sequences. This had been wrong since the commit: 05d8a561ff85db1545f5768fe8d8dc9d99ad2ef7 Discussion: https://www.postgresql.org/message-id/20170614.110826.425627939780392324.t-ishii%40sraoss.co.jp https://git.postgresql.org/pg/commitdiff/6108348c09df33773bed6e0ac762fe47bdcbb9e6 Peter Eisentraut pushed: - Stop table sync workers when subscription relation entry is removed. When a table sync worker is in waiting state and the subscription table entry is removed because of a concurrent subscription refresh, the worker could be left orphaned. To avoid that, explicitly stop the worker when the pg_subscription_rel entry is removed. Reported-by: Masahiko Sawada <sawada.m...@gmail.com> https://git.postgresql.org/pg/commitdiff/ddd7b22b225ae41d16ceb218b387645cb9becfdc - Stop table sync workers when subscription relation entry is removed. When a table sync worker is in waiting state and the subscription table entry is removed because of a concurrent subscription refresh, the worker could be left orphaned. To avoid that, explicitly stop the worker when the pg_subscription_rel entry is removed. Reported-by: Masahiko Sawada <sawada.m...@gmail.com> https://git.postgresql.org/pg/commitdiff/ddd7b22b225ae41d16ceb218b387645cb9becfdc - Trim trailing whitespace. https://git.postgresql.org/pg/commitdiff/bf6e4c3c82d349dc311ef795cc8eb7a9badf49eb - Fix build of ICU support in Windows. and also any platform that does not have locale_t but enabled ICU. Author: Ashutosh Sharma <ashu.coe...@gmail.com> https://git.postgresql.org/pg/commitdiff/253504fb9f804b6aa7cec9b9b2506fa88accf0dc - Add MSVC build system support for ICU. Author: Ashutosh Sharma <ashu.coe...@gmail.com> Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> https://git.postgresql.org/pg/commitdiff/03c396080ddc77b188a11dd54aa2a075ab2718e0 - Remove "synchronized table states" notice message. It appears to be more confusing than useful. Reported-by: Jeff Janes <jeff.ja...@gmail.com> https://git.postgresql.org/pg/commitdiff/7f28a7946a37e1716fe12c9e8466dbb868292087 - Add ICU_CFLAGS to global CPPFLAGS. The original code only added ICU_CFLAGS to the backend build. But it is also needed for building external modules that include pg_locale.h. So add it to the global CPPFLAGS. (This is only relevant if ICU is not in a compiler default path, so it apparently hasn't bitten many.) https://git.postgresql.org/pg/commitdiff/94c2ed0ebe005aa6389b02a61e3c16d08035299c - doc: Update information_schema documentation for identity columns. This was apparently forgotten in the original patch. https://git.postgresql.org/pg/commitdiff/5d8beac8bee344bdf4b05a63b93f06e05d999b39 - doc:
[ANNOUNCE] == PostgreSQL Weekly News - June 11 2017 ==
== PostgreSQL Weekly News - June 11 2017 == PostgreSQL Conference Europe 2017 will be held on October 24-27, 2017 in the Warsaw Marriott Hotel, in Warsaw, Poland. https://2017.pgconf.eu/ == PostgreSQL Product News == check_pgactivity 2.2, a Nagios remote agent for monitoring PostgreSQL, released. https://github.com/OPMDG/check_pgactivity/releases == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2017-06/ == PostgreSQL Local == Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The schedule is online and registration is open. http://www.pgday.ch/2017/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. The CfP is open until June 30, 2017. https://pgbr.postgresql.org.br/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. http://www.pgconf.uk PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == 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. == Applied Patches == Tom Lane pushed: - Replace over-optimistic Assert in partitioning code with a runtime test. get_partition_parent felt that it could simply Assert that systable_getnext found a tuple. This is unlike any other caller of that function, and it's unsafe IMO --- in fact, the reason I noticed it was that the Assert failed. (OK, I was working with known-inconsistent catalog contents, but I wasn't expecting the DB to fall over quite that violently. The behavior in a non-assert-enabled build wouldn't be very nice, either.) Fix it to do what other callers do, namely an actual runtime-test-and-elog. Also, standardize the wording of elog messages that are complaining about unexpected failure of systable_getnext. 90% of them say "could not find tuple for ", so make the remainder do likewise. Many of the holdouts were using the phrasing "cache lookup failed", which is outright misleading since no catcache search is involved. https://git.postgresql.org/pg/commitdiff/e7941a976688f0f5d13a5227ed4f3efe0718db9d - Don't be so trusting that shm_toc_lookup() will always succeed. Given the possibility of race conditions and so on, it seems entirely unsafe to just assume that shm_toc_lookup() always finds the key it's looking for --- but that was exactly what all but one call site were doing. To fix, add a "bool noError" argument, similarly to what we have in many other functions, and throw an error on an unexpected lookup failure. Remove now-redundant Asserts that a rather random subset of call sites had. I doubt this will throw any light on buildfarm member lorikeet's recent failures, because if an unnoticed lookup failure were involved, you'd kind of expect a null-pointer-dereference crash rather than the observed symptom. But you never know ... and this is better coding practice even if it never catches anything. Discussion: https://postgr.es/m/9697.1496675...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/d4663350646ca0c069a36d906155a0f7e3372eb7 - Code review for shm_toc.h/.c. Declare the toc_nentry field as uint32 not Size. Since shm_toc_lookup() reads the field without any lock, it has to be atomically readable, and we do not assume that for fields wider than 32 bits. Performance would be impossibly bad for entry counts approaching 2^32 anyway, so there is no need to try to preserve maximum width here. This is probably an academic issue, because even if reading int64 isn't atomic, the high order half would never change in practice. Still, it's a coding rule violation, so let's fix it. Adjust some other not-terribly-well-chosen data types too, and copy-edit some comments. Make shm_toc_attach's Asserts consistent with shm_toc_create's. None of this looks to be a live bug, so no need for back-patch. Discussion: https://postgr.es/m/16984.1496679...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/3e60c6f72328a9ad14d8a087411cd394752c5b23 - Docs: improve CREATE TABLE ref page's discussion of partition bounds. Clarify in the syntax synopsis that partition bound values must be exactly numeric literals or string literals; previously it said "bound_literal" which was defined nowhere. Repla
[ANNOUNCE] == PostgreSQL Weekly News - June 04 2017 ==
== PostgreSQL Weekly News - June 04 2017 == PostgreSQL 10 Beta 1 released. Test! https://www.postgresql.org/docs/devel/static/release-10.html Security releases 9.6.3, 9.5.7, 9.4.12, 9.3.17 and 9.2.21 are out. Upgrade at the next available downtime. https://www.postgresql.org/about/news/1746/ PGBR2017 will take place in Porto Alegre, Rio Grande do Sul, Brazil on September 14-16 2017. The CfP is open until June 30, 2017. https://pgbr.postgresql.org.br/2017/ PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. The CfP is open until July 31, 2017. Send submissions to pgconf-asia-2017-submission AT pgconf DOT asia http://www.pgconf.asia/EN/2017/ == PostgreSQL Product News == pgFormatter 2.0, a formatter/beautifier for SQL code, released. http://sqlformat.darold.net/ Pgpool-II 3.6.4 and 3.5.8 released. http://pgpool.net/mediawiki/index.php/Downloads psqlODBC 09.06.0310 released. https://odbc.postgresql.org/docs/release.html pitrery 1.13, a set of Bash scripts to manage PITR backups for PostgreSQL, released. https://github.com/dalibo/pitrery == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2017-06/ == PostgreSQL Local == PGDay Argentina 2017 will be held in Santa Fe on June 9, 2017. http://www.pgday.com.ar Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The schedule is online and registration is open. http://www.pgday.ch/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. http://www.pgconf.uk PGDay Austin 2017 will be held on Saturday, August 26 2017. The Call For https://pgdayaustin2017.postgresql.us == 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. == Applied Patches == Heikki Linnakangas pushed: - Fix reference to RFC specifying SCRAM. Noted by Peter Eisentraut https://git.postgresql.org/pg/commitdiff/6fd65f6b877512eb1c35897d4c4c6779d100e459 Magnus Hagander pushed: - Fix typo in comment. Masahiko Sawada https://git.postgresql.org/pg/commitdiff/917d91285f187e599039a962d9b869a782390304 - Generate pg_basebackup temporary slot name using backend pid. Using the client pid can easily be non-unique when used on different hosts. Using the backend pid should be guaranteed unique, since the temporary slot gets removed when the client disconnects so it will be gone even if the pid is renewed. Reported by Ludovic Vaugeois-Pepin https://git.postgresql.org/pg/commitdiff/2712da8b64b4e399a2666cce2c25329f4f834f2d - Fix typo in comment. Masahiko Sawada https://git.postgresql.org/pg/commitdiff/483373979b17f10b2dfa4b12e68c3b961a9f8454 - Fix copy/paste mistake in comment. Amit Langote https://git.postgresql.org/pg/commitdiff/acbd8375e954774181b673a31b814e9d46f436a5 Tom Lane pushed: - More code review for get_qual_for_list(). Avoid trashing the input PartitionBoundSpec; while that might be safe for current callers, it's certainly trouble waiting to happen. In the same vein, make sure that all of the result data structure is freshly palloc'd, rather than some of it being pointers into the input data structures (which we don't know the lifespans of). Simplify the logic for tacking on IS NULL or IS NOT NULL conditions some more; commit 85c2b9a15 left a lot on the table there. And rearrange the construction of the nodes into (what seems to me) a more logical order. In passing, make sure that get_qual_for_range() also returns a freshly palloc'd structure, since there's no value in having that guarantee for only one kind of partitioning. And improve some comments there. Jeevan Ladhe, with further tweaking by me Discussion: https://postgr.es/m/CAOgcT0MAcYoMs93W80iTUf_dP36=1mzqzeuk+nnwy_-qwdr...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/dced55dafead62cfff81a3fedb35acd8e32c9b02 - Allow NumericOnly to be "+ FCONST". The NumericOnly grammar production accepted ICONST, + ICONST, - ICONST, FCONST, and - FCONST, but for some reason not + FCONST. This led to strange inconsistencies like regression=# set random_page_cost = +4; SET regression=# set random_page_cost = 40; SET regression=# set random_page_cost = +40; ERROR: syntax error at or near "40" (because 40 is too large to be an ICONST). While there's no actual functional reason to need to write a "+", if we allow it for integers it seems like we should allow it for numerics too. It's been like that forever, so back-patch to all supported branches. Dis
[ANNOUNCE] == PostgreSQL Weekly News - May 07 2017 ==
== PostgreSQL Weekly News - May 07 2017 == PGDay Austin 2017 will be held on Saturday, August 26 2017. The Call For Presentations is closes on June 4th. https://pgdayaustin2017.postgresql.us == PostgreSQL Product News == pglogical 2.0, a logical-WAL-based replication system for PostgreSQL, released. https://2ndquadrant.com/en/about/news/announcing-release-pglogical-20/ psqlODBC 09.06.0300 released. https://odbc.postgresql.org/docs/release.html pg_chameleon 1.0, a tool for replicating from MySQL to PostgreSQL, released. https://pypi.python.org/pypi/pg_chameleon == PostgreSQL Jobs for May == http://archives.postgresql.org/pgsql-jobs/2017-05/ == PostgreSQL Local == PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/ PGDay Argentina 2017 will be held in Santa Fe on June 9, 2017. The CfP is open. http://www.pgday.com.ar Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. http://www.pgday.ch/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. The CfP is open until May 30, 2017. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. http://www.pgconf.uk == 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. == Applied Patches == Robert Haas pushed: - Fire per-statement triggers on partitioned tables. Even though no actual tuples are ever inserted into a partitioned table (the actual tuples are in the partitions, not the partitioned table itself), we still need to have a ResultRelInfo for the partitioned table, or per-statement triggers won't get fired. Amit Langote, per a report from Rajkumar Raghuwanshi. Reviewed by me. Discussion: http://postgr.es/m/CAKcux6%3DwYospCRY2J4XEFuVy0L41S%3Dfic7rmkbsU-GXhhSbmBg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/e180c8aa8caf5c55a273d4a8e6092e77ff3cff10 - libpq: Fix inadvertent change in .pgpass lookup behavior. Commit 274bb2b3857cc987cfa21d14775cae9b0dababa5 caused password file lookups to use the hostaddr in preference to the host, but that was not intended and the documented behavior is the opposite. Report and patch by Kyotaro Horiguchi. Discussion: http://postgr.es/m/20170428.165432.60857995.horiguchi.kyot...@lab.ntt.co.jp https://git.postgresql.org/pg/commitdiff/bdac9836d3b910c5fd592aaeaac3c2e2e1defcad - Fix typos in comments. Etsuro Fujita Discussion: http://postgr.es/m/00e88999-684d-d79a-70e4-908c937a0...@lab.ntt.co.jp https://git.postgresql.org/pg/commitdiff/0d1e1f0ea45c15170c2d2ae0f0c448bc2d2b72d9 Peter Eisentraut pushed: - Fix logical replication launcher wake up and reset. After the logical replication launcher was told to wake up at commit (for example, by a CREATE SUBSCRIPTION command), the flag to wake up was not reset, so it would be woken up at every following commit as well. So fix that by resetting the flag. Also, we don't need to wake up anything if the transaction was rolled back. Just reset the flag in that case. Author: Masahiko Sawada <sawada.m...@gmail.com> Reported-by: Fujii Masao <masao.fu...@gmail.com> https://git.postgresql.org/pg/commitdiff/9414e41ea703ea5fcc288bcf7dc000e53306896b - Don't wake up logical replication launcher unnecessarily. In CREATE SUBSCRIPTION, only wake up the launcher when the subscription is enabled. Author: Fujii Masao <masao.fu...@gmail.com> https://git.postgresql.org/pg/commitdiff/a99448ab4515aaadc17647e53633f418893f5adf - doc: Update ALTER SEQUENCE claims about changes being nontransactional. Clarify that all changes except RESTART are transactional (since 1753b1b027035029c2a2a1649065762fafbf63f3). Reported-by: Michael Paquier <michael.paqu...@gmail.com> https://git.postgresql.org/pg/commitdiff/a35ac7c4e3ccf93876b4652d94a418fc82e0eda3 - Avoid unnecessary catalog updates in ALTER SEQUENCE. ALTER SEQUENCE can do nontransactional changes to the sequence (RESTART clause) and transactional updates to the pg_sequence catalog (most other clauses). When just calling RESTART, the code would still needlessly do a catalog update without any changes. This would entangle that operation in the concurrency issues of a catalog update (causing either locking or concurrency errors, depending on how that issue is to be resolved). Fix by keeping track during options parsing whether a catalog update is needed, and skip it if not. Reported-by: Jason Petersen <ja...@citusdata.com> https://git.postgresql.org/pg/commitdiff/3d092fe5409b98272ddd6e623b657308a3c5f004 - doc: Add missing markup. https://gi
[ANNOUNCE] == PostgreSQL Weekly News - April 16 2017 ==
== PostgreSQL Weekly News - April 16 2017 == PGDay Argentina 2017 will be held in Santa Fe on June 9, 2017. The CfP is open. http://www.pgday.com.ar == PostgreSQL Product News == pg_partman v3.0.1, a management system for partitioned tables, released. https://github.com/keithf4/pg_partman == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2017-04/ == PostgreSQL Local == PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/ Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. The CfP is open until May 30, 2017. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. The CfP closes April 20th 2017. http://www.pgconf.uk == 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. == Applied Patches == Joe Conway pushed: - Add partitioned table support to sepgsql. The new partitioned table capability added a new relkind, namely RELKIND_PARTITIONED_TABLE. Update sepgsql to treat this new relkind exactly the same way it does RELKIND_RELATION. In addition, add regression test coverage for partitioned tables. Issue raised by Stephen Frost and initial patch by Mike Palmiotto. Review by Tom Lane and Robert Haas, and editorializing by me. Discussion: https://postgr.es/m/flat/623bcaae-112e-ced0-8c22-a84f75ae0c53%40joeconway.com http://git.postgresql.org/pg/commitdiff/25542d77dd549940468d1a932809feb9959d717d - Make sepgsql regression tests robust vs. collation differences. In commit 25542d77, regression test coverage was added to sepgsql for partitioned tables. Unfortunately it was not robust in the face of collation differences, per the buildfarm. Force "C" collation in order to fix that. Discussion: https://postgr.es/m/flat/623bcaae-112e-ced0-8c22-a84f75ae0c53%40joeconway.com http://git.postgresql.org/pg/commitdiff/86fa9b2d1b74cf7e3402c7653f7515b075eacc7b Heikki Linnakangas pushed: - Document the "replication" option in StartupMessage. It is documented in the Streaming Replication Protocol section, but was missing from the list of options in StartupMessage description. http://git.postgresql.org/pg/commitdiff/6c4ad8b7bf420a6f598e4b45560cffc40ded0875 - Fix indentation. Oops, I forgot to "git add" this to previous commit. http://git.postgresql.org/pg/commitdiff/9cf5c31964315181e475fc37a5e9ad2204fe3484 - Minor cleanup of backend SCRAM code. Free each SASL message after sending it. It's not a lot of wasted memory, and it's short-lived, but the authentication code in general tries to pfree() stuff, so let's follow the example. Adding the pfree() revealed a little bug in build_server_first_message(). It attempts to keeps a copy of the sent message, but it was missing a pstrdup(), so the pointer started to dangle, after adding the pfree() into CheckSCRAMAuth(). Reword comments and debug messages slightly, while we're at it. Reviewed by Michael Paquier. Discussion: https://www.postgresql.org/message-id/6490b975-5ee1-6280-ac1d-af975b19f...@iki.fi http://git.postgresql.org/pg/commitdiff/00707fa58275e370dc445fa7e1130085aa04f37b - Improve the SASL authentication protocol. This contains some protocol changes to SASL authentiation (which is new in v10): * For future-proofing, in the AuthenticationSASL message that begins SASL authentication, provide a list of SASL mechanisms that the server supports, for the client to choose from. Currently, it's always just SCRAM-SHA-256. * Add a separate authentication message type for the final server->client SASL message, which the client doesn't need to respond to. This makes it unambiguous whether the client is supposed to send a response or not. The SASL mechanism should know that anyway, but better to be explicit. Also, in the server, support clients that don't send an Initial Client response in the first SASLInitialResponse message. The server is supposed to first send an empty request in that case, to which the client will respond with the data that usually comes in the Initial Client Response. libpq uses the Initial Client Response field and doesn't need this, and I would assume any other sensible implementation to use Initial Client Response, too, but let's follow the SASL spec. Improve the documentation on SASL authentication in protocol. Add a section describing the SASL message flow, and some details on our SCRAM-SHA-256 implementatio
[ANNOUNCE] == PostgreSQL Weekly News - April 09 2017 ==
== PostgreSQL Weekly News - April 09 2017 == == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2017-04/ == PostgreSQL Local == PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/ Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. The CfP is open until May 30, 2017. https://2017.postgresopen.org/ PGDay UK 2017 will take place July 4, 2017 in London, England, UK. The CfP closes April 20th 2017. http://www.pgconf.uk == 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. == Applied Patches == Tom Lane pushed: - Document psql's behavior of recalling the previously executed query. Various psql slash commands that normally act on the current query buffer will automatically recall and re-use the most recently executed SQL command instead, if the current query buffer is empty. Although this behavior is ancient (dating apparently to commit 77a472993), it was documented nowhere in the psql reference page. For that matter, we'd never bothered to define the concept of "current query buffer" explicitly. Fix that. Do some wordsmithing on relevant command descriptions to improve clarity and consistency. Discussion: https://postgr.es/m/9b4ea968-753f-4b5f-b46c-d7d3bf7c8...@manitou-mail.org http://git.postgresql.org/pg/commitdiff/68dba97a4dea5c5c915e31978a475107c17c458d - Doc: clarify behavior of OT_WHOLE_LINE and OT_FILEPIPE psql slash commands. This is another bit of ancient behavior that was documented poorly (in a couple of cases) or not at all (in several others). Discussion: https://postgr.es/m/9b4ea968-753f-4b5f-b46c-d7d3bf7c8...@manitou-mail.org http://git.postgresql.org/pg/commitdiff/ffac5998b4c18920f86d80f1bddbde9ebcf0a314 - Remove reinvention of stringify macro. We already have CppAsString2, there's no need for the MSVC support to re-invent a macro to do that (and especially not to inject it in as ugly a way as this). Discussion: https://postgr.es/m/CADkLM=c+hm2rc0tkKgC-ZgrLttHT2KkfppE+BC-=i-xj+7v...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/cd6baed78150e107eb858dbd53ddf900dd429f50 - Fix integer-overflow problems in interval comparison. When using integer timestamps, the interval-comparison functions tried to compute the overall magnitude of an interval as an int64 number of microseconds. As reported by Frazer McLean, this overflows for intervals exceeding about 296000 years, which is bad since we nominally allow intervals many times larger than that. That results in wrong comparison results, and possibly in corrupted btree indexes for columns containing such large interval values. To fix, compute the magnitude as int128 instead. Although some compilers have native support for int128 calculations, many don't, so create our own support functions that can do 128-bit addition and multiplication if the compiler support isn't there. These support functions are designed with an eye to allowing the int128 code paths in numeric.c to be rewritten for use on all platforms, although this patch doesn't do that, or even provide all the int128 primitives that will be needed for it. Back-patch as far as 9.4. Earlier releases did not guard against overflow of interval values at all (commit 146604ec4 fixed that), so it seems not very exciting to worry about overly-large intervals for them. Before 9.6, we did not assume that unreferenced "static inline" functions would not draw compiler warnings, so omit functions not directly referenced by timestamp.c, the only present consumer of int128.h. (We could have omitted these functions in HEAD too, but since they were written and debugged on the way to the present patch, and they look likely to be needed by numeric.c, let's keep them in HEAD.) I did not bother to try to prevent such warnings in a --disable-integer-datetimes build, though. Before 9.5, configure will never define HAVE_INT128, so the part of int128.h that exploits a native int128 implementation is dead code in the 9.4 branch. I didn't bother to remove it, thinking that keeping the file looking similar in different branches is more useful. In HEAD only, add a simple test harness for int128.h in src/tools/. In back branches, this does not change the float-timestamps code path. That's not subject to the same kind of overflow risk, since it computes the interval magnitude as float8. (No doubt, when this code wa
[ANNOUNCE] == PostgreSQL Weekly News - April 02 2017 ==
== PostgreSQL Weekly News - April 02 2017 == PGDay UK 2017 - Registration and CFP are open http://www.pgconf.uk == PostgreSQL Product News == postgresql-unit 3.0, an extension which implements a PostgreSQL datatype for SI units, some non-SI units and bytes, released. https://github.com/ChristophBerg/postgresql-unit == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2017-04/ == PostgreSQL Local == PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/ Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. The CfP is open until May 30, 2017. https://2017.postgresopen.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Fix unportable disregard of alignment requirements in RADIUS code. The compiler is entitled to store a char[] local variable with no particular alignment requirement. Our RADIUS code cavalierly took such a local variable and cast its address to a struct type that does have alignment requirements. On an alignment-picky machine this would lead to bus errors. To fix, declare the local variable honestly, and then cast its address to char * for use in the I/O calls. Given the lack of field complaints, there must be very few if any people affected; but nonetheless this is a clear portability issue, so back-patch to all supported branches. Noted while looking at a Coverity complaint in the same code. http://git.postgresql.org/pg/commitdiff/4c051c41d63e8462971c13956a38030de9c35c51 - Fix some minor resource leaks in PerformRadiusTransaction(). Failure to free serveraddrs pointed out by Coverity, failure to close socket noted by code-reading. These bugs seem to be quite old, but given the low probability of taking these error-exit paths and the minimal consequences of the leaks (since the process would presumably exit shortly anyway), it doesn't seem worth back-patching. Michael Paquier and Tom Lane http://git.postgresql.org/pg/commitdiff/7cbd944662854a0a5264895bcba3ce7f9bfd1c1f - Fix typos in logical replication support for initial data copy. Fix an incorrect assert condition (noted by Coverity), and spell the new name of the function correctly. Typos introduced in commit 7c4f52409. Michael Paquier http://git.postgresql.org/pg/commitdiff/5459cfd3ad52b87a1e2ed293ae55e733c6964715 - Use ExecPrepareExpr in place of ExecPrepareCheck where appropriate. Change one more place where ExecInitCheck/ExecPrepareCheck's insistence on getting implicit-AND-format quals wasn't really helpful, because the caller had to do make_ands_implicit() for no reason that it cared about. Using ExecPrepareExpr directly simplifies the code and saves cycles. The only remaining use of these functions is to process resultRelInfo->ri_PartitionCheck quals. However, implicit-AND format does seem to be what we want for that, so leave it alone. http://git.postgresql.org/pg/commitdiff/9b95f2fa1e2684fa209a3594db2254b8841bf380 - Improve performance of ExecEvalWholeRowVar. In commit b8d7f053c, we needed to fix ExecEvalWholeRowVar to not change the state of the slot it's copying. The initial quick hack at that required two rounds of tuple construction, which is not very nice. To fix, add another primitive to tuptoaster.c that does precisely what we need. (I initially tried to do this by refactoring one of the existing functions into two pieces; but it looked like that might hurt performance for the existing case, and the amount of code that could be shared is not very large, so I gave up on that.) Discussion: https://postgr.es/m/26088.1490315...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/2f0903ea196503fc8af373a9de46b1e01a23508c - Show ignored constants as "$N" rather than "?" in pg_stat_statements. The trouble with the original choice here is that "?" is a valid (and indeed used) operator name, so that you could end up with ambiguous statement texts like "SELECT ? ? ?". With this patch, you instead see "SELECT $1 ? $2", which seems significantly more readable. The numbers used for this purpose begin after the last actual $N parameter in the particular query. The conflict with external parameters has its own potential for confusion of course, but it was agreed to be an improvement over the previous behavior. Lukas Fittl Discussion: https://postgr.
[ANNOUNCE] == PostgreSQL Weekly News - March 19 2017 ==
== PostgreSQL Weekly News - March 19 2017 == == PostgreSQL Product News == pgpool3.6.2, 3.5.6, 3.4.10, 3.3.14 and 3.2.19 released. http://pgpool.net/mediawiki/index.php/Downloads Postgresqltuner, a tuning program for PostgreSQL, released. https://github.com/jfcoz/postgresqltuner psycopg2 2.7.1, a Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2017/03/13/psycopg-271-released/ pg_chameleon beta 1 released. Please test. https://pypi.python.org/pypi/pg_chameleon == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2017-03/ == PostgreSQL Local == Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. https://2017.nordicpgday.org/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. http://2017.pgday.paris/ PGConf US 2017 will be on March 28-31 in Jersey City, New Jersey. http://www.pgconf.us/2017/ PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/ Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ PostgresOpen will occur September 6-8, 2017 in San Francisco. The CfP will open March 24, 2017. https://2017.postgresopen.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Remove dead code in nodeGatherMerge.c. Coverity noted that the last line of gather_merge_getnext() was unreachable, since each arm of the preceding "if" ends in a "return". Drop it as an oversight. In passing, improve some nearby comments. http://git.postgresql.org/pg/commitdiff/5d3f7c57ab9c9e2f074ad29d619056570fc5c51e - Fix typo in initdb's SCRAM password processing. Noted by Coverity (a rather impressive catch). Michael Paquier http://git.postgresql.org/pg/commitdiff/835cc1136745e8cf02d3d0231b5b7c7a543df5df - Add "break"s to make it clearer what will happen in a nested switch. This could only matter if the guessed_type variable had a value that wasn't a member of the PasswordType enum; but just in case, let's be sure that control falls out to reach the elog(ERROR) at the end of the function. Per gripe from Coverity. http://git.postgresql.org/pg/commitdiff/766f7fd613adbceaf1b40803793e10dc487f8596 - Remove unnecessary dependency on statement_timeout in prepared_xacts test. Rather than waiting around for statement_timeout to expire, we can just try to take the table's lock in nowait mode. This saves some fraction under 4 seconds when running this test with prepared xacts available, and it guards against timeout-expired-anyway failures on very slow machines when prepared xacts are not available, as seen in a recent failure on axolotl for instance. This approach could fail if autovacuum were to take an exclusive lock on the test table concurrently, but there's no reason for it to do so. Since the main point here is to improve stability in the buildfarm, back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/1c7a66a8e9378aeb092d7ed26890134d17fdd691 - Add a "void *" passthrough pointer for psqlscan.l's callback functions. The immediate motivation for this is to provide clean infrastructure for the proposed \if...\endif patch for psql; but it seems like a good thing to have even if that patch doesn't get in. Previously the callback functions could only make use of application-global state, which is a pretty severe handicap. For the moment, the pointer is only passed through to the get_variable callback function. I considered also passing it to the write_error callback, but for now let's not. Neither psql nor pgbench has a use for that, and in the case of psql we'd have to invent a separate wrapper function because we would certainly not want to change the signature of psql_error(). Discussion: https://postgr.es/m/10108.1489418...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/895e36bb3f36fdb7ec8e573be1a20d104fac820b - Fix busted markup. Oversight in commit 9ca5c8721. Per buildfarm. http://git.postgresql.org/pg/commitdiff/0c87cd003d9966fcb19d6998ccf90d3276b08e0c - Make logging about multixact wraparound protection less chatty. The original messaging design, introduced in commit 068cfadf9, seems too chatty now that some time has elapsed since the bug fix; most installations will be in good shape and don't really need a reminder about this on every postmaster start. Hence, arrange to suppress the "wraparound protections are now enabled&qu
[ANNOUNCE] == PostgreSQL Weekly News - March 12 2017 ==
== PostgreSQL Weekly News - March 12 2017 == PostgresOpen will occur September 6-8, 2017 in San Francisco. The CfP will open March 24, 2017. https://2017.postgresopen.org/ == PostgreSQL Product News == psqlODBC 09.06.0200 released. https://odbc.postgresql.org/docs/release.html == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2017-03/ == PostgreSQL Local == PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. http://2017.pgday.asia/ Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. https://2017.nordicpgday.org/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. http://2017.pgday.paris/ PGConf US 2017 will be on March 28-31 in Jersey City, New Jersey. http://www.pgconf.us/2017/ PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/papers.php Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ == 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. == Applied Patches == Simon Riggs pushed: - Allow partitioned tables to be dropped without CASCADE. Record partitioned table dependencies as DEPENDENCY_AUTO rather than DEPENDENCY_NORMAL, so that DROP TABLE just works. Remove all the tests for partitioned tables where earlier work had deliberately avoided using CASCADE. Amit Langote, reviewed by Ashutosh Bapat and myself http://git.postgresql.org/pg/commitdiff/8b4d582d279d784616c228be58af1e39aa430402 - Reduce lock levels for table storage params related to planning. The following parameters are now updateable with ShareUpdateExclusiveLock effective_io_concurrency parallel_workers seq_page_cost random_page_cost n_distinct n_distinct_inherited Simon Riggs and Fabrízio Mello http://git.postgresql.org/pg/commitdiff/21d4e2e20656381b4652eb675af4f6d65053607f - Enhance docs for ALTER TABLE lock levels of storage parms. As requested by Robert Haas http://git.postgresql.org/pg/commitdiff/6f3a13ff058f15d565a30c16c0c2cb14cc994e42 - Ensure ThisTimeLineID is valid before START_REPLICATION. Craig Ringer http://git.postgresql.org/pg/commitdiff/5ee2197767f648bc21e324e751b84d42af573b43 - Allow pg_dumpall to dump roles w/o user passwords. Add new option --no-role-passwords which dumps roles without passwords. Since we don’t need passwords, we choose to use pg_roles in preference to pg_authid since access may be restricted for security reasons in some configrations. Robins Tharakan and Simon Riggs http://git.postgresql.org/pg/commitdiff/9a83d56b38c870ce47b7651385ff2add583bf136 Peter Eisentraut pushed: - Reorder the asynchronous libpq calls for replication connection. Per libpq documentation, the initial state must be PGRES_POLLING_WRITING. Failing to do that appears to cause some issues on some Windows systems. From: Petr Jelinek <petr.jeli...@2ndquadrant.com> http://git.postgresql.org/pg/commitdiff/e434ad39ae7316bcf35fd578dd34ad7e1ff3c25f - Combine several DROP variants into generic DropStmt. Combine DROP of FOREIGN DATA WRAPPER, SERVER, POLICY, RULE, and TRIGGER into generic DropStmt grammar. Reviewed-by: Jim Nasby <jim.na...@bluetreble.com> Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/e6477a8134ace06ef3a45a7ce15813cd398e72d8 - Replace LookupFuncNameTypeNames() with LookupFuncWithArgs(). The old function took function name and function argument list as separate arguments. Now that all function signatures are passed around as ObjectWithArgs structs, this is no longer necessary and can be replaced by a function that takes ObjectWithArgs directly. Similarly for aggregates and operators. Reviewed-by: Jim Nasby <jim.na...@bluetreble.com> Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/2ca64c6f7105f97ce886bdbbd880f50225bf24ba - Add operator_with_argtypes grammar rule. This makes the handling of operators similar to that of functions and aggregates. Rename node FuncWithArgs to ObjectWithArgs, to reflect the expanded use. Reviewed-by: Jim Nasby <jim.na...@bluetreble.com> Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/550214a4efb214dfc9c2a475607da69da858 - Use class_args field in opclass_drop. This makes it consistent with the usage in opclass_item. Reviewed-by: Jim Nasby <jim.na...@b
[ANNOUNCE] == PostgreSQL Weekly News - February 26 2017 ==
== PostgreSQL Weekly News - February 26 2017 == == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2017-02/ == PostgreSQL Local == The first pgDay Israel 2017 will take place on March 2, 2017. Registration is open. http://pgday.org.il/ PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. http://2017.pgday.asia/ Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. https://2017.nordicpgday.org/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. http://2017.pgday.paris/ PGConf US 2017 will be on March 28-31 in Jersey City, New Jersey. http://www.pgconf.us/2017/ PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/ Postgres Vision will take place in Boston, June 26 - 28, 2017. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ == 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. == Applied Patches == Tom Lane pushed: - Fix documentation of to_char/to_timestamp TZ, tz, OF formatting patterns. These are only supported in to_char, not in the other direction, but the documentation failed to mention that. Also, describe TZ/tz as printing the time zone "abbreviation", not "name", because what they print is elsewhere referred to that way. Per bug #14558. http://git.postgresql.org/pg/commitdiff/10257fc5ff74487a46594bd8c8c041878f409c17 - Improve error message for misuse of TZ, tz, OF formatting patterns. Be specific about which pattern is being complained of, and avoid saying "it's not supported in to_date", which is just confusing if the error is actually coming out of to_timestamp. We can phrase it as "is only supported in to_char", instead. Also, use the term "formatting field" not "format pattern", because other error messages in the same file prefer that terminology. (This isn't terribly consistent with the documentation, so maybe we should change all these error messages?) http://git.postgresql.org/pg/commitdiff/1c073505e8e4fa8a03312fea714da25ab83cb5fa - Reject too-old Python versions a bit sooner. Commit 04aad4018 added this check after the search for a Python shared library, which seems to me to be a pretty unfriendly ordering. The search might fail for what are basically version-related reasons, and in such a case it'd be better to say "your Python is too old" than "could not find shared library for Python". http://git.postgresql.org/pg/commitdiff/4e5ce3c1aeadf81b504bc9d683b67950bd3f8766 - Use less-generic table name in new regression test case. Creating global objects named "foo" isn't an especially wise thing, but especially not in a test script that has already used that name for something else, and most especially not in a script that runs in parallel with other scripts that use that name :-( Per buildfarm. http://git.postgresql.org/pg/commitdiff/1c95f0b478a91b58391720dcda35bc032e582564 - Fix sloppy handling of corner-case errors in fd.c. Several places in fd.c had badly-thought-through handling of error returns from lseek() and close(). The fact that those would seldom fail on valid FDs is probably the reason we've not noticed this up to now; but if they did fail, we'd get quite confused. LruDelete and LruInsert actually just Assert'd that lseek never fails, which is pretty awful on its face. In LruDelete, we indeed can't throw an error, because that's likely to get called during error abort and so throwing an error would probably just lead to an infinite loop. But by the same token, throwing an error from the close() right after that was ill-advised, not to mention that it would've left the LRU state corrupted since we'd already unlinked the VFD from the list. I also noticed that really, most of the time, we should know the current seek position and it shouldn't be necessary to do an lseek here at all. As patched, if we don't have a seek position and an lseek attempt doesn't give us one, we'll close the file but then subsequent re-open attempts will fail (except in the somewhat-unlikely case that a FileSeek(SEEK_SET) call comes between and allows us to re-establish a known target seek position). Th
[ANNOUNCE] == PostgreSQL Weekly News - February 19 2017 ==
== PostgreSQL Weekly News - February 19 2017 == == PostgreSQL Product News == Ora2Pg 18.1, a tool for migrating Oracle databases to PostgreSQL, released. http://ora2pg.darold.net/ psycopg2 2.7 beta2, a Python connector for PostgreSQL, released. http://initd.org/psycopg/docs/news.html#what-s-new-in-psycopg-2-7 == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2017-02/ == PostgreSQL Local == The first pgDay Israel 2017 will take place on March 2, 2017. Registration is open. http://pgday.org.il/ PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. http://2017.pgday.asia/ Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. https://2017.nordicpgday.org/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. http://2017.pgday.paris/ PGConf US 2017 CfP will be on March 28-31 in Jersey City, New Jersey. http://www.pgconf.us/2017/ PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/papers.php Postgres Vision will take place in Boston, June 26 - 28, 2017. the CfP is open until February 24, 2017 at CFP AT PostgresVision DOT com. http://postgresvision.com/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/2017/ == 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. == Applied Patches == Peter Eisentraut pushed: - doc: Remove accidental extra table cell. http://git.postgresql.org/pg/commitdiff/ae0e550ce1703621efb3b75f4558df253cef5bca - Add CREATE COLLATION IF NOT EXISTS clause. The core of the functionality was already implemented when pg_import_system_collations was added. This just exposes it as an option in the SQL command. http://git.postgresql.org/pg/commitdiff/6d16ecc646d21b39092970c591fd0f73b4cfc26b - doc: Add advice about systemd RemoveIPC. Reviewed-by: Magnus Hagander <mag...@hagander.net> http://git.postgresql.org/pg/commitdiff/fbe7a3fa45f360e73ce141e51005a3e86cd1926c - Fix typo on comment. http://git.postgresql.org/pg/commitdiff/e7e4cd1ab51b506f9fad9b7b107e315fdb4b8b74 - Remove redundant coverage target. This was probably forgotten to be removed when general recursion support was added. http://git.postgresql.org/pg/commitdiff/638d650dd7200e0eba91abb521284f239f547bbb - pg_dump: Fix typo in query. This could lead to incorrect dumping of language privileges in some cases, which is probably a rare situation. http://git.postgresql.org/pg/commitdiff/39370e6a0ae6e92a79a50a9531b6a291cb2ee590 - pg_dump: Message style improvements. http://git.postgresql.org/pg/commitdiff/363ac78aee37790a1f932ee3050bdd21085aabfe - doc: Fix typos. From: Thom Brown <t...@linux.com> http://git.postgresql.org/pg/commitdiff/68f3dbc5525a7e78290f7dee8a74f66d5fa738d6 - Optimize query for information_schema.constraint_column_usage. The way the old query was written prevented some join optimizations because the join conditions were hidden inside a CASE expression. With a large number of constraints, the query became unreasonably slow. The new query performs much better. From: Alexey Bashtanov <bashta...@imap.cc> Reviewed-by: Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> http://git.postgresql.org/pg/commitdiff/e3a58c8835a2cd428b8534dd8df30a7cb96c976b Robert Haas pushed: - Remove contrib/tsearch2. This module was intended to ease migrations of applications that used the pre-8.3 version of text search to the in-core version introduced in that release. However, since all pre-8.3 releases of the database have been out of support for more than 5 years at this point, we expect that few people are depending on it at this point. If some people still need it, nothing prevents it from being maintained as a separate extension, outside of core. Discussion: http://postgr.es/m/CA+Tgmob5R8aDHiFRTQsSJbT1oreKg2FOSBrC=2f4tqeh3do...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/7ada2d31f47f1d378ae7d4ee2d044df1bb2b0c6a - Corrections and improvements to generic parallel query documentation. David Rowley, reviewed by Brad DeJong, Amit Kapila, and me. Discussion: http://postgr.es/m/CAKJS1f81fob-M6RJyTVv3SCasxMuQpj37ReNOJ=tprhwd7h...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/0ede57a1a5161012f8f4a55049ef24c987d5b59c - Don't disallow drop
[ANNOUNCE] == PostgreSQL Weekly News - January 29 2017 ==
== PostgreSQL Weekly News - January 29 2017 == You can register for SCALE 15x at 50% off with code PGDAY. https://www.socallinuxexpo.org/scale/15x == PostgreSQL Product News == pgFormatter 1.6, a formatter/beautifier for SQL code, released. http://sqlformat.darold.net/ PostgreSQL 10 devel RPMs and Dockerfiles have been released. https://yum.postgresql.org/news10snapshot-ready-for-testing.php https://git.postgresql.org/gitweb/?p=pgrpms.git;a=blob;f=docker/README pgBadger v9.1, a PostgreSQL log analyzer and graph tool written in Perl, released. https://github.com/dalibo/pgbadger/releases/ == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2017-01/ == PostgreSQL Local == PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. http://tinyurl.com/pgDay-Asia-2017-Cfp Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. https://2017.nordicpgday.org/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. http://2017.pgday.paris/ PGConf US 2017 CfP will be on March 28-31 in Jersey City, New Jersey. http://www.pgconf.us/2017/ PGCon 2017 will take place in Ottawa on 23-26 May. http://www.pgcon.org/2017/papers.php == 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. == Applied Patches == Peter Eisentraut pushed: - Fix typo. http://git.postgresql.org/pg/commitdiff/56549129079465a9d25fd6e5abc1439363922b7c - pg_dump: Fix minor memory leak. Missing a destroyPQExpBuffer() in the early exit branch. The early exits aren't really necessary. Most similar functions just proceed running the rest of the code zero times and clean up at the end. http://git.postgresql.org/pg/commitdiff/366d2a3d8808ad92436a830c32e73ce17affe5b6 - Fix memory leaks in libpqwalreceiver. The results of the libpq functions PQescapeIdentifier() and PQescapeLiteral() must be freed explicitly. Also handle errors in these functions better. http://git.postgresql.org/pg/commitdiff/16a61884b5956778cae64a5746f4cdd9ae1ae01b - Fix pointer confusion. get_object_address_publication_rel() needed to check *relation, not relation. Rename the variables to match style used nearby to avoid the confusion. http://git.postgresql.org/pg/commitdiff/6cffe54aef0a02a52692e32125eb3a5e135e7359 - Fix NULL pointer access in logical replication workers. From: Petr Jelinek <pjmo...@pjmodos.net> http://git.postgresql.org/pg/commitdiff/70c56a014e1813b5ab0f91581833bc7cb6c02958 - Don't error when no system locales were found. initdb used to warn about that, but it was changed to an error in pg_import_system_locales, but some build farm members failed because of that. Change it back to a warning. http://git.postgresql.org/pg/commitdiff/46d482814cd4a9c474540a9c4f040ce1cd514f46 - Fix default minimum value for descending sequences. For some reason that is lost in history, a descending sequence would default its minimum value to -2^63+1 (-PG_INT64_MAX) instead of -2^63 (PG_INT64_MIN), even though explicitly specifying a minimum value of -2^63 would work. Fix this inconsistency by using the full range by default. Reported-by: Daniel Verite <dan...@manitou-mail.org> Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/0bc1207aeb3de951bf95a9e9899b1256216d65f5 - Fix parallel make issue with new fmgrprotos.h. The make rules needed further refinement so that we don't run multiple generations per build. reported by Tom Lane http://git.postgresql.org/pg/commitdiff/1a2d9a655a5de1c8c9d479c77d6351b878094606 - pg_dump: Fix some schema issues when dumping sequences. In the new code for selecting sequence data from pg_sequence, set the schema to pg_catalog instead of the sequences own schema, and refer to the sequence by OID instead of name, which was missing a schema qualification. Reported-by: Stephen Frost <sfr...@snowman.net> http://git.postgresql.org/pg/commitdiff/da4d1c0c15ab9afdfeee8bad9a1a9989b6bd59b5 - doc: Update ALTER SEQUENCE documentation to match. Update documentation to match change in 0bc1207aeb3de951bf95a9e9899b1256216d65f5. http://git.postgresql.org/pg/commitdiff/123f03ba2c6e2d85a5a900e79dd5f216bfb37e25 - doc: Fix typo. http://git.postgresql.org/pg/commitdiff/87ecf2d14fa236e894267ef5e702ff08b8965f9d - Close replication connection w
[ANNOUNCE] == PostgreSQL Weekly News - January 08 2017 ==
== PostgreSQL Weekly News - January 08 2017 == == PostgreSQL Product News == barman 2.1, a backup and recovery manager for PostgreSQL, released. http://docs.pgbarman.org/release/2.1/ repmgr 3.3, a replication manager for PostgreSQL, released. http://repmgr.org/release-notes-3.3.html pgquarrel 0.2.0, a tool which compares PostgreSQL database schemas and outputs a set of commands to turn a database schema into another one, released. http://eulerto.github.io/pgquarrel == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2017-01/ == PostgreSQL Local == PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. The CfP closes January 16, 2017. http://tinyurl.com/pgDay-Asia-2017-Cfp Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. The CfP is open until January 9, 2017. https://2017.nordicpgday.org/cfp/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. The CfP is open until January 9, 2017. http://2017.pgday.paris/callforpapers/ PGCon 2017 will take place in Ottawa on 23-26 May. Proposals are due by 19 Jan 2017. http://www.pgcon.org/2017/papers.php == 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. == Applied Patches == Tom Lane pushed: - In pgbench logging, avoid assuming that instr_times match Unix timestamps. For aggregated logging, pg_bench supposed that printing the integer part of INSTR_TIME_GET_DOUBLE() would produce a Unix timestamp. That was already broken on Windows, and it's about to get broken on most other platforms as well. As in commit 74baa1e3b, we can remove the entanglement at the price of one extra syscall per transaction; though here it seems more convenient to use time(NULL) instead of gettimeofday(), since we only need integral-second precision. I took the time to do some wordsmithing on the documentation about pgbench's logging features, too. Discussion: https://postgr.es/m/8837.1483216...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/67a875355e4a6db294e9652af5a883876ddeb4a5 - Use clock_gettime(), if available, in instr_time measurements. The advantage of clock_gettime() is that the API allows the result to be precise to nanoseconds, not just microseconds as in gettimeofday(). Now that it's routinely possible to do tens of plan node executions in 1us, we really need more precision than gettimeofday() can offer for EXPLAIN ANALYZE to accumulate statistics with. Some research shows that clock_gettime() is available on pretty nearly every modern Unix-ish platform, and as far as I have been able to test, it has about the same execution time as gettimeofday(), so there's no loss in switching over. (By the same token, this doesn't do anything to fix the fact that we really wish clock readings were faster. But there's enough win here to justify changing anyway.) A small side benefit is that on most platforms, we can use CLOCK_MONOTONIC instead of CLOCK_REALTIME and thereby render EXPLAIN impervious to concurrent resets of the system clock. (This means that code must not assume that the contents of struct instr_time have any well-defined interpretation as timestamps, but really that was true before.) Some platforms offer nonstandard clock IDs that might be of interest. This patch knows we should use CLOCK_MONOTONIC_RAW on macOS, because it provides more precision and is faster to read than their CLOCK_MONOTONIC. If there turn out to be many more cases where we need special rules, it might be appropriate to handle the selection of clock ID in configure, but for the moment that doesn't seem worth the trouble. Discussion: https://postgr.es/m/31856.1400021...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/1d63f7d2d180c8708bc12710254eb7b45823440f - Allow SSL configuration to be updated at SIGHUP. It is no longer necessary to restart the server to enable, disable, or reconfigure SSL. Instead, we just create a new SSL_CTX struct (by re-reading all relevant files) whenever we get SIGHUP. Testing shows that this is fast enough that it shouldn't be a problem. In conjunction with that, downgrade the logic that complains about pg_hba.conf "hostssl" lines when SSL isn't active: now that's just a warning condition not an error. An issue that still needs to be addressed is what shall we do with
[ANNOUNCE] == PostgreSQL Weekly News - January 01 2017 ==
== PostgreSQL Weekly News - January 01 2017 == == PostgreSQL Product News == pgpool-II Pgpool-II 3.6.1, 3.5.5, 3.4.9, 3.3.13, 3.2.18 and 3.1.21 released. Pgpool-II 3.1.21 is the final release of the 3.1.x series. http://www.pgpool.net/docs/latest/en/html/release.html PL/Proxy 2.7, a database partitioning system implemented as PL language, released. https://plproxy.github.io == PostgreSQL Local == PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. The CfP closes January 16, 2017. http://tinyurl.com/pgDay-Asia-2017-Cfp Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton Hotel, on March 21, 2017. The CfP is open until January 9, 2017. https://2017.nordicpgday.org/cfp/ pgDay Paris 2017 will be held in Paris, France on March 23, 2017. The CfP is open until January 9, 2017. http://2017.pgday.paris/callforpapers/ PGCon 2017 will take place in Ottawa on 23-26 May. Proposals are due by 19 Jan 2017. http://www.pgcon.org/2017/papers.php == 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. == Applied Patches == Tom Lane pushed: - Remove triggerable Assert in hashname(). hashname() asserted that the key string it is given is shorter than NAMEDATALEN. That should surely always be true if the input is in fact a regular value of type "name". However, for reasons of coding convenience, we allow plain old C strings to be treated as "name" values in many places. Some SQL functions accept arbitrary "text" inputs, convert them to C strings, and pass them otherwise-untransformed to syscache lookups for name columns, allowing an overlength input value to trigger hashname's Assert. This would be a DOS problem, except that it only happens in assert-enabled builds which aren't recommended for production. In a production build, you'll just get a name lookup error, since regardless of the hash value computed by hashname, the later equality comparison checks can't match. Likewise, if the catalog lookup is done by seqscan or indexscan searches, there will just be a lookup error, since the name comparison functions don't contain any similar length checks, and will see an overlength input as unequal to any stored entry. After discussion we concluded that we should simply remove this Assert. It's inessential to hashname's own functionality, and having such an assertion in only some paths for name lookup is more of a foot-gun than a useful check. There may or may not be a case for the affected callers to do something other than let the name lookup fail, but we'll consider that separately; in any case we probably don't want to change such behavior in the back branches. Per report from Tushar Ahuja. Back-patch to all supported branches. Report: https://postgr.es/m/7d0809ee-6f25-c9d6-8e74-5b2967830...@enterprisedb.com Discussion: https://postgr.es/m/17691.1482523...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/54386f3578258caa5a1de97c434eee2c9ee2ab06 - Fix interval_transform so it doesn't throw away non-no-op casts. interval_transform() contained two separate bugs that caused it to sometimes mistakenly decide that a cast from interval to restricted interval is a no-op and throw it away. First, it was wrong to rely on dt.h's field type macros to have an ordering consistent with the field's significance; in one case they do not. This led to mistakenly treating YEAR as less significant than MONTH, so that a cast from INTERVAL MONTH to INTERVAL YEAR was incorrectly discarded. Second, fls(1<<k) produces k+1 not k, so comparing its output directly to SECOND was wrong. This led to supposing that a cast to INTERVAL MINUTE was really a cast to INTERVAL SECOND and so could be discarded. To fix, get rid of the use of fls(), and make a function based on intervaltypmodout to produce a field ID code adapted to the need here. Per bug #14479 from Piotr Stefaniak. Back-patch to 9.2 where transform functions were introduced, because this code was born broken. Discussion: https://postgr.es/m/20161227172307.10135.7...@wrigleys.postgresql.org http://git.postgresql.org/pg/commitdiff/f0774abde868e0b5a2acbe75b5028884752f739d - Remove manual breaks in NodeTag assignments to fix duplicate tag numbers. Commit f0e44751d added new node tags at a place in the tag numbering where there
[ANNOUNCE] == PostgreSQL Weekly News - December 18 2016 ==
== PostgreSQL Weekly News - December 18 2016 == PGCon 2017 will take place in Ottawa on 23-26 May. Proposals are due by 19 Jan 2017. http://www.pgcon.org/2017/papers.php PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow. https://pgconf.ru/en PGDay Asia 2017 will be held March 17-18 in Singapore. The CfP closes January 16, 2017. http://tinyurl.com/pgDay-Asia-2017-Cfp Registration for the FOSDEM PGDay 2017 in Brussels is now open. https://2017.fosdempgday.org/ == PostgreSQL Product News == == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2016-12/threads.php == PostgreSQL Local == PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. Proposals are due via by 31st December, 2016. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ == 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. == Applied Patches == Heikki Linnakangas pushed: - Fix broken autoconf test for random number source. Hopefully this fixes buildfarm member jacana. Discussion: https://www.postgresql.org/message-id/be25aa16-2f06-b7d1-8810-c69489a0e...@dunslane.net http://git.postgresql.org/pg/commitdiff/ad365b2f91dc57ed1f18839f9f59a2799d276c8d - Fix two thinkos related to strong random keys. pg_backend_random() is used for MD5 salt generation, but it can fail, and no checks were done on its status code. Fix memory leak, if generating a random number for a cancel key failed. Both issues were spotted by Coverity. Fix by Michael Paquier. http://git.postgresql.org/pg/commitdiff/41493bac36575c93172644d0eab7045aed8dcc17 - Fix pgcrypto compilation with OpenSSL 1.1.0. Was broken by the switch to using OpenSSL's EVP interface for ciphers, in commit 5ff4a67f. Reported by Andres Freund. Fix by Michael Paquier with some kibitzing by me. Discussion: https://www.postgresql.org/message-id/20161201014826.ic72tfkahmevp...@alap3.anarazel.de http://git.postgresql.org/pg/commitdiff/9bbbf029dded76d7d86053ebad1c5f9ab2948904 - Further cleanup from the strong-random patch. Also use the new facility for generating RADIUS authenticator requests, and salt in chkpass extension. Reword the error messages to be nicer. Fix bogus error code used in the message in BackendStartup. http://git.postgresql.org/pg/commitdiff/58445c5c8d1424038d654ad9ee8af3724c60105e - Refactor the code for verifying user's password. Split md5_crypt_verify() into three functions: * get_role_password() to fetch user's password from pg_authid, and check its expiration. * md5_crypt_verify() to check an MD5 authentication challenge * plain_crypt_verify() to check a plaintext password. get_role_password() will be needed as a separate function by the upcoming SCRAM authentication patch set. Most of the remaining functionality in md5_crypt_verify() was different for MD5 and plaintext authentication, so split that for readability. While we're at it, simplify the *_crypt_verify functions by using stack-allocated buffers to hold the temporary MD5 hashes, instead of pallocing. Reviewed by Michael Paquier. Discussion: https://www.postgresql.org/message-id/3029e460-d47c-710e-507e-d8ba759d7...@iki.fi http://git.postgresql.org/pg/commitdiff/e7f051b8f9a6341f6d3bf80b29c1dbc1837be9ab - Fix off-by-one in memory allocation for quote_literal_cstr(). The calculation didn't take into account the NULL terminator. That lead to overwriting the palloc'd buffer by one byte, if the input consists entirely of backslashes. For example "format('%L', E'\\')". Fixes bug #14468. Backpatch to all supported versions. Report: https://www.postgresql.org/message-id/20161216105001.13334.42819%40wrigleys.postgresql.org http://git.postgresql.org/pg/commitdiff/4f5182e18d3ec7b84c24ceba2c436ea890c95e25 Robert Haas pushed: - psql: Fix incorrect version check for table partitioning. Table partitioning was added in 10, not 9.6. Fabrízio de Royes Mello, per report from Jeff Janes http://git.postgresql.org/pg/commitdiff/06e184876bc07c2b1d7144957dcf02c5b4f709c2 - doc: Fix purported type of pg_am.amhandler to match reality. Joel Jacobson http://git.postgresql.org/pg/commitdiff/b4630e01fd4c73c195025b7307ebc13d489b9ef9 - Remove should_free arguments to tuplesort routines. Since commit e94568ecc10f2638e542ae34f2990b821bbf90ac, the answer is always "false", and we do not need to complicate the API by arranging to return a constant value. Peter Geoghegan Discussion: http://postgr.es/m/CAM3SWZQWZZ_N=DmmL7tKy_OUjGH_5mN=N=a6h7khyydvehg...@mail.gmail.com http:
[ANNOUNCE] == PostgreSQL Weekly News - December 11 2016 ==
== PostgreSQL Weekly News - December 11 2016 == == PostgreSQL Product News == PyGreSQL 5.0.3, a Python connector for PostgreSQL, released. http://www.pygresql.org/contents/changelog.html == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2016-12/threads.php == PostgreSQL Local == PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. Proposals are due via by 31st December, 2016. http://pgconf.in/ PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. http://www.socallinuxexpo.org/scale/15x/ == 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. == Applied Patches == Fujii Masao pushed: - Fix incorrect output from gin_desc(). Previously gin_desc() displayed incorrect output "unknown action 0" for XLOG_GIN_INSERT and XLOG_GIN_VACUUM_DATA_LEAF_PAGE records with valid actions. The cause of this problem was that gin_desc() wrongly used XLogRecGetData() to extract data from those records. Since they were registered by XLogRegisterBufData(), gin_desc() should have used XLogRecGetBlockData(), instead, like gin_redo(). Also there were other differences about how to treat XLOG_GIN_INSERT record between gin_desc() and gin_redo(). This commit fixes gin_desc() routine so that it treats those records in the same way as gin_redo(). Batch-patch to 9.5 where WAL record format was revamped and XLogRegisterBufData() was added. Reported-By: Andres Freund Reviewed-By: Tom Lane Discussion: <20160509194645.7lewnpw647zeg...@alap3.anarazel.de> http://git.postgresql.org/pg/commitdiff/5dc851afde8d9ef9947f21799f7a1b08bf0bf812 - Fix typo in docs. Reported-by: Darko Prelec http://git.postgresql.org/pg/commitdiff/daac8e30eb7874722f277ae3461abe46a39e56ed - Improve documentation about pg_stat_replication view. Add the descriptions of possible values in "state" and "sync_state" columns of pg_stat_replication view. Author: Michael Paquier, slightly modified by me Discussion:
[ANNOUNCE] == PostgreSQL Weekly News - November 20 2016 ==
== PostgreSQL Weekly News - November 20 2016 == The new PostgreSQL magazine is out! http://www.pgmag.org/ PGConf.ASIA 2016 will take place on December 1-3, 2016 in Akihabara, Tokyo, Japan. Registration is open. There will be an UnConference on December 1 with a separate registration required. http://www.pgconf.asia/EN/registration/ http://www.pgconf.asia/EN/day-0/ PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka. Proposals are due via by 31st December, 2016. http://pgconf.in/ == PostgreSQL Product News == pgpool-II 3.6 beta1 released. http://pgpool.net/mediawiki/index.php/Developer_releases Amazon RDS now supports PostgreSQL 9.6.1 https://aws.amazon.com/rds/postgresql/ pg_squeeze 1.0 beta1, a tool to automate fighting table bloat, released. http://www.cybertec.at/en/products/pg_squeeze-postgresql-extension-to-auto-rebuild-bloated-tables/ DB Doc 3.2, an automated PostgreSQL database schema documentation tool for Windows, released. http://www.yohz.com/dbdoc_details.htm == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2016-11/threads.php == PostgreSQL Local == CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. The CfP is open until 15 November, 2016. http://www.socallinuxexpo.org/scale/15x/cfp == 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. == Applied Patches == Álvaro Herrera pushed: - Fix duplication in ALTER MATERIALIZE VIEW synopsis. Commit 3c4cf080879b should have removed SET TABLESPACE from the synopsis of ALTER MATERIALIZE VIEW as a possible "action" when it added a separate line for it in the main command listing, but failed to. Repair. Backpatch to 9.4, like the aforementioned commit. http://git.postgresql.org/pg/commitdiff/8ce4f597abc530b3b59bcf3a3964f31e50054bcd - Avoid pin scan for replay of XLOG_BTREE_VACUUM in all cases Replay of XLOG_BTREE_VACUUM during Hot Standby was previously thought to require complex interlocking that matched the requirements on the master. This required an O(N) operation that became a significant problem with large indexes, causing replication delays of seconds or in some cases minutes while the XLOG_BTREE_VACUUM was replayed. This commit skips the “pin scan” that was previously required, by observing in detail when and how it is safe to do so, with full documentation. The pin scan is skipped only in replay; the VACUUM code path on master is not touched here. No tests included. Manual tests using an additional patch to view WAL records and their timing have shown the change in WAL records and their handling has successfully reduced replication delay. This is a back-patch of commits 687f2cd7a015, 3e4b7d87988f, b60284261375 by Simon Riggs, to branches 9.4 and 9.5. No further backpatch is possible because this depends on catalog scans being MVCC. I (Álvaro) additionally updated a slight problem in the README, which explains why this touches the 9.6 and master branches. http://git.postgresql.org/pg/commitdiff/f65b94f63962e9f7e144a469bc1750286ddaee27 Peter Eisentraut pushed: - Allow individual TAP tests to be run via PROVE_TESTS. Add a new optional Makefile variable PROVE_TESTS that, if passed as a space-separated list of paths relative to the Makefile invoking $(prove_check) or $(prove_installcheck), runs just those tests instead of t/*.pl . From: Craig Ringer <cr...@2ndquadrant.com> Reviewed-by: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/9ca7b0bf016364c74d38f66c7050be915bfea908 - Build HTML documentation using XSLT stylesheets by default. The old DSSSL build is still available for a while using the make target "oldhtml". http://git.postgresql.org/pg/commitdiff/e36ddab11735052841b4eff96642187ec9a8a7bc - doc: Further XSLT HTML build performance optimization. Cut out some expensive stuff from the HTML head element that we don't really need. This was previously discussed as part of e8306745e3504c642f7abad411139d5630e29fac, but ended up separate because it changes the output contents slightly. http://git.postgresql.org/pg/commitdiff/380895f2deb18ed9e7a8be69961af2ed221ba9d3 - Add pg_sequences view. Like pg_tables, pg_views, and others, this view contains information about sequences in a way that is independent of the system catalog layout but more comprehensive than the information schema. To help implement the view, add a new internal
[ANNOUNCE] == PostgreSQL Weekly News - October 30 2016 ==
== PostgreSQL Weekly News - October 30 2016 == Bug fix releases 9.6.1, 9.5.5, 9.4.10, 9.3.15, 9.2.19, and 9.1.24 are out. Upgrade ASAP. 9.1.24 is the final release of the 9.1 series. https://www.postgresql.org/about/news/1712/ == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2016-10/threads.php == PostgreSQL Local == PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. The CfP is open until 15 November, 2016. http://www.socallinuxexpo.org/scale/15x/cfp == 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. == Applied Patches == Tom Lane pushed: - Don't throw serialization errors for self-conflicts in INSERT ON CONFLICT. A transaction that conflicts against itself, for example INSERT INTO t(pk) VALUES (1),(1) ON CONFLICT DO NOTHING; should behave the same regardless of isolation level. It certainly shouldn't throw a serialization error, as retrying will not help. We got this wrong due to the ON CONFLICT logic not considering the case, as reported by Jason Dusek. Core of this patch is by Peter Geoghegan (based on an earlier patch by Thomas Munro), though I didn't take his proposed code refactoring for fear that it might have unexpected side-effects. Test cases by Thomas Munro and myself. Report:
[ANNOUNCE] == PostgreSQL Weekly News - October 23 2016 ==
== PostgreSQL Weekly News - October 23 2016 == PostgreSQL@SCaLE is a two day, two track event which takes place on March 2-3, 2017, at Pasadena Convention Center, as part of SCaLE 15X. The CfP is open until November 15, 2016. http://www.socallinuxexpo.org/scale/15x/cfp == PostgreSQL Product News == Ora2Pg 17.5, a tool for migrating Oracle databases to PostgreSQL, released. http://ora2pg.darold.net/ PostgresDAC 3.2.0, a direct access component suite for PostgreSQL, released. http://microolap.com/products/connectivity/postgresdac/news/detail.php?ID=1781 == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2016-10/threads.php == PostgreSQL Local == PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == 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. == Applied Patches == - Replace PostmasterRandom() with a stronger way of generating randomness. This adds a new routine, pg_strong_random() for generating random bytes, for use in both frontend and backend. At the moment, it's only used in the backend, but the upcoming SCRAM authentication patches need strong random numbers in libpq as well. pg_strong_random() is based on, and replaces, the existing implementation in pgcrypto. It can acquire strong random numbers from a number of sources, depending on what's available: - OpenSSL RAND_bytes(), if built with OpenSSL - On Windows, the native cryptographic functions are used - /dev/urandom - /dev/random Original patch by Magnus Hagander, with further work by Michael Paquier and me. Discussion: <cab7npqry3krn8qur9xujmvvhytxj0_60nqgvc6ouk8ygyvk...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/9e083fd4683294f41544e6d0d72f6e258ff3a77c - Fix use-after-free around DISTINCT transition function calls. Have tuplesort_gettupleslot() copy the contents of its current table slot as needed. This is based on an approach taken by tuplestore_gettupleslot(). In the future, tuplesort_gettupleslot() may also be taught to avoid copying the tuple where caller can determine that that is safe (the tuplestore_gettupleslot() interface already offers this option to callers). Patch by Peter Geoghegan. Fixes bug #14344, reported by Regina Obe. Report: <20160929035538.20224.39...@wrigleys.postgresql.org> Backpatch-through: 9.6 http://git.postgresql.org/pg/commitdiff/d8589946ddd5c43e1ebd01c5e92d0e177cbfc198 - Revert "Replace PostmasterRandom() with a stronger way of generating randomness." This reverts commit 9e083fd4683294f41544e6d0d72f6e258ff3a77c. That was a few bricks shy of a load: * Query cancel stopped working * Buildfarm member pademelon stopped working, because the box doesn't have /dev/urandom nor /dev/random. This clearly needs some more discussion, and a quite different patch, so revert for now. http://git.postgresql.org/pg/commitdiff/faae1c918e8aaae034eaf3ea103fcb6ba9adc5ab - Fix WAL-logging of FSM and VM truncation. When a relation is truncated, it is important that the FSM is truncated as well. Otherwise, after recovery, the FSM can return a page that has been truncated away, leading to errors like: ERROR: could not read block 28991 in file "base/16390/572026": read only 0 of 8192 bytes We were using MarkBufferDirtyHint() to dirty the buffer holding the last remaining page of the FSM, but during recovery, that might in fact not dirty the page, and the FSM update might be lost. To fix, use the stronger MarkBufferDirty() function. MarkBufferDirty() requires us to do WAL-logging ourselves, to protect from a torn page, if checksumming is enabled. Also fix an oversight in visibilitymap_truncate: it also needs to WAL-log when checksumming is enabled. Analysis by Pavan Deolasee. Discussion:
[ANNOUNCE] == PostgreSQL Weekly News - October 16 2016 ==
== PostgreSQL Weekly News - October 16 2016 == == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2016-10/threads.php == PostgreSQL Local == PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. Submission deadline is September 21, 2016 by midnight CST. Details and submission form at: https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == 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. == Applied Patches == Peter Eisentraut pushed: - Add a noreturn attribute to help static analyzers http://git.postgresql.org/pg/commitdiff/52f0142eb4c755d1f4c390464769d35f21e998c3 Heikki Linnakangas pushed: - Remove some unnecessary #includes. Amit Langote http://git.postgresql.org/pg/commitdiff/6fb12cbcd6f1a971e113d7d32cc7ee920db4e097 - Simplify the code for logical tape read buffers. Pass the buffer size as argument to LogicalTapeRewindForRead, rather than setting it earlier with the separate LogicTapeAssignReadBufferSize call. This way, the buffer size is set closer to where it's actually used, which makes the code easier to understand. This makes the calculation for how much memory to use for the buffers less precise. We now use the same amount of memory for every tape, rounded down to the nearest BLCKSZ boundary, instead of using one more block for some tapes, to get the total up to exact amount of memory available. That should be OK, merging isn't too sensitive to the exact amount of memory used. Reviewed by Peter Geoghegan. Discussion: <0f607c4b-df23-353e-bf56-c0389d284...@iki.fi> http://git.postgresql.org/pg/commitdiff/b75f467b6eec0678452fd8d7f8d306e6df3a1076 - Fix copy-pasto in comment. Amit Langote http://git.postgresql.org/pg/commitdiff/bb55dd6059dddf2cd44423da6a3f6946826953cf Tom Lane pushed: - In PQsendQueryStart(), avoid leaking any left-over async result. Ordinarily there would not be an async result sitting around at this point, but it appears that in corner cases there can be. Considering all the work we're about to launch, it's hardly going to cost anything noticeable to check. It's been like this forever, so back-patch to all supported branches. Report: <cad-qf1elutbotpxyfqgw-4eesop31tvvdzpu4kl9pbq6tjp...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/886f6c5ccdb500c7e0abdf1500e20a304c45 - Update user docs for switch to POSIX semaphores. Since commit ecb0d20a9 hasn't crashed and burned, here's the promised docs update for it. In addition to explaining that Linux and FreeBSD ports now use POSIX semaphores, I did some wordsmithing on pre-existing wording; in particular trying to clarify which SysV parameters need to be set with an eye to total usage across all applications. http://git.postgresql.org/pg/commitdiff/3d21f08bccd316c3850a1943c1ee1e381dab1588 - Improve documentation for CREATE RECURSIVE VIEW. It was perhaps not entirely clear that internal self-references shouldn't be schema-qualified even if the view name is written with a schema. Spell it out. Discussion: <871sznz69m@metapensiero.it> http://git.postgresql.org/pg/commitdiff/e34318725ca5b274efd6f57ea7460e89f4dca9f9 - Docs: grammatical fix. Fix poor grammar introduced in 741ccd501. http://git.postgresql.org/pg/commitdiff/c7e56811fa38cbc39efd6bdd4bb45f2f0444803e - Remove "sco" and "unixware" ports. SCO OpenServer and SCO UnixWare are more or less dead platforms. We have never had a buildfarm member testing the "sco" port, and the last "unixware" member was last heard from in 2012, so it's fair to doubt that the code even compiles anymore on either one. Remove both ports. We can always undo this if someone shows up with an interest in maintaining and testing these platforms. Discussion: <17177.1476136...@sss.pgh.pa.us> http://git.postgresql.org/pg/commitdiff/2b860f52ed1b1784cdf3f03886805f5bf250ea74 - Drop server support for FE/BE protocol version 1.0. While this isn't a lot of code, it's been essentially untestable for a very long time, because libpq doesn't support anything older than protocol 2.0, and has not since release 6.3. There's no reason to believe any other client-side code still uses that protocol, either. Discussi
[ANNOUNCE] == PostgreSQL Weekly News - October 09 2016 ==
== PostgreSQL Weekly News - October 09 2016 == == PostgreSQL Product News == SEQUEL for PostgreSQL, a client application for macOS, released. https://sequel.tech/ pglogical 1.2, a logical-WAL-based replication system for PostgreSQL, released. https://2ndquadrant.com/en/resources/pglogical/ repmgr 3.2, a replication manager for PostgreSQL, released. http://repmgr.org/release-notes-3.2.html Ajqvue Version 1.10, a java-based UI which supports PostgreSQL, released. http://ajqvue.com == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2016-10/threads.php == PostgreSQL Local == Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ The Korean Users Group will hold its first PGDay event on October 15, 2016 in Seoul. http://pgday.postgresql.kr/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. Submission deadline is September 21, 2016 by midnight CST. Details and submission form at: https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == 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. == Applied Patches == Tom Lane pushed: - Enforce a specific order for probing library loadability in pg_upgrade. pg_upgrade checks whether all the shared libraries used in the old cluster are also available in the new one by issuing LOAD for each library name. Previously, it cared not what order it did the LOADs in. Ideally it should not have to care, but currently the transform modules in contrib fail unless both the language and datatype modules they depend on are loaded first. A backend-side solution for that looks possible but probably not back-patchable, so as a stopgap measure, let's do the LOAD tests in order by library name length. That should fix the problem for reasonably-named transform modules, eg "hstore_plpython" will be loaded after both "hstore" and "plpython". (Yeah, it's a hack.) In a larger sense, having a predictable order of these probes is a good thing, since it will make upgrades predictably work or not work in the face of inter-library dependencies. Also, this patch replaces O(N^2) de-duplication logic with O(N log N) logic, which could matter in installations with very many databases. So I don't foresee reverting this even after we have a proper fix for the library-dependency problem. In passing, improve a couple of SQL queries used here. Per complaint from Andrew Dunstan that pg_upgrade'ing the transform contrib modules failed. Back-patch to 9.5 where transform modules were introduced. Discussion: <f7ac29f3-515c-2a44-21c5-ec9250532...@dunslane.net> http://git.postgresql.org/pg/commitdiff/83c2492002162bf79d2a0811bff5724e395909d7 - Show a sensible value in pg_settings.unit for GUC_UNIT_XSEGS variables. Commit 88e982302 invented GUC_UNIT_XSEGS for min_wal_size and max_wal_size, but neglected to make it display sensibly in pg_settings.unit (by adding a case to the switch in GetConfigOptionByNum). Fix that, and adjust said switch to throw a run-time error the next time somebody forgets. In passing, avoid using a static buffer for the output string --- the rest of this function pstrdup's from a local buffer, and I see no very good reason why the units code should do it differently and less safely. Per report from Otar Shavadze. Back-patch to 9.5 where the new unit type was added. Report:
[ANNOUNCE] == PostgreSQL Weekly News - October 02 2016 ==
== PostgreSQL Weekly News - October 02 2016 == PostgreSQL 9.6 Released! https://www.postgresql.org/docs/current/static/release-9-6.html == PostgreSQL Product News == pgAdmin4 1.0, a web- and native GUI control center for PostgreSQL, released. https://www.pgadmin.org/ barman 2.0, a backup and recovery manager for PostgreSQL, released. http://docs.pgbarman.org/release/2.0/ == PostgreSQL Local == Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ The Korean Users Group will hold its first PGDay event on October 15, 2016 in Seoul. http://pgday.postgresql.kr/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. Submission deadline is September 21, 2016 by midnight CST. Details and submission form at: https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == 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. == Applied Patches == Tom Lane pushed: - Refer to OS X as "macOS", except for the port name which is still "darwin". We weren't terribly consistent about whether to call Apple's OS "OS X" or "Mac OS X", and the former is probably confusing to people who aren't Apple users. Now that Apple has rebranded it "macOS", follow their lead to establish a consistent naming pattern. Also, avoid the use of the ancient project name "Darwin", except as the port code name which does not seem desirable to change. (In short, this patch touches documentation and comments, but no actual code.) I didn't touch contrib/start-scripts/osx/, either. I suspect those are obsolete and due for a rewrite, anyway. I dithered about whether to apply this edit to old release notes, but those were responsible for quite a lot of the inconsistencies, so I ended up changing them too. Anyway, Apple's being ahistorical about this, so why shouldn't we be? http://git.postgresql.org/pg/commitdiff/da6c4f6ca88df346573bdada2aa2544510bf167e - Document has_type_privilege(). Evidently an oversight in commit 729205571. Back-patch to 9.2 where privileges for types were introduced. Report: <20160922173517.8214.88...@wrigleys.postgresql.org> http://git.postgresql.org/pg/commitdiff/a4afb2b5c0b409bb175c20104b2ae9d47cf71be6 - Replace the built-in GIN array opclasses with a single polymorphic opclass. We had thirty different GIN array opclasses sharing the same operators and support functions. That still didn't cover all the built-in types, nor did it cover arrays of extension-added types. What we want is a single polymorphic opclass for "anyarray". There were two missing features needed to make this possible: 1. We have to be able to declare the index storage type as ANYELEMENT when the opclass is declared to index ANYARRAY. This just takes a few more lines in index_create(). Although this currently seems of use only for GIN, there's no reason to make index_create() restrict it to that. 2. We have to be able to identify the proper GIN compare function for the index storage type. This patch proceeds by making the compare function optional in GIN opclass definitions, and specifying that the default btree comparison function for the index storage type will be looked up when the opclass omits it. Again, that seems pretty generically useful. Since the comparison function lookup is done in initGinState(), making use of the second feature adds an additional cache lookup to GIN index access setup. It seems unlikely that that would be very noticeable given the other costs involved, but maybe at some point we should consider making GinState data persist longer than it now does --- we could keep it in the index relcache entry, perhaps. Rather fortuitously, we don't seem to need to do anything to get this change to play nice with dump/reload or pg_upgrade scenarios: the new opclass definition is automatically selected to replace existing index definitions, and the on-disk data remains compatible. Also, if a user has created a custom opclass definition for a non-builtin type, this doesn't break that, since CREATE INDEX will prefer an exact match to opcintype over a match to ANYARRAY. However, if there's anyone out there with handwritten DDL that explicit
[ANNOUNCE] == PostgreSQL Weekly News - September 25 2016 ==
== PostgreSQL Weekly News - September 25 2016 == == PostgreSQL Product News == postgresql-unit 1.0, an extension which implements a PostgreSQL datatype for SI units and bytes, released. https://github.com/ChristophBerg/postgresql-unit == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2016-09/threads.php == PostgreSQL Local == Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ The Korean Users Group will hold its first PGDay event on October 15, 2016 in Seoul. http://pgday.postgresql.kr/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. Submission deadline is September 21, 2016 by midnight CST. Details and submission form at: https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == 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. == Applied Patches == Robert Haas pushed: - Update recovery_min_apply_delay docs for remote_apply mode. Bernd Helmle, reviewed by Thomas Munro, tweaked by me. http://git.postgresql.org/pg/commitdiff/2c8f0d6e53e5dbcf28ee127303b81a6e12942665 - MSVC: Include pg_recvlogical in client-only install. MauMau, reviewed by Michael Paquier http://git.postgresql.org/pg/commitdiff/8614b39bca8fc64b1128c7911424647c9a1d1da1 - Retry DSM control segment creation if Windows indicates access denied. Otherwise, attempts to run multiple postmasters running on the same machine may fail, because Windows sometimes returns ERROR_ACCESS_DENIED rather than ERROR_ALREADY_EXISTS when there is an existing segment. Hitting this bug is much more likely because of another defect not fixed by this patch, namely that dsm_postmaster_startup() uses random() which returns the same value every time. But that's not a reason not to fix this. Kyotaro Horiguchi and Amit Kapila, reviewed by Michael Paquier Discussion: <caa4ek1jyndmef-dgrphozdecpdfsrzutpci+1abtuekfg3y...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/419113dfdc4c729f6c763cc30a9b02ee68a7da94 - Use PostmasterRandom(), not random(), for DSM control segment ID. Otherwise, every startup gets the same "random" value, which is definitely not what was intended. http://git.postgresql.org/pg/commitdiff/470d886c32efafa1b068b5ca48afafc2198c68d4 - Add more parallel query documentation. Previously, the individual settings were documented, but there was no overall discussion of the capabilities and limitations of the feature. Add that. Patch by me, reviewed by Peter Eisentraut and Álvaro Herrera. http://git.postgresql.org/pg/commitdiff/60270e5e00850ee8cc34296e38d415c8b152 Heikki Linnakangas pushed: - Remove obsolete warning from docs. Python 2.4 and Fedora 4 are both obsolete at this point, especially unpatched debug builds. Discussion: <85e377b2-d459-396e-59b1-115548bbc...@iki.fi> http://git.postgresql.org/pg/commitdiff/6cc54f38a9fe1f4103c45a9858804d1d5d4de0fd - Fix latency calculation when there are \sleep commands in the script. We can't use txn_scheduled to hold the sleep-until time for \sleep, because that interferes with calculation of the latency of the transaction as whole. Backpatch to 9.4, where this bug was introduced. Fabien COELHO Discussion: <alpine.DEB.2.20.1608231622170.7102@lancre> http://git.postgresql.org/pg/commitdiff/40c3fe4980e73acb0db75a3c737a4a52e09d4cf4 - Fix outdated comments, GIST search queue is not an RBTree anymore. The GiST search queue is implemented as a pairing heap rather than as Red-Black Tree, since 9.5 (commit e7032610). I neglected these comments in that commit. http://git.postgresql.org/pg/commitdiff/45310221a9afccd98e78813459472370ade9dc4c - Fix pgbench's calculation of average latency, when -T is not used. If the test duration was given in # of transactions (-t or no option), rather as a duration (-T), the latency average was always printed as 0. It has been broken ever since the display of latency average was added, in 9.4. Fabien Coelho Discussion: <alpine.DEB.2.20.1607131015370.7486@sto> http://git.postgresql.org/pg/commitdiff/65c65563842cc99fb1c349211581a62dc728eee2 - Print test parameters like "foo: 123", and results like "foo = 123". The way "latency average" was pri
[ANNOUNCE] == PostgreSQL Weekly News - September 18 2016 ==
== PostgreSQL Weekly News - September 18 2016 == The 10th annual Prague PostgreSQL Developer Day 2017 (P2D2 2017) is a two-day conference that will be held on February 15-16 2017 in Prague, Czech Republic. Czech language web site below: http://www.p2d2.cz/ The PGConf US 2017 CfP will be open until November 15th, 2016, 11:59PM EST. Notifications December 2. Schedule published January 2, 2017. http://www.pgconf.us/2017/submit/ == PostgreSQL Product News == brimbox 2.1, a web database interface and framework built atop PostgreSQL, released. http://www.brimbox.com/release/brimbox-release-v2-1/ MJSQLView Version 7.08, a Java-based UI which supports PostgreSQL, released. http://myjsqlview.com/ == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2016-09/threads.php == PostgreSQL Local == PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. http://blog.dalibo.com/2016/05/13/CFP-pgsession-lyon.html Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ The Korean Users Group will hold its first PGDay event on October 15, 2016 in Seoul. http://pgday.postgresql.kr/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The schedule has been published. http://2016.pgconf.eu/registration/ PGDay Austin 2016, will take place on November 12, 2016. Submission deadline is September 21, 2016 by midnight CST. Details and submission form at: https://www.postgresql.us/events/2016/austin PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. http://charconference.org/ PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == 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. == Applied Patches == Kevin Grittner pushed: - psql tab completion for CREATE DATABASE ... TEMPLATE ... Sehrope Sarkuni, reviewed by Merlin Moncure & Vitaly Burovoy with some editing by me http://git.postgresql.org/pg/commitdiff/52803098ab26051c0c9802f3c19edffc90de8843 - Fix recent commit for tab-completion of database template. The details of commit 52803098ab26051c0c9802f3c19edffc90de8843 were based on a misunderstanding of the role inheritance allowing use of a database for a template. While the CREATEDB privilege is not inherited, the database ownership is privileges are. Pointed out by Vitaly Burovoy and Tom Lane. Fix provided by Tom Lane, reviewed by Vitaly Burovoy. http://git.postgresql.org/pg/commitdiff/63c1a871940c7c4798788e98fdb1a24408a49d05 Simon Riggs pushed: - Raise max setting of checkpoint_timeout to 1d. Previously checkpoint_timeout was capped at 3600s New max setting is 86400s = 24h = 1d Discussion: 32558.1454471...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/c3c0d7bd701dae4737c974a59ffa9b366110f9c1 - Identify walsenders in pg_stat_activity. Following 8299471c37fff0b walsender procs are now visible in pg_stat_activity. Set query to ‘walsender’ for walsender procs to allow them to be identified. Discussion:cab7npqs8c76kpsufk_hsdeyrbtg+zz7d0eekjem6txseucb...@mail.gmail.com Michael Paquier, issue raised by Fujii Masao, reviewed by Tom Lane http://git.postgresql.org/pg/commitdiff/fc3d4a44e9375f79709f470cb3c83d4ca28fb370 - Fix copy/pasto in file identification Daniel Gustafsson http://git.postgresql.org/pg/commitdiff/4068eb9918cbbeaba8042fa6fe0c1f5382f2f05f Peter Eisentraut pushed: - pg_basebackup: Clean created directories on failure. Like initdb, clean up created data and xlog directories, unless the new -n/--noclean option is specified. Tablespace directories are not cleaned up, but a message is written about that. Reviewed-by: Masahiko Sawada <sawada.m...@gmail.com> http://git.postgresql.org/pg/commitdiff/9083353b15c3cf8e7bbac104a81ad42281178cdf - Add overflow checks to money type input function. The money type input function did not have any overflow checks at all. There were some regression tests that purported to check for overflow, but they actually checked for the overflow behavior of the int8 type before casting to money. Remove those unnecessary checks and add some that actually check the money input function. Reviewed-by: Fabien COELHO <coe...@cri.ensmp.fr> http://git.postgresql.org/pg/commitdiff/656df624c0d7b50e1714f2a3a14e143e63799a80 Tom Lane pushed: - Docs: assorted minor cleanups. Standardize on "user_name" for a field name in related examples in ddl.sgml; before we had variously "user_name", "username", and "user". The last
[ANNOUNCE] == PostgreSQL Weekly News - September 04 2016 ==
== PostgreSQL Weekly News - September 04 2016 == PostgreSQL 9.6 Release Candidate 1 released. Test! http://www.postgresql.org/docs/devel/static/release-9-6.html == PostgreSQL Product News == pgpool-II 3.5.4, 3.4.8, 3.3.12, 3.2.17 and 3.1.20 released. http://pgpool.net/mediawiki/index.php/Main_Page == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2016-09/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. https://2016.postgresopen.org/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. http://blog.dalibo.com/2016/05/13/CFP-pgsession-lyon.html Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. Early bird registration is open until September 14th, 2016. http://2016.pgconf.eu/registration/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. Call for papers is open until midnight (EDT) September 13, 2016. http://charconference.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Make another editorial pass over the 9.6 release notes. I think they're pretty much release-quality now. http://git.postgresql.org/pg/commitdiff/39d866433e6fb1c385eee8dc67843097b8703add - Fix stray reference to the old genbki.sh script. Per Tomas Vondra. http://git.postgresql.org/pg/commitdiff/b899ccbb49cbcf8431b3af43fcf3faf91e6a28c6 - Make AllocSetContextCreate throw an error for bad context-size parameters. The previous behavior was to silently change them to something valid. That obscured the bugs fixed in commit ea268cdc9, and generally seems less useful than complaining. Unlike the previous commit, though, we'll do this in HEAD only --- it's a bit too late to be possibly breaking third-party code in 9.6. Discussion: <CA+TgmobNcELVd3QmLD3tx=w7+CokRQiC4_U0txjz=WHpfdkU=w...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/cf34fdbbe1452b9e19c0956bc48494889e1b2777 - Fix initdb misbehavior when user mis-enters superuser password. While testing simple_prompt() revisions, I happened to notice that current initdb behaves rather badly when --pwprompt is specified and the user miskeys the second password. It complains about the mismatch, does "rm -rf" on the data directory, and exits. The problem is that since commit c4a8812cf, there's a standalone backend sitting waiting for commands at that point. It gets unhappy about its datadir having gone away, and spews a PANIC message at the user, which is not nice. (And the shell then adds to the mess with meaningless bleating about a core dump...) We don't really want that sort of thing to happen unless there's an internal failure in initdb, which this surely is not. The best fix seems to be to move the collection of the password earlier, so that it's done essentially as part of argument collection, rather than at the rather ad-hoc time it was done before. Back-patch to 9.6 where the problem was introduced. http://git.postgresql.org/pg/commitdiff/37f6fd1eaab698983ca1fb2a036d52381347ac71 - Simplify correct use of simple_prompt(). The previous API for this function had it returning a malloc'd string. That meant that callers had to check for NULL return, which few of them were doing, and it also meant that callers had to remember to free() the string later, which required extra logic in most cases. Instead, make simple_prompt() write into a buffer supplied by the caller. Anywhere that the maximum required input length is reasonably small, which is almost all of the callers, we can just use a local or static array as the buffer instead of dealing with malloc/free. A fair number of callers used "pointer == NULL" as a proxy for "haven't requested the password yet". Maintaining the same behavior requires adding a separate boolean flag for that, which adds back some of the complexity we save by removing free()s. Nonetheless, this nets out at a small reduction in overall code size, and considerably less code than we would have had if we'd added the missing NULL-return checks everywhere they were needed. In passing, clean up the API comment for simple_prompt() and get rid of a very-unnecessary malloc/free in its Windows code path. This is nominally a bug fix, but it does not seem worth back-patching, because the actual risk of an OOM failure in any of these places seems pre
[ANNOUNCE] == PostgreSQL Weekly News - August 28 2016 ==
== PostgreSQL Weekly News - August 28 2016 == == PostgreSQL Product News == LuaPgSQL-1.6.1, a libpq-compatible Lua binding for PostgreSQL, released https://github.com/arcapos/luapgsql == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2016-08/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. https://2016.postgresopen.org/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. http://blog.dalibo.com/2016/05/13/CFP-pgsession-lyon.html Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. Early bird registration is open until September 14th, 2016. http://2016.pgconf.eu/registration/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. Call for papers is open until midnight (EDT) September 13, 2016. http://charconference.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Noah Misch pushed: - Retire escapeConnectionParameter(). It is redundant with appendConnStrVal(), which became an extern function in commit 41f18f021a0882eccbeca62e2ed4b66c6b96e9c9. This changes the handling of out-of-memory and of certain inputs for which quoting is optional, but pg_basebackup has no need for unusual treatment thereof. http://git.postgresql.org/pg/commitdiff/9132c014290d02435999c81892fa8b0b384497d8 - Build libpgfeutils before src/bin/pg_basebackup programs. Oversight in commit 9132c014290d02435999c81892fa8b0b384497d8. http://git.postgresql.org/pg/commitdiff/03951987283b99d5002227ab89f896bab772b7ec - Build libpgfeutils before pg_isready. Every program having -lpgfeutils in LDFLAGS must have this dependency, whether or not the program uses a libpgfeutils symbol. Back-patch to 9.6, where libpgfeutils was introduced. http://git.postgresql.org/pg/commitdiff/b6418a0919c2c161cf2ed65bc930a06c9c2d85da Tom Lane pushed: - initdb now needs submake-libpq and submake-libpgfeutils. More fallout from commit a00c58314. Pointed out by Michael Paquier. http://git.postgresql.org/pg/commitdiff/234309fa87739f7a3ac99de815d181b50f2542e7 - Refactor some network.c code to create cidr_set_masklen_internal(). Merge several copies of "copy an inet value and adjust the mask length" code to create a single, conveniently C-callable function. This function is exported for future use by inet SPGiST support, but it's good cleanup anyway since we had three slightly-different-for-no-good-reason copies. (Extracted from a larger patch, to separate new code from refactoring of old code) Emre Hasegeli http://git.postgresql.org/pg/commitdiff/7b405b3e04779fc0a026c9c6ac3e06194948b253 - Improve SP-GiST opclass API to better support unlabeled nodes. Previously, the spgSplitTuple action could only create a new upper tuple containing a single labeled node. This made it useless for opclasses that prefer to work with fixed sets of nodes (labeled or otherwise), which meant that restrictive prefixes could not be used with such node definitions. Change the output field set for the choose() method to allow it to specify any valid node set for the new upper tuple, and to specify which of these nodes to place the modified lower tuple in. In addition to its primary use for fixed node sets, this feature could allow existing opclasses that use variable node sets to skip a separate spgAddNode action when splitting a tuple, by setting up the node needed for the incoming value as part of the spgSplitTuple action. However, care would have to be taken to add the extra node only when it would not make the tuple bigger than before. (spgAddNode can enlarge the tuple, spgSplitTuple can't.) This is a prerequisite for an upcoming SP-GiST inet opclass, but is being committed separately to increase the visibility of the API change. In passing, improve the documentation about the traverse-values feature that was added by commit ccd6eb49a. Emre Hasegeli, with cosmetic adjustments and documentation rework by me Discussion: <cae2gyzxtth9qatw_oaqdojyks0bxq7ayhluyaqlpgt7h9zu...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/d2ddee63b43b27d6c6af169342af10db19bd3a1a - Create an SP-GiST opclass for inet/cidr. This seems to offer significantly better search performance than the existing GiST opclass for inet/cidr, at least on data with a wide mix of network mask lengths. (That may suggest that the data spli
[ANNOUNCE] == PostgreSQL Weekly News - August 21 2016 ==
== PostgreSQL Weekly News - August 21 2016 == == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2016-08/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. https://2016.postgresopen.org/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. http://blog.dalibo.com/2016/05/13/CFP-pgsession-lyon.html Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco. http://postgresvision.com/ PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. Early bird registration is open until September 14th, 2016. http://2016.pgconf.eu/registration/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. Call for papers is open until midnight (EDT) September 13, 2016. http://charconference.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Simplify the process of perltidy'ing our Perl files. Wrap the perltidy invocation into a shell script to reduce the risk of copy-and-paste errors. Include removal of *.bak files in the script, so they don't accidentally get committed. Improve the directions in the README file. http://git.postgresql.org/pg/commitdiff/05d8dec690e9719ff9a1830f5492864104275b5e - Final pgindent + perltidy run for 9.6. http://git.postgresql.org/pg/commitdiff/b5bce6c1ec6061c8a4f730d927e162db7e2ce365 - Stamp HEAD as 10devel. This is a good bit more complicated than the average new-version stamping commit, because it includes various adjustments in pursuit of changing from three-part to two-part version numbers. It's likely some further work will be needed around that change; but this is enough to get through the regression tests, at least in Unix builds. Peter Eisentraut and Tom Lane http://git.postgresql.org/pg/commitdiff/ca9112a424ff68ec4f2ef67b47122f7d61412964 - Stamp shared-library minor version numbers for v10. http://git.postgresql.org/pg/commitdiff/0b9358d4406b9b45a06855d53f491cc7ce9550a9 - Update git_changelog to know that there's a 9.6 branch. Missed this in the main 10devel version stamping patch. http://git.postgresql.org/pg/commitdiff/3149a12166120d0b476f5ca7837ebcf0e7124703 - Allow .so minor version numbers above 9 in .gitignore. Needed now that libpq.so's minor version has reached 10. http://git.postgresql.org/pg/commitdiff/2bf06f756142f4c398270cdc30bbba9b9dfbd38b - Doc: remove out-of-date claim that pg_am rows must be inserted by hand. Commit 473b93287 added a sentence about that, but neglected to remove the adjacent sentence it had falsified. Per Alexander Law. http://git.postgresql.org/pg/commitdiff/8fc571b7dd9fa1659536a26bb085584b50a65a51 - Doc: copy-editing in create_access_method.sgml. Improve shaky English grammar. And markup. http://git.postgresql.org/pg/commitdiff/9b002cc9fec557fcfe17d67f55b53804447230e5 - Remove separate version numbering for ecpg preprocessor. Once upon a time, it made sense for the ecpg preprocessor to have its own version number, because it used a manually-maintained grammar that wasn't always in sync with the core grammar. But those days are thankfully long gone, leaving only a maintenance nuisance behind. Let's use the PG v10 version numbering changeover as an excuse to get rid of the ecpg version number and just have ecpg identify itself by PG_VERSION. From the user's standpoint, ecpg will go from "4.12" in the 9.6 branch to "10" in the 10 branch, so there's no failure of monotonicity. Discussion: <1471332659.4410.67.ca...@postgresql.org> http://git.postgresql.org/pg/commitdiff/a7b5573d665c8a37fad9bc69f44c5b4e8760a73b - Automate the maintenance of SO_MINOR_VERSION for our shared libraries. Up to now we've manually adjusted these numbers in several different Makefiles at the start of each development cycle. While that's not much work, it's easily forgotten, so let's get rid of it by setting the SO_MINOR_VERSION values directly from $(MAJORVERSION). In the case of libpq, this dev cycle's value of SO_MINOR_VERSION happens to be "10" anyway, so this switch is transparent. For ecpg's shared libraries, this will result in skipping one or two minor version numbers between v9.6 and v10, which seems like no big problem; and it was a bit inconsistent that they didn't have equal minor version numbers anyway. Discussion: <21969.1471287...@sss.pgh.pa.us> http://git.postgresql.org/pg/commitdiff/a3bce17ef1ca6408e8d1e7b10fb767aef1729be6 - Fi
[ANNOUNCE] == PostgreSQL Weekly News - August 14 2016 ==
== PostgreSQL Weekly News - August 14 2016 == Security releases 9.5.4, 9.4.9, 9.3.14, 9.2.18, and 9.1.23 are out. Upgrade ASAP. https://www.postgresql.org/about/news/1688/ PostgreSQL 9.6 Beta 4 released. Test! https://www.postgresql.org/docs/devel/static/release-9-6.html == PostgreSQL Product News == BDR 1.0, a replicated database system based on PostgreSQL using logical WALs, released. http://bdr-project.org/docs/stable/release-1.0.0.html pgBadger v8.2, a PostgreSQL log analyzer and graph tool written in Perl, released. https://github.com/dalibo/pgbadger/releases/ == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2016-08/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. https://2016.postgresopen.org/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. http://blog.dalibo.com/2016/05/13/CFP-pgsession-lyon.html PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. Early bird registration is open until September 14th, 2016. http://2016.pgconf.eu/registration/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. Call for papers is open until midnight (EDT) September 13, 2016. http://charconference.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Fix TOAST access failure in RETURNING queries. Discussion of commit 3e2f3c2e4 exposed a problem that is of longer standing: since we don't detoast data while sticking it into a portal's holdStore for PORTAL_ONE_RETURNING and PORTAL_UTIL_SELECT queries, and we release the query's snapshot as soon as we're done loading the holdStore, later readout of the holdStore can do TOAST fetches against data that can no longer be seen by any of the session's live snapshots. This means that a concurrent VACUUM could remove the TOAST data before we can fetch it. Commit 3e2f3c2e4 exposed the problem by showing that sometimes we had *no* live snapshots while fetching TOAST data, but we'd be at risk anyway. I believe this code was all right when written, because our management of a session's exposed xmin was such that the TOAST references were safe until end of transaction. But that's no longer true now that we can advance or clear our PGXACT.xmin intra-transaction. To fix, copy the query's snapshot during FillPortalStore() and save it in the Portal; release it only when the portal is dropped. This essentially implements a policy that we must hold a relevant snapshot whenever we access potentially-toasted data. We had already come to that conclusion in other places, cf commits 08e261cbc94ce9a7 and ec543db77b6b72f2. I'd have liked to add a regression test case for this, but I didn't see a way to make one that's not unreasonably bloated; it seems to require returning a toasted value to the client, and those will be big. In passing, improve PortalRunUtility() so that it positively verifies that its ending PopActiveSnapshot() call will pop the expected snapshot, removing a rather shaky assumption about which utility commands might do their own PopActiveSnapshot(). There's no known bug here, but now that we're actively referencing the snapshot it's almost free to make this code a bit more bulletproof. We might want to consider back-patching something like this into older branches, but it would be prudent to let it prove itself more in HEAD beforehand. Discussion: <87vazemeda@credativ.de> http://git.postgresql.org/pg/commitdiff/9ee1cf04ab6bcefe03a11837b53f29ca9dc24c7a - Fix crash when pg_get_viewdef_name_ext() is passed a non-view relation. Oversight in commit 976b24fb4. Andreas Seltenreich Report: <87y448l3ag@credativ.de> http://git.postgresql.org/pg/commitdiff/8a8c6b53810026641a1e12f60f873a7bd3cea5e3 - Fix misestimation of n_distinct for a nearly-unique column with many nulls. If ANALYZE found no repeated non-null entries in its sample, it set the column's stadistinct value to -1.0, intending to indicate that the entries are all distinct. But what this value actually means is that the number of distinct values is 100% of the table's rowcount, and thus it was overestimating the number of distinct values by however many nulls there are. This could lead to very poor selectivity estimates, as for example in a recent report from Andreas Joseph Krogh. We should discount the stadistinct value by whatever we've estimated the nulls fraction to be. (That is what will happen if we choose to us
[ANNOUNCE] == PostgreSQL Weekly News - July 31 2016 ==
== PostgreSQL Weekly News - July 31 2016 == == PostgreSQL Product News == psqlODBC 09.05.0400 released. https://odbc.postgresql.org/docs/release.html == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2016-07/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. The CfP is open. https://2016.postgresopen.org/callforpapers/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. Call for papers is open until midnight (EDT) September 13, 2016. http://charconference.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Álvaro Herrera pushed: - Give recovery tests more time to finish. These tests are currently only running in buildfarm member hamster, which is purposefully very slow. This suite has failed a couple of times recently because of timeouts, so increase the allowed number of iterations to avoid spurious failures. Author: Michaël Paquier http://git.postgresql.org/pg/commitdiff/2a0f89cd717ce6d49cdc47850577823682167e87 Fujii Masao pushed: - Fix typo in comment. Author: Masahiko Sawada http://git.postgresql.org/pg/commitdiff/1804d1555f56fcad4ce62e160bab17bdff6c94aa - Fix improper example of using psql() function in TAP tests documentation. In an example of TAP test scripts, there is the test checking whether the result of the query is expected or not. But, in previous example, the exit code of psql instead of the query result was checked unexpectedly. Author: Ildar Musin http://git.postgresql.org/pg/commitdiff/c1a95425780ef8e72c2f65504a7e90bcb223ca4a - Fix incorrect description of udt_privileges view in documentation. The description of udt_privileges view contained an incorrect copy-pasted word. Back-patch to 9.2 where udt_privileges view was added. Author: Alexander Law http://git.postgresql.org/pg/commitdiff/de8c92e6caf0cd8683b23a222d4bd88a90496840 Peter Eisentraut pushed: - Message style improvements http://git.postgresql.org/pg/commitdiff/40fcfec82cf695d520f2dd91ee437fa75dea4ca7 - Fix typo http://git.postgresql.org/pg/commitdiff/43c2c404978a89e9e5ea51aca5759a35f3f302f9 - Message style improvements http://git.postgresql.org/pg/commitdiff/ef5d4a3cfacb009526aac3e01a26f4b54d70bfd7 - Documentation spell checking and markup improvements http://git.postgresql.org/pg/commitdiff/5676da2d01bb6ba437cf05d748f04b3d31676922 Tom Lane pushed: - Fix constant-folding of ROW(...) IS [NOT] NULL with composite fields. The SQL standard appears to specify that IS [NOT] NULL's tests of field nullness are non-recursive, ie, we shouldn't consider that a composite field with value ROW(NULL,NULL) is null for this purpose. ExecEvalNullTest got this right, but eval_const_expressions did not, leading to weird inconsistencies depending on whether the expression was such that the planner could apply constant folding. Also, adjust the docs to mention that IS [NOT] DISTINCT FROM NULL can be used as a substitute test if a simple null check is wanted for a rowtype argument. That motivated reordering things so that IS [NOT] DISTINCT FROM is described before IS [NOT] NULL. In HEAD, I went a bit further and added a table showing all the comparison-related predicates. Per bug #14235. Back-patch to all supported branches, since it's certainly undesirable that constant-folding should change the semantics. Report and patch by Andrew Gierth; assorted wordsmithing and revised regression test cases by me. Report: <20160708024746.1410.57...@wrigleys.postgresql.org> http://git.postgresql.org/pg/commitdiff/4452000f310b8c1c947ee724618c1bc31ed20242 - Allow functions that return sets of tuples to return simple NULLs. ExecMakeTableFunctionResult(), which is used in SELECT FROM function(...) cases, formerly treated a simple NULL output from a function that both returnsSet and returnsTuple as a violation of the SRF protocol. What seems better is to treat a NULL output as equivalent to ROW(NULL,NULL,...). Without this, cases such as SELECT FROM unnest(...) on an array of composite are vulnerable to unexpected and not-very-helpful failures. Old code comments here suggested an alternative of just ignoring simple-NULL outputs, but that doesn't seem very principled. This change had been hung up for a long time due to uncertainty about how much we wanted
[ANNOUNCE] == PostgreSQL Weekly News - July 24 2016 ==
== PostgreSQL Weekly News - July 24 2016 == PostgreSQL 9.6 Beta 3 released. Test! https://www.postgresql.org/docs/devel/static/release-9-6.html PostgreSQL Conference Europe will take place in Tallin, Estonia, on November 1-4, 2016. The CfP is open until August 7, 2016, and early bird registration is open until September 14th, 2016. http://2016.pgconf.eu/registration/ == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2016-07/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. The CfP is open. https://2016.postgresopen.org/callforpapers/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ CHAR(16) will take place in New York, December 6, 2016. Call for papers is open until midnight (EDT) September 13, 2016. http://charconference.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 Pacific time. Please send English language ones to da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. == Applied Patches == Tom Lane pushed: - Correctly set up aggregate FILTER expression in partial-aggregation plans. The aggfilter expression should be removed from the parent (combining) Aggref, since it's not supposed to apply the filter, and indeed cannot because any Vars used in the filter would not be available after the lower-level aggregation step. Per report from Jeff Janes. (This has been broken since the introduction of partial aggregation, I think. The error became obvious after commit 59a3795c2, when setrefs.c began processing the parent Aggref's fields normally and thus would detect such Vars. The special-case coding previously used in setrefs.c skipped over the parent's aggfilter field without processing it. That was broken in its own way because no other setrefs.c processing got applied either; though since the executor would not execute the filter expression, only initialize it, that oversight might not have had any visible symptoms at present.) Report:
[ANNOUNCE] == PostgreSQL Weekly News - July 17 2016 ==
== PostgreSQL Weekly News - July 17 2016 == CHAR(16), an international conference to celebrate and showcase the significant developments the leading PostgreSQL engineering teams have made in the areas of Clustering, High Availability and Replication, will take place in New York, December 6, 2016. Call for papers is now open. The closing date for submissions is midnight (EDT) September 30, 2016. http://charconference.org/ == PostgreSQL Product News == PG Bloat Check v2.2.0, a program which provides very accurate bloat statistics for both tables and indexes, released. https://github.com/keithf4/pg_bloat_check == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2016-07/threads.php == PostgreSQL Local == PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. The CfP is open. https://2016.postgresopen.org/callforpapers/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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. == Applied Patches == Tom Lane pushed: - Revert "Add some temporary code to record stack usage at server process exit." This reverts commit 88cf37d2a86d5b66380003d7c3384530e3f91e40 as well as follow-on commits ea9c4a16d5ad88a1d28d43ef458e3209b53eb106 and c57562725d219c4249b82f4a4fb5aaeee3ae0d53. We've learned about as much as we can from the buildfarm. http://git.postgresql.org/pg/commitdiff/96112ee7c60557bb192a9aa07b514db2400fd45e - Improve output of psql's \df+ command. Add display of proparallel (parallel-safety) when the server is >= 9.6, and display of proacl (access privileges) for all server versions. Minor tweak of column ordering to keep related columns together. Michael Paquier Discussion: <cab7npqtr3vu3xkozoyqsm-+bszv0kqgegaxd6w5glbkbfd5...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/a670c24c382693c4f75e99c9292b2ed0f0d40a72 - Print a given subplan only once in EXPLAIN. We have, for a very long time, allowed the same subplan (same member of the PlannedStmt.subplans list) to be referenced by more than one SubPlan node; this avoids problems for cases such as subplans within an IndexScan's indxqual and indxqualorig fields. However, EXPLAIN had not gotten the memo and would print each reference as though it were an independent identical subplan. To fix, track plan_ids of subplans we've printed and don't print the same plan_id twice. Per report from Pavel Stehule. BTW: the particular case of IndexScan didn't cause visible duplication in a plain EXPLAIN, only EXPLAIN ANALYZE, because in the former case we short-circuit executor startup before the indxqual field is processed by ExecInitExpr. That seems like it could easily lead to other EXPLAIN problems in future, but it's not clear how to avoid it without breaking the "EXPLAIN a plan using hypothetical indexes" use-case. For now I've left that issue alone. Although this is a longstanding bug, it's purely cosmetic (no great harm is done by the repeat printout) and we haven't had field complaints before. So I'm hesitant to back-patch it, especially since there is some small risk of ABI problems due to the need to add a new field to ExplainState. In passing, rearrange order of fields in ExplainState to be less random, and update some obsolete comments about when/where to initialize them. Report: <CAFj8pRAimq+NK-menjt+3J4-LFoodDD8Or6=lc_stcfd+ed...@mail.gmail.com> http://git.postgresql.org/pg/commitdiff/4d042999f94a4bc41b86baca5920cd4829e16895 - Allow IMPORT FOREIGN SCHEMA within pl/pgsql. Since IMPORT FOREIGN SCHEMA has an INTO clause, pl/pgsql needs to be aware of that and avoid capturing the INTO as an INTO-variables clause. This isn't hard, though it's annoying to have to make IMPORT a plpgsql keyword just for this. (Fortunately, we have the infrastructure now to make it an unreserved keyword, so at least this shouldn't break any existing pl/pgsql code.) Per report from Merlin Moncure. Back-patch to 9.5 where IMPORT FOREIGN SCHEMA was introduced. Report:
[ANNOUNCE] == PostgreSQL Weekly News - June 26 2016 ==
== PostgreSQL Weekly News - June 26 2016 == PostgreSQL 9.6 Beta 2 released. Test! https://www.postgresql.org/about/news/1677/ PGDay POA 2016 will take place in Porto Alegre, Rio Grande do Sul, Brazil on July 14 2016 in conjunction with FISL17. http://softwarelivre.org/fisl17/programacao/pgday-poa PGDay Philly 2016 will be held on July 21 at Huntsman Hall at the Wharton School and is co-located with this year's DjangoCon https://2016.djangocon.us/. See the local Philly PostgreSQL User Group Meetup page for more information. http://www.meetup.com/phlpug/events/231214177/ == PostgreSQL Product News == DB Doc 3.1, a PostgreSQL database documentation tool, released. http://www.yohz.com/dbdoc_details.htm Amazon RDS Postgres now supports cross-region read replicas. http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2016-06/ == PostgreSQL Local == FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina. https://2016.foss4g-na.org/ 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). http://www.pgday.ch/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. Registration is open. http://5432meet.us/ PG Day UK 2016 will be 5th July 2016. http://www.pgconf.uk/ PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. The CfP is open. https://2016.postgresopen.org/callforpapers/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Tom Lane pushed: - Docs: improve description of psql's %R prompt escape sequence. Dilian Palauzov pointed out in bug #14201 that the docs failed to mention the possibility of %R producing '(' due to an unmatched parenthesis. He proposed just adding that in the same style as the other options were listed; but it seemed to me that the sentence was already nearly unintelligible, so I rewrote it a bit more extensively. Report: <20160619121113.5789.68...@wrigleys.postgresql.org> http://git.postgresql.org/pg/commitdiff/705ad7f3b523acae0ddfdebd270b7048b2bb8029 - Fix comparison of similarity to threshold in GIST trigram searches. There was some very strange code here, dating to commit b525bf77, that purported to work around an ancient gcc bug by forcing a float4 comparison to be done as int instead. Commit 5871b8848 broke that when it changed one side of the comparison to "double" but left the comparison code alone. Commit f576b17cd doubled down on the weirdness by introducing a "volatile" marker, which had nothing to do with the actual problem. Guess that the gcc bug, even if it's still present in the wild, was triggered by comparison of float4's and can be avoided if we store the result of cnt_sml() into a double before comparing to the double "nlimit". This will at least work correctly on non-broken compilers, and it's way more readable. Per bug #14202 from Greg Navis. Add a regression test based on his example. Report: <20160620115321.5792.10...@wrigleys.postgresql.org> http://git.postgresql.org/pg/commitdiff/9c852566a3cf4ede40e22e4ca216d12cd4a27117 - pg_trgm's set_limit() function is parallel unsafe, not parallel restricted. Per buildfarm. Fortunately, it's not quite too late to squeeze this fix into the pg_trgm 1.3 update. http://git.postgresql.org/pg/commitdiff/e611515dd6b8edad56baa0f3ae31ff637ca54d52 - Add missing check for malloc failure in plpgsql_extra_checks_check_hook(). Per report from Andreas Seltenreich. Back-patch to affected versions. Report: <874m8nn0hv@elite.ansel.ydns.eu> http://git.postgresql.org/pg/commitdiff/1fe1204e87c467221277d1789f1a530a27e15bd2 - Stamp 9.6beta2. http://git.postgresql.org/pg/commitdiff/936b62ddf247c26e8cc4fca34bd8a4c2e65c09fd - Refactor planning of projection steps that don't need a Result plan node. The original upper-planner-pathification design (commit 3fc6e2d7f5b652b4) assumed that we could always determine during Path formation whether or not we would need a Result plan node to perform projection of a targetlist. That turns out not to work very well, though, because c
[ANNOUNCE] == PostgreSQL Weekly News - May 01 2016 ==
== PostgreSQL Weekly News - May 01 2016 == == PostgreSQL Product News == BigSQL integrated PostgreSQL distribution from SCG released. http://www.bigsql.org jpgAgent is a job scheduler for PostgreSQL written in Java. https://github.com/Tostino/jpgAgent Ora2PG 18.4 a migration system for moving from Oracle and MySQL to PostgreSQL, released. https://github.com/darold/ora2pg/blob/master/changelog pgBadger 8.1, a parallel PostgreSQL log analyzer written in Perl, released: https://github.com/dalibo/pgbadger/blob/master/ChangeLog Development: https://github.com/dalibo/pgbadger/ pgCluu 2.5, a Perl program to audit PostgreSQL performance, released. http://pgcluu.darold.net/ pgpool-II 3.5.2, 3.4.6, 3.3.10, 3.2.15, 3.1.18, and pgpoolAdmin 3.5.2 released. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads == PostgreSQL Jobs for May == http://archives.postgresql.org/pgsql-jobs/2016-05/ == PostgreSQL Local == FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina. https://2016.foss4g-na.org/ 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). http://www.pgday.ch/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. Registration is open. http://5432meet.us/ PG Day UK 2016 will be 5th July 2016. http://www.pgconf.uk/ PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. The CfP is open. https://2016.postgresopen.org/callforpapers/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Peter Eisentraut pushed: - doc: Fix typo From: Andreas Seltenreich <andreas.seltenre...@credativ.de> http://git.postgresql.org/pg/commitdiff/96687497b640b24772da4e086c7690ee8d840f1c - Update GETTEXT_FILES after config and controldata refactoring. http://git.postgresql.org/pg/commitdiff/63417b4b2e38897ea02fef416bd96113baa3ed45 - pg_dump: Message style improvements. http://git.postgresql.org/pg/commitdiff/b6dacc173b6830c515d970698cead9a85663c553 - pg_dump: Message style improvements forgotten in b6dacc173b6830c515d970698cead9a85663c553 http://git.postgresql.org/pg/commitdiff/3019f432d6fffe6d8e04f5ccc592eb385af96492 - doc: Minor wording changes. From: Dmitry Igrishin <dmit...@gmail.com> http://git.postgresql.org/pg/commitdiff/82881b2b432c9433b45abc96acf49d5d690eb918 Tom Lane pushed: - Try harder to detect a port conflict in PostgresNode.pm. Commit fab84c7787f25756 tried to get away without doing an actual bind(), but buildfarm results show that that doesn't get the job done. So we must really bind to the target port --- and at least on my Linux box, we need a listen() as well, or conflicts won't be detected. We rely on SO_REUSEADDR to prevent problems from starting a postmaster on the socket immediately after we've bound to it in the test code. (There may be platforms where that doesn't work too well. But fortunately, we only really care whether this works on Windows, and there the default behavior should be OK.) http://git.postgresql.org/pg/commitdiff/40e89e2ab89cb2801f6bc02f08dcc24d547530fc - New method for preventing compile-time calculation of degree constants. Commit 65abaab547a5758b tried to prevent the scaling constants used in the degree-based trig functions from being precomputed at compile time, because some compilers do that with functions that don't yield results identical-to-the-last-bit to what you get at runtime. A report from Peter Eisentraut suggests that some recent compilers are smart enough to see through that trick, though. Instead, let's put the inputs to these calculations into non-const global variables, which should be a more reliable way of convincing the compiler that it can't assume that they are compile-time constants. (If we really get desperate, we could mark these variables "volatile", but I do not believe we should have to.) http://git.postgresql.org/pg/commitdiff/6b1a213bbd6599228b2b67f7552ff7cc378797bf - Yet more portability hacking for degree-based trig functions. The true explanation for Peter Eisentraut's report of inexact asind results seems to be that (a) he's compiling into x87 instruction set, which uses w
[ANNOUNCE] == PostgreSQL Weekly News - April 24 2016 ==
== PostgreSQL Weekly News - April 24 2016 == PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PostgresOpen 2016 in will be held in Dallas, Texas September 13-16. The CfP is open. https://2016.postgresopen.org/callforpapers/ == PostgreSQL Product News == Benetl 4.7, a free ETL tool for postgreSQL, released. http://www.benetl.net pgBackRest 1.0, reliable PostgreSQL Backup and Restore, released. http://www.pgbackrest.org/ PGroonga 1.0.6 a fast full text search platform for all languages, released. http://groonga.org/en/blog/2016/04/15/pgroonga-1.0.6.html Postgres-XL 9.5 R1 released. http://www.postgres-xl.org/2016/04/postgres-xl-9-5-r1-released/ == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2016-04/ == PostgreSQL Local == FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina. https://2016.foss4g-na.org/ 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). http://www.pgday.ch/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. Registration is open. http://5432meet.us/ PG Day UK 2016 will be 5th July 2016. http://www.pgconf.uk/ PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Peter Eisentraut pushed: - doc: Document that sequences can also be extension configuration tables. From: Michael Paquier <michael.paqu...@gmail.com> http://git.postgresql.org/pg/commitdiff/d460c7cc0fd43a7f7184818c67705a878e938b2d - doc: Fix typos. From: Erik Rijkers <e...@xs4all.nl> http://git.postgresql.org/pg/commitdiff/b87b2f4bda1a3b98f8dea867b8bc419ace7a9ea9 Fujii Masao pushed: - Fix typo in docs. Artur Zakirov http://git.postgresql.org/pg/commitdiff/8ce8307bd4d6028371c6e8b51bdc6ad260baa03a Tom Lane pushed: - Further reduce the number of semaphores used under --disable-spinlocks. Per discussion, there doesn't seem to be much value in having NUM_SPINLOCK_SEMAPHORES set to 1024: under any scenario where you are running more than a few backends concurrently, you really had better have a real spinlock implementation if you want tolerable performance. And 1024 semaphores is a sizable fraction of the system-wide SysV semaphore limit on many platforms. Therefore, reduce this setting's default value to 128 to make it less likely to cause out-of-semaphores problems. http://git.postgresql.org/pg/commitdiff/75c24d0f7491f77dfbc0acdf6c18439f288353ef - Make partition-lock-release coding more transparent in BufferAlloc(). Coverity complained that oldPartitionLock was possibly dereferenced after having been set to NULL. That actually can't happen, because we'd only use it if (oldFlags & BM_TAG_VALID) is true. But nonetheless Coverity is justified in complaining, because at line 1275 we actually overwrite oldFlags, and then still expect its BM_TAG_VALID bit to be a safe guide to whether to release the oldPartitionLock. Thus, the code would be incorrect if someone else had changed the buffer's BM_TAG_VALID flag meanwhile. That should not happen, since we hold pin on the buffer throughout this sequence, but it's starting to look like a rather shaky chain of logic. And there's no need for such assumptions, because we can simply replace the (oldFlags & BM_TAG_VALID) tests with (oldPartitionLock != NULL), which has identical results and makes it plain to all comers that we don't dereference a null pointer. A small side benefit is that the range of liveness of oldFlags is greatly reduced, possibly allowing the compiler to save a register. This is just cleanup, not an actual bug fix, so there seems no need for a back-patch. http://git.postgresql.org/pg/commitdiff/a0382e2d7e330de13e15cea0921a95faa9da3570 - Improve regression tests for degree-based trigonometric functions. Print the actual value of each function result that's expected to be exact, rather than merely emitting a NULL if it's not right. Although we print these with extra_float_digits = 3, we should not trust that the platform will produce a result visibly different from the expected value if it's off only
[ANNOUNCE] == PostgreSQL Weekly News - April 17 2016 ==
== PostgreSQL Weekly News - April 17 2016 == PostgreSQL Session will be held on September 22th, 2016, in Lyon, France. The submission deadline is May 20, 2016. Send proposals to call-for-paper AT postgresql-sessions DOT org. == PostgreSQL Product News == Amazon RDS for PostgreSQL now supports major version 9.5. https://aws.amazon.com/about-aws/whats-new/2016/04/rds-postgresql-9-5-support/ == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2016-04/ == PostgreSQL Local == PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. http://www.pgconf.us/2016/ LinuxFest Northwest will take place April 23-24, 2016 at Bellingham Technical College in Bellingham, Washington, USA. http://www.linuxfestnorthwest.org/2016/ FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina. https://2016.foss4g-na.org/ 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). http://www.pgday.ch/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. Registration is open. http://5432meet.us/ PG Day UK 2016 will be 5th July 2016. http://www.pgconf.uk/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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: - Use ereport(ERROR) instead of Assert() to emit syncrep_parser error. The existing code would either Assert or generate an invalid SyncRepConfig variable, neither of which is desirable. A regular error should be thrown instead. This commit silences compiler warning in non assertion-enabled builds. Per report from Jeff Janes. Suggested fix by Tom Lane. http://git.postgresql.org/pg/commitdiff/0038c1e2181b520a9307aae6587e110468072392 - Remove unused function GetOldestWALSendPointer from walsender code. That unused function was introduced as a sample because synchronous replication or replication monitoring tools might need it in the future. Recently commit 989be08 added the function SyncRepGetOldestSyncRecPtr which provides almost the same functionality for multiple synchronous standbys feature. So it's time to remove that unused sample function. This commit does that. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/46d73e0d65eef19e25bb0d31f1e5c23ff40a3444 http://git.postgresql.org/pg/commitdiff/cfe96ae24c97ff376157c48ccd5ca6d3938632be - Fix duplicated index entry in doc. Commit cfe96ae corrected the name of pg_logical_emit_message() in its index entry. But this typo fix caused duplicated index entry because there was another index entry for the function. Spotted by Tom Lane. http://git.postgresql.org/pg/commitdiff/c8cb7453233b31a177b08a3b2bdac4c31508dc00 - Make regression test for multiple synchronous standbys more stable. The regression test checks whether the output of pg_stat_replication is expected or not after changing synchronous_standby_names and reloading the configuration file. Regarding this test logic, previously there was a timing issue which made the test result unstable. That is, pg_stat_replication could return unexpected result during small window after the configuration file was reloaded before new setting value took effect, and which made the test fail. This commit changes the test logic so that it uses a loop with a timeout to give some room for the test to pass. Now the test fails only when pg_stat_replication keeps returning unexpected result for 30 seconds. Michael Paquier http://git.postgresql.org/pg/commitdiff/36c1c91604cee164c6487afb99508f7ff8737b96 Peter Eisentraut pushed: - cpluspluscheck: Update include path. Some things in src/include/fe_utils require libpq headers, so add libpq's include path to the command line used here. http://git.postgresql.org/pg/commitdiff/ee5dbc8173d8f434a467380bfd218ef6f91a8e31 - Add directory created during build to gitignore. http://git.postgresql.org/pg/commitdiff/29ca231b83a142ea1633e7c496619accb7dd9e4f - Fix whitespace. http://git.postgresql.org/pg/commitdiff/d8ed83cd7fd1082f60a5b9897b62216f6b3e2587 - Fix whitespace. http://git.postgresql.org/pg/commitdiff/70715e6a600f1652a04b4e698dad3c7d6bff6bdb - psql: Add new gettext trigger. http://git.postgresql.org/pg/commitdiff/c3136876734b31ce50018f39c87b00145a8c7c33 - doc: Add missing parentheses. From: Alexander Law <exclus...@gmail.com> http://git.postgresql.org/pg/commitdiff/d2de44c2ce5c697a2de8089fb377816
[ANNOUNCE] == PostgreSQL Weekly News - April 10 2016 ==
== PostgreSQL Weekly News - April 10 2016 == == PostgreSQL Product News == pgpool-II 3.5.1, 3.4.5, 3.3.9, 3.2.14, 3.1.17, and pgpoolAdmin 3.5.1 released. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads psqlODBC 09.05.0200 released. https://odbc.postgresql.org/docs/release.html == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2016-04/ == PostgreSQL Local == PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. Registration is open. http://5432meet.us/ PG Day UK 2016 will be 5th July 2016. http://www.pgconf.uk/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Tom Lane pushed: - Clean up dubious code in contrib/seg. The restore() function assumed that the result of sprintf() with %e format would necessarily contain an 'e', which is false: what if the supplied number is an infinity or NaN? If that did happen, we'd get a null-pointer-dereference core dump. The case appears impossible currently, because seg_in() does not accept such values, and there are no seg-creating functions that would create one. But it seems unwise to rely on it never happening in future. Quite aside from that, the code was pretty ugly: it relied on modifying a static format string when it could use a "*" precision argument, and it used strtok() entirely gratuitously, and it stripped off trailing spaces by hand instead of just not asking for them to begin with. Coverity noticed the potential null pointer dereference (though I wonder why it didn't complain years ago, since this code is ancient). Since this is just code cleanup and forestalling a hypothetical future bug, there seems no need for back-patching. http://git.postgresql.org/pg/commitdiff/a75a418d07bf852dc9fdb85ccfb39c763aa057a9 - Fix latent portability issue in pgwin32_dispatch_queued_signals(). The first iteration of the signal-checking loop would compute sigmask(0) which expands to 1<<(-1) which is undefined behavior according to the C standard. The lack of field reports of trouble suggest that it evaluates to 0 on all existing Windows compilers, but that's hardly something to rely on. Since signal 0 isn't a queueable signal anyway, we can just make the loop iterate from 1 instead, and save a few cycles as well as avoiding the undefined behavior. In passing, avoid evaluating the volatile expression UNBLOCKED_SIGNAL_QUEUE twice in a row; there's no reason to waste cycles like that. Noted by Aleksander Alekseev, though this isn't his proposed fix. Back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/58666ed28ab59a2686ee08bc648b4e9959aacfce - Introduce a LOG_SERVER_ONLY ereport level, which is never sent to client. This elevel is useful for logging audit messages and similar information that should not be passed to the client. It's equivalent to LOG in terms of decisions about logging priority in the postmaster log, but messages with this elevel will never be sent to the client. In the current implementation, it's just an alias for the longstanding COMMERROR elevel (or more accurately, we've made COMMERROR an alias for this). At some point it might be interesting to allow a LOG_ONLY flag to be attached to any elevel, but that would be considerably more complicated, and it's not clear there's enough use-cases to justify the extra work. For now, let's just take the easy 90% solution. David Steele, reviewed by Fabien Coelho, Petr Jelínek, and myself http://git.postgresql.org/pg/commitdiff/66229ac0040cf1e0f5b9d72271aa9feaf3b3a37e - Add a \gexec command to psql for evaluation of computed queries. \gexec executes the just-entered query, like \g, but instead of printing the results it takes each field as a SQL command to send t
[ANNOUNCE] == PostgreSQL Weekly News - April 03 2016 ==
== PostgreSQL Weekly News - April 03 2016 == Security Updates 9.5.2, 9.4.7, 9.3.12, 9.2.16, and 9.1.21, released. Upgrade ASAP! http://www.postgresql.org/about/news/1656/ The first meetup of the Islamabad (Pakistan) PUG will be on April 8. Details and RSVP below: http://www.meetup.com/Islamabad-PostgreSQL-User-Group/events/229935189/ == PostgreSQL Product News == Postgres-XL 9.5 R1 Beta2 released. http://2ndquadrant.com/en-us/resources/postgres-xl/ PL/Java 1.5.0 is out, now with security policy changes. http://tada.github.io/pljava/ == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2016-04/ == PostgreSQL Local == The 8th PostgreSQL Session will be held on April 6th, 2016, in Lyon, France. postgresql-sessions org. The first meeting of PostgreSQL Israel will be taking place in Tel Aviv on April 7, 2016. http://www.meetup.com/PostgreSQL-Israel/events/229430729/ PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until March 14, 2016. http://5432meet.us/ PG Day UK 2016 - Call for Papers is open until 5th April 2016. The conference will be 5th July 2016. Please submit proposals to simon.ri...@2ndquadrant.com or via the website at: http://www.pgconf.uk/papers PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Andres Freund pushed: - pg_rewind: Close backup_label file descriptor. This was a relatively harmless leak, as createBackupLabel() is only called once per pg_rewind invocation. Author: Michael Paquier Reported-By: Michael Paquier Discussion: cab7npqrnow30goxe2_spljh37bgm4v+txbyapwoxb97ngq2...@mail.gmail.com Backpatch: 9.5, where pg_rewind was introduced http://git.postgresql.org/pg/commitdiff/a6c845946dac5c1f26cf8729cf61f1d852f75484 - Fix LWLockReportWaitEnd() parameter list to be (void). Previously it was an "old style" function declaration. http://git.postgresql.org/pg/commitdiff/9f7c527af308dcdaba2f0ff9d362d672e8886fb1 - pg_rewind: fsync target data directory. Previously pg_rewind did not fsync any files. That's problematic, given that the target directory is modified. If the database was started afterwards, 2ce439f33 luckily already caused the data directory to be synced to disk at postmaster startup; reducing the scope of the problem. To fix, use initdb -S, at the end of the pg_rewind run. It doesn't seem worthwhile to duplicate the code into pg_rewind, and initdb -S is already used that way by pg_upgrade. Reported-By: Andres Freund Author: Michael Paquier, somewhat edited by me Discussion: 20160310034352.iuqgvpmg5qmnx...@alap3.anarazel.de CAB7nPqSytVG1o4S3S2pA1O=692ekurj+fckw2pyweg3snw5...@mail.gmail.com Backpatch: 9.5, where pg_rewind was introduced http://git.postgresql.org/pg/commitdiff/408f0438531eec17ac62f91fc23f72bcfc48dd36 Tom Lane pushed: - Clamp adjusted ndistinct to positive integer in estimate_hash_bucketsize(). This avoids a possible divide-by-zero in the following calculation, and rounding the number to an integer seems like saner behavior anyway. Assuming IEEE math, the division would yield +Infinity which would get replaced by 1.0 at the bottom of the function, so nothing really interesting would ensue; but avoiding divide-by-zero seems like a good idea on general principles. Per report from Piotr Stefaniak. No back-patch since this seems mostly cosmetic. http://git.postgresql.org/pg/commitdiff/fa09f8935156533584b4e215bdf70ec1ff968dad - Guard against zero vardata.rel->tuples in estimate_hash_bucketsize(). If the referenced rel was proven empty, we'd compute 0/0 here, which results in the function returning NaN. That's a bit more serious than the other zero-divide case. Still, it only seems to be possible in HEAD, so no back-patch. Per report from Piotr Stefaniak. I looked through the rest of selfuncs.c and found no oth
[ANNOUNCE] == PostgreSQL Weekly News - March 27 2016 ==
== PostgreSQL Weekly News - March 27 2016 == == PostgreSQL Product News == Ora2PG 17.2 a migration system for moving from Oracle and MySQL to PostgreSQL, released. https://github.com/darold/ora2pg/blob/master/changelog PostGIS 2.2.2, the industry standard geographic information system for PostgreSQL, released. http://postgis.net/2016/03/22/postgis-2.2.2/ PyGreSQL 5.0, a Python driver for PostgreSQL, released. http://www.pygresql.org/contents/changelog.html Veil 9.5.1, a fine-grained access control system for PostgreSQL, released. Project page and download link below: https://github.com/marcmunro/veil http://pgfoundry.org/frs/shownotes.php?release_id=2119 == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2016-03/ == PostgreSQL Local == 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/ PGDay Paris 2016, on March 31 in Paris, has opened registration. http://www.pgday.paris/registration/ (scroll down for English) The 8th PostgreSQL Session will be held on April 6th, 2016, in Lyon, France. postgresql-sessions org. The first meeting of PostgreSQL Israel will be taking place in Tel Aviv on April 7, 2016. http://www.meetup.com/PostgreSQL-Israel/events/229430729/ PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until March 14, 2016. http://5432meet.us/ PG Day UK 2016 - Call for Papers is open until 5th April 2016. The conference will be 5th July 2016. Please submit proposals to simon.ri...@2ndquadrant.com or via the website at: http://www.pgconf.uk/papers PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Tom Lane pushed: - Teach the configure script to validate its --with-pgport argument. Previously, configure would take any string, including an empty string, leading to obscure compile failures in guc.c. It seems worth expending a few lines of code to ensure that the argument is a decimal number between 1 and 65535. Report and patch by Jim Nasby; reviews by Alex Shulgin, Peter Eisentraut, Ivan Kartyshov http://git.postgresql.org/pg/commitdiff/bf53d5c208a3bdce243a38666fc50f5418c78c3b - pg_stat_get_progress_info() should be marked STRICT. I didn't bother with a catversion bump. Report and patch by Thomas Munro http://git.postgresql.org/pg/commitdiff/2da75499879032d8d2f233ca42cc2efe48fd76ef - Use repalloc_huge() to enlarge a SPITupleTable's tuple pointer array. Commit 23a27b039d94ba35 widened the rows-stored counters to uint64, but that's academic unless we allow the tuple pointer array to exceed 1GB. (It might be a good idea to provide some other limit on how much storage a SPITupleTable can eat. On the other hand, there are plenty of other ways to drive a backend into swap hell.) Dagfinn Ilmari Mannsåker http://git.postgresql.org/pg/commitdiff/74a379b984d4df91acec2436a16c51caee3526af - Improve conversions from uint64 to Perl types. Perl's integers are pointer-sized, so can hold more than INT_MAX on LP64 platforms, and come in both signed (IV) and unsigned (UV). Floating point values (NV) may also be larger than double. Since Perl 5.19.4 array indices are SSize_t instead of I32, so allow up to SSize_t_max on those versions. The limit is not imposed just by av_extend's argument type, but all the array handling code, so remove the speculative comment. Dagfinn Ilmari Mannsåker http://git.postgresql.org/pg/commitdiff/f3f3aae4b7841f4dc51129691a7404a03eb55449 - Update PL/Perl's comment about hv_store(). Negative klen is documented since Perl 5.16, and 5.6 is no longer supported so no need to comment about it. Dagfinn Ilmari Mannsåker http://git.postgresql.org/pg/commitdiff/07341a2980a37ccbb3a51af2bd2f3c87953d8ea4 - Rethink representation of PathTargets.
[ANNOUNCE] == PostgreSQL Weekly News - March 13 2016 ==
== PostgreSQL Weekly News - March 13 2016 == The first meeting of PostgreSQL Israel will be taking place in Tel Aviv on April 7, 2016. http://www.meetup.com/PostgreSQL-Israel/events/229430729/ PG Day UK 2016 - Call for Papers is open until 5th April 2016. The conference will be 5th July 2016. Please submit proposals to simon.ri...@2ndquadrant.com or via the website at: http://www.pgconf.uk/papers Talks for PGCon in Ottawa have been selected. http://www.pgcon.org/2016/ugly-list-of-great-talks.txt == PostgreSQL Product News == MJSQLView Version 7.05, a Java-based UI which supports PostgreSQL, released. http://myjsqlview.com/ == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2016-03/ == PostgreSQL Local == The first pan-Asian PostgreSQL conference will be held March 17-19, 2016 in Singapore. Registration is open. 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/ PGDay Paris 2016, on March 31 in Paris, has opened registration. http://www.pgday.paris/registration/ (scroll down for English) The 8th PostgreSQL Session will be held on April 6th, 2016, in Lyon, France. postgresql-sessions org. PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until March 14, 2016. http://5432meet.us/ PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == 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 == Tom Lane pushed: - Mop-up for setting minimum Tcl version to 8.4. Commit e2609323e set the minimum Tcl version we support to 8.4, but I forgot to adjust the documentation to say the same. Some nosing around for other consequences found that the configure script could be simplified slightly as well. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/9da70efcbe09954b1006f878d39885a4acf1c534 - Fix unportable usage of functions. isdigit(), isspace(), etc are likely to give surprising results if passed a signed char. We should always cast the argument to unsigned char to avoid that. Error in commit d78a7d9c7fa3e9cd, found by buildfarm member gaur. http://git.postgresql.org/pg/commitdiff/cb0ca0c9953aa0614e7b143bd2440a7582a27233 - Fix not-terribly-safe coding in NIImportOOAffixes() and NIImportAffixes(). There were two places in spell.c that supposed that they could search for a location in a string produced by lowerstr() and then transpose the offset into the original string. But this fails completely if lowerstr() transforms any characters into characters of different byte length, as can happen in Turkish UTF8 for instance. We'd added some comments about this coding in commit 51e78ab4ff328296, but failed to realize that it was not merely confusing but wrong. Coverity complained about this code years ago, but in such an opaque fashion that nobody understood what it was on about. I'm not entirely sure that this issue *is* what it's on about, actually, but perhaps this patch will shut it up -- and in any case the problem is clear. Back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/b3e05097e58051a7816ed734074fd76345687e0c - Fix broken definition for function name in pgbench's exprscan.l. As written, this would accept e.g. 123e9 as a function name. Aside from being mildly astonishing, that would come back to haunt us if we ever try to add float constants to the expression syntax. Insist that function names start with letters (or at least non-digits). In passing reset yyline as well as yycol when starting a new expression. This variable is useless since it's used nowhere, but if we're going to have it we should have it act sanely. http://git.postgresql.org/pg/commitdiff/3899caf772c8dec5c79e553c91f8fc248ca686c9 - Re-fix broken definition for function name in
[ANNOUNCE] == PostgreSQL Weekly News - March 06 2016 ==
== PostgreSQL Weekly News - March 06 2016 == PgConf Silicon Valley 2016 will be held on November 14-16, 2016. http://www.pgconfsv.com/ == PostgreSQL Product News == barman 1.6.0, a backup and recovery manager for PostgreSQL, released. http://www.pgbarman.org/barman-1-6-0-released/ == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2016-03/ == PostgreSQL Local == The first pan-Asian PostgreSQL conference will be held March 17-19, 2016 in Singapore. Registration is open. 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/ PGDay Paris 2016, on March 31 in Paris, has opened registration. http://www.pgday.paris/registration/ (scroll down for English) The 8th PostgreSQL Session will be held on April 6th, 2016, in Lyon, France. postgresql-sessions org. PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until March 14, 2016. http://5432meet.us/ == 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 == Tom Lane pushed: - Avoid multiple free_struct_lconv() calls on same data. A failure partway through PGLC_localeconv() led to a situation where the next call would call free_struct_lconv() a second time, leading to free() on already-freed strings, typically leading to a core dump. Add a flag to remember whether we need to do that. Per report from Thom Brown. His example case only provokes the failure as far back as 9.4, but nonetheless this code is obviously broken, so back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/907e4dd2b104bdcb4af042065a92fcd73d5790ec - Fix build under OPTIMIZER_DEBUG. In commit 19a541143a09c067 I replaced RelOptInfo.width with RelOptInfo.reltarget.width, but I missed updating debug_print_rel() for that because it's not compiled by default. Reported by Salvador Fandino, patch by Michael Paquier. http://git.postgresql.org/pg/commitdiff/05893712cc9950b7c4c312aa9d3d444375bf15a2 - Remove useless unary plus. It's harmless, but might confuse readers. Seems to have been introduced in 6bc8ef0b7f1f1df3. Back-patch, just to avoid cosmetic cross-branch differences. Amit Langote http://git.postgresql.org/pg/commitdiff/c110678a47aac87c661785a70061e160cd17713d - Improve error message for rejecting RETURNING clauses with dropped columns. This error message was written with only ON SELECT rules in mind, but since then we also made RETURNING-clause targetlists go through the same logic. This means that you got a rather off-topic error message if you tried to add a rule with RETURNING to a table having dropped columns. Ideally we'd just support that, but some preliminary investigation says that it might be a significant amount of work. Seeing that Nicklas Avén's complaint is the first one we've gotten about this in the ten years or so that the code's been like that, I'm unwilling to put much time into it. Instead, improve the error report by issuing a different message for RETURNING cases, and revise the associated comment based on this investigation. Discussion: 1456176604.17219.9.ca...@jordogskog.no http://git.postgresql.org/pg/commitdiff/8d8ff5f7db7d58240fac7d5f620308c91485b253 - Suppress scary-looking log messages from async-notify isolation test. I noticed that the async-notify test results in log messages like these: LOG: could not send data to client: Broken pipe FATAL: connection to client lost This is because it unceremoniously disconnects a client session that is about to have some NOTIFY messages delivered to it. Such log messages during a regression test might well cause people to go looking for a problem that doesn't really exist (it did cause me to waste some time that way). We can shut it up by adding an UNLISTEN command to session teardown. Patch HEAD only; this do
[ANNOUNCE] == PostgreSQL Weekly News - February 28 2016 ==
== PostgreSQL Weekly News - February 28 2016 == == PostgreSQL Product News == Ora2PG 17.0 a migration system for moving from Oracle and MySQL to PostgreSQL, released. http://ora2pg.darold.net/ pgBadger 8.0, a parallel PostgreSQL log analyzer written in Perl, released: https://github.com/dalibo/pgbadger/blob/master/ChangeLog Development: https://github.com/dalibo/pgbadger/ pgbouncer 1.7.2, a light-weight connection pooler for PostgreSQL, released. https://pgbouncer.github.io/changelog.html == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2016-02/ == PostgreSQL Local == The first pan-Asian PostgreSQL conference will be held March 17-19, 2016 in Singapore. Registration is open. 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/ PGDay Paris 2016, on March 31 in Paris, has opened registration. http://www.pgday.paris/registration/ (scroll down for English) 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 postgresql-sessions org. PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until February 28th, 2016. http://5432meet.us/ == 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 == Andres Freund pushed: - Fix wrong keysize in PrivateRefCountHash creation. In 4b4b680c3 I accidentally used sizeof(PrivateRefCountArray) instead of sizeof(PrivateRefCountEntry) when creating the refcount overflow hashtable. As the former is bigger than the latter, this luckily only resulted in a slightly increased memory usage when many buffers are pinned in a backend. Reported-By: Takashi Horikawa Discussion: 73fa3881462c614096f815f75628afcd035a4...@bpxm01gp.gisp.nec.co.jp Backpatch: 9.5, where thew new ref count infrastructure was introduced http://git.postgresql.org/pg/commitdiff/ea56b06cf77a6932a74f9d4ec6c950a333d1527d Tom Lane pushed: - Remove redundant PGPROC.lockGroupLeaderIdentifier field. We don't really need this field, because it's either zero or redundant with PGPROC.pid. The use of zero to mark "not a group leader" is not necessary since we can just as well test whether lockGroupLeader is NULL. This does not save very much, either as to code or data, but the simplification seems worthwhile anyway. http://git.postgresql.org/pg/commitdiff/73bf8715aa7430bd003516bde448507fbe789c05 - Create a function to reliably identify which sessions block which others. This patch introduces "pg_blocking_pids(int) returns int[]", which returns the PIDs of any sessions that are blocking the session with the given PID. Historically people have obtained such information using a self-join on the pg_locks view, but it's unreasonably tedious to do it that way with any modicum of correctness, and the addition of parallel queries has pretty much broken that approach altogether. (Given some more columns in the view than there are today, you could imagine handling parallel-query cases with a 4-way join; but ugh.) The new function has the following behaviors that are painful or impossible to get right via pg_locks: 1. Correctly understands which lock modes block which other ones. 2. In soft-block situations (two processes both waiting for conflicting lock modes), only the one that's in front in the wait queue is reported to block the other. 3. In parallel-query cases, reports all sessions blocking any member of the given PID's lock group, and reports a session by naming its leader process's PID, which will be the pg_backend_pid() value visible to clients. The motivation for doing this right now is mostly to fix the isolation tests. Commit 38f8bdcac4982215beb9f65a19debecaf22fd470 lobotomized isolationtester's is-it-waiting query by removing its abili
[ANNOUNCE] == PostgreSQL Weekly News - February 21 2016 ==
== PostgreSQL Weekly News - February 21 2016 == PGDay Paris 2016, on March 31 in Paris, has opened registration. http://www.pgday.paris/registration/ (scroll down for English) pgDay Asia Sponsorship and Registration details updated. http://2016.pgday.asia/sponsorship.html http://2016.pgday.asia/index.html#registration == PostgreSQL Product News == pgbouncer 1.7.1, a light-weight connection pooler for PostgreSQL, released. https://pgbouncer.github.io/changelog.html Postgres-XL 9.5 R1 Beta1 released. http://2ndquadrant.com/en-us/resources/postgres-xl/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2016-02/ == PostgreSQL Local == 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 17-19, 2016 in Singapore. Registration is open. 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 postgresql-sessions org. PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration is open. 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until February 28th, 2016. http://5432meet.us/ == 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 == Noah Misch pushed: - Replace broken link in comment. http://git.postgresql.org/pg/commitdiff/9449c4b1ec7114ae6927a563b43d1fbd4d5bbae4 - Call xlc __isync() after, not before, associated compare-and-swap. Architecture reference material specifies this order, and s_lock.h inline assembly agrees. The former order failed to provide mutual exclusion to lwlock.c and perhaps to other clients. The two xlc buildfarm members, hornet and mandrill, have failed sixteen times with duplicate key errors involving pg_class_oid_index or pg_type_oid_index. Back-patch to 9.5, where commit b64d92f1a5602c55ee8b27a7ac474f03b7aee340 introduced atomics. Reviewed by Andres Freund and Tom Lane. http://git.postgresql.org/pg/commitdiff/5882ca66868e1f6fe287dfb41ebaab0bcb1784b2 Magnus Hagander pushed: - Fix typo http://git.postgresql.org/pg/commitdiff/57c932475504d63d8f8a68fc6925d7decabc378a Fujii Masao pushed: - Make concurrent refresh check early that there is a unique index on matview. In REFRESH MATERIALIZED VIEW command, CONCURRENTLY option is only allowed if there is at least one unique index with no WHERE clause on one or more columns of the matview. Previously, concurrent refresh checked the existence of a unique index on the matview after filling the data to new snapshot, i.e., after calling refresh_matview_datafill(). So, when there was no unique index, we could need to wait a long time before we detected that and got the error. It was a waste of time. To eliminate such wasting time, this commit changes concurrent refresh so that it checks the existence of a unique index at the beginning of the refresh operation, i.e., before starting any time-consuming jobs. If CONCURRENTLY option is not allowed due to lack of a unique index, concurrent refresh can immediately detect it and emit an error. Author: Masahiko Sawada Reviewed-by: Michael Paquier, Fujii Masao http://git.postgresql.org/pg/commitdiff/31b6606c48edf7c008ffe91907c080404a8c8046 - Correct the formulas for System V IPC parameters SEMMNI and SEMMNS in docs. In runtime.sgml, the old formulas for calculating the reasonable values of SEMMNI and SEMMNS were incorrect. They have forgotten to count the number of semaphores which both the checkpointer process (introduced in 9.2) and the background worker processes (introduced in 9.3) need. This commit fixes those formulas so that they count the number of semaphores which the checkpointer process and the background worker processes need
[ANNOUNCE] == PostgreSQL Weekly News - February 14 2016 ==
== PostgreSQL Weekly News - February 14 2016 == Security Updates 9.5.1, 9.4.6, 9.3.11, 9.2.15, and 9.1.20, released. Upgrade ASAP! http://www.postgresql.org/about/news/1644/ == PostgreSQL Product News == pgpool-II 3.4.4, 3.3.8, 3.2.13, 3.1.16, and 3.0.20 released. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads PL/Java 1.5.0-BETA1 is out, now with security policy changes. http://tada.github.io/pljava/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2016-02/ == 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 postgresql-sessions 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 still 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/ "5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016. The CfP is open until February 28th, 2016. http://5432meet.us/ == 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 == Heikki Linnakangas pushed: - Fix misspelled function name in comment. http://git.postgresql.org/pg/commitdiff/61ce1e8f154aefa97e9e5d5796f7b36c857efc74 Magnus Hagander pushed: - Fix typos in comments Author: Michael Paquier http://git.postgresql.org/pg/commitdiff/e51ab85cd95855d541311f204e1e7db2c40301f7 - Fix typo in comment http://git.postgresql.org/pg/commitdiff/23f3cc36ed8188b0b8bf22daa4bb5b47d216c15d Michael Meskes pushed: - Make sure ecpg header files do not have a comment lasting several lines, one of which is a preprocessor directive. This leads ecpg to incorrectly parse the comment as nested. http://git.postgresql.org/pg/commitdiff/7a58d19b0c80300e7974620d336d5f90fe2d0087 Fujii Masao pushed: - Various fixes to "ALTER ... SET/RESET" tab completions. Add: ALTER SYSTEM SET/RESET ... -> GUC variables, ALTER TABLE ... SET WITH -> OIDS, ALTER DATABASE/FUNCTION/ROLE/USER ... SET/RESET -> GUC variables, ALTER DATABASE/FUNCTION/ROLE/USER ... SET ... -> FROM CURRENT/TO, ALTER DATABASE/FUNCTION/ROLE/USER ... SET ... TO/= -> possible values, Author: Fujii Masao. Reviewed-by: Michael Paquier, Masahiko Sawada http://git.postgresql.org/pg/commitdiff/89611c4dfa67630f7dcc25881c17cbd1b2e24ea1 - Make GIN regression test stable. Commit 7f46eaf added the regression test which checks that gin_clean_pending_list() cleans up the GIN pending list and returns >0. This usually works fine. But if autovacuum comes along and cleans the list before gin_clean_pending_list() starts, the function may return 0, and then the regression test may fail. To fix the problem, this commit disables autovacuum on the target index of gin_clean_pending_list() by setting autovacuum_enabled reloption to off when creating the table. Also this commit sets gin_pending_list_limit reloption to 4MB on the target index. Otherwise when running "make installcheck" with small gin_pending_list_limit GUC, insertions of data may trigger the cleanup of pending list before gin_clean_pending_list() starts and the function may return 0. This could cause the regression test to fail. Per buildfarm member spoonbill. Reported-By: Tom Lane http://git.postgresql.org/pg/commitdiff/f8a1c1d5a30003c9c24b00870d5a0f02f1c81e65 Robert Haas pushed: - pgbench: Install guards against obscure overflow conditions. Dividing INT_MIN by -1 or taking INT_MIN modulo -1 can sometimes cause floating-
[ANNOUNCE] == PostgreSQL Weekly News - January 31 2016 ==
== 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 postgresql-sessions 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
[ANNOUNCE] == PostgreSQL Weekly News - January 24 2016 ==
== PostgreSQL Weekly News - January 24 2016 == 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 postgresql-sessions org. == PostgreSQL Product News == pgBadger 7.3, a parallel PostgreSQL log analyzer written in Perl, released: http://dalibo.github.io/pgbadger/ Development: https://github.com/dalibo/pgbadger/ PyGreSQL 4.2, a Python driver for PostgreSQL, released. http://www.pygresql.org/ == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2016-01/ == PostgreSQL Local == FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Registration is still open. http://fosdem2016.pgconf.eu/ 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/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. 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 == Tom Lane pushed: - Re-pgindent a few files. In preparation for landing index AM interface changes. http://git.postgresql.org/pg/commitdiff/8d290c8ec6c182a4df1d089c21fe84c7912f01fe - Restructure index access method API to hide most of it at the C level. This patch reduces pg_am to just two columns, a name and a handler function. All the data formerly obtained from pg_am is now provided in a C struct returned by the handler function. This is similar to the designs we've adopted for FDWs and tablesample methods. There are multiple advantages. For one, the index AM's support functions are now simple C functions, making them faster to call and much less error-prone, since the C compiler can now check function signatures. For another, this will make it far more practical to define index access methods in installable extensions. A disadvantage is that SQL-level code can no longer see attributes of index AMs; in particular, some of the crosschecks in the opr_sanity regression test are no longer possible from SQL. We've addressed that by adding a facility for the index AM to perform such checks instead. (Much more could be done in that line, but for now we're content if the amvalidate functions more or less replace what opr_sanity used to do.) We might also want to expose some sort of reporting functionality, but this patch doesn't do that. Alexander Korotkov, reviewed by Petr Jelínek, and rather heavily editorialized on by me. http://git.postgresql.org/pg/commitdiff/65c5fcd353a859da9e61bfb2b92a99f12937de3b - Add explicit cast to amcostestimate call. My compiler doesn't complain here, but David Rowley's does ... http://git.postgresql.org/pg/commitdiff/49b49506502026a3653bca490c939dc8934afe95 - Fix assorted inconsistencies in GiST opclass support function declarations. The conventions specified by the GiST SGML documentation were widely ignored. For example, the strategy-number argument for "consistent" and "distance" functions is specified to be a smallint, but most of the built-in support functions declared it as an integer, and for that matter the core code passed it using Int32GetDatum not Int16GetDatum. None of that makes any real difference at runtime, but it's quite confusing for newcomers to the code, and it makes it very hard to write an amvalidate() function that checks support function signatures. So let's try to instill some consistency here. Another similar issue is that the "query" argument is not
[ANNOUNCE] == PostgreSQL Weekly News - January 17 2016 ==
== PostgreSQL Weekly News - January 17 2016 == 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 Product News == cstore_fdw 1.4, a columnar store extension for PostgreSQL, released. https://www.citusdata.com/blog/14-marco/355-cstore-fdw-1.4-released 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 Ora2PG 16.2, a migration system for moving from Oracle and MySQL to PostgreSQL, released. http://ora2pg.darold.net/ pgBadger 7.2, a parallel PostgreSQL log analyzer written in Perl, released: http://dalibo.github.io/pgbadger/ Development: https://github.com/dalibo/pgbadger/ PipelineDB Enterprise, a relational streaming-SQL database based on PostgreSQL, released. https://www.pipelinedb.com/enterprise == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2016-01/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Registration is still open. http://fosdem2016.pgconf.eu/ 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/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ 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. The CfP is still open. http://www.pgcon.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 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 == Peter Eisentraut pushed: - doc: Fix typo in logical decoding documentation. From: Petr Jelinek <p...@2ndquadrant.com> http://git.postgresql.org/pg/commitdiff/c618e1b5067d4a8233f8f403a87fd168fb621a39 - psql: Improve CREATE INDEX CONCURRENTLY tab completion. The completion of CREATE INDEX CONCURRENTLY was lacking in several ways compared to a plain CREATE INDEX command: - CREATE INDEX ON completes table names, but didn't with CONCURRENTLY. - CREATE INDEX completes ON and existing index names, but with CONCURRENTLY it only completed ON. - CREATE INDEX completes ON, but didn't with CONCURRENTLY. These are now all fixed. http://git.postgresql.org/pg/commitdiff/b1bfb28b586a319052d96dd4dfd40a05505ea6ed - psql: Fix CREATE INDEX tab completion. The previous code supported a syntax like CREATE INDEX name CONCURRENTLY, which never existed. Mistake introduced in commit 37ec19a15ce452ee94f32ebc3d6a9a45868e82fd. Remove the addition of CONCURRENTLY at that point. http://git.postgresql.org/pg/commitdiff/bc56d5898d1cbd9dee6fe16ea7a814a5820b6181 - psql: Update tab completion comment This just updates a comment to match the code. from Michael Paquier http://git.postgresql.org/pg/commitdiff/70327030095d07abb58f9b3452dc6315a02aff0e - psql: Add completion support for DROP INDEX CONCURRENTLY based on patch by Kyotaro Horiguchi http://git.postgresql.org/pg/commitdiff/4189e3d659abb48d159a6c3faabaa7e99498ca3e Robert Haas pushed: - Remove obsolete comment. Noted while reviewing a question from Dickson S. Guedes. http://git.postgresql.org/pg/commitdiff/950ab82c3d967e6f4cec2a7c8ead2edd5b311518 - Fix spelling mistakes. Same patch submitted independently by David Rowley and Peter Geoghegan. http://git.postgresql.org/pg/commitdiff/23c2dd03d5db2f4a20dcd09bd6c49e293e3c8f03 Tom Lane pushed: - Avoid dump/reload problems when using both plpython2 and plpython3. Commit 803716013dc1350f installed a safeguard against loading plpython2 and plpython3 at the same time, but asserted that both could still be used in the same database, just not in the same session. However, that's not actually all that practical because dumping and rel
[ANNOUNCE] == PostgreSQL Weekly News - January 10 2016 ==
== PostgreSQL Weekly News - January 10 2016 == PostgreSQL 9.5 released! http://www.postgresql.org/docs/current/static/release-9-5.html https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.5 FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina. The CfP is open. https://2016.foss4g-na.org/cfp PostgreSQL@SCaLE will be happening January 21-22, 2016 at the Pasadena Convention Center. https://reg.socallinuxexpo.org/reg6/ == PostgreSQL Product News == 2UDA 9.5, a data analytics application suite for PostgreSQL, released. http://packages.2ndquadrant.com/2UDA/ReleaseNotes_9.5-GA_20160107.txt E-Maj 1.2.0, an extension which enables fine-grained write logging and time travel on subsets of the DB, released. https://github.com/beaud76/emaj psqlODBC 09.05.0100 released. https://odbc.postgresql.org/docs/release.html tds_fdw 1.0.7, a foreign data wrapper for MS-SQL Server and Sybase, released. https://github.com/GeoffMontee/tds_fdw/releases == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2016-01/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Registration is still open. http://fosdem2016.pgconf.eu/ 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. The CfP is open. http://pgday.in The first pan-Asian PostgreSQL conference will be held March 16-17, 2016 in Singapore. The CfP is open. 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/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ PGCon 2016 will be held May 17-21, 2016 in Ottawa. The CfP is out. http://www.pgcon.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 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 == Tom Lane pushed: - Do some copy-editing on the docs for row-level security. Clarifications, markup improvements, corrections of misleading or outright wrong statements. http://git.postgresql.org/pg/commitdiff/c1611db01fec587525e88270854c4b993846dcb3 - Fix bogus lock release in RemovePolicyById and RemoveRoleFromObjectPolicy. Can't release the AccessExclusiveLock on the target table until commit. Otherwise there is a race condition whereby other backends might service our cache invalidation signals before they can actually see the updated catalog rows. Just to add insult to injury, RemovePolicyById was closing the rel (with incorrect lock drop) and then passing the now-dangling rel pointer to CacheInvalidateRelcache. Probably the reason this doesn't fall over on CLOBBER_CACHE buildfarm members is that some outer level of the DROP logic is still holding the rel open ... but it'd have bit us on the arse eventually, no doubt. http://git.postgresql.org/pg/commitdiff/f47b602df80d7647ca2e71c86f7228b1bf5bf9f3 - Fix regrole and regnamespace types to honor quoting like other reg* types. Aside from any consistency arguments, this is logically necessary because the I/O functions for these types also handle numeric OID values. Without a quoting rule it is impossible to distinguish numeric OIDs from role or namespace names that happen to contain only digits. Also change the to_regrole and to_regnamespace functions to dequote their arguments. While not logically essential, this seems like a good idea since the other to_reg* functions do it. Anyone who really wants raw lookup of an uninterpreted name can fall back on the time-honored solution of (SELECT oid FROM pg_namespace WHERE nspname = whatever). Report and patch by Jim Nasby, reviewed by Michael Paquier http://git.postgresql.org/pg/commitdiff/fb1227af67eae5e97795f7e3563673c6e67d2844 - Fix regrole and regnamespace output functions to do quoting, too. We discussed this but somehow failed to implement it... http://git.postgresql.org/pg/commitdiff/b0cadc08fea564f75a0702e15b2bd949377bd2f3 - Adjust behavior of row_security GUC to match the docs. Some time back we agreed that row_security=off should not be a way to bypass RLS entirely, but only a way to get
[ANNOUNCE] == PostgreSQL Weekly News - January 03 2016 ==
== PostgreSQL Weekly News - January 03 2016 == == PostgreSQL Product News == Database Designer for PostgreSQL 1.11.0 released. http://microolap.com/products/database/postgresql-designer/download/ pglogical, a logical-WAL-based replication system, released. http://2ndquadrant.com/pglogical == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2016-01/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Details and CfP below: http://fosdem2016.pgconf.eu/ 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. The CfP is open. http://pgday.in The first pan-Asian PostgreSQL conference will be held March 16-17, 2016 in Singapore. The CfP is open. 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. The CfP is currently open. http://2016.nordicpgday.org/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ PGCon 2016 will be held May 17-21, 2016 in Ottawa. The CfP is out. http://www.pgcon.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 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 == Álvaro Herrera pushed: - Fix translation domain in pg_basebackup. For some reason, we've been overlooking the fact that pg_receivexlog and pg_recvlogical are using wrong translation domains all along, so their output hasn't ever been translated. The right domain is pg_basebackup, not their own executable names. Noticed by Ioseph Kim, who's been working on the Korean translation. Backpatch pg_receivexlog to 9.2 and pg_recvlogical to 9.4. http://git.postgresql.org/pg/commitdiff/fc995bfdbfa52ddc50a6737ae4cc37be39215dd8 - doc: pg_committs -> pg_commit_ts. Reported by: Alain Laporte (#13836) http://git.postgresql.org/pg/commitdiff/151c4ffe41a7a6fc76df373e7bfbbb59e8d694d6 - Document brin_summarize_new_pages. Pointer out by Jeff Janes http://git.postgresql.org/pg/commitdiff/ac443d1034d9888c543ae8147befc51cf4eb7839 Tom Lane pushed: - Update documentation about pseudo-types. Tone down an overly strong statement about which pseudo-types PLs are likely to allow. Add "event_trigger" to the list, as well as "pg_ddl_command" in 9.5/HEAD. Back-patch to 9.3 where event_trigger was added. http://git.postgresql.org/pg/commitdiff/731dfc7d5f07fac2c3c72f47c29a947e363acee9 - Fix omission of -X (--no-psqlrc) in some psql invocations. As of commit d5563d7df, psql -c no longer implies -X, but not all of our regression testing scripts had gotten that memo. To ensure consistency of results across different developers, make sure that *all* invocations of psql in all scripts in our tree use -X, even where this is not what previously happened. Michael Paquier and Tom Lane http://git.postgresql.org/pg/commitdiff/870df2b3b77414a536d6533566628f11f8f309ec - Document the exponentiation operator as associating left to right. Common mathematical convention is that exponentiation associates right to left. We aren't going to change the parser for this, but we could note it in the operator's description. (It's already noted in the operator precedence/associativity table, but users might not look there.) Per bug #13829 from Henrik Pauli. http://git.postgresql.org/pg/commitdiff/54aaafe95f65c95fd9ba085826af87d778c94613 - Code and docs review for cube kNN support. Commit 33bd250f6c4cc309f4eeb657da80f1e7743b3e5c could have done with some more review: Adjust coding so that compilers unfamiliar with elog/ereport don't complain about uninitialized values. Fix misuse of PG_GETARG_INT16 to retrieve arguments declared as "integer" at the SQL level. (This was evidently copied from cube_ll_coord and cube_ur_coord, but those were wrong too.) Fix non-style-guide-conforming error messages. Fix underparenthesized if statements, which pgindent would have made a hash of, and remove some unnecessary parens elsewhere. Run pgindent over new code. Revise documentation: repeated accretion of more operators without any rethinking of the text already there had
[ANNOUNCE] == PostgreSQL Weekly News - December 27 2015 ==
== PostgreSQL Weekly News - December 27 2015 == == PostgreSQL Product News == oracle_fdw 1.3.0 released. https://laurenz.github.io/oracle_fdw pgbouncer 1.7, a light-weight connection pooler for PostgreSQL, released. New features include SSL connectivity and pg_hba.conf access control. https://pgbouncer.github.io/2015/12/pgbouncer-1-7/ SCLs for PostgreSQL 9.2 and 9.4 are available for CentOS. https://www.softwarecollections.org/en/scls/?search=postgresql == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2015-12/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Details and CfP below: http://fosdem2016.pgconf.eu/ 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. The CfP is open. http://pgday.in The first pan-Asian PostgreSQL conference will be held March 16-17, 2016 in Singapore. The CfP is open. 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. The CfP is currently open. http://2016.nordicpgday.org/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ PGCon 2016 will be held May 17-21, 2016 in Ottawa. The CfP is out. http://www.pgcon.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 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 == Stephen Frost pushed: - Make viewquery a copy in rewriteTargetView() Rather than expect the Query returned by get_view_query() to be read-only and then copy bits and pieces of it out, simply copy the entire structure when we get it. This addresses an issue where AcquireRewriteLocks, which is called by acquireLocksOnSubLinks(), scribbles on the parsetree passed in, which was actually an entry in relcache, leading to segfaults with certain view definitions. This also future-proofs us a bit for anyone adding more code to this path. The acquireLocksOnSubLinks() was added in commit c3e0ddd40. Back-patch to 9.3 as that commit was. http://git.postgresql.org/pg/commitdiff/6f8cb1e23485bd6d45e8865760436e1a5ce65a6d Tom Lane pushed: - Fix calculation of space needed for parsed words in tab completion. Yesterday in commit d854118c8, I had a serious brain fade leading me to underestimate the number of words that the tab-completion logic could divide a line into. On input such as "(", each character will get seen as a separate word, which means we do indeed sometimes need more space for the words than for the original line. Fix that. http://git.postgresql.org/pg/commitdiff/f5a4370aea3580f5f7f59a77e41fde62f2be12d8 - Allow omitting one or both boundaries in an array slice specifier. Omitted boundaries represent the upper or lower limit of the corresponding array subscript. This allows simpler specification of many common use-cases. (Revised version of commit 9246af6799819847faa33baf441251003acbb8fe) YUriy Zhuravlev http://git.postgresql.org/pg/commitdiff/6efbded6e4672c597a6f0dc0f09263e7db7369ff - In pg_dump, remember connection passwords no matter how we got them. When pg_dump prompts the user for a password, it remembers the password for possible re-use by parallel worker processes. However, libpq might have extracted the password from a connection string originally passed as "dbname". Since we don't record the original form of dbname but break it down to host/port/etc, the password gets lost. Fix that by retrieving the actual password from the PGconn. (It strikes me that this whole approach is rather broken, as it will also lose other information such as options that might have been present in the connection string. But we'll leave that problem for another day.) In passing, get rid of rather silly use of malloc() for small fixed-size arrays. Back-patch to 9.3 where parallel pg_dump was introduced. Report and fix by Zeus Kronion, adjusted a bit by Michael Paquier and me http://git.postgresql.org/pg/commitdiff/1aa41e3eae3746e05d0e23286ac740a9a6cee7df - Improve handling of password reuse in src/bin/scripts programs. This reverts most of commit 83dec5a71 in favor of havi
[ANNOUNCE] == PostgreSQL Weekly News - December 20 2015 ==
== PostgreSQL Weekly News - December 20 2015 == PostgreSQL 9.5RC1 released. Test! https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.5 The annual Indian PGday will be held in Bengaluru, Karnataka, India on February 26, 2016. The CfP is open. http://pgday.in Nordic PGDay 2016 is a one day one track conference which will be held in Helsinki, Finland, on March 17, 2016. The CfP is open. http://2016.nordicpgday.org/ == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2015-12/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Details and CfP below: http://fosdem2016.pgconf.eu/ 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 first pan-Asian PostgreSQL conference will be held March 2016 in Singapore. The CfP is open. http://2016.pgday.asia/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ PGCon 2016 will be held May 17-21, 2016 in Ottawa. The CfP is out. http://www.pgcon.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 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 == Andres Freund pushed: - Correct statement to actually be the intended assert statement. e3f4cfc7 introduced a LWLockHeldByMe() call, without the corresponding Assert() surrounding it. Spotted by Coverity. Backpatch: 9.1+, like the previous commit http://git.postgresql.org/pg/commitdiff/2a3544960eaa114d34e5e83ab19e180c8efcd299 - Fix bug in SetOffsetVacuumLimit() triggered by find_multixact_start() failure. Previously, if find_multixact_start() failed, SetOffsetVacuumLimit() would install 0 into MultiXactState->offsetStopLimit if it previously succeeded. Luckily, there are no known cases where find_multixact_start() will return an error in 9.5 and above. But if it were to happen, for example due to filesystem permission issues, it'd be somewhat bad: GetNewMultiXactId() could continue allocating mxids even if close to a wraparound, or it could erroneously stop allocating mxids, even if no wraparound is looming. The wrong value would be corrected the next time SetOffsetVacuumLimit() is called, or by a restart. Reported-By: Noah Misch, although this is not his preferred fix Discussion: 20151210140450.ga22...@alap3.anarazel.de Backpatch: 9.5, where the bug was introduced as part of 4f627f http://git.postgresql.org/pg/commitdiff/cca705a5d93446e1a9c775b94c7d5900986c0488 - Fix tab completion for ALTER ... TABLESPACE ... OWNED BY. Previously the completion used the wrong word to match 'BY'. This was introduced brokenly, in b2de2a. While at it, also add completion of IN TABLESPACE ... OWNED BY and fix comments referencing nonexistent syntax. Reported-By: Michael Paquier Author: Michael Paquier and Andres Freund Discussion: CAB7nPqSHDdSwsJqX0d2XzjqOHr==HdWiubCi4L=zs7yftun...@mail.gmail.com Backpatch: 9.4, like the commit introducing the bug http://git.postgresql.org/pg/commitdiff/130d94a7b868f5b6df512e5fde94a64e5e71178b Heikki Linnakangas pushed: - Fix out-of-memory error handling in ParameterDescription message processing. If libpq ran out of memory while constructing the result set, it would hang, waiting for more data from the server, which might never arrive. To fix, distinguish between out-of-memory error and not-enough-data cases, and give a proper error message back to the client on OOM. There are still similar issues in handling COPY start messages, but let's handle that as a separate patch. Michael Paquier, Amit Kapila and me. Backpatch to all supported versions. http://git.postgresql.org/pg/commitdiff/7b96bf445a42b1cb2a435854f9825c38253f79a2 Kevin Grittner pushed: - Remove xmlparse(document '') test This one test was behaving differently between the ubuntu fix for CVE-2015-7499 and the base "expected" file. It's not worth having yet another version of the expected file for this test, so drop it. Perhaps at some point when all distros have settled down to the same behavior on this test, it can be restored. Problem found by me on libxml2 (2.9.1+dfsg1-3ubuntu4.6). Solution suggested by Tom Lane. Backpatch to 9.5, where the test was added. http://git.postgresql.org/
[ANNOUNCE] == PostgreSQL Weekly News - December 13 2015 ==
== PostgreSQL Weekly News - December 13 2015 == == PostgreSQL Product News == Ora2PG 16.1 a migration system for moving from Oracle and MySQL to PostgreSQL, released. http://ora2pg.darold.net/ POWA 3.0.0, a PostgreSQL workload analyzer, released. http://dalibo.github.io/powa/ == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2015-12/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Details and CfP below: http://fosdem2016.pgconf.eu/ 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 first pan-Asian PostgreSQL conference will be held March 2016 in Singapore. The CfP is open. http://2016.pgday.asia/ PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ PGCon 2016 will be held May 17-21, 2016 in Ottawa. The CfP is out. http://www.pgcon.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 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 == Álvaro Herrera pushed: - Clean up some problems in new Perl test code. Noted by Tom Lane: - PostgresNode had a BEGIN block which created files, contrary to perlmod suggestions to do that only on INIT blocks. - Assign ports randomly rather than starting from 90600. Noted by Noah Misch: - Change use of no-longer-set PGPORT environment variable to $node->port - Don't start a server in pg_controldata test - PostgresNode was reading the PID file incorrectly; test the right thing, and chomp the line we read from the PID file. - Remove an unused $devnull variable - Use 'pg_ctl kill' instead of "kill" directly, for Windos portability. - Make server log names more informative. Author: Michael Paquier http://git.postgresql.org/pg/commitdiff/9821492ee417a5910a60f3d1f2ed24c062eab4e0 - PostgresNode: wrap correctly around port number range end. Per note from Tom Lane http://git.postgresql.org/pg/commitdiff/7ac5d9b31637b1856c7ac9cb625bcca694a2790a - Fix commit timestamp initialization. This module needs explicit initialization in order to replay WAL records in recovery, but we had broken this recently following changes to make other (stranger) scenarios work correctly. To fix, rework the initialization sequence so that it always takes place before WAL replay commences for both master and standby. I could have gone for a more localized fix that just added a "startup" call for the master server, but it seemed better to restructure the existing callers as well so that the whole thing made more sense. As a drawback, there is more control logic in xlog.c now than previously, but doing otherwise meant passing down the ControlFile flag, which seemed uglier as a whole. This also meant adding a check to not re-execute ActivateCommitTs if it had already been called. Reported by Fujii Masao. Backpatch to 9.5. http://git.postgresql.org/pg/commitdiff/69e7235c93e2965cc0e17186bd044e4c54997c19 - For REASSIGN OWNED for foreign user mappings As reported in bug #13809 by Alexander Ashurkov, the code for REASSIGN OWNED hadn't gotten word about user mappings. Deal with them in the same way default ACLs do, which is to ignore them altogether; they are handled just fine by DROP OWNED. The other foreign object cases are already handled correctly by both commands. Also add a REASSIGN OWNED statement to foreign_data test to exercise the foreign data objects. (The changes are just before the "cleanup" phase, so it shouldn't remove any existing live test.) Reported by Alexander Ashurkov, then independently by Jaime Casanova. http://git.postgresql.org/pg/commitdiff/8c1615531f4945e5af78ddf1d43af11b6d7b48fd Tom Lane pushed: - Fix another oversight in checking if a join with LATERAL refs is legal. It was possible for the planner to decide to join a LATERAL subquery to the outer side of an outer join before the outer join itself is completed. Normally that's fine because of the associativity rules, but it doesn't work if the subquery contains a lateral reference to the inner side of the outer join. In such a situation the outer join *must* be done first. join_is_legal() missed this consideration and would allow the join to be attempted,
[ANNOUNCE] == PostgreSQL Weekly News - December 06 2015 ==
== PostgreSQL Weekly News - December 06 2015 == PGConf US 2016 will take place April 18-20, 2016 in NYC. The CfP is open until January 31st, 2016, 11:59pm EST. http://www.pgconf.us/2016/ PGCon 2016 will be held May 17-21, 2016 in Ottawa. The CfP will go out Tuesday. http://www.pgcon.org/ == PostgreSQL Product News == Postico, a PostgreSQL client app for OS X targeted at application developers, students and data analysts, released. https://eggerapps.at/postico/ agg 1.0, a module implementing parallel aggregation for PostgreSQL 9.5+, released. http://www.cybertec.at/en/products/agg-parallel-aggregations-postgresql/ == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2015-12/ == PostgreSQL Local == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Details and CfP below: http://fosdem2016.pgconf.eu/ 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 first pan-Asian PostgreSQL conference will be held March 2016 in Singapore. The CfP is open. http://2016.pgday.asia/ == 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 == Tom Lane pushed: - Avoid caching expression state trees for domain constraints across queries. In commit 8abb3cda0ddc00a0ab98977a1633a95b97068d4e I attempted to cache the expression state trees constructed for domain CHECK constraints for the life of the backend (assuming the domain's constraints don't get redefined). However, this turns out not to work very well, because execQual.c will run those state trees with ecxt_per_query_memory pointing to a query-lifespan context, and in some situations we'll end up with pointers into that context getting stored into the state trees. This happens in particular with SQL-language functions, as reported by Emre Hasegeli, but there are many other cases. To fix, keep only the expression plan trees for domain CHECK constraints in the typcache's data structure, and revert to performing ExecInitExpr (at least) once per query to set up expression state trees in the query's context. Eventually it'd be nice to undo this, but that will require some careful thought about memory management for expression state trees, and it seems far too late for any such redesign in 9.5. This way is still much more efficient than what happened before 8abb3cda0. http://git.postgresql.org/pg/commitdiff/ec7eef6b1103f92aea94aa79aabd8e0e87973010 - Rework wrap-width calculation in psql's print_aligned_vertical() function. This area was rather heavily whacked around in 6513633b9 and follow-on commits, and it was showing it, because the logic to calculate the allowable data width in wrapped expanded mode had only the vaguest relationship to the logic that was actually printing the data. It was not very close to being right about the conditions requiring overhead columns to be added. Aside from being wrong, it was pretty unreadable and under-commented. Rewrite it so it corresponds to what the printing code actually does. In passing, remove a couple of dead tests in the printing logic, too. Per a complaint from Jeff Janes, though this doesn't look much like his patch because it fixes a number of other corner-case bogosities too. One such fix that's visible in the regression test results is that although the code was attempting to enforce a minimum data width of 3 columns, it sometimes left less space than that available. http://git.postgresql.org/pg/commitdiff/0e0776bc99553ff229e0d536ed8c78ab9db62464 - Further adjustment to psql's print_aligned_vertical() function. We should ignore output_columns unless it's greater than zero. A zero means we couldn't get any information from ioctl(TIOCGWINSZ); in that case the expected behavior is to print the data at native width, not to wrap it at the smallest possible value. print_aligned_text() gets this consideration right, but print_aligned_vertical() lost track of this detail somewhere along the line. http://git.postgresql.org/pg/commitdiff/2287b874546931e2f33cddcafff2bde58459da1b - Use "g" not "f" format in ecpg's PGTYPESnumeric_from_double(). The previous coding could overrun the provided buffer size for a very large input, or lose precision for a very
[ANNOUNCE] == PostgreSQL Weekly News - November 29 2015 ==
== PostgreSQL Weekly News - November 29 2015 == PostgreSQL 9.5 Beta 2 released. http://www.postgresql.org/about/news/1625/ PostgreSQL 9.6devel RPMs are available for testers. Please use only for crash testing. http://www.postgresql.org/message-id/1447660638.4285.45.ca...@gunduz.org http://yum.PostgreSQL.org FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM in Brussels, Belgium, on Jan 29th, 2016. Details and CfP below: http://fosdem2016.pgconf.eu/ 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 first pan-Asian PostgreSQL conference will be held March 2016 in Singapore. The CfP is open. http://2016.pgday.asia/ == PostgreSQL Product News == barman 1.5.1, a backup and recovery manager for PostgreSQL, released. http://www.pgbarman.org/barman-1-5-1-released/ == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2015-11/ == PostgreSQL Local == PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ Postgres Conference China 2015 will be on November 20-22, 2015 in Beijing. http://postgres2015.eventdove.com/ (Chinese) http://postgrescluster2015.eventdove.com/ (English) PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Tom Lane pushed: - Speed up ruleutils' name de-duplication code, and fix overlength-name case. Since commit 11e131854f8231a21613f834c40fe9d046926387, ruleutils.c has attempted to ensure that each RTE in a query or plan tree has a unique alias name. However, the code that was added for this could be quite slow, even as bad as O(N^3) if N identical RTE names must be replaced, as noted by Jeff Janes. Improve matters by building a transient hash table within set_rtable_names. The hash table in itself reduces the cost of detecting a duplicate from O(N) to O(1), and we can save another factor of N by storing the number of de-duplicated names already created for each entry, so that we don't have to re-try names already created. This way is probably a bit slower overall for small range tables, but almost by definition, such cases should not be a performance problem. In principle the same problem applies to the column-name-de-duplication code; but in practice that seems to be less of a problem, first because N is limited since we don't support extremely wide tables, and second because duplicate column names within an RTE are fairly rare, so that in practice the cost is more like O(N^2) not O(N^3). It would be very much messier to fix the column-name code, so for now I've left that alone. An independent problem in the same area was that the de-duplication code paid no attention to the identifier length limit, and would happily produce identifiers that were longer than NAMEDATALEN and wouldn't be unique after truncation to NAMEDATALEN. This could result in dump/reload failures, or perhaps even views that silently behaved differently than before. We can fix that by shortening the base name as needed. Fix it for both the relation and column name cases. In passing, check for interrupts in set_rtable_names, just in case it's still slow enough to be an issue. Back-patch to 9.3 where this code was introduced. http://git.postgresql.org/pg/commitdiff/8004953b5a2449c26c4e082771276b2f8629d153 - Fix possible internal overflow in numeric division. div_var_fast() postpones propagating carries in the same way as mul_var(), so it has the same corner-case overflow risk we fixed in 246693e5ae8a36f0, namely that the size of the carries has to be accounted for when setting the threshold for executing a carry propagation step. We've not devised a test case illustrating the brokenness, but the required fix seems clear enough. Like the previous fix, back-patch to all active branches. Dean Rasheed http://git.postgresql.org/pg/commitdiff/5f10b7a604c87fc61a2c20a56552301f74c9bd5f - Accept flex > 2.
[ANNOUNCE] == PostgreSQL Weekly News - November 15 2015 ==
== PostgreSQL Weekly News - November 15 2015 == PostgreSQL 9.5 Beta 2 released. Test! http://www.postgresql.org/about/news/1625/ == PostgreSQL Product News == pg_wintools, a PostgreSQL extension for interfacing with Windows OS, released. https://github.com/jmguazzo/pg_wintools == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2015-11/ == PostgreSQL Local == PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ Postgres Conference China 2015 will be on November 20-22, 2015 in Beijing. http://postgres2015.eventdove.com/ (Chinese) http://postgrescluster2015.eventdove.com/ (English) PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Andres Freund pushed: - Add paragraph about ON CONFLICT interaction with partitioning. Author: Peter Geoghegan and Andres Freund Discussion: cam3swzscpwzq-7ejc77vwqzz1go8gnmurq1qqdq3wrn7abw...@mail.gmail.com, cahgqgwfucwwsu7dtc2ardrk73ztyr_jy5cpoyts+k8xkj92...@mail.gmail.com Backpatch: 9.5, where UPSERT was introduced http://git.postgresql.org/pg/commitdiff/c31f1dc55992bc8b2c35c0ff99795547d4df323a Robert Haas pushed: - Add a dummy return statement to TupleQueueRemap. This is unreachable for multiple reasons, but per Amit Kapila the Windows compiler he is using still thinks we can get there. http://git.postgresql.org/pg/commitdiff/89ff5c7f7512a919e76407b4f8269e5b0b39dd2b - Fix rebasing mistake in nodeGather.c The patches committed as 6e71dd7ce9766582da453f493bc371d64977282f and 3a1f8611f2582df0a16bcd35caed2e1526387643 were developed in parallel but dependent on each other in a way that I failed to notice. This patch to fix the problem was prepared by Amit Kapila. http://git.postgresql.org/pg/commitdiff/bf3d0156311f0d8fa7705d8de0d07c4e0298051a - Comment update. Adjust to account for 5fc4c26db5120bd90348b6ee3101fcddfdf54800. Etsuro Fujita http://git.postgresql.org/pg/commitdiff/5c90a2ffddd2504a7441e80a22ba0fe8d484291a - Add outfuncs.c support for GatherPath. I dunno how commit 3bd909b220930f21d6e15833a17947be749e7fde missed this, but it evidently did. http://git.postgresql.org/pg/commitdiff/f764ecd81b2a8a1e9000d43a73ca5eec8e8008bc - Make sequential scans parallel-aware. In addition, this path fills in a number of missing bits and pieces in the parallel infrastructure. Paths and plans now have a parallel_aware flag indicating whether whatever parallel-aware logic they have should be engaged. It is believed that we will need this flag for a number of path/plan types, not just sequential scans, which is why the flag is generic rather than part of the SeqScan structures specifically. Also, execParallel.c now gives parallel nodes a chance to initialize their PlanState nodes from the DSM during parallel worker startup. Amit Kapila, with a fair amount of adjustment by me. Review of previous patch versions by Haribabu Kommi and others. http://git.postgresql.org/pg/commitdiff/f0661c4e8c44c0ec7acd4ea7c82e85b265447398 - Generate parallel sequential scan plans in simple cases. Add a new flag, consider_parallel, to each RelOptInfo, indicating whether a plan for that relation could conceivably be run inside of a parallel worker. Right now, we're pretty conservative: for example, it might be possible to defer applying a parallel-restricted qual in a worker, and later do it in the leader, but right now we just don't try to parallelize access to that relation. That's probably the right decision in most cases, anyway. Using the new flag, generate parallel sequential scan plans for plain baserels, meaning that we now have parallel sequential scan in PostgreSQL. The logic here is pretty unsophisticated right now: the costing model probably isn't right in detail, and we can't push joins beneath Gather nodes, so the number of plans that can actually benefit from this is pretty limited right now. Lots more work is needed. Nevertheless, it seems time to enable this functionality so that all this code can actually be tested easily by users and developers. Note
[ANNOUNCE] == PostgreSQL Weekly News - November 08 2015 ==
== PostgreSQL Weekly News - November 08 2015 == == PostgreSQL Product News == pgchronos 1.0.0, an extension providing sql functions and operators for performing set operations on sets of daterange and tstzrange types, released. https://github.com/worden341/pgchronos == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2015-11/ == PostgreSQL Local == PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ Postgres Conference China 2015 will be on November 20-22, 2015 in Beijing. http://postgres2015.eventdove.com/ (Chinese) http://postgrescluster2015.eventdove.com/ (English) PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Kevin Grittner pushed: - Add RMV to list of commands taking AE lock. Backpatch to 9.3, where it was initially omitted. Craig Ringer, with minor adjustment by Kevin Grittner http://git.postgresql.org/pg/commitdiff/bf25fb2f93c95e946c5e382eb82ad08ae9d95bd9 Robert Haas pushed: - Fix problems with ParamListInfo serialization mechanism. Commit d1b7c1ffe72e86932b5395f29e006c3f503bc53d introduced a mechanism for serializing a ParamListInfo structure to be passed to a parallel worker. However, this mechanism failed to handle external expanded values, as pointed out by Noah Misch. Repair. Moreover, plpgsql_param_fetch requires adjustment because the serialization mechanism needs it to skip evaluating unused parameters just as we would do when it is called from copyParamList, but params == estate->paramLI in that case. To fix, make the bms_is_member test in that function unconditional. Finally, have setup_param_list set a new ParamListInfo field, paramMask, to the parameters actually used in the expression, so that we don't try to fetch those that are not needed when serializing a parameter list. This isn't necessary for correctness, but it makes the performance of the parallel executor code comparable to what we do for cases involving cursors. Design suggestions and extensive review by Noah Misch. Patch by me. http://git.postgresql.org/pg/commitdiff/1efc7e538204646fec0f790b683012ed9bd8a99f - Correct tiny inaccuracy in strxfrm cache comment. Peter Geoghegan http://git.postgresql.org/pg/commitdiff/0279f62fdca7ff19ef34a836f5201935dc7f627c - shm_mq: Third attempt at fixing nowait behavior in shm_mq_receive. Commit a1480ec1d3bacb9acb08ec09f22bc25bc033115b purported to fix the problems with commit b2ccb5f4e6c81305386edb34daf7d1d1e1ee112a, but it didn't completely fix them. The problem is that the checks were performed in the wrong order, leading to a race condition. If the sender attached, sent a message, and detached after the receiver called shm_mq_get_sender and before the receiver called shm_mq_counterparty_gone, we'd incorrectly return SHM_MQ_DETACHED before all messages were read. Repair by reversing the order of operations, and add a long comment explaining why this new logic is (hopefully) correct. http://git.postgresql.org/pg/commitdiff/4efe26cbd3ef0d85656bf00ac9e5bd41cc8a2a36 - shm_mq: Third attempt at fixing nowait behavior in shm_mq_receive. Commit a1480ec1d3bacb9acb08ec09f22bc25bc033115b purported to fix the problems with commit b2ccb5f4e6c81305386edb34daf7d1d1e1ee112a, but it didn't completely fix them. The problem is that the checks were performed in the wrong order, leading to a race condition. If the sender attached, sent a message, and detached after the receiver called shm_mq_get_sender and before the receiver called shm_mq_counterparty_gone, we'd incorrectly return SHM_MQ_DETACHED before all messages were read. Repair by reversing the order of operations, and add a long comment explaining why this new logic is (hopefully) correct. http://git.postgresql.org/pg/commitdiff/4efe26cbd3ef0d85656bf00ac9e5bd41cc8a2a36 - Improve comments about abbreviation abort. Peter Geoghegan http://git.postgresql.org/pg/commitdiff/ee44cb7566ffafc0144535e1f966f5e3bb7d384b - Pass extra data to bgworkers, and use this to fix paral
[ANNOUNCE] == PostgreSQL Weekly News - November 01 2015 ==
== PostgreSQL Weekly News - November 01 2015 == == PostgreSQL Product News == PGroonga 1.0.0, a fast full text search platform for all languages, released. http://groonga.org/en/blog/2015/10/29/pgroonga-1.0.0.html tds_fdw 1.0.6, a foreign data wrapper for MS-SQL Server and Sybase, released. https://github.com/GeoffMontee/tds_fdw/releases == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2015-11/ == PostgreSQL Local == Highload++2015 is November 2-3, 2015 in Moscow, Russia. Information in Russian and English, respectively: http://highload.ru/ http://highload.co/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ Postgres Conference China 2015 will be on November 20-22, 2015 in Beijing. http://postgres2015.eventdove.com/ (Chinese) http://postgrescluster2015.eventdove.com/ (English) PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Álvaro Herrera pushed: - Measure string lengths only once. Bernd Helmle complained that CreateReplicationSlot() was assigning the same value to the same variable twice, so we could remove one of them. Code inspection reveals that we can actually remove both assignments: according to the author the assignment was there for beauty of the strlen line only, and another possible fix to that is to put the strlen in its own line, so do that. To be consistent within the file, refactor all duplicated strlen() calls, which is what we do elsewhere in the backend anyway. In basebackup.c, snprintf already returns the right length; no need for strlen afterwards. Backpatch to 9.4, where replication slots were introduced, to keep code identical. Some of this is older, but the patch doesn't apply cleanly and it's only of cosmetic value anyway. Discussion: http://www.postgresql.org/message-id/be2fd71dea35a2287ea5f...@eje.credativ.lan http://git.postgresql.org/pg/commitdiff/0cd836a4e818f049716e47fe81bf5d4800509c57 - Cleanup commit timestamp module activaction, again Further tweak commit_ts.c so that on a standby the state is completely consistent with what that in the master, rather than behaving differently in the cases that the settings differ. Now in standby and master the module should always be active or inactive in lockstep. Author: Petr Jelínek, with some further tweaks by Álvaro Herrera. Backpatch to 9.5, where commit timestamps were introduced. Discussion: http://www.postgresql.org/message-id/5622bf9d.2010...@2ndquadrant.com http://git.postgresql.org/pg/commitdiff/531d21b75ff6b18ea8638c736a05326ebd519f49 - Fix BRIN free space computations A bug in the original free space computation made it possible to return a page which wasn't actually able to fit the item. Since the insertion code isn't prepared to deal with PageAddItem failing, a PANIC resulted ("failed to add BRIN tuple [to new page]"). Add a macro to encapsulate the correct computation, and use it in brin_getinsertbuffer's callers before calling that routine, to raise an early error. I became aware of the possiblity of a problem in this area while working on ccc4c074994d734. There's no archived discussion about it, but it's easy to reproduce a problem in the unpatched code with something like CREATE TABLE t (a text); CREATE INDEX ti ON t USING brin (a) WITH (pages_per_range=1); for length in `seq 8000 8196` do psql -f - <http://git.postgresql.org/pg/commitdiff/21a4e4a4c9fe417e2462b6f90f6b0e49e32ceba6 - Document BRIN's inclusion opclass framework Backpatch to 9.5 -- this should have been part of b0b7be61337, but we didn't have 38b03caebc5de either at the time. Author: Emre Hasegeli Revised by: Ian Barwick Discussion: http://www.postgresql.org/message-id/cae2gyzyb39q9up_-to6fkhh44pcam1x6n_cuj15qkolofih...@mail.gmail.com http://www.postgresql.org/message-id/562da711.3020...@2ndquadrant.com http://git.postgresql.org/pg/commitdiff/c15898c1d5d53602de097905a90f3dd176e8e7fd - Fix secondary expected output for commit_ts test Per red wall in buil
[ANNOUNCE] == PostgreSQL Weekly News - October 25 2015 ==
== PostgreSQL Weekly News - October 25 2015 == Postgres Conference China 2015 will be on November 20-22, 2015 in Beijing. http://postgres2015.eventdove.com/ (Chinese) http://postgrescluster2015.eventdove.com/ (English) Brisbane PostgreSQL Users Group is pleased to announce their first meeting; to be held 27th October, 2015 at 6:00pm Level 4, Fujitsu Building, 1 Breakfast Creek Road, Brisbane, 4006, Queensland. RSVP below. http://www.meetup.com/Brisbane-PostgreSQL-User-Group/events/224709832/ == PostgreSQL Product News == Ora2PG 16.0 a migration system for moving from Oracle and MySQL to PostgreSQL, released. http://ora2pg.darold.net/ PG Partition Manager 2.2.0 an extension to manage table partitioning, released. https://github.com/keithf4/pg_partman pitrery 1.10, a set of bash scripts to manage PITR backups for PostgreSQL, released. http://dalibo.github.io/pitrery/ == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2015-10/ == PostgreSQL Local == PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The schedule is posted. http://2015.pgconf.eu/ Highload++2015 is November 2-3, 2015 in Moscow, Russia. Information in Russian and English, respectively: http://highload.ru/ http://highload.co PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Tom Lane pushed: - Fix incorrect handling of lookahead constraints in pg_regprefix(). pg_regprefix was doing nothing with lookahead constraints, which would be fine if it were the right kind of nothing, but it isn't: we have to terminate our search for a fixed prefix, not just pretend the LACON arc isn't there. Otherwise, if the current state has both a LACON outarc and a single plain-color outarc, we'd falsely conclude that the color represents an addition to the fixed prefix, and generate an extracted index condition that restricts the indexscan too much. (See added regression test case.) Terminating the search is conservative: we could traverse the LACON arc (thus assuming that the constraint can be satisfied at runtime) and then examine the outarcs of the linked-to state. But that would be a lot more work than it seems worth, because writing a LACON followed by a single plain character is a pretty silly thing to do. This makes a difference only in rather contrived cases, but it's a bug, so back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/9f1e642d50b30ec5c9604b6095073012a9a73e93 - Fix incorrect translation of minus-infinity datetimes for json/jsonb. Commit bda76c1c8cfb1d11751ba6be88f0242850481733 caused both plus and minus infinity to be rendered as "infinity", which is not only wrong but inconsistent with the pre-9.4 behavior of to_json(). Fix that by duplicating the coding in date_out/timestamp_out/timestamptz_out more closely. Per bug #13687 from Stepan Perlov. Back-patch to 9.4, like the previous commit. In passing, also re-pgindent json.c, since it had gotten a bit messed up by recent patches (and I was already annoyed by indentation-related problems in back-patching this fix ...) http://git.postgresql.org/pg/commitdiff/d4355425831fe8f6a68095393e3628cb30d06b3f - Remove redundant CREATEUSER/NOCREATEUSER options in CREATE ROLE et al. Once upon a time we did not have a separate CREATEROLE privilege, and CREATEUSER effectively meant SUPERUSER. When we invented CREATEROLE (in 8.1) we also added SUPERUSER so as to have a less confusing keyword for this role property. However, we left CREATEUSER in place as a deprecated synonym for SUPERUSER, because of backwards-compatibility concerns. It's still there and is still confusing people, as for example in bug #13694 from Justin Catterson. 9.6 will be ten years or so later, which su
[ANNOUNCE] == PostgreSQL Weekly News - October 18 2015 ==
== PostgreSQL Weekly News - October 18 2015 == Highload++2015 is November 2-3, 2015 in Moscow, Russia. Information in Russian and English, respectively: http://highload.ru/ http://highload.co == PostgreSQL Product News == pgFormatter v1.5, a SQL formatter/beautifier which supports keywords from SQL-92, SQL-99, SQL-2003, SQL-2008, SQL-2011 and PostgreSQL keywords are not in the standard, released. http://sqlformat.darold.net/ pitrery 1.9, a set of bash scripts to manage PITR backups for PostgreSQL, released. http://dalibo.github.io/pitrery/ == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2015-10/ == PostgreSQL Local == PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The schedule is posted. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Noah Misch pushed: - Use JsonbIteratorToken consistently in automatic variable declarations. Many functions stored JsonbIteratorToken values in variables of other integer types. Also, standardize order relative to other declarations. Expect compilers to generate the same code before and after this change. http://git.postgresql.org/pg/commitdiff/7732d49ca211571552bf82b5207deed95c0cc09c Tom Lane pushed: - Fix "pg_ctl start -w" to test child process status directly. pg_ctl start with -w previously relied on a heuristic that the postmaster would surely always manage to create postmaster.pid within five seconds. Unfortunately, that fails much more often than we would like on some of the slower, more heavily loaded buildfarm members. We have known for quite some time that we could remove the need for that heuristic on Unix by using fork/exec instead of system() to launch the postmaster. This allows us to know the exact PID of the postmaster, which allows near-certain verification that the postmaster.pid file is the one we want and not a leftover, and it also lets us use waitpid() to detect reliably whether the child postmaster has exited or not. What was blocking this change was not wanting to rewrite the Windows version of start_postmaster() to avoid use of CMD.EXE. That's doable in theory but would require fooling about with stdout/stderr redirection, and getting the handling of quote-containing postmaster switches to stay the same might be rather ticklish. However, we realized that we don't have to do that to fix the problem, because we can test whether the shell process has exited as a proxy for whether the postmaster is still alive. That doesn't allow an exact check of the PID in postmaster.pid, but we're no worse off than before in that respect; and we do get to get rid of the heuristic about how long the postmaster might take to create postmaster.pid. On Unix, this change means that a second "pg_ctl start -w" immediately after another such command will now reliably fail, whereas previously it would succeed if done within two seconds of the earlier command. Since that's a saner behavior anyway, it's fine. On Windows, the case can still succeed within the same time window, since pg_ctl can't tell that the earlier postmaster's postmaster.pid isn't the pidfile it is looking for. To ensure stable test results on Windows, we can insert a short sleep into the test script for pg_ctl, ensuring that the existing pidfile looks stale. This hack can be removed if we ever do rewrite start_postmaster(), but that no longer seems like a high-priority thing to do. Back-patch to all supported versions, both because the current behavior is buggy and because we must do that if we want the buildfarm failures to go away. Tom Lane and Michael Paquier http:
[ANNOUNCE] == PostgreSQL Weekly News - October 11 2015 ==
== PostgreSQL Weekly News - October 11 2015 == PostgreSQL 9.5 Beta 1 Released. http://www.postgresql.org/about/news/1614/ PostgreSQL 9.4.5, 9.3.10, 9.2.14, 9.1.19, and 9.0.23 security updates released. See details below and upgrade ASAP. 9.0.23 is the final release of the 9.0 series. http://www.postgresql.org/about/news/1615/ == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2015-10/ == PostgreSQL Local == PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The schedule is posted. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == 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 == Stephen Frost pushed: - ALTER TABLE .. FORCE ROW LEVEL SECURITY. To allow users to force RLS to always be applied, even for table owners, add ALTER TABLE .. FORCE ROW LEVEL SECURITY. row_security=off overrides FORCE ROW LEVEL SECURITY, to ensure pg_dump output is complete (by default). Also add SECURITY_NOFORCE_RLS context to avoid data corruption when ALTER TABLE .. FORCE ROW SECURITY is being used. The SECURITY_NOFORCE_RLS security context is used only during referential integrity checks and is only considered in check_enable_rls() after we have already checked that the current user is the owner of the relation (which should always be the case during referential integrity checks). Back-patch to 9.5 where RLS was added. http://git.postgresql.org/pg/commitdiff/088c83363a11200f2225f279d4a5c6cc6f9db3d2 - Do not write out WCOs in Query. The WithCheckOptions list in Query are only populated during rewrite and do not need to be written out or read in as part of a Query structure. Further, move WithCheckOptions to the bottom and add comments to clarify that it is only populated during rewrite. Back-patch to 9.5 with a catversion bump, as we are still in alpha. http://git.postgresql.org/pg/commitdiff/4158cc3793fe0e074dcb58e91103344c8ffcd6df - Apply SELECT policies in INSERT/UPDATE+RETURNING. Similar to 7d8db3e, given that INSERT+RETURNING requires SELECT rights on the table, apply the SELECT policies as WCOs to the tuples being inserted. Apply the same logic to UPDATE+RETURNING. Back-patch to 9.5 where RLS was added. http://git.postgresql.org/pg/commitdiff/2ca9d5445c35db8956e4abbf1e653373820e8c0a - Add regression tests for INSERT/UPDATE+RETURNING. This adds regressions tests which are specific to INSERT+RETURNING and UPDATE+RETURNING to ensure that the SELECT policies are added as WithCheckOptions (and should therefore throw an error when the policy is violated). Per suggestion from Andres. Back-patch to 9.5 as the prior commit was. http://git.postgresql.org/pg/commitdiff/be400cd25c7f407111b9617dbf6a5fae761754cb - Handle append_rel_list in expand_security_qual. During expand_security_quals, we take the security barrier quals on an RTE and create a subquery which evaluates the quals. During this, we have to replace any variables in the outer query which refer to the original RTE with references to the columns from the subquery. We need to also perform that replacement for any Vars in the append_rel_list. Only backpatching to 9.5 as we only go through this process in 9.4 for auto-updatable security barrier views, which UNION ALL queries aren't. Discovered by Haribabu Kommi Patch by Dean Rasheed http://git.postgresql.org/pg/commitdiff/b7aac36245261eba9eb7d18561ce44220b361959 Andres Freund pushed: - Re-Align *_freeze_max_age reloption limits with corresponding GUC limits. In 020235a5754 I lowered the autovacuum_*freeze_max_age minimums to allow for easier testing of wraparounds. I did not touch the corresponding per-table limits. While those don't matter
[ANNOUNCE] == PostgreSQL Weekly News - October 04 2015 ==
== PostgreSQL Weekly News - October 04 2015 == PostgreSQL@SCaLE is a two day, two track event which takes place on Jan. 21-22, 2016, at Pasadena Convention Center, as part of SCaLE 14X. The CfP is open until Oct 30, 2015. https://www.socallinuxexpo.org/scale/14x/cfp == PostgreSQL Product News == barman 1.5.0, a backup and recovery manager for PostgreSQL, released. http://www.pgbarman.org/barman-1-5-0-released/ == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2015-10/ == PostgreSQL Local == PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The schedule is posted. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. Registration is open. http://pgbr.postgresql.org.br/2015/en/ PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ == 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 == Peter Eisentraut pushed: - pg_dump: Fix some messages. Make quoting style match existing style. Improve plural support. http://git.postgresql.org/pg/commitdiff/883af819c1ef7ec975f5c180a3434ff690c23606 - Fix message punctuation according to style guide http://git.postgresql.org/pg/commitdiff/87c2b517accf287cb746b58af570e7a29b5ad26a - pg_rewind: Improve some messages. The output of a typical pg_rewind run contained a mix of capitalized and not-capitalized and punctuated and not-punctuated phrases for no apparent reason. Make that consistent. Also fix some problems in other messages. http://git.postgresql.org/pg/commitdiff/cdcae2b6a7d263b2771b6386af626b47ce17da19 - doc: Make some index terms and terminology more consistent http://git.postgresql.org/pg/commitdiff/eff091cc19118c1be7f692c969ca3ebb6994552a - doc: Update URLs of external projects http://git.postgresql.org/pg/commitdiff/1023194b7aba88680a5c943d5122d086c3431d19 - Group cluster_name and update_process_title settings together http://git.postgresql.org/pg/commitdiff/6390c8c654d07c08686adbbc595a13d76b573653 Robert Haas pushed: - Don't try to create a temp install without abs_top_builddir. Otherwise, we effectively act as if abs_top_builddir were the root directory, which is quite dangerous if the user happens to have permissions to do things there. This can crop up in PGXS builds, for example. Report by Sandro Santilli, patch by me, review by Noah Misch. http://git.postgresql.org/pg/commitdiff/45e5b4ef5c392ddfcd72693f65659bafdda7ee1b - Use LOCKBIT_ON() instead of a bit shift in a few places. We do this mostly everywhere, so it seems just as well to do it here, too. Thomas Munro http://git.postgresql.org/pg/commitdiff/f40792a93ccdc4d01c448121da67693fc2f6297a - Parallel executor support. This code provides infrastructure for a parallel leader to start up parallel workers to execute subtrees of the plan tree being executed in the master. User-supplied parameters from ParamListInfo are passed down, but PARAM_EXEC parameters are not. Various other constructs, such as initplans, subplans, and CTEs, are also not currently shared. Nevertheless, there's enough here to support a basic implementation of parallel query, and we can lift some of the current restrictions as needed. Amit Kapila and Robert Haas http://git.postgresql.org/pg/commitdiff/d1b7c1ffe72e86932b5395f29e006c3f503bc53d - Comment update for join pushdown. Etsuro Fujita http://git.postgresql.org/pg/commitdiff/758fcfdc016ac687c4f4094e0dca6ae641400820 - Don't dump core when destroying an unused ParallelContext. If a transaction or subtransaction creates a ParallelContext but ends without calling InitializeParallelDSM, the previous code would seg fault. Fix that. http://git.postgresql.org/pg/commitdiff/227d57f3587d7d2a7d0792011f5ac952ba763681 - Add a Gather executor node. A Gather executor node runs any number of copies of a plan in an equal number of workers and merges all of the results into a single tuple stream. It can also run the plan itself, if the workers are unavailable or haven't started up yet. It is intended to work with the Partial Seq Scan node which will be added in future
[ANNOUNCE] == PostgreSQL Weekly News - September 20 2015 ==
== PostgreSQL Weekly News - September 20 2015 == == PostgreSQL Product News == Envelopt 1.0.0, a web platform for creating PostgreSQL applications, released. http://envelope.xyz/ PostgreDAC 4.6, a Delphi/C++ builder for PostgreSQL, and dbExpress PostgreSQL driver 3.7, released. https://www.devart.com/pgdac/ tds_fdw 1.0.4, a foreign data wrapper for MS-SQL Server and Sybase, released. https://github.com/GeoffMontee/tds_fdw/releases == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2015-09/ == PostgreSQL Local == PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The schedule is posted. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open until August 31. http://pgbr.postgresql.org.br/2015/en/#call-for-papers PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ == 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 == Teodor Sigaev pushed: - Check existency of table/schema for -t/-n option (pg_dump/pg_restore). Patch provides command line option --strict-names which requires that at least one table/schema should present for each -t/-n option. Pavel Stehule <pavel.steh...@gmail.com> http://git.postgresql.org/pg/commitdiff/d02426029b133ee2bbe492a038642359bce3c527 - Fix wrong comment in commit d02426029b133ee2bbe492a038642359bce3c527 Per gripe from Robert Haas http://git.postgresql.org/pg/commitdiff/0f75928516a55ba69d46328ec5e676c13d163831 - pgbench progress with timestamp. This patch adds an option to replace the "time since pgbench run started" with a Unix epoch timestamp in the progress report so that, for instance, it is easier to compare timelines with pgsql log Fabien COELHO <coe...@cri.ensmp.fr> http://git.postgresql.org/pg/commitdiff/1def9063ca3c8ad66a2814a90af95ca22636bf66 - Fix bug introduced by microvacuum for GiST Commit 013ebc0a7b7ea9c1b1ab7a3d4dd75ea121ea8ba7 introduces microvacuum for GiST, deletetion of tuple marked LP_DEAD uses IndexPageMultiDelete while recovery code uses IndexPageTupleDelete in loop. This causes a difference in offset numbers of tuples to delete. Patch introduces usage of IndexPageMultiDelete in GiST except gistplacetopage() where only one tuple is deleted at once. That also slightly improve performance, because IndexPageMultiDelete is more effective. Patch changes WAL format, so bump wal page magic. Bug report from Jeff Janes Diagnostic and patch by Anastasia Lubennikova and me http://git.postgresql.org/pg/commitdiff/22f519c92a45eb017bf2e65f36506a75309f8094 - Add header forgotten in 213335c14529a8d5e2007ec0c256f4cf64d62d3b. Report from Peter Eisentraut http://git.postgresql.org/pg/commitdiff/d63a1720fa0b2ca8452c3a2aa2f6ddbb4f05b640 - Fix oversight in tsearch type check. Use IsBinaryCoercible() method instead of custom is_expected_type/is_text_type functions which was introduced when tsearch2 was moved into core. Per report by David E. Wheeler. Analysis by Tom Lane. Patch by me. http://git.postgresql.org/pg/commitdiff/9acb9007de30b3daaa9efc16763c3bc6e3e0a92d Fujii Masao pushed: - Improve log messages related to tablespace_map file. This patch changes the log message which is logged when the server successfully renames backup_label file to *.old but fails to rename tablespace_map file during the shutdown. Previously the WARNING message "online backup mode was not canceled" was logged in that case. However this message is confusing because the backup mode is treated as canceled whenever backup_label is successfully renamed. So this commit makes the server log the message "online backup mode canceled" in that case. Also this commit changes errdetail messages so that they follow the error message style guide. Back-patch to 9.5 where tablespace_map file is introduced. Original patch by Amit Kapila, heavily modified by me. http://git.postgresql.org/pg/commitdiff/10fbb79f1a918
[ANNOUNCE] == PostgreSQL Weekly News - September 13 2015 ==
== PostgreSQL Weekly News - September 13 2015 == == PostgreSQL Product News == pgbouncer 1.6.1, a light-weight connection pooler for PostgreSQL, released. This is a security upgrade. https://pgbouncer.github.io/2015/09/pgbouncer-1-6-1/ == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2015-09/ == PostgreSQL Local == PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The schedule is posted. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open until August 31. http://pgbr.postgresql.org.br/2015/en/#call-for-papers PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ == 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 == Teodor Sigaev pushed: - Update site address of Snowball project http://git.postgresql.org/pg/commitdiff/a1c44e1af62f7247610ee80bb355ef7084c24001 - Add pages deleted from pending list to FSM. Add pages deleted from GIN's pending list during cleanup to free space map immediately. Clean up process could be initiated by ordinary insert but adding page to FSM might occur only at vacuum. On some workload like never-vacuumed insert-only tables it could cause a huge bloat. Jeff Janes. http://git.postgresql.org/pg/commitdiff/e95680832854cf300e64c10de9cc2f586df558e8 - Make GIN's cleanup pending list process interruptable. Cleanup process could be called by ordinary insert/update and could take a lot of time. Add vacuum_delay_point() to make this process interruptable. Under vacuum this call will also throttle a vacuum process to decrease system load, called from insert/update it will not throttle, and that reduces a latency. Backpatch for all supported branches. Jeff Janes. http://git.postgresql.org/pg/commitdiff/e26692248ada18417199b47bc2e4e1648d530953 - Microvacuum for GIST. Mark index tuple as dead if it's pointed by kill_prior_tuple during ordinary (search) scan and remove it during insert process if there is no enough space for new tuple to insert. This improves select performance because index will not return tuple marked as dead and improves insert performance because it reduces number of page split. Anastasia Lubennikova <a.lubennik...@postgrespro.ru> with minor editorialization by me http://git.postgresql.org/pg/commitdiff/013ebc0a7b7ea9c1b1ab7a3d4dd75ea121ea8ba7 - Fix oversight in 013ebc0a7b7ea9c1b1ab7a3d4dd75ea121ea8ba7 commit. Declaration of variable inside code block. http://git.postgresql.org/pg/commitdiff/223936e22691ccae02be7e2980b6f565518bff19 Gregory Stark pushed: - Change type of DOW/DOY to UNITS http://git.postgresql.org/pg/commitdiff/37239ef8c9fa72e0f73a307cc413a03a743878d3 Jeff Davis pushed: - Add log_line_prefix option 'n' for Unix epoch. Prints time as Unix epoch with milliseconds. Tomas Vondra, reviewed by Fabien Coelho. http://git.postgresql.org/pg/commitdiff/f828654e1097bdbb40fedebd9ac1ea045b183e15 - Coordinate log_line_prefix options 'm' and 'n' to share a timeval. Commit f828654e introduced the 'n' option, but it invoked gettimeofday() independently of the 'm' option. If both options were in use (or multiple 'n' options), or if 'n' was in use along with csvlog, then the reported times could be different for the same log message. To fix, initialize a global variable with gettimeofday() once per log message, and use that for both formats. Don't bother coordinating the time for the 't' option, which has much lower resolution. Per complaint by Alvaro Herrera. http://git.postgresql.org/pg/commitdiff/b1e1862a123b6904d51fd0a607e30f5832bf9a1f Álvaro Herrera pushed: - Add more sanity checks in contrib/sslinfo. We were missing a few return checks on OpenSSL calls. Should be pretty harmless, since we haven't seen any user reports about problems, and this is not a high-traffic module anyway; still, a bug is a b
[ANNOUNCE] == PostgreSQL Weekly News - September 06 2015 ==
== PostgreSQL Weekly News - September 06 2015 == PGConf.DE will be held on November 26-27, 2015 in Hamburg, Germany, at the Lindner Hotel am Michel. http://2015.pgconf.de/ == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2015-09/ == PostgreSQL Local == PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open until August 31. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Tom Lane pushed: - Remove long-dead support for platforms without sig_atomic_t. C89 requires to define sig_atomic_t, and there is no evidence in the buildfarm that any supported platforms don't comply. Remove the configure test to stop wasting build cycles on a purely historical issue. (Once upon a time, we cared about supporting C89-compliant compilers on machines with pre-C89 system headers, but that use-case has been dead for quite a few years.) I have some other fixes planned in this area, but let's start with this to see if the buildfarm produces any surprising results. http://git.postgresql.org/pg/commitdiff/0f19d0f12fa235c6951ff431bd60da594356a1a6 - Remove support for Unix systems without the POSIX signal APIs. Remove configure's checks for HAVE_POSIX_SIGNALS, HAVE_SIGPROCMASK, and HAVE_SIGSETJMP. These APIs are required by the Single Unix Spec v2 (POSIX 1997), which we generally consider to define our minimum required set of Unix APIs. Moreover, no buildfarm member has reported not having them since 2012 or before, which means that even if the code is still live somewhere, it's untested --- and we've made plenty of signal-handling changes of late. So just take these APIs as given and save the cycles for configure probes for them. However, we can't remove as much C code as I'd hoped, because the Windows port evidently still uses the non-POSIX code paths for signal masking. Since we're largely emulating these BSD-style APIs for Windows anyway, it might be a good thing to switch over to POSIX-like notation and thereby remove a few more #ifdefs. But I'm not in a position to code or test that. In the meantime, we can at least make things a bit more transparent by testing for WIN32 explicitly in these places. http://git.postgresql.org/pg/commitdiff/a65e086453e0dea5cdd7f9fe9dc6c34d8bfc0f2c - Remove theoretically-unnecessary special case for icc. Intel's icc is generally able to swallow asm blocks written for gcc. We have a few places that don't seem to know that, though. Experiment with removing the special case for icc in ia64_get_bsp(); if the buildfarm likes this, I'll try more cleanup. This is a good test case because it involves a "stop" notation that seems like it might not be very portable. http://git.postgresql.org/pg/commitdiff/2c713d6ea29c91cd2cbd92fa801a61e55ea2a3c4 - Actually, it's not that hard to merge the Windows pqsignal code ... ... just need to typedef sigset_t and provide sigemptyset/sigfillset, which are easy enough. http://git.postgresql.org/pg/commitdiff/f333204bbcd32091311b070e8f8ab4717dd8cadf - Allow icc to use the same atomics infrastructure as gcc. The atomics headers were written under the impression that icc doesn't handle gcc-style asm blocks, but this is demonstrably false on x86_[64], because s_lock.h has done it that way for more than a decade. (The jury is still out on whether this also works on ia64, so I'm leaving ia64-related code alone for the moment.) Treat gcc and icc the same in these headers. This is less code and it should improve the results for icc, because we hadn't gotten around to providing icc-specific implementations for most of the atomics. http://git.postgresql.org/pg/commitdiff/cf25b2a2f9a4306637a985cee86a9a987c0b6a7c - Clean up icc + ia64 situation. Some googling
[ANNOUNCE] == PostgreSQL Weekly News - August 30 2015 ==
== PostgreSQL Weekly News - August 30 2015 == == PostgreSQL Product News == CitusDB 4.1, a hybrid transaction/analytical processing platform on PostgreSQL, released. https://www.citusdata.com/blog/20-sumedh/250-announcing-citusdb-41 cstore_fdw 1.3, a columnar store extension for PostgreSQL, released. https://www.citusdata.com/blog/18-hadi/184-cstore-fdw-1-3-released pg_shard 1.2, an extension for scaling out PostgreSQL, released. https://www.citusdata.com/blog/21-jason/185-announcing-pg-shard-1-2 PL/Proxy 2.6, a database partitioning system implemented as a PL, released. https://plproxy.github.io/ sql_firewall 0.8, an extension intended to protect database from SQL injection or unexpected queries, released. https://github.com/uptimejp/sql_firewall == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2015-08/ == PostgreSQL Local == PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open until August 31. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Tom Lane pushed: - Tweak wording of syntax error messages about bad CONTINUE/EXIT statements. Try to avoid any possible confusion about what these messages mean. http://git.postgresql.org/pg/commitdiff/18391a8f0649f40bb841e6492895551fd873f79b - Fix potential platform dependence in gist regression test. The results of the KNN-search test cases were indeterminate, as they asked the system to sort pairs of points that are exactly equidistant from the query reference point. It's a bit surprising that we've seen no platform-specific failures from this in the buildfarm. Perhaps IEEE-float math is well enough standardized that no such failures will ever occur on supported platforms ... but since this entire regression test has yet to be shipped in any non-alpha release, that seems like an unduly optimistic assumption. Tweak the queries so that the correct output is uniquely defined. (The other queries in this test are also underdetermined; but it looks like they are regurgitating index rows in insertion order, so for the moment assume that that behavior is stable enough.) Per Greg Stark's experiments with VAX. Back-patch to 9.5 where this test script was introduced. http://git.postgresql.org/pg/commitdiff/e39c4afcfa0fb2c708e49e54089118d9b4ba5f89 - Limit the verbosity of memory context statistics dumps. We had a report from Stefan Kaltenbrunner of a case in which postmaster log files overran available disk space because multiple backends spewed enormous context stats dumps upon hitting an out-of-memory condition. Given the lack of similar reports, this isn't a common problem, but it still seems worth doing something about. However, we don't want to just blindly truncate the output, because that might prevent diagnosis of OOM problems. What seems like a workable compromise is to limit the dump to 100 child contexts per parent, and summarize the space used within any additional child contexts. That should help because practical cases where the dump gets long will typically be huge numbers of siblings under the same parent context; while the additional debugging value from seeing details about individual siblings beyond 100 will not be large, we hope. Anyway it doesn't take much code or memory space to do this, so let's try it like this and see how things go. Since the summarization mechanism requires passing totals back up anyway, I took the opportunity to add a grand total line to the end of the printout. http://git.postgresql.org/pg/commitdiff/7b5ef8f2d070c075811ec04a0fcb745d67c7fe3f - Further tweak wording of error messages about bad CONTINUE/EXIT statements. Per discussion, a little more verbosity seems called for. http://git.postgresql.org/pg/commitdiff
[ANNOUNCE] == PostgreSQL Weekly News - August 23 2015 ==
== PostgreSQL Weekly News - August 23 2015 == PgCUBA will take place October 19-23, 2015 in Havana. Spanish language information below: http://www.postgresql.org/about/event/1813/ == PostgreSQL Product News == Further enhancements to 2UDA (Alpha 2 release), a platform for data analytics, available now. http://2ndquadrant.com/2uda 2ndQuadrant now offers production support on IBM z Series mainframe http://2ndquadrant.com/en/support/support-ibm-z-systems/ == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2015-08/ == PostgreSQL Local == PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open until August 31. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Heikki Linnakangas pushed: - Fix reporting of skipped transactions in pgbench. Broken by commit 1bc90f7a. Fabien Coelho. http://git.postgresql.org/pg/commitdiff/0e8efed59e7f98f237e90fba20364165f7cc9ba9 - Add hint to run pgbench -i, if test tables don't exist. Fabien Coelho, reviewed by Julien Rouhaud http://git.postgresql.org/pg/commitdiff/e7b90c52b3ee440f63445ba8f83419fd713069cf Andres Freund pushed: - Improve configure test for the sse4.2 crc instruction. With optimizations enabled at least one compiler, clang 3.7, optimized away the crc intrinsics knowing that the result went on unused and has no side effects. That can trigger errors in code generation when the intrinsic is used, as we chose to use the intrinsics without any additional compiler flag. Return the computed value to prevent that. With some more pedantic warning flags (-Wold-style-definition) the configure test failed to recognize the existence of _mm_crc32_u* intrinsics due to an independent warning in the test because the test turned on -Werror, but that's not actually needed here. Discussion: 20150814092039.gh4...@awork2.anarazel.de Backpatch: 9.5, where the use of crc intrinsics was integrated. http://git.postgresql.org/pg/commitdiff/6cf72879e944f32b5b8232541cccd575de797fa4 - docs: Fix typo introduced in 3f811c2d. Reported-By: Michael Paquier Discussion: cab7npqsco+rfw9c-vgbcpyurqb3oocs-futoa_gfnuy1ee-...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/47ebbdcee7bc4e8dd1b88750ed778c61c4c5ec1b Tom Lane pushed: - Fix performance bug from conflict between two previous improvements. My expanded-objects patch (commit 1dc5ebc9077ab742) included code to make plpgsql pass expanded-object variables as R/W pointers to certain functions that are trusted for modifying such variables in-place. However, that optimization got broken by commit 6c82d8d1fdb1f126, which arranged to share a single ParamListInfo across most expressions evaluated by a plpgsql function. We don't want a R/W pointer to be passed to other functions just because we decided one function was safe! Fortunately, the breakage was in the other direction, of never passing a R/W pointer at all, because we'd always have pre-initialized the shared array slot with a R/O pointer. So it was still functionally correct, but we were back to O(N^2) performance for repeated use of a := a || x. To fix, force an unshared param array to be used when the R/W param optimization is active. Commit 6c82d8d1fdb1f126 is in HEAD only, so no need for a back-patch. http://git.postgresql.org/pg/commitdiff/d3eaab3ef0d552a2f6555b0424a32dc9e77fb17c - Fix a few bogus statement type names in plpgsql error messages. plpgsql's error location context messages (PL/pgSQL function fn-name line line-no at stmt-type) would misreport a CONTINUE statement as being an EXIT, and misreport a MOVE statement as being a FETCH. These are clear bugs that have been there a long time, so back-patch to all supported branches. In addition, in 9.5 and HEAD, change the description of EXECUTE from EXECUTE statement to just plain EXECUTE; there seems no good reason why this statement type should be described differently
[ANNOUNCE] == PostgreSQL Weekly News - August 09 2015 ==
== PostgreSQL Weekly News - August 09 2015 == PostgreSQL 9.5 Alpha 2 Released. Test! http://www.postgresql.org/about/news/1604/ == PostgreSQL Product News == cstore_fdw 1.3, a columnar store extension for PostgreSQL, released. https://www.citusdata.com/blog/18-hadi/184-cstore-fdw-1-3-released pgbouncer 1.6, a light-weight connection pooler for PostgreSQL, released. http://pgbouncer.github.io/2015/08/pgbouncer-1-6/ pgCluu 2.4, a Perl program to audit PostgreSQL performance, released. http://pgcluu.darold.net/ PostgreSQL Replication, 2nd Edition, is out. https://www.packtpub.com/big-data-and-business-intelligence/postgresql-replication-second-edition 2UDA, a platform for data analytics, released. http://2ndquadrant.com/2uda == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2015-08/ == PostgreSQL Local == PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open until August 31. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Andrew Dunstan pushed: - Allow TAP tests to run under Msys. The Msys DTK perl, which is required to run TAP tests under Msys as a native perl won't recognize the correct virtual paths, has its osname recorded in the Config module as 'msys' instead of 'MSWin32'. To avoid having to repeat the test a variable is created that is true iff the osname is either of these values, and is then used everywhere that matters. http://git.postgresql.org/pg/commitdiff/690ed2b76ab91eb79ea04ee2bfbdc8a2693f2a37 - Remove carriage returns from certain tap test output under Msys. These were causing spurious test failures. http://git.postgresql.org/pg/commitdiff/ff85fc8d0b3ae88221e20ee9b070c23248eb7921 - Allow pg_rewind tap tests to run with older File::Path versions. Older versions have rmtree but not remove_tree. The one-argument forms of these are equivalent, so replace remove_tree with rmtree. This allows the tests to be run on oldish Msys systems. http://git.postgresql.org/pg/commitdiff/7c29764a354a0e7deb3c28e1d5c38ff6662ee3f9 Tom Lane pushed: - Fix a number of places that produced XX000 errors in the regression tests. It's against project policy to use elog() for user-facing errors, or to omit an errcode() selection for errors that aren't supposed to be can't happen cases. Fix all the violations of this policy that result in ERRCODE_INTERNAL_ERROR log entries during the standard regression tests, as errors that can reliably be triggered from SQL surely should be considered user-facing. I also looked through all the files touched by this commit and fixed other nearby problems of the same ilk. I do not claim to have fixed all violations of the policy, just the ones in these files. In a few places I also changed existing ERRCODE choices that didn't seem particularly appropriate; mainly replacing ERRCODE_SYNTAX_ERROR by something more specific. Back-patch to 9.5, but no further; changing ERRCODE assignments in stable branches doesn't seem like a good idea. http://git.postgresql.org/pg/commitdiff/09cecdf285ea9f51aed669f9ea1ba840197d49d0 - contrib/isn now needs a .gitignore file. Oversight in commit cb3384a0cb4cf900622b77865f60e31259923079. Back-patch to 9.1, like that commit. http://git.postgresql.org/pg/commitdiff/fd7ed26c1a2353923be067dd84059f3ce3a5aff4 - Make modules/test_ddl_deparse/.gitignore match its siblings. Not sure why /tmp_check/ was omitted from this one, but even if it isn't really needed right now, it's inconsistent not to include it. http://git.postgresql.org/pg/commitdiff/e2b49db0f0c55196ae336e28bc14238cad1e - Update 9.5 release notes through today. http://git.postgresql.org/pg/commitdiff/ecc2d16bc97d160d3b4beecfc46676bbaaf157a5 - Fix a PlaceHolderVar-related oversight in star-schema planning patch. In commit b514a7460d9127ddda6598307272c701cbb133b7, I changed the planner so that it would allow nestloop paths to remain partially
[ANNOUNCE] == PostgreSQL Weekly News - August 02 2015 ==
== PostgreSQL Weekly News - August 02 2015 == == PostgreSQL Product News == cstore_fdw 1.3, a columnar store extension for PostgreSQL, released. https://www.citusdata.com/blog/18-hadi/184-cstore-fdw-1-3-released pgbouncer 1.6, a light-weight connection pooler for PostgreSQL, released. http://pgbouncer.github.io/2015/08/pgbouncer-1-6/ pgCluu 2.4, a Perl program to audit PostgreSQL performance, released. http://pgcluu.darold.net/ 2UDA, a platform for data analytics, released. http://2ndquadrant.com/2uda == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2015-08/ == PostgreSQL Local == PGDay Campinas 2015 will take place in Campinas on August 7. http://pgdaycampinas.com.br/english/ PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. The International Call For Papers is open until August 8. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Heikki Linnakangas pushed: - Remove false comment about speculative insertion. There is no full discussion of speculative insertions in the executor README. There is a high-level explanation in execIndexing.c, but it doesn't seem necessary to refer it from here. Peter Geoghegan http://git.postgresql.org/pg/commitdiff/e3a9a194b7cb70a8c01deeff9f876a2631f1be06 - Reuse all-zero pages in GIN. In GIN, an all-zeros page would be leaked forever, and never reused. Just add them to the FSM in vacuum, and they will be reinitialized when grabbed from the FSM. On master and 9.5, attempting to access the page's opaque struct also caused an assertion failure, although that was otherwise harmless. Reported by Jeff Janes. Backpatch to all supported versions. http://git.postgresql.org/pg/commitdiff/334445179c82ba304480ecbd00ae4237587e4baf - Avoid calling PageGetSpecialPointer() on an all-zeros page. That was otherwise harmless, but tripped the new assertion in PageGetSpecialPointer(). Reported by Amit Langote. Backpatch to 9.5, where the assertion was added. http://git.postgresql.org/pg/commitdiff/65c384c5abee7df6d27f98135790ea24c1b9578b - Fix memory leak in xlogreader facility. XLogReaderFree failed to free the per-block data buffers, when they happened to not be used by the latest read WAL record. Michael Paquier. Backpatch to 9.5, where the per-block buffers were added. http://git.postgresql.org/pg/commitdiff/61a65c53bd3e48e7ff7661a528d1791dfd956957 - Don't assume that PageIsEmpty() returns true on an all-zeros page. It does currently, and I don't see us changing that any time soon, but we don't make that assumption anywhere else. Per Tom Lane's suggestion. Backpatch to 9.2, like the previous patch that added this assumption. http://git.postgresql.org/pg/commitdiff/820d1ced1b308702b3f811647810b4030f974d89 - Fix handling of all-zero pages in SP-GiST vacuum. SP-GiST initialized an all-zeros page at vacuum, but that was not WAL-logged, which is not safe. You might get a torn page write, when it gets flushed to disk, and end-up with a half-initialized index page. To fix, leave it in the all-zeros state, and add it to the FSM. It will be initialized when reused. Also don't set the page-deleted flag when recycling an empty page. That was also not WAL-logged, and a torn write of that would cause the page to have an invalid checksum. Backpatch to 9.2, where SP-GiST indexes were added. http://git.postgresql.org/pg/commitdiff/023430abf72eb7d335430e241065d5ed19ddd94b - Fix memory leaks in pg_rewind. Several PQclear() calls were missing. Originally reported by Vladimir Borodin in the pg_rewind github project, patch by Michael Paquier. http://git.postgresql.org/pg/commitdiff/d7fd22a38ff48372c6813983317fc8d1e07fcf87 - Don't assume that 'char' is signed. On some platforms, notably ARM and PowerPC, 'char' is unsigned by default. This fixes an assertion failure at WAL replay on such platforms. Reported by Noah Misch. Backpatch
[ANNOUNCE] == PostgreSQL Weekly News - July 26 2015 ==
== PostgreSQL Weekly News - July 26 2015 == == PostgreSQL Product News == pgpool-II versions 3.4.3, 3.3.7, 3.2.12, 3.1.15, and 3.0.19 released. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2015-07/ == PostgreSQL Local == PGDay Campinas 2015 will take place in Campinas on August 7. http://pgdaycampinas.com.br/english/ PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. The International Call For Papers is open until August 8. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Heikki Linnakangas pushed: - Handle AT_ReAddComment in test_ddl_deparse, and add a catch-all default. In the passing, also move AT_ReAddComment to more logical position in the enum, after all the Constraint-related subcommands. This fixes a compiler warning, added by commit e42375fc. Backpatch to 9.5, like that patch. http://git.postgresql.org/pg/commitdiff/13f2db2ffb2fac24fcb57ecc56e030e1145df127 - Sanity-check that a page zeroed by redo routine is marked with WILL_INIT. There was already a sanity-check in the other direction: if a page was marked with WILL_INIT, it had to be initialized by the redo routine. It's not strictly necessary for correctness that a page is marked with WILL_INIT if it's going to be initialized at redo, but it's a missed optimization if nothing else. Fix a few instances of this issue in SP-GiST, where a block in WAL record was not marked with WILL_INIT, but was in fact always initialized at redo. We were creating a full-page image of the page unnecessarily in those cases. Backpatch to 9.5, where the new WILL_INIT flag was added. http://git.postgresql.org/pg/commitdiff/eb11de8ff5eac3592d539ad7ca3059c02e4d3e99 - Add selectivity estimation functions for intarray operators. Uriy Zhuravlev and Alexander Korotkov, reviewed by Jeff Janes, some cleanup by me. http://git.postgresql.org/pg/commitdiff/c6fbe6d6fb828f50b9d67627588eb5ab8bd25e47 - Fix off-by-one error in calculating subtrans/multixact truncation point. If there were no subtransactions (or multixacts) active, we would calculate the oldestxid == next xid. That's correct, but if next XID happens to be on the next pg_subtrans (pg_multixact) page, the page does not exist yet, and SimpleLruTruncate will produce an apparent wraparound warning. The warning is harmless in this case, but looks very alarming to users. Backpatch to all supported versions. Patch and analysis by Thomas Munro. http://git.postgresql.org/pg/commitdiff/766dcfb16ca385274d510eaed01724bb3836efdd Álvaro Herrera pushed: - Add some comments to test_ddl_deparse and a README. Per comments from Heikki Linnakangas. Backpatch to 9.5, where this module was introduced. http://git.postgresql.org/pg/commitdiff/8f612b7f0042a33f59cd4a18144b4d74e78b6859 - Fix mis-merge in previous commit http://git.postgresql.org/pg/commitdiff/b7ca57ac0e80b8b511780ef1f19fa2124c901efb - Improve BRIN documentation somewhat. This removes some info about support procedures being used, which was obsoleted by commit db5f98ab4f, as well as add some more documentation on how to create new opclasses using the Minmax infrastructure. (Hopefully we can get something similar for Inclusion as well.) In passing, fix some obsolete mentions of mmtuples in source code comments. Backpatch to 9.5, where BRIN was introduced. http://git.postgresql.org/pg/commitdiff/8d9073692430a222939e7f2e436c80f0c271f116 - Fix (some of) pltcl memory usage. As reported by Bill Parker, PL/Tcl did not validate some malloc() calls against NULL return. Fix by using palloc() in a new long-lived memory context instead. This allows us to simplify error handling too, by simply deleting the memory context instead of doing retail frees. There's still a lot that could
[ANNOUNCE] == PostgreSQL Weekly News - July 19 2015 ==
== PostgreSQL Weekly News - July 19 2015 == == PostgreSQL Product News == BDR 0.9.2, a replication system based on logical WALs, released. http://bdr-project.org/docs/stable/release-0.9.2.html == PostgreSQL Jobs for July == http://archives.postgresql.org/pgsql-jobs/2015-07/ == PostgreSQL Local == Rubens Souza from 2ndQuadrant Italia will lead a meetup on How to install PostgreSQL on a Raspberry PI on Thursday, July 23 in Prato. http://goo.gl/YYpsy7 PGDay Campinas 2015 will take place in Campinas on August 7. http://pgdaycampinas.com.br/english/ PostgresOpen 2015 will being held in Dallas, Texas September 16-18. http://2015.postgresopen.org/ PostgreSQL Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PGDay.IT 2015 will take place in Prato on October 23, 2015. The International Call For Papers is open until August 8. http://pgday.it PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. http://pgbr.postgresql.org.br/2015/en/#call-for-papers PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ == 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 == Bruce Momjian pushed: - release notes: markup: vacuumdb is an application, not command http://git.postgresql.org/pg/commitdiff/716f97f96663bdb8b64db9ed26121e2d399e06e0 Heikki Linnakangas pushed: - Reformat code in ATPostAlterTypeParse. The code in ATPostAlterTypeParse was very deeply indented, mostly because there were two nested switch-case statements, which add a lot of indentation. Use if-else blocks instead, to make the code less indented and more readable. This is in preparation for next patch that makes some actualy changes to the function. These cosmetic parts have been separated to make it easier to see the real changes in the other patch. http://git.postgresql.org/pg/commitdiff/1ab9faaecb03e685aeeb16143c19c0a24d6b0048 - Make regression test output stable. In the test query I added for ALTER TABLE retaining comments, the order of the result rows was not stable, and varied across systems. Add an ORDER BY to make the order predictable. This should fix the buildfarm failures. http://git.postgresql.org/pg/commitdiff/1a56498e5f6db949a066fb125199a7389a798421 - Add ALTER OPERATOR command, for changing selectivity estimator functions. Other options cannot be changed, as it's not totally clear if cached plans would need to be invalidated if one of the other options change. Selectivity estimator functions only change plan costs, not correctness of plans, so those should be safe. Original patch by Uriy Zhuravlev, heavily edited by me. http://git.postgresql.org/pg/commitdiff/321eed5f0f7563a0cabb3d7a98132856287c1ad1 - Fix event trigger support for the new ALTER OPERATOR command. Also, the lock on pg_operator should not be released until end of transaction. http://git.postgresql.org/pg/commitdiff/d5c0495cd4b9c78fdfc00961f4ae14c39f877f59 - Retain comments on indexes and constraints at ALTER TABLE ... TYPE ... When a column's datatype is changed, ATExecAlterColumnType() rebuilds all the affected indexes and constraints, and the comments from the old indexes/constraints were not carried over. To fix, create a synthetic COMMENT ON command in the work queue, to re-add any comments on constraints. For indexes, there's a comment field in IndexStmt that is used. This fixes bug #13126, reported by Kirill Simonov. Original patch by Michael Paquier, reviewed by Petr Jelinek and me. This bug is present in all versions, but only backpatch to 9.5. Given how minor the issue is, it doesn't seem worth the work and risk to backpatch further than that. http://git.postgresql.org/pg/commitdiff/e42375fc8124e99c33fa330c53c2b4b502fa0baf Fujii Masao pushed: - Prevent pgstattuple() from reporting BRIN as unknown index. Also this patch removes obsolete comment. Back-patch to 9.5 where BRIN index was added. http://git.postgresql.org/pg/commitdiff/705d397cd9cede1fd6fb1260d1689570bf6142d4 Álvaro Herrera pushed: - Mention table_rewrite as valid event trigger tag. This was forgotten in 618c9430a8. http://git.postgresql.org
[ANNOUNCE] == PostgreSQL Weekly News - June 28 2015 ==
== PostgreSQL Weekly News - June 28 2015 == PGConf.DE will be held November 26-27 in Hamburg, Germany, at the Lindner Hotel am Michel. The CfP is open until September 13, 2015. http://2015.pgconf.de/ == PostgreSQL Product News == HypoPG, hypothetical indexes for PostgreSQL, released. https://github.com/dalibo/hypopg par_psql v0.1: 'Parallel psql', which adds special markings for queries to be run in parallel, released. http://github.com/gbb/par_psql/ == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2015-06/threads.php == PostgreSQL Local == 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 PGDay Campinas 2015 will take place in Campinas on August 7. http://pgdaycampinas.com.br/english/ 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 Session #7, will be held September 24th, 2015 in Paris, France, http://www.postgresql-sessions.org/7/about PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. Discount registration is available through June 30. http://www.pgconfsv.com PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open through July 15. http://pgbr.postgresql.org.br/2015/en/#call-for-papers == 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 == Noah Misch pushed: - Truncate strings in tarCreateHeader() with strlcpy(), not sprintf(). This supplements the GNU libc bug #6530 workarounds introduced in commit 54cd4f04576833abc394e131288bf3dd7dcf4806. On affected systems, a tar-format pg_basebackup failed when some filename beneath the data directory was not valid character data in the postmaster/walsender locale. Back-patch to 9.1, where pg_basebackup was introduced. Extant, bug-prone conversion specifications receive only ASCII bytes or involve low-importance messages. http://git.postgresql.org/pg/commitdiff/4318118edd5582696027f357771e0a8b091fe2bf Robert Haas pushed: - psql: Add some tab completion for TABLESAMPLE. Petr Jelinek, reviewed by Brendan Jurd http://git.postgresql.org/pg/commitdiff/da9ee026a0ddd100785b00defd1201b317c0797b - Update get_relation_info comment. Thomas Munro http://git.postgresql.org/pg/commitdiff/51d0fe5d5682a65e3bce7aa62d8666509fd08aa2 - Allow background workers to connect to no particular database. The documentation claims that this is supported, but it didn't actually work. Fix that. Reported by Pavel Stehule; patch by me. http://git.postgresql.org/pg/commitdiff/f7bb7f0625771bc71869cdadafcf54450b2db08f - Improve handling of CustomPath/CustomPlan(State) children. Allow CustomPath to have a list of paths, CustomPlan a list of plans, and CustomPlanState a list of planstates known to the core system, so that custom path/plan providers can more reasonably use this infrastructure for nodes with multiple children. KaiGai Kohei, per a design suggestion from Tom Lane, with some further kibitzing by me. http://git.postgresql.org/pg/commitdiff/5ca611841bcd37c7ee8448c46c8398ef8d8edcc4 - Reduce log level for background worker events from LOG to DEBUG1. Per discussion, LOG is just too chatty for something that will happen as routinely as this. Pavel Stehule http://git.postgresql.org/pg/commitdiff/91118f1a59f2038f072552fdbb98e01363e30b59 - Don't warn about creating temporary or unlogged hash indexes. Warning people that no WAL-logging will be done doesn't make sense in this case. Michael Paquier http://git.postgresql.org/pg/commitdiff/9043ef390f4f0b4586cfe59cbd22314b9c3e2957 - release notes: Combine items for pg_upgrade and pg_upgrade_support moves. Per suggestions from Amit Langote and Álvaro Herrera. http://git.postgresql.org/pg/commitdiff/31c018ecda9f40fe80055d8ba95248c023593fb4 - Remove unnecessary NULL test. Spotted by Coverity and reported by Michael Paquier. Per discussion, we don't necessarily care about making Coverity happy in all such instances, but we can go ahead and change them where it otherwise seems to improve the code. http://git.postgresql.org/pg/commitdiff/8a8c581a8c99b9beecbdc517957da866f427f297 - release notes: Add entry for commit 5ea86e6e6. Peter Geoghegan
[ANNOUNCE] == PostgreSQL Weekly News - June 21 2015 ==
== PostgreSQL Weekly News - June 21 2015 == PostgreSQL Conference Europe 2015 in Vienna, Austria, on October 27-30 is now accepting registrations for conference attendance at http://2015.pgconf.eu/registration/. == PostgreSQL Product News == The Amazon Linux AMI now has pgTap support. https://lambda-linux.io/blog/2015/06/18/announcing-pgtap-support-for-amazon-linux/ MJSQLView Version 7.03, a Java-based UI which supports PostgreSQL, released. http://myjsqlview.com/ PG Partition Manager 2.0.0 an extension to manage table partitioning, released. https://github.com/keithf4/pg_partman psycopg2 2.6.1, a Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2015/06/16/psycopg-261-released/ == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2015-06/threads.php == PostgreSQL Local == The second Swiss Postgres Conference will be held June 25-26, 2015 at HSR Rapperswil. http://www.postgres-conference.ch/ 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 PGDay Campinas 2015 will take place in Campinas on August 7. The CfP is open through May 31. http://pgdaycampinas.com.br/english/ 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/ The CfP for PostgreSQL Session #7, September 24th, 2015 in Paris, France, is open until June 15, 2015. call-for-paper AT postgresql-sessions DOT org. http://www.postgresql-sessions.org/7/about PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. The CfP is open through June 15. http://www.pgconfsv.com == 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 == Michael Meskes pushed: - Check for out of memory when allocating sqlca. Patch by Michael Paquier http://git.postgresql.org/pg/commitdiff/94a484222caece19e381a6941b8d826027ac2e75 - Fix memory leak in ecpglib's connect function. Patch by Michael Paquier http://git.postgresql.org/pg/commitdiff/af0b49fc98cb3494d1e444a4f5c3364627a3ed5f Andrew Dunstan pushed: - Fix comment in fmgr.h to refer to actual function used. FunctionLookup() is long gone if it ever existed, and fmgr_info() is what's now used, so the comments now reflect that. http://git.postgresql.org/pg/commitdiff/41d798a139b5c94ad8ce10b192141b5bcc03dda3 Noah Misch pushed: - Detect setlocale(LC_CTYPE, NULL) clobbering previous return values. POSIX permits setlocale() calls to invalidate any previous setlocale() return values. Commit 5f538ad004aa00cf0881f179f0cde789aad4f47e neglected to account for that. In advance of fixing that bug, switch to failing hard on affected configurations. This is a planned temporary commit to assay buildfarm-represented configurations. http://git.postgresql.org/pg/commitdiff/b76e76be460a240e99c33f6fb470dd1d5fe01a2a - Revert Detect setlocale(LC_CTYPE, NULL) clobbering previous return values. This reverts commit b76e76be460a240e99c33f6fb470dd1d5fe01a2a. The buildfarm yielded no related failures. http://git.postgresql.org/pg/commitdiff/1f2a378de41bf3e516b8d2c4d65790aeefbfb89d - Fix failure to copy setlocale() return value. POSIX permits setlocale() calls to invalidate any previous setlocale() return values, but commit 5f538ad004aa00cf0881f179f0cde789aad4f47e neglected to account for setlocale(LC_CTYPE, NULL) doing so. The effect was to set the LC_CTYPE environment variable to an unintended value. pg_perm_setlocale() sets this variable to assist PL/Perl; without it, Perl would undo PostgreSQL's locale settings. The known-affected configurations are 32-bit, release builds using Visual Studio 2012 or Visual Studio 2013. Visual Studio 2010 is unaffected, as were all buildfarm-attested configurations. In principle, this bug could leave the wrong LC_CTYPE in effect after PL/Perl use, which could in turn facilitate problems like corrupt tsvector datums. No known platform experiences that consequence, because PL/Perl on Windows does not use this environment variable. The bug has been user-visible, as early postmaster failure, on systems with Windows ANSI code page set to CP936 for Chinese (Simplified, PRC) and probably on systems using other multibyte code pages. (SetEnvironmentVariable() rejects values containing character data
[ANNOUNCE] == PostgreSQL Weekly News - June 07 2015 ==
== PostgreSQL Weekly News - June 07 2015 == Bug fix releases 9.4.3, 9.3.8, 9.2.12, 9.1.17, and 9.0.21 released. Upgrade! https://wiki.postgresql.org/wiki/May_2015_Fsync_Permissions_Bug == PostgreSQL Product News == BDR 0.9.1, a replication system based on logical WALs, released. http://bdr-project.org/docs/stable/release-0.9.1.html PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto Alegre, Rio Grande do Sul, on November 18, 19 and 20. The CfP is open through Jul 15. http://pgbr.postgresql.org.br/2015/en/#call-for-papers Postgres Toolkit 0.2.1 released. https://github.com/uptimejp/postgres-toolkit StakePoint technical preview, a Portfolio Project Management solution using PostgreSQL, released. http://stakepoint.com/ tds_fdw 1.0.2, a foreign data wrapper for MS-SQL Server and Sybase, released. https://github.com/GeoffMontee/tds_fdw/releases == PostgreSQL Jobs for June == http://archives.postgresql.org/pgsql-jobs/2015-06/threads.php == PostgreSQL Local == PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ The second Swiss Postgres Conference will be held June 25-26, 2015 at HSR Rapperswil. http://www.postgres-conference.ch/ 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 PGDay Campinas 2015 will take place in Campinas on August 7. The CfP is open through May 31. http://pgdaycampinas.com.br/english/ 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/ The CfP for PostgreSQL Session #7, September 24th, 2015 in Paris, France, is open until June 15, 2015. call-for-paper AT postgresql-sessions DOT org. http://www.postgresql-sessions.org/7/about PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. The CfP is open through June 15. http://www.pgconfsv.com == 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 == Andrew Dunstan pushed: - Add a couple of missing JsonbValue type initialisers. http://git.postgresql.org/pg/commitdiff/28b29f7e44534339f88ea914794f8b64e13bc528 - Rename jsonb_replace to jsonb_set and allow it to add new values. The function is given a fourth parameter, which defaults to true. When this parameter is true, if the last element of the path is missing in the original json, jsonb_set creates it in the result and assigns it the new value. If it is false then the function does nothing unless all elements of the path are present, including the last. Based on some original code from Dmitry Dolgov, heavily modified by me. Catalog version bumped. http://git.postgresql.org/pg/commitdiff/37def4224505f3a23a5eef000f0d05daea59c5b5 - Avoid naming a variable new, and remove bogus initializer. Per gripe from Tom Lane. http://git.postgresql.org/pg/commitdiff/50ab76d3c19c95589f4eb19683e25cb88a2506e2 Bruce Momjian pushed: - pgindent: add typedef blog URL http://git.postgresql.org/pg/commitdiff/ab959cc0ea7ee143e017e18fae23e4269a1ba435 Tom Lane pushed: - Release notes for 9.4.3, 9.3.8, 9.2.12, 9.1.17, 9.0.21. Also sneak entries for commits 97ff2a564 et al into the sections for the previous releases in the relevant branches. Those fixes did go out in the previous releases, but missed getting documented. http://git.postgresql.org/pg/commitdiff/82ec7d28211b97a2c9917b7a71edbe6b019578da - Fix planner's cost estimation for SEMI/ANTI joins with inner indexscans. When the inner side of a nestloop SEMI or ANTI join is an indexscan that uses all the join clauses as indexquals, it can be presumed that both matched and unmatched outer rows will be processed very quickly: for matched rows, we'll stop after fetching one row from the indexscan, while for unmatched rows we'll have an indexscan that finds no matching index entries, which should also be quick. The planner already knew about this, but it was nonetheless charging for at least one full run of the inner indexscan, as a consequence of concerns about the behavior of materialized inner scans --- but those concerns don't apply in the fast case. If the inner side has low cardinality (many matching rows) this could make an indexscan plan look far more expensive than it actually is. To fix, rearrange the work in initial_cost_nestloop/final_cost_nestloop so that we
[ANNOUNCE] == PostgreSQL Weekly News - May 31 2015 ==
== PostgreSQL Weekly News - May 31 2015 == Bug fix releases 9.4.3, 9.3.8, 9.2.12, 9.1.17, and 9.0.21 out soon. Prepare to upgrade. https://wiki.postgresql.org/wiki/May_2015_Fsync_Permissions_Bug == PostgreSQL Product News == PG Partition Manager 2.0.0RC1 an extension to manage table partitioning, released. https://github.com/keithf4/pg_partman_v2RC1 Vitesse X 9.4.1 for Postgres, a PostgreSQL-based OLAP product, released. http://vitessedata.com/vitesse-x == PostgreSQL Jobs for May == http://archives.postgresql.org/pgsql-jobs/2015-05/threads.php == PostgreSQL Local == PGDay in Belfort, France 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/ The second Swiss Postgres Conference will be held June 25-26, 2015 at HSR Rapperswil. http://www.postgres-conference.ch/ 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 PGDay Campinas 2015 will take place in Campinas on August 7. The CfP is open through May 31. http://pgdaycampinas.com.br/english/ 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/ The CfP for PostgreSQL Session #7, September 24th, 2015 in Paris, France, is open until June 15, 2015. call-for-paper AT postgresql-sessions DOT org. http://www.postgresql-sessions.org/7/about PostgreSQL Conference Europe 2015 will be held on October 27-30 in the Vienna Marriott Hotel, in Vienna, Austria. The CfP is open until August 7. http://2015.pgconf.eu/ PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. The CfP is open through June 15. http://www.pgconfsv.com == 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 == Bruce Momjian pushed: - Revert 9.5 pgindent changes to atomics directory files. This is because there are many __asm__ blocks there that pgindent messes up. Also configure pgindent to skip that directory in the future. http://git.postgresql.org/pg/commitdiff/befa3e648ce018d84cd2a0df701927c56fe3da4e - pgindent: more doc updates for skipping __asm__ files http://git.postgresql.org/pg/commitdiff/266b6984cd7391e42770ca3a9922a9e8b1d4d7d3 - pgindent: fix typo. Report by Michael Paquier http://git.postgresql.org/pg/commitdiff/8339e70da6682059f7ab40f0c0b0dfcdcb78761d - pgindent: document location of all typedef lists http://git.postgresql.org/pg/commitdiff/3503003eb70c5a56c59afb20b4c7abec6cf9eb86 - pg_upgrade: add missing period in C comment http://git.postgresql.org/pg/commitdiff/ac6f22957d2f2999034b6a14d0d4bee25ba95f04 Heikki Linnakangas pushed: - Fix rescan of IndexScan node with the new lossy GiST distance functions. Must reset the reached end flag and reorder queue at rescan. Per report from Regina Obe, bug #13349 http://git.postgresql.org/pg/commitdiff/12e6c5a6cae1e34da2d320390993010b6e15ba9e Andrew Dunstan pushed: - Clean up and simplify jsonb_concat code. Some of this is made possible by commit 9b74f32cdbff8b9be47fc69164eae552050509ff which lets pushJsonbValue handle binary Jsonb values, meaning that clients no longer have to, and some is just doing things in simpler and more straightforward ways. http://git.postgresql.org/pg/commitdiff/6739aa298b5e3260481a2d5723a75b057d6119c6 - Simplify addJsonbToParseState(). This function no longer needs to walk non-scalar structures passed to it, following commit 54547bd87f49326d67051254c363e6597d16ffda. http://git.postgresql.org/pg/commitdiff/fba12c8c6c4159e1923958a4006b26f3cf873254 - Add all structured objects passed to pushJsonbValue piecewise. Commit 9b74f32cdbff8b9be47fc69164eae552050509ff did this for objects of type jbvBinary, but in trying further to simplify some of the new jsonb code I discovered that objects of type jbvObject or jbvArray passed as WJB_ELEM or WJB_VALUE also caused problems. These too are now added component by component. Backpatch to 9.4. http://git.postgresql.org/pg/commitdiff/54547bd87f49326d67051254c363e6597d16ffda - Revert Simplify addJsonbToParseState(). This reverts commit fba12c8c6c4159e1923958a4006b26f3cf873254. This relied on a commit that is also being reverted. http://git.postgresql.org/pg/commitdiff/956cc4434c3a8e69813b325618402508d1dbdcd9 - Revert Add all structured objects passed to pushJsonbValue piecewise. This reverts commit 54547bd87f49326d67051254c363e6597d16ffda. This appears to have been a thinko on my part. I
[ANNOUNCE] == PostgreSQL Weekly News - May 10 2015 ==
== PostgreSQL Weekly News - May 10 2015 == == PostgreSQL Product News == barman 1.4.1, a backup and recovery manager for PostgreSQL, released. http://www.pgbarman.org/barman-1-4-1-released/ == PostgreSQL Jobs for May == http://archives.postgresql.org/pgsql-jobs/2015-05/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/ PGDay in Belfort, France 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 PGDay Campinas 2015 will take place in Campinas on August 7. The CfP is open through May 31. http://pgdaycampinas.com.br/english/ 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/ The CfP for PostgreSQL Session #7, September 24th, 2015 in Paris, Francisc, is open until June 15, 2015. call-for-paper AT postgresql-sessions DOT org. http://www.postgresql-sessions.org/7/about PGConf Silicon Valley 2015 is November 17-18 at the South San Francisco Convention Center. The CfP is open through June 15. http://www.pgconfsv.com == 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 == Tom Lane pushed: - Second try at fixing warnings caused by commit 9b43d73b3f9bef27. Commit ef3f9e642d2b2bba suppressed one cause of warnings here, but recent clang on OS X is still unhappy because we're passing a long to abs(). The fact that tm_gmtoff is declared as long is no doubt a hangover from days when int might be only 16 bits; but Postgres has never been able to run on such machines, so we can just cast it to int with no worries. For consistency, also cast to int in the other uses of tm_gmtoff in this stanza. Note: this code is still broken on machines that don't follow C99 integer-division-truncates-towards-zero rules. Given the lack of complaints about it, I don't feel a large desire to complicate things enough to cope with the pre-C99 rules. http://git.postgresql.org/pg/commitdiff/c90b85e4d9e4ae3bc26459cc54697e1adaa4315f - Improve procost estimates for some text search functions. The text search functions that involve parsing raw text into lexemes are remarkably CPU-intensive, so estimating them at the same cost as most other built-in functions seems like a mistake; moreover, doing so turns out to discourage the optimizer from using functional indexes on these functions. After some debate, we've agreed to raise procost from 1 to 100 for to_tsvector(), plainto_tsvector(), to_tsquery(), ts_headline(), ts_match_tt(), and ts_match_tq(), which are all the text search functions that parse raw text. Also increase procost for the 2-argument form of ts_rewrite() (tsquery_rewrite_query); while this function doesn't do text parsing, it does execute a user-supplied SQL query, so its previous procost of 1 is clearly a drastic underestimate. It seems reasonable to assign it the same cost we assign to PL functions by default, so 100 is the number here too. I did not bother bumping catversion for this change, since it does not break catalog compatibility with the server executable nor result in any regression test changes. Per complaint from Andrew Gierth and subsequent discussion. http://git.postgresql.org/pg/commitdiff/2503982be4ca48f48d2bb6e1d46160b23e4bb268 - Fix incorrect declaration of citext's regexp_matches() functions. These functions should return SETOF TEXT[], like the core functions they are wrappers for; but they were incorrectly declared as returning just TEXT[]. This mistake had two results: first, if there was no match you got a scalar null result, whereas what you should get is an empty set (zero rows). Second, the 'g' flag was effectively ignored, since you would get only one result array even if there were multiple matches, as reported by Jeff Certain. While ignoring 'g' is a clear bug, the behavior for no matches might well have been thought to be the intended behavior by people who hadn't compared it carefully to the core regexp_matches() functions. So we should tread carefully about
[ANNOUNCE] == PostgreSQL Weekly News - April 26 2015 ==
== PostgreSQL Weekly News - April 26 2015 == == PostgreSQL Product News == Bottled Water, a system for getting data from PostgreSQL into Kafka, released. http://blog.confluent.io/2015/04/23/bottled-water-real-time-integration-of-postgresql-and-kafka/ PGDay Campinas 2015 will take place in Campinas on August 7. The CfP is open through May 31. http://pgdaycampinas.com.br/english/ pgFormatter v1.4, a SQL formatter/beautifier which supports keywords from SQL-92, SQL-99, SQL-2003, SQL-2008, SQL-2011 and PostgreSQL keywords are not in the standard, released. http://sqlformat.darold.net/ The CfP for PostgreSQL Session #7, September 24th, 2015 in Paris, Francisc, is open until June 15, 2015. call-for-paper AT postgresql-sessions DOT org. http://www.postgresql-sessions.org/7/about PipelineDB, a streaming-SQL analytics database based on PostgreSQL, is in beta. http://www.pipelinedb.com/ == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2015-04/threads.php == PostgreSQL Local == The 4th Turkish PostgreSQL Conference will be held on May 9, 2015 in Istanbul. http://pgday.postgresql.org.tr/en/index.html 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 == Peter Eisentraut pushed: - Move pg_test_fsync from contrib/ to src/bin/. Reviewed-by: Michael Paquier michael.paqu...@gmail.com http://git.postgresql.org/pg/commitdiff/00882d9e5ce7b693aa536346f68a826064c8683a - Move pg_test_timing from contrib/ to src/bin/. Reviewed-by: Michael Paquier michael.paqu...@gmail.com http://git.postgresql.org/pg/commitdiff/528c2e44ab0a5ba49a5a04689dae3f674b71c15e - Move pg_xlogdump from contrib/ to src/bin/. Reviewed-by: Michael Paquier michael.paqu...@gmail.com http://git.postgresql.org/pg/commitdiff/b0a738f428ca4e52695c0f019c1560c64cc59aef - Fix shell error on Solaris. Apparently, the Bourne shell on Solaris doesn't like for loops with an empty list, so have make skip the loop in that case. http://git.postgresql.org/pg/commitdiff/2aa0fb032ecdc5624a3706a2db0a7ca42bbaf211 - Improve speed of make check-world. Before, make check-world would create a new temporary installation for each test suite, which is slow and wasteful. Instead, we now create one test installation that is used by all test suites that are part of a make run. The management of the temporary installation is removed from pg_regress and handled in the makefiles. This allows for better control, and unifies the code with that of test suites not run through pg_regress. Review and msvc support by Michael Paquier michael.paqu...@gmail.com. More review by Fabien Coelho coe...@cri.ensmp.fr http://git.postgresql.org/pg/commitdiff/dcae5faccab64776376d354decda0017c648bb53 - Fix misspellings. Amit Langote and Thom Brown http://git.postgresql.org/pg/commitdiff/9ba978c8cc80d6f9e78b2ceef7f94834317b46aa - doc: Move ALTER TABLE IF EXISTS description to better place. It was previously mixed in with the description of ALTER TABLE subcommands. Move it to the Parameters section, which is where it is on other reference pages. pointed out by Amit Langote http://git.postgresql.org/pg/commitdiff/d64a9c8c833c497a926208c7ca898e270ecc6990 - Replace backslashes by forward slashes in MSVC build code. This makes it possible to run some stages of these build scripts on non-Windows systems. That way, we can more easily test whether file moves or makefile changes might break the MSVC build. Peter Eisentraut and Michael Paquier http://git.postgresql.org/pg/commitdiff/854adb83711da8fda2a8f028c27ad8956179c04a - Don't overwrite EXTRA_INSTALL. The temp-install target sets EXTRA_INSTALL to install the current directory. But when doing so, it should append
[ANNOUNCE] == PostgreSQL Weekly News - April 19 2015 ==
== PostgreSQL Weekly News - April 19 2015 == == PostgreSQL Product News == Ora2PG 15.2, a migration system for moving from Oracle to PostgreSQL, released. http://ora2pg.darold.net/ pgBadger 6.4, a parallel PostgreSQL log analyzer written in Perl, released: https://sourceforge.net/projects/pgbadger/ Development: https://github.com/dalibo/pgbadger/ pgFormatter v1.4, a SQL formatter/beautifier which supports keywords from SQL-92, SQL-99, SQL-2003, SQL-2008, SQL-2011 and PostgreSQL keywords are not in the standard, released. http://sqlformat.darold.net/ pg_monz v2.0, a Zabbix template for monitoring PostgreSQL, released. http://pg-monz.github.io/pg_monz/index-en.html == PostgreSQL Jobs for April == http://archives.postgresql.org/pgsql-jobs/2015-04/threads.php == PostgreSQL Local == The 4th Turkish PostgreSQL Conference will be held on May 9, 2015 in Istanbul. http://pgday.postgresql.org.tr/en/index.html 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 == Peter Eisentraut pushed: - emacs: Set indent-tabs-mode in perl-mode This matches existing practice, but makes the setup complete and consistent with the C code setup. http://git.postgresql.org/pg/commitdiff/442663f133f1caec51919402463e6e31362baee3 - Move pgbench from contrib/ to src/bin/. Reviewed-by: Michael Paquier michael.paqu...@gmail.com http://git.postgresql.org/pg/commitdiff/81134af3ec09d67043833f8d614fd688f17cb213 - pgbench: Attempt fix build on Windows http://git.postgresql.org/pg/commitdiff/d577bb868dfb595aa8df95974cd1c79e1baba924 - Move pg_upgrade from contrib/ to src/bin/. Reviewed-by: Michael Paquier michael.paqu...@gmail.com http://git.postgresql.org/pg/commitdiff/9fa8b0ee90c44c0f97d16bf65e94322988c94864 - Integrate pg_upgrade_support module into backend. Previously, these functions were created in a schema binary_upgrade, which was deleted after pg_upgrade was finished. Because we don't want to keep that schema around permanently, move them to pg_catalog but rename them with a binary_upgrade_... prefix. The provided functions are only small wrappers around global variables that were added specifically for pg_upgrade use, so keeping the module separate does not create any modularity. The functions still check that they are only called in binary upgrade mode, so it is not possible to call these during normal operation. Reviewed-by: Michael Paquier michael.paqu...@gmail.com http://git.postgresql.org/pg/commitdiff/30982be4e5019684e1772dd9170aaa53f5a8e894 Fujii Masao pushed: - Silence gettext warning about '\r' escape sequence in translatable string. gettext was unhappy about the commit b216ad7 because it revealed the problem that internationalized messages may contain '\r' escape sequence in pg_rewind. This commit moves '\r' to a separate printf() call. Michael Paquier, bug reported by Peter Eisentraut http://git.postgresql.org/pg/commitdiff/1f94bec7a9e3e6b4fa5468236cf531fec16d1093 Heikki Linnakangas pushed: - Refactor and fix TAP tests of pg_rewind * Don't pass arguments to prove, since that's not supported on perl 5.8 which is the minimum version supported by the TAP tests. Refactor the test files themselves to run the tests twice, in both local and remote mode. * Use eq rather than == for string comparison. This thinko caused the remote versions of the tests to never run. * Add use strict and use warnings, and fix warnings that that produced. * Increase the delay after standby promotion, to make the tests more robust. * In remote mode, the connection string to the promoted standby was incorrect, leading to connection errors. Patch by Michael Paquier, to address Peter Eisentraut's report. http
[ANNOUNCE] == PostgreSQL Weekly News - April 12 2015 ==
== 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
[ANNOUNCE] == PostgreSQL Weekly News - April 05 2015 ==
== PostgreSQL Weekly News - April 05 2015 == == PostgreSQL Product News == PostgreSQL Data Sync 15.3, a Windows GUI for PostgreSQL database contents comparison and synchronization, released. http://www.sqlmaestro.com/products/postgresql/datasync/ pgBadger 6.3, a parallel PostgreSQL log analyzer written in Perl, released: https://sourceforge.net/projects/pgbadger/ Development: https://github.com/dalibo/pgbadger/ The 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 PostgreSQL Troubleshooting, a book by Hans-Jürgen Schönig, released. http://www.cybertec.at/media/buecher/ == 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/ The constituent assembly of the Swiss PostgreSQL Users Group (SwissPUG) will be Friday, April 10, 2015 http://www.swisspug.org India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka, India on April 11, 2015. RSVP at http://www.meetup.com/India-PUG/events/220553997/ 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/ 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 == Tom Lane pushed: - Fix multiple bugs and infelicities in pg_rewind. Bugs all spotted by Coverity, including wrong realloc() size request and memory leaks. Cosmetic improvements by me. The usage of the global variable filemap here is still pretty awful, but at least I got rid of the gratuitous aliasing in several routines (which was helping to annoy Coverity, as well as being a bug risk). http://git.postgresql.org/pg/commitdiff/c67f366fa9f748257861ee233b47b80eb5ffa857 - Clean up all the cruft after a pg_rewind test run. regress_log temp directory was properly .gitignore'd, which may explain why it got left out of the make clean action. http://git.postgresql.org/pg/commitdiff/1c41e2a998a0de16d9d33949a7b98a5be3d2477c - Fix rare core dump in BackendIdGetTransactionIds(). BackendIdGetTransactionIds() neglected the possibility that the PROC pointer in a ProcState array entry is null. In current usage, this could only crash if the other backend had exited since pgstat_read_current_status saw it as active, which is a pretty narrow window. But it's reachable in the field, per bug #12918 from Vladimir Borodin. Back-patch to 9.4 where the faulty code was introduced. http://git.postgresql.org/pg/commitdiff/701dcc983eb4d08dd36bb3a0ddba255819797760 - Be more careful about printing constants in ruleutils.c. The previous coding in get_const_expr() tried to avoid quoting integer, float, and numeric literals if at all possible. While that looks nice, it means that dumped expressions might re-parse to something that's semantically equivalent but not the exact same parsetree; for example a FLOAT8 constant would re-parse as a NUMERIC constant with a cast to FLOAT8. Though the result would be the same after constant-folding, this is problematic in certain contexts. In particular, Jeff Davis pointed out that this could cause unexpected failures in ALTER INHERIT operations because of child tables having not-exactly-equivalent CHECK expressions. Therefore, favor correctness over legibility and dump such constants in quotes except in the limited cases where they'll be interpreted as the same type even without any casting. This results in assorted small changes in the regression test outputs, and will affect display of user-defined views and rules similarly. The odds of that causing problems in the field seem non-negligible; given the lack of previous complaints, it seems best not to change this in the back branches. http://git.postgresql.org/pg/commitdiff/542320c2bd0b3796a8a9a4617cdb23fbad473390 - Fix bogus concurrent use of _hash_getnewbuf() in bucket split code. _hash_splitbucket() obtained the base page of the new bucket by calling
[ANNOUNCE] == PostgreSQL Weekly News - March 29 2015 ==
== PostgreSQL Weekly News - March 29 2015 == pgDay Paris 2015 will be held in Paris, France, at the headquarters of La Poste, on April 21, 2015. Registration is open. http://pgday.paris/ == PostgreSQL Product News == BDR 0.9.0, a replication system based on logical WALs, released. http://bdr-project.org/docs/0.9.0/release-0.9.0.html CitusDB 4.0, a hybrid transaction/analytical processing platform on PostgreSQL, released. https://www.citusdata.com/blog/20-sumedh/140-citusdb4-0-release-notes Vitesse DB, a PostgreSQL-based OLAP product which adds LLVM JIT, parallel query execution and a column store, released. http://vitessedata.com/ == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2015-03/threads.php == PostgreSQL Local == The CfP for the second Swiss Postgres Conference, to be held June 25-26, 2015 at HSR Rapperswil, is open until April 1. http://www.postgres-conference.ch/cfp/ The constituent assembly of the Swiss PostgreSQL Users Group (SwissPUG) will be Friday, April 10, 2015 http://www.swisspug.org India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka, India on April 11, 2015. RSVP at http://www.meetup.com/India-PUG/events/220553997/ 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/ 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 == Robert Haas pushed: - Remove ill-advised pre-check for DSM segment exhaustion. dsm_control-nitems never decreases, so this is testing whether the server has *ever* run out of DSM segments, not whether it is *currently* out of DSM segments. Reported off-list by Amit Kapila. http://git.postgresql.org/pg/commitdiff/372b97097e8c9a67326e99a07da30ab44f6f822a Andres Freund pushed: - Fix copy paste error in 4f1b890b137. Due to the bug delayed standbys would not delay when applying prepared transactions. Discussion: CAB7nPqT6BO1cCn+sAyDByBxA4EKZNAiPi2mFJ=anezmnmew...@mail.gmail.com Michael Paquier via Coverity. http://git.postgresql.org/pg/commitdiff/a1105c3dd44c1fb76eb62a708f0421f21b9dde9b - Don't delay replication for less than recovery_min_apply_delay's resolution. Recovery delays are implemented by waiting on a latch, and latches take milliseconds as a parameter. The required amount of waiting was computed using microsecond resolution though and the wait loop's abort condition was checking the delay in microseconds as well. This could lead to short spurts of busy looping when the overall wait time was below a millisecond, but above 0 microseconds. Instead just formulate the wait loop's abort condition in millisecond granularity as well. Given that that's recovery_min_apply_delay resolution, it seems harmless to not wait for less than a millisecond. Backpatch to 9.4 where recovery_min_apply_delay was introduced. Discussion: 20150323141819.gh26...@alap3.anarazel.de http://git.postgresql.org/pg/commitdiff/87cec51d3ad1107f6f224ed7d773e70c8896e4c0 - Centralize definition of integer limits. Several submitted and even committed patches have run into the problem that C89, our baseline, does not provide minimum/maximum values for various integer datatypes. C99's stdint.h does, but we can't rely on it. Several parts of the code defined limits locally, so instead centralize the definitions to c.h. This patch also changes the more obvious usages of literal limit values; there's more places that could be changed, but it's less clear whether it's beneficial to change those. Author: Andrew Gierth Discussion: 87619tc5wc@news-spur.riddles.org.uk http://git.postgresql.org/pg/commitdiff/83ff1618bc9d4e530d3ef2a668a71326784a753c Heikki Linnakangas pushed: - Add pg_rewind, for re-synchronizing a master server after failback. Earlier versions of this tool were available (and still are) on github. Thanks to Michael Paquier, Alvaro Herrera, Peter Eisentraut, Amit Kapila, and Satoshi Nagayasu for review. http://git.postgresql.org/pg/commitdiff/61081e75c6741024f7717ade0450090590e96c85 - Try to fix MSVC build of pg_rewind. It worked
[ANNOUNCE] == PostgreSQL Weekly News - March 22 2015 ==
== PostgreSQL Weekly News - March 22 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 Product News == pgFormatter v1.3, a SQL formatter/beautifier which supports keywords from SQL-92, SQL-99, SQL-2003, SQL-2008, SQL-2011 and PostgreSQL keywords are not in the standard, released. http://sqlformat.darold.net/ pg_shard 1.1, an extension for scaling out PostgreSQL, released. https://www.citusdata.com/blog/21-jason/139-announcing-pg-shard-1-1 == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2015-03/threads.php == PostgreSQL Local == PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ The CfP for the second Swiss Postgres Conference, to be held June 25-26, 2015 at HSR Rapperswil, is open until April 1. http://www.postgres-conference.ch/cfp/ The constituent assembly of the Swiss PostgreSQL Users Group (SwissPUG) will be Friday, April 10, 2015 http://www.swisspug.org India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka, India on April 11, 2015. RSVP at http://www.meetup.com/India-PUG/events/220553997/ 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/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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 == Tom Lane pushed: - Replace insertion sort in contrib/intarray with qsort(). It's all very well to claim that a simplistic sort is fast in easy cases, but O(N^2) in the worst case is not good ... especially if the worst case is as easy to hit as descending order input. Replace that bit with our standard qsort. Per bug #12866 from Maksym Boguk. Back-patch to all active branches. http://git.postgresql.org/pg/commitdiff/8d1f239003d0245dda636dfa6cf0add13bee69d6 - Allow foreign tables to participate in inheritance. Foreign tables can now be inheritance children, or parents. Much of the system was already ready for this, but we had to fix a few things of course, mostly in the area of planner and executor handling of row locks. As side effects of this, allow foreign tables to have NOT VALID CHECK constraints (and hence to accept ALTER ... VALIDATE CONSTRAINT), and to accept ALTER SET STORAGE and ALTER SET WITH/WITHOUT OIDS. Continuing to disallow these things would've required bizarre and inconsistent special cases in inheritance behavior. Since foreign tables don't enforce CHECK constraints anyway, a NOT VALID one is a complete no-op, but that doesn't mean we shouldn't allow it. And it's possible that some FDWs might have use for SET STORAGE or SET WITH OIDS, though doubtless they will be no-ops for most. An additional change in support of this is that when a ModifyTable node has multiple target tables, they will all now be explicitly identified in EXPLAIN output, for example: Update on pt1 (cost=0.00..321.05 rows=3541 width=46) Update on pt1 Foreign Update on ft1 Foreign Update on ft2 Update on child3 - Seq Scan on pt1 (cost=0.00..0.00 rows=1 width=46) - Foreign Scan on ft1 (cost=100.00..148.03 rows=1170 width=46) - Foreign Scan on ft2 (cost=100.00..148.03 rows=1170 width=46) - Seq Scan on child3 (cost=0.00..25.00 rows=1200 width=46) This was done mainly to provide an unambiguous place to attach Remote SQL fields, but it is useful for inherited updates even when no foreign tables are involved. Shigeru Hanada and Etsuro Fujita, reviewed by Ashutosh Bapat and Kyotaro Horiguchi, some additional hacking by me http://git.postgresql.org/pg/commitdiff/cb1ca4d800621dcae67ca6c799006de99fa4f0a5 Álvaro Herrera pushed: - Fix out-of-array-bounds compiler warning. Since the array length check is using a post-increment operator, the compiler complains that there's a potential write to one element beyond the end of the array. This is not possible currently: the only path to this function is through pg_get_object_address(), which already verifies that the input array is no more than two elements in length. Still, a bug is a bug. No idea why my compiler doesn't complain about this ... Pointed out by Dead Rasheed and Peter Eisentraut http
[ANNOUNCE] == PostgreSQL Weekly News - March 15 2015 ==
== PostgreSQL Weekly News - March 15 2015 == == PostgreSQL Product News == cstore_fdw 1.2, a columnar store extension for PostgreSQL, released https://www.citusdata.com/blog/14-marco/120-cstore-fdw-1-2-release-notes PG Partition Manager 1.8.2, an extension to manage time- or serial-based table partitioning, released. https://github.com/keithf4/pg_partman pg_repack 1.3.1, a utility for removing bloat and restoring the physical ordering of clustered indexes on line, released. http://reorg.github.com/pg_repack/ pitrery 1.8, a set of bash scripts to manage PITR backups for PostgreSQL, released. http://dalibo.github.io/pitrery/ PostgreDAC 3.0.0 a Delphi/C++ builder for PostgreSQL, released. http://microolap.com/products/connectivity/postgresdac/download/ == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2015-03/threads.php == PostgreSQL Local == PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ The CfP for the second Swiss Postgres Conference, to be held June 25-26, 2015 at HSR Rapperswil, is open until April 1. http://www.postgres-conference.ch/cfp/ The constituent assembly of the Swiss PostgreSQL Users Group (SwissPUG) will be Friday, April 10, 2015 http://www.swisspug.org India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka, India on April 11, 2015. RSVP at http://www.meetup.com/India-PUG/events/220553997/ 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/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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: - Add missing goto err statements in xlogreader.c. Spotted by Andres Freund. http://git.postgresql.org/pg/commitdiff/c74c04b8aa03f05983f940ee94c86a5cc1945393 - Fix typo in comment. http://git.postgresql.org/pg/commitdiff/828599acecdb2929f9b66d6f590c2abbc751b58b - Suppress maybe-uninitialized compiler warnings. Previously some compilers were thinking that the variables that 57aa5b2 added maybe-uninitialized. Spotted by Andres Freund http://git.postgresql.org/pg/commitdiff/cd6c45cbeec5e21b470e9a8d19e02f60f1a52807 - Add GUC to enable compression of full page images stored in WAL. When newly-added GUC parameter, wal_compression, is on, the PostgreSQL server compresses a full page image written to WAL when full_page_writes is on or during a base backup. A compressed page image will be decompressed during WAL replay. Turning this parameter on can reduce the WAL volume without increasing the risk of unrecoverable data corruption, but at the cost of some extra CPU spent on the compression during WAL logging and on the decompression during WAL replay. This commit changes the WAL format (so bumping WAL version number) so that the one-byte flag indicating whether a full page image is compressed or not is included in its header information. This means that the commit increases the WAL volume one-byte per a full page image even if WAL compression is not used at all. We can save that one-byte by borrowing one-bit from the existing field like hole_offset in the header and using it as the flag, for example. But which would reduce the code readability and the extensibility of the feature. Per discussion, it's not worth paying those prices to save only one-byte, so we decided to add the one-byte flag to the header. This commit doesn't introduce any new compression algorithm like lz4. Currently a full page image is compressed using the existing PGLZ algorithm. Per discussion, we decided to use it at least in the first version of the feature because there were no performance reports showing that its compression ratio is unacceptably lower than that of other algorithm. Of course, in the future, it's worth considering the support of other compression algorithm for the better compression. Rahila Syed and Michael Paquier, reviewed in various versions by myself, Andres Freund, Robert Haas, Abhijit Menon-Sen and many others. http://git.postgresql.org/pg/commitdiff/57aa5b2bb11a4dbfdfc0f92370e0742ae5aa367b Michael Meskes pushed: - Ignore object files generated by ecpg test suite on Windows. Patch by Michael Paquier http://git.postgresql.org/pg/commitdiff/b9e538b190d9cf4387361214eadc430393ebf852 - Ignore leftover artifacts from ecpg testsuite runs on Windows. http://git.postgresql.org/pg/commitdiff/fa83f809458a966dff225d3d266399d48e7b5e6e - Revert
[ANNOUNCE] == PostgreSQL Weekly News - March 01 2015 ==
== PostgreSQL Weekly News - March 01 2015 == The Manchester England PostgreSQL Users' Group is rebooting March 4th. Details and R, SVP, below. http://www.meetup.com/The-Manchester-PostgreSQL-Meetup/ == PostgreSQL Local == pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ Registration for Nordic PostgreSQL Day, March 11, 2015 in Copenhagen, Denmark, is open. http://2015.nordicpgday.org/registration/ PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ The CfP for the second Swiss Postgres Conference, to be held June 25-26, 2015 at HSR Rapperswil, is open until April 1. http://www.postgres-conference.ch/cfp/ India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka, India on April 11, 2015. RSVP at http://www.meetup.com/India-PUG/events/220553997/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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 == Heikki Linnakangas pushed: - Fix potential deadlock with libpq non-blocking mode. If libpq output buffer is full, pqSendSome() function tries to drain any incoming data. This avoids deadlock, if the server e.g. sends a lot of NOTICE messages, and blocks until we read them. However, pqSendSome() only did that in blocking mode. In non-blocking mode, the deadlock could still happen. To fix, take a two-pronged approach: 1. Change the documentation to instruct that when PQflush() returns 1, you should wait for both read- and write-ready, and call PQconsumeInput() if it becomes read-ready. That fixes the deadlock, but applications are not going to change overnight. 2. In pqSendSome(), drain the input buffer before returning 1. This alleviates the problem for applications that only wait for write-ready. In particular, a slow but steady stream of NOTICE messages during COPY FROM STDIN will no longer cause a deadlock. The risk remains that the server attempts to send a large burst of data and fills its output buffer, and at the same time the client also sends enough data to fill its output buffer. The application will deadlock if it goes to sleep, waiting for the socket to become write-ready, before the server's data arrives. In practice, NOTICE messages and such that the server might be sending are usually short, so it's highly unlikely that the server would fill its output buffer so quickly. Backpatch to all supported versions. http://git.postgresql.org/pg/commitdiff/2a3f6e368babdac7b586a7d43105af60fc08b1a3 - Refactor unit conversions code in guc.c. Replace the if-switch-case constructs with two conversion tables, containing all the supported conversions between human-readable unit strings and the base units used in GUC variables. This makes the code easier to read, and makes adding new units simpler. http://git.postgresql.org/pg/commitdiff/1b6302647302f459fdb63008c3842a1b0d43d1b7 - Renumber GUC_* constants. This moves all the regular flags back together (for aesthetic reasons), and makes room for more GUC_UNIT_* types. http://git.postgresql.org/pg/commitdiff/0fec000365c25fd89ea583673de226e816dba60f - Replace checkpoint_segments with min_wal_size and max_wal_size. Instead of having a single knob (checkpoint_segments) that both triggers checkpoints, and determines how many checkpoints to recycle, they are now separate concerns. There is still an internal variable called CheckpointSegments, which triggers checkpoints. But it no longer determines how many segments to recycle at a checkpoint. That is now auto-tuned by keeping a moving average of the distance between checkpoints (in bytes), and trying to keep that many segments in reserve. The advantage of this is that you can set max_wal_size very high, but the system won't actually consume that much space if there isn't any need for it. The min_wal_size sets a floor for that; you can effectively disable the auto-tuning behavior by setting min_wal_size equal to max_wal_size. The max_wal_size setting is now the actual target size of WAL at which a new checkpoint is triggered, instead of the distance between checkpoints. Previously, you could calculate the actual WAL usage with the formula (2 + checkpoint_completion_target) * checkpoint_segments + 1. With this patch, you set the desired WAL usage with max_wal_size, and the system calculates the appropriate CheckpointSegments with the reverse of that formula. That's a lot more intuitive for administrators to set. Reviewed by Amit Kapila and Venkata Balaji N. http
[ANNOUNCE] == PostgreSQL Weekly News - February 22 2015 ==
== PostgreSQL Weekly News - February 22 2015 == India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka, India on April 11, 2015. RSVP at http://www.meetup.com/India-PUG/events/220553997/ == PostgreSQL Product News == pypgTAP, a framework intended to improve the SDLC for PostgreSQL, released. https://github.com/itissid/pypgTAP PostgreSQL Dashboard 0.2, a real-time monitoring screen based on Dashing and Sinatra, released. http://daamien.github.io/PostgreSQL-Dashboard/ ODB 2.4.0, an ORM for C++ which supports PostgreSQL, released. http://www.codesynthesis.com/~boris/blog/2015/02/11/odb-2-4-0-released/ pgpool-II versions 3.4.1, 3.3.5, 3.2.10, 3.1.13, and 3.0.17 released with pgpoolAdmin 3.4.1. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads http://pgpool.net/mediawiki/index.php/Yum_Repository psycopg2 2.6 and 2.5.5 Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2015/02/09/psycopg-26-and-255-released/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2015-02/threads.php == PostgreSQL Local == pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ Registration for Nordic PostgreSQL Day, March 11, 2015 in Copenhagen, Denmark, is open. http://2015.nordicpgday.org/registration/ PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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 == Tom Lane pushed: - Fix null-pointer-deref crash while doing COPY IN with check constraints. In commit bf7ca15875988a88e97302e012d7c4808bef3ea9 I introduced an assumption that an RTE referenced by a whole-row Var must have a valid eref field. This is false for RTEs constructed by DoCopy, and there are other places taking similar shortcuts. Perhaps we should make all those places go through addRangeTableEntryForRelation or its siblings instead of having ad-hoc logic, but the most reliable fix seems to be to make the new code in ExecEvalWholeRowVar cope if there's no eref. We can reasonably assume that there's no need to insert column aliases if no aliases were provided. Add a regression test case covering this, and also verifying that a sane column name is in fact available in this situation. Although the known case only crashes in 9.4 and HEAD, it seems prudent to back-patch the code change to 9.2, since all the ingredients for a similar failure exist in the variant patch applied to 9.3 and 9.2. Per report from Jean-Pierre Pelletier. http://git.postgresql.org/pg/commitdiff/08361cea2b333189fa3736f2dc6452cef654923d - Rationalize the APIs of array element/slice access functions. The four functions array_ref, array_set, array_get_slice, array_set_slice have traditionally declared their array inputs and results as being of type ArrayType *. This is a lie, and has been since Berkeley days, because they actually also support fixed-length array types such as name and point; not to mention that the inputs could be toasted. These values should be declared Datum instead to avoid confusion. The current coding already risks possible misoptimization by compilers, and it'll get worse when expanded array representations become a valid alternative. However, there's a fair amount of code using array_ref and array_set with arrays that *are* known to be ArrayType structures, and there might be more such places in third-party code. Rather than cluttering those call sites with PointerGetDatum/DatumGetArrayTypeP cruft, what I did was to rename the existing functions to array_get_element/array_set_element, fix their signatures, then reincarnate array_ref/array_set as backwards compatibility wrappers. array_get_slice/array_set_slice have no such constituency in the core code, and probably not in third-party code either, so I just changed their APIs. http://git.postgresql.org/pg/commitdiff/e983c4d1aa42d613542cf222e222b034918374b1 - Use fast path in plpgsql's RETURN/RETURN NEXT in more cases. exec_stmt_return() and exec_stmt_return_next() have fast-path code for handling a simple variable reference (i.e. return var) without going through the full expression evaluation machinery. For some reason, pl_gram.y was under the impression that this fast path only applied for record/row variables; but in reality code for handling regular scalar variables has been there all along. Adjusting the logic
[ANNOUNCE] == PostgreSQL Weekly News - February 15 2015 ==
== PostgreSQL Weekly News - February 15 2015 == == PostgreSQL Product News == pgpool-II versions 3.4.1, 3.3.5, 3.2.10, 3.1.13, and 3.0.17 released with pgpoolAdmin 3.4.1. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads http://pgpool.net/mediawiki/index.php/Yum_Repository psycopg2 2.6 and 2.5.5 Python connector for PostgreSQL, released. http://initd.org/psycopg/articles/2015/02/09/psycopg-26-and-255-released/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2015-02/threads.php == PostgreSQL Local == The Melbourne PostgreSQL meetup on February 18, 2015 will be hosting Gabriele Bartolini on PostgreSQL 9.4 for devops. Details below, and R, SVP. http://www.meetup.com/melpug/events/219082475/ pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ Registration for Nordic PostgreSQL Day, March 11, 2015 in Copenhagen, Denmark, is open. http://2015.nordicpgday.org/registration/ PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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: - Move pg_lzcompress.c to src/common. The meta data of PGLZ symbolized by PGLZ_Header is removed, to make the compression and decompression code independent on the backend-only varlena facility. PGLZ_Header is being used to store some meta data related to the data being compressed like the raw length of the uncompressed record or some varlena-related data, making it unpluggable once PGLZ is stored in src/common as it contains some backend-only code paths with the management of varlena structures. The APIs of PGLZ are reworked at the same time to do only compression and decompression of buffers without the meta-data layer, simplifying its use for a more general usage. On-disk format is preserved as well, so there is no incompatibility with previous major versions of PostgreSQL for TOAST entries. Exposing compression and decompression APIs of pglz makes possible its use by extensions and contrib modules. Especially this commit is required for upcoming WAL compression feature so that the WAL reader facility can decompress the WAL data by using pglz_decompress. Michael Paquier, reviewed by me. http://git.postgresql.org/pg/commitdiff/40bede5477bb5bce98ce9548841cb414634c26f7 Heikki Linnakangas pushed: - Fix MSVC build. When I moved pg_crc.c from src/port to src/common, I forgot to modify MSVC build script accordingly. http://git.postgresql.org/pg/commitdiff/cc761b170c5e7b4ef22ed918f4785ec1fabe62cd - Move pg_crc.c to src/common, and remove pg_crc_tables.h. To get CRC functionality in a client program, you now need to link with libpgcommon instead of libpgport. The CRC code has nothing to do with portability, so libpgcommon is a better home. (libpgcommon didn't exist when pg_crc.c was originally moved to src/port.) Remove the possibility to get CRC functionality by just #including pg_crc_tables.h. I'm not aware of any extensions that actually did that and couldn't simply link with libpgcommon. This also moves the pg_crc.h header file from src/include/utils to src/include/common, which will require changes to any external programs that currently does #include utils/pg_crc.h. That seems acceptable, as include/common is clearly the right home for it now, and the change needed to any such programs is trivial. http://git.postgresql.org/pg/commitdiff/c619c2351f7ec429b6ddce519c939f7b8465d711 - Speed up CRC calculation using slicing-by-8 algorithm. This speeds up WAL generation and replay. The new algorithm is significantly faster with large inputs, like full-page images or when inserting wide rows. It is slower with tiny inputs, i.e. less than 10 bytes or so, but the speedup with longer inputs more than make up for that. Even small WAL records at least have 24 byte header in the front. The output is identical to the current byte-at-a-time computation, so this does not affect compatibility. The new algorithm is only used for the CRC-32C variant, not the legacy version used in tsquery or the traditional CRC-32 used in hstore and ltree. Those are not as performance critical, and are usually only applied over small inputs, so it seems better to not carry around the extra lookup tables to speed up those rare cases. Abhijit Menon-Sen http://git.postgresql.org/pg/commitdiff
[ANNOUNCE] == PostgreSQL Weekly News - February 08 2015 ==
== PostgreSQL Weekly News - February 08 2015 == PostgreSQL Security Releases 9.4.1, 9.3.6, 9.2.10, 9.1.15, and 9.0.19 are out. Upgrade! http://www.postgresql.org/about/news/1569/ == PostgreSQL Product News == Ora2PG 15.1, a migration system for moving from Oracle to PostgreSQL, released. http://ora2pg.darold.net/ oracle_fdw 1.2.0 released. https://github.com/laurenz/oracle_fdw pgpool-II versions 3.4.1, 3.3.5, 3.2.10, 3.1.13, and 3.0.17 released. pgpool-II is a connection pooler and replication system for PostgreSQL. http://pgpool.net/mediawiki/index.php/Downloads skit 0.1 alpha, a command line tool to extract schema definitions, perform diffs, and generate ddl, released. http://pgfoundry.org/projects/skit/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2015-02/threads.php == PostgreSQL Local == Prague PostgreSQL Developer Day (P2D2) 2015 will be in Prague, Czech Republic February 11-12, 2015. http://www.p2d2.cz/ The Melbourne PostgreSQL meetup on February 18, 2015 will be hosting Gabriele Bartolini on PostgreSQL 9.4 for devops. Details below, and R, SVP. http://www.meetup.com/melpug/events/219082475/ pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ Registration for Nordic PostgreSQL Day, March 11, 2015 in Copenhagen, Denmark, is open. http://2015.nordicpgday.org/registration/ PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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 == Peter Eisentraut pushed: - Translation updates Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: 19c72ea8d856d7b1d4f5d759a766c8206bf9ce53 http://git.postgresql.org/pg/commitdiff/f8948616c9403effb84ed09c244650d9750243a2 - doc: Improve claim about location of pg_service.conf. The previous wording claimed that the file was always in /etc, but of course this varies with the installation layout. Write instead that it can be found via `pg_config --sysconfdir`. Even though this is still somewhat incorrect because it doesn't account of moved installations, it at least conveys that the location depends on the installation. http://git.postgresql.org/pg/commitdiff/1332bbb30cd1e6beb7b43c26ca5728c715c1a9c8 Tom Lane pushed: - Doc: fix syntax description for psql's \setenv. The variable name isn't optional --- looks like a copy-and-paste-o from the \set command, where it is. Dilip Kumar http://git.postgresql.org/pg/commitdiff/f9ee8ea10a432bd5692ef9ff25055717fbf290ce - Fix breakage in GEODEBUG debug code. LINE doesn't have an m field (anymore anyway). Also fix unportable assumption that %x can print the result of pointer subtraction. In passing, improve single_decode() in minor ways: Remove unnecessary leading-whitespace skip (strtod does that already). Make GEODEBUG message more intelligible. Remove entirely-useless test to see if strtod returned a silly pointer. Don't bother computing trailing-whitespace skip unless caller wants an ending pointer. This has been broken since 261c7d4b653bc3e44c31fd456d94f292caa50d8f. Although it's only debug code, might as well fix the 9.4 branch too. http://git.postgresql.org/pg/commitdiff/778d498c7d9099c784f14199a319ec2a84d91191 - Remove unused m field in LSEG. This field has been unreferenced since 1998, and does not appear in lseg values stored on disk (since sizeof(lseg) is only 32 bytes according to pg_type). There was apparently some idea of maintaining it just in values appearing in memory, but the bookkeeping required to make that work would surely far outweigh the cost of recalculating the line's slope when needed. Remove it to (a) simplify matters and (b) suppress some uninitialized-field whining from Coverity. http://git.postgresql.org/pg/commitdiff/cec916f35be5531efdaf721a46313feb36e0cd76 Noah Misch pushed: - Prevent Valgrind Memcheck errors around px_acquire_system_randomness(). This function uses uninitialized stack and heap buffers as supplementary entropy sources. Mark them so Memcheck will not complain. Back-patch to 9.4, where Valgrind Memcheck cooperation first appeared. Marko Tiikkaja http://git.postgresql.org/pg/commitdiff/59b919822ab060f721e235964d19b55a19c815f0 - Cherry-pick security-relevant fixes from upstream imath library. This covers alterations to buffer sizing and zeroing made between imath 1.3 and imath 1.20. Valgrind Memcheck identified the buffer overruns
[ANNOUNCE] == PostgreSQL Weekly News - January 25 2015 ==
== PostgreSQL Weekly News - January 25 2015 == Early Bird registration is available for PGConf.US. http://pgconfus2015.eventbrite.com/?aff=pgann1 == PostgreSQL Product News == POWA 1.2.1, a PostgreSQL workload analyzer, released. http://dalibo.github.io/powa/ Pyrseas 0.7.2, a toolkit for PostgreSQL version control, released. https://github.com/pyrseas/Pyrseas Slony-I 2.2.4, a trigger-based replication system for PostgreSQL, released. http://www.slony.info/ == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2015-01/threads.php == PostgreSQL Local == FOSDEM PGDay (January 30, 2015) and the FOSDEM PostgreSQL Dev Room (January 31-February 1, 2015) http://fosdem2015.pgconf.eu/ Prague PostgreSQL Developer Day (P2D2) 2015 will be in Prague, Czech Republic February 11-12, 2015. http://www.p2d2.cz/ The Melbourne PostgreSQL meetup on February 18, 2015 will be hosting Gabriele Bartolini on PostgreSQL 9.4 for devops. Details below, and R, SVP. http://www.meetup.com/melpug/events/219082475/ pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ Registration for Nordic PostgreSQL Day, March 11, 2015 in Copenhagen, Denmark, is open. http://2015.nordicpgday.org/registration/ PGConf US 2015 takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ PGCon 2015 is June 16-20 in Ottawa, Canada. http://www.pgcon.org/2015/ == 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 == Robert Haas pushed: - BRIN typo fix. Amit Langote http://git.postgresql.org/pg/commitdiff/9d54b93239040dab49111b6d7e9d6bfe9c71f419 - Typo fix. Etsuro Fujita http://git.postgresql.org/pg/commitdiff/1605291b6c14be92915948d17f5509191632c97f - Use abbreviated keys for faster sorting of text datums. This commit extends the SortSupport infrastructure to allow operator classes the option to provide abbreviated representations of Datums; in the case of text, we abbreviate by taking the first few characters of the strxfrm() blob. If the abbreviated comparison is insufficent to resolve the comparison, we fall back on the normal comparator. This can be much faster than the old way of doing sorting if the first few bytes of the string are usually sufficient to resolve the comparison. There is the potential for a performance regression if all of the strings to be sorted are identical for the first 8+ characters and differ only in later positions; therefore, the SortSupport machinery now provides an infrastructure to abort the use of abbreviation if it appears that abbreviation is producing comparatively few distinct keys. HyperLogLog, a streaming cardinality estimator, is included in this commit and used to make that determination for text. Peter Geoghegan, reviewed by me. http://git.postgresql.org/pg/commitdiff/4ea51cdfe85ceef8afabceb03c446574daa0ac23 - Add strxfrm_l to list of functions where Windows adds an underscore. Per buildfarm failure on bowerbird after last night's commit 4ea51cdfe85ceef8afabceb03c446574daa0ac23. Peter Geoghegan http://git.postgresql.org/pg/commitdiff/f32a1fa462c88676105445f26885d7a0656b6806 - Disable abbreviated keys on Windows. Most of the Windows buildfarm members (bowerbird, hamerkop, currawong, jacana, brolga) are unhappy with yesterday's abbreviated keys patch, although there are some (narwhal, frogmouth) that seem OK with it. Since there's no obvious pattern to explain why some are working and others are failing, just disable this across-the-board on Windows for now. This is a bit unfortunate since the optimization will be a big win in some cases, but we can't leave the buildfarm broken. http://git.postgresql.org/pg/commitdiff/1be4eb1b2d436d1375899c74e4c74486890d8777 - Heavily refactor btsortsupport_worker. Prior to commit 4ea51cdfe85ceef8afabceb03c446574daa0ac23, this function only had one job, which was to decide whether we could avoid trampolining through the fmgr layer when performing sort comparisons. As of that commit, it has a second job, which is to decide whether we can use abbreviated keys. Unfortunately, those two tasks are somewhat intertwined in the existing coding, which is likely why neither Peter Geoghegan nor I noticed prior to commit that this calls pg_newlocale_from_collation() in cases where it didn't previously. The buildfarm noticed, though. To fix, rewrite the logic so that the decision as to which comparator to use is more cleanly separated from the decision about abbreviation. http://git.postgresql.org/pg/commitdiff
[ANNOUNCE] == PostgreSQL Weekly News - January 18 2015 ==
== PostgreSQL Weekly News - January 18 2015 == Giulio Calacoci, the main developer of Barman, will host a the Discover Barman 1.4.0 meetup in Prato, Italy next February 6th. Further information and registration: http://www.meetup.com/2ndQuadrant-Italia-PostgreSQL-Meetup/events/219801332/ The CfP for the second Swiss Postgres Conference, to be held June 25-26, 2015 at HSR Rapperswil, is open until April 1. http://www.postgres-conference.ch/cfp/ == PostgreSQL Product News == pgmp 1.0.2, a high-precision integer and rational arithmetic library exposing GMP, released. Details and download below: http://pgmp.projects.pgfoundry.org/ http://pgxn.org/dist/pgmp/ == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2015-01/threads.php == PostgreSQL Local == PGCon 2015 (June 16-20) call for papers is out. Talk submission ends January 19, 2014. Details at http://www.pgcon.org/2015/papers.php FOSDEM PGDay (January 30, 2015) and the FOSDEM PostgreSQL Dev Room (January 31-February 1, 2015) http://fosdem2015.pgconf.eu/ Prague PostgreSQL Developer Day (P2D2) 2015 will be in Prague, Czech Republic February 11-12, 2015. http://www.p2d2.cz/ The Melbourne PostgreSQL meetup on February 18, 2015 will be hosting Gabriele Bartolini on PostgreSQL 9.4 for devops. Details below, and R, SVP. http://www.meetup.com/melpug/events/219082475/ pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ The CfP is open for Nordic PostgreSQL Day 2015, which will be held March 11, 2015 in Copenhagen, Denmark. http://2015.nordicpgday.org/cfp/ The CfP for PGConf US 2015 is open through December 17th, 2014 Notifications will go out on January 10, 2014. The event takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ == 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 == Stephen Frost pushed: - Skip dead backends in MinimumActiveBackends. Back in ed0b409, PGPROC was split and moved to static variables in procarray.c, with procs in ProcArrayStruct replaced by an array of integers representing process numbers (pgprocnos), with -1 indicating a dead process which has yet to be removed. Access to procArray is generally done under ProcArrayLock and therefore most code does not have to concern itself with -1 entries. However, MinimumActiveBackends intentionally does not take ProcArrayLock, which means it has to be extra careful when accessing procArray. Prior to ed0b409, this was handled by checking for a NULL in the pointer array, but that check was no longer valid after the split. Coverity pointed out that the check could never happen and so it was removed in 5592eba. That didn't make anything worse, but it didn't fix the issue either. The correct fix is to check for pgprocno == -1 and skip over that entry if it is encountered. Back-patch to 9.2, since there can be attempts to access the arrays prior to their start otherwise. Note that the changes prior to 9.4 will look a bit different due to the change in 5592eba. Note that MinimumActiveBackends only returns a bool for heuristic purposes and any pre-array accesses are strictly read-only and so there is no security implication and the lack of fields complaints indicates it's very unlikely to run into issues due to this. Pointed out by Noah Misch. http://git.postgresql.org/pg/commitdiff/1bf4a84d0f9f7a442790d7948e96cd42eeb90a91 Tom Lane pushed: - Use correct text domain for errcontext() appearing within ereport(). The mechanism added in commit dbdf9679d7d61b03a3bf73af9b095831b7010eb5 for associating the correct translation domain with errcontext strings potentially fails in cases where errcontext() is used within an ereport() macro. Such usage was not originally envisioned for errcontext(), but we do have a few places that do it. In this situation, the intended comma expression becomes just a couple of arguments to errfinish(), which the compiler might choose to evaluate right-to-left. Fortunately, in such cases the textdomain for the errcontext string must be the same as for the surrounding ereport. So we can fix this by letting errstart initialize context_domain along with domain; then it will have the correct value no matter which order the calls occur in. (Note that error stack callback functions are not invoked until errfinish, so normal usage of errcontext won't affect what happens for errcontext calls within the ereport macro.) In passing, make sure that errcontext calls within the main backend set context_domain to something non-NULL
[ANNOUNCE] == PostgreSQL Weekly News - January 11 2015 ==
== PostgreSQL Weekly News - January 11 2015 == == PostgreSQL Product News == DBD::Pg 3.5.0, a Postgres driver for Perl, released. Now with support for backslash-escaped placeholders! http://search.cpan.org/dist/DBD-Pg/ pgCluu 2.2, a Perl program to audit PostgreSQL performance, released. http://pgcluu.darold.net/ == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2015-01/threads.php == PostgreSQL Local == PGCon 2015 (June 16-20) call for papers is out. Talk submission ends January 19, 2014. Details at http://www.pgcon.org/2015/papers.php FOSDEM PGDay (January 30, 2015) and the FOSDEM PostgreSQL Dev Room (January 31-February 1, 2015) http://fosdem2015.pgconf.eu/ Prague PostgreSQL Developer Day (P2D2) 2015 will be in Prague, Czech Republic February 11-12, 2015. http://www.p2d2.cz/ The Melbourne PostgreSQL meetup on February 18, 2015 will be hosting Gabriele Bartolini on PostgreSQL 9.4 for devops. Details below, and R, SVP. http://www.meetup.com/melpug/events/219082475/ pgDaySF 2015 will be held March 10, 2015 in Burlingame, California. http://sfpostgres.org/pgday-sf-2015-call-for-speakers-and-sponsors/ The CfP is open for Nordic PostgreSQL Day 2015, which will be held March 11, 2015 in Copenhagen, Denmark. http://2015.nordicpgday.org/cfp/ The CfP for PGConf US 2015 is open through December 17th, 2014 Notifications will go out on January 10, 2014. The event takes place March 25-27, 2015 in NYC. http://nyc.pgconf.us/2015/ == 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 comment. http://git.postgresql.org/pg/commitdiff/9f1d7313aa8deb0529edbef4ac157561c37d4e2f Andres Freund pushed: - Fix oversight in recent pg_basebackup fix causing pg_receivexlog failures. A oversight in 2c0a485896 causes 'could not create archive status file ...: No such file or directory' errors in pg_receivexlog if the target directory doesn't happen to contain a arch aAS FM SM tatus directory. That's due to a stupidly left over 'true' constant instead of mark_done being passed down to ProcessXLogDataMsg(). The bug is only present in the master branch, and luckily wasn't released. Spotted by Fujii Masao. http://git.postgresql.org/pg/commitdiff/3c9e4cdbf2ec876dbb71aa80a4cc18662fbd41c2 - Correctly handle relcache invalidation corner case during logical decoding. When using a historic snapshot for logical decoding it can validly happen that a relation that's in the relcache isn't visible to that historic snapshot. E.g. if a newly created relation is referenced in the query that uses the SQL interface for logical decoding and a sinval reset occurs. The earlier commit that fixed the error handling for that corner case already improves the situation as a ERROR is better than hitting an assertion... But it's obviously not good enough. So additionally allow that case without an error if a historic snapshot is set up - that won't allow an invalid entry to stay in the cache because it's a) already marked invalid and will thus be rebuilt during the next access b) the syscaches will be reset at the end of decoding. There might be prettier solutions to handle this case, but all that we could think of so far end up being much more complex than this quite simple fix. This fixes the assertion failures reported by the buildfarm (markhor, tick, leech) after the introduction of new regression tests in 89fd41b390a4. The failure there weren't actually directly caused by CLOBBER_CACHE_ALWAYS but the extraordinary long runtimes due to it lead to sinval resets triggering the behaviour. Discussion: 22459.1418656...@sss.pgh.pa.us Backpatch to 9.4 where logical decoding was introduced. http://git.postgresql.org/pg/commitdiff/3fabed070530271771c2345dd7f60b0b28f0aae3 - Improve relcache invalidation handling of currently invisible relations. The corner case where a relcache invalidation tried to rebuild the entry for a referenced relation but couldn't find it in the catalog wasn't correct. The code tried to RelationCacheDelete/RelationDestroyRelation the entry. That didn't work when assertions are enabled because the latter contains an assertion ensuring the refcount is zero. It's also more generally a bad idea, because by virtue of being referenced somebody might actually look at the entry, which is possible if the error is trapped and handled via a subtransaction abort. Instead just error out, without deleting the entry. As the entry is marked invalid, the worst that can happen is that the invalid (and at some point unused) entry lingers