[ANNOUNCE] == PostgreSQL Weekly News - November 26 2017 ==
== PostgreSQL Weekly News - November 26 2017 == == PostgreSQL Product News == Pgpool-II 3.7.0 and pgpoolAdmin 3.7.0 released. http://www.pgpool.net/docs/latest/en/html/release-3-7.html repmgr 4.0, a replication manager for PostgreSQL, released. https://www.2ndquadrant.com/en/resources/repmgr/ == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2017-11/ == PostgreSQL Local == PGDAY Brasilia 2017 will take place December 2, 2017. http://www.pgdaybrasilia.com.br/ PGConf Local: Austin will be held December 4 - 5, 2017. Program available and registration 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 November 15th, 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 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://2017.pgday.paris/callforpapers/ 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/ 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 == 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 == Simon Riggs pushed: - Reduce test variability for toast_tuple_target test. https://git.postgresql.org/pg/commitdiff/56f34686220731eef72dfd129519b25f28406db1 - Parameter toast_tuple_target controls TOAST for new rows. Specifies the point at which we try to move long column values into TOAST tables. No effect on existing rows. Discussion: https://postgr.es/m/CANP8+jKsVmw6CX6YP9z7zqkTzcKV1+Uzr3XjKcZW=2ya00o...@mail.gmail.com Author: Simon Riggs Reviewed-by: Andrew Dunstan https://git.postgresql.org/pg/commitdiff/c2513365a0a85e77d3c21adb92fe12cfbe0d1897 - Fix pg_control_checkpoint from commit 4b0d28de06. Author: Simon Riggs Reported-By: Andreas Seltenreich https://git.postgresql.org/pg/commitdiff/2ede45c3a49e484edfa143850d55eb32dba296de - Set es_output_cid in replication worker. Allows triggers to operate correctly Author: Petr Jelinek Reported-by: Konstantin Knizhnik https://git.postgresql.org/pg/commitdiff/7e17a6889a4441c2cebca2dd47f4170ff8dc5de2 - Show partition info from psql \d+. Author: Amit Langote, Ashutosh Bapat Reviewed-by: Álvaro Herrera, Simon Riggs https://git.postgresql.org/pg/commitdiff/05b6ec39d72f7065bb5ce770319e826f1da92441 - Sort default partition to bottom of psql \d+. Minor patch to change sort order only Author: Ashutosh Bapat Reviewed-by: Álvaro Herrera, Simon Riggs https://git.postgresql.org/pg/commitdiff/3bae43ca4dc6c3123788044436521f1d33d9f930 - Tweak code for older compilers. Attempt to quiesce build farm Author: Tomas Vondra https://git.postgresql.org/pg/commitdiff/b99661c2ff4eef923abd96d2a733556f5f64c2d6 - Generational memory allocator. Add new style of memory allocator, known as Generational appropriate for use in cases where memory is allocated and then freed in roughly oldest first order (FIFO). Use new allocator for logical decoding’s reorderbuffer to significantly reduce memory usage and improve performance. Author: Tomas Vondra Reviewed-by: Simon Riggs https://git.postgresql.org/pg/commitdiff/a4ccc1cef5a04cc054af83bc4582a045d5232cb3
[ANNOUNCE] == PostgreSQL Weekly News - November 19 2017 ==
== PostgreSQL Weekly News - November 19 2017 == == PostgreSQL Product News == pgMail 1.4 released. https://github.com/captbrando/pgMail/releases/tag/v1.4 pg_prefaulter, a tool used to mitigate the effects of PostgreSQL replication lag, released. https://github.com/joyent/pg_prefaulter == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2017-11/ == PostgreSQL Local == 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. Program available and registration 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 November 15th, 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 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://2017.pgday.paris/callforpapers/ 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/ 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 == 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 == Noah Misch pushed: - Don't call pgwin32_message_to_UTF16() without CurrentMemoryContext. PostgreSQL running as a Windows service crashed upon calling write_stderr() before MemoryContextInit(). This fix completes work started in 5735efee15540765315aa8c1a230575e756037f7. Messages this early contain only ASCII bytes; if we removed the CurrentMemoryContext requirement, the ensuing conversions would have no effect. Back-patch to 9.3 (all supported versions). Takayuki Tsunakawa, reviewed by Michael Paquier. Discussion: https://postgr.es/m/0A3221C70F24FB45833433255569204D1F80CC73@G01JPEXMBYT05 https://git.postgresql.org/pg/commitdiff/e02571b73f2d8124fe75d7408f9b63d4c5fe03b0 - Install Windows crash dump handler before all else. Apart from calling write_stderr() on failure, the handler depends on no PostgreSQL facilities. We have experienced crashes before reaching the former call site. Given such an early crash, this change cannot hurt and may produce a helpful dump. Absent an early crash, this change has no effect. Back-patch to 9.3 (all supported versions). Takayuki Tsunakawa Discussion: https://postgr.es/m/0A3221C70F24FB45833433255569204D1F80CD13@G01JPEXMBYT05 https://git.postgresql.org/pg/commitdiff/cbfffee41c3f571fa3fcb26fca5eb11bc508f972 - MSVC: Rebuild spiexceptions.h when out of date. Also, add a warning to catch future instances of naming a nonexistent file as a prerequisite. Back-patch to 9.3 (all supported versions). https://git.postgresql.org/pg/commitdiff/9363b8b79b0f2475b5b607fe4e0aa73a86398223 Stephen Frost pushed: - Fix typo. Determinisitcally -> Deterministically Author: Michael Paquier Discussion: https://postgr.es/m/cab7npqsauj9gumzj1aixqvxqekyko+wz+wuac8_hb_m_bo6...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/cfd8c87e16bc77eceddb1227c8b865c8606e4ccd Álvaro Herrera pushed: - Mention CREATE/DROP STATISTICS in event triggers docs. The new commands are reported by event triggers, but they weren't documented as
[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
[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 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: https://postgr.es/m/2017110211201
[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: http
[ANNOUNCE] == PostgreSQL Weekly News - October 22 2017 ==
== PostgreSQL Weekly News - October 22 2017 == PotgreSQL Conference 2017 Japan will be held on November 3rd, 2017 in Tokyo. https://www.postgresql.jp/events/jpug-pgcon2017 PGConf.ASIA 2017 will take place on December 4-6 2017 in Akihabara, Tokyo, Japan. Registration is open at http://eventregist.com/e/PGConfASIA2017?lang=en_US 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/ == PostgreSQL Product News == PostgresDAC 3.3.0, a direct access component suite for PostgreSQL, released. http://microolap.com/products/connectivity/postgresdac/download/ PGConf US 2018 will be held in Jersey City, NJ, USA April 16-20, 2018. The CfP will be open until January 22, 2018. Speaker notification: January 31, 2018. https://pgconf.org/conferences/2018 Pgpool-II 3.7 beta1 released. http://www.pgpool.net/docs/pgpool-II-3.7.0/doc/en/html/release-3-7.html PostGIS 2.2.6, 2.3.4, and 2.4.1, the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/2017/10/18/postgis-patches/ == 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 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/ 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: - Restore nodeAgg.c's ability to check for improperly-nested aggregates. While poking around in the aggregate logic, I noticed that commit 8ed3f11bb broke the logic in nodeAgg.c that purports to detect nested aggregates, by moving initialization of regular aggregate argument expressions out of the code segment that checks for that. You could argue that this check is unnecessary, but it's not much code so I'm inclined to keep it as a backstop against parser and planner bugs. However, there's certainly zero value in checking only some of the subexpressions. We can make the check complete again, and as a bonus make it a good deal more bulletproof against future mistakes of the same ilk, by moving it out to the outermost level of ExecInitAgg. This means we need to check only once per Agg node not once per aggregate, which also seems like a good thing --- if the check does find something wrong, it's not urgent that we report it before the plan node initialization finishes. Since this requires remembering the original length of the aggs list, I deleted a long-obsolete stanza that changed numaggs from 0 to 1. That's so old it predates our decision that palloc(0) is a valid operation, in (digs...) 2004, see commit 24a1e20f1. In passing improve a few comments. Back-patch to v10, just in case. https://git.postgresql.org/pg/commitdiff/5fc438fb256ce83248feaf60e22e0919b76e3c7b - Repair breakage of aggregate FILTER option. A
[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/fffd651e83ccbd6191a76be6ec7c6b1b278
[ANNOUNCE] == PostgreSQL Weekly News - October 08 2017 ==
== PostgreSQL Weekly News - October 08 2017 == PostgreSQL 10 released! https://www.postgresql.org/about/news/1786/ == PostgreSQL Product News == PL/Proxy 2.8, a database partitioning system implemented as PL language, released. https://plproxy.github.io pg_partman v3.1.0, a management system for partitioned tables, released. https://github.com/keithf4/pg_partman hypopg 1.1.0, an extension which implements hypothetical indexes, released. https://github.com/dalibo/hypopg dbForge Data Compare for PostgreSQL v3.0 released. https://www.devart.com/dbforge/postgresql/datacompare/whatsnew.html pgAdmin4 2.0, a web- and native GUI control center for PostgreSQL, released. https://www.pgadmin.org/ == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2017-10/ == 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/ 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: - Try to make crash restart test work on windows. Author: Andres Freund Tested-By: Andrew Dunstan Discussion: https://postgr.es/m/20170930224424.ud5ilchmclbl5...@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/784905795f8aadc09efe2fdae195279d17250f00 - Remove redundant stdint.h include. Discussion: https://postgr.es/m/31674.1506788...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/1f2830f9df9f0196ba541c1e253463afe657cb67 - Allow pg_ctl kill to send SIGKILL. Previously that was disallowed out of an abundance of caution. Providing KILL support however is helpful to make the 013_crash_restart.pl test portable, and there's no actual issue with allowing it. SIGABRT, which has similar consequences except it also dumps core, was already allowed. Author: Andres Freund Discussion: https://postgr.es/m/45d42d41-6145-9be1-7261-84acf6d9e...@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/2e83db3ad2da9b073af9ae12916f0b71cf698e1e - Replace most usages of ntoh[ls] and hton[sl] with pg_bswap.h. All postgres internal usages are replaced, it's just libpq example usages that haven't been converted. External users of libpq can't generally rely on including postgres internal headers. Note that this includes replacing open-coded byte swapping of 64bit integers (using two 32 bit swaps) with a single 64bit swap. Where it looked applicable, I have removed netinet/in.h and arpa/inet.h usage, which previously provided the relevant functionality. It's perfectly possible that I missed other reasons for including those, the buildfarm will tell. Author: Andres Freund Discussion: https://postgr.es/m/20170927172019.gheidqy6xvlxb...@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/0ba99c84e8c7138143059b281063d4cca5a2bfea - Correct include file name in inet_aton fallback. Per buildfarm animal frogmouth. Author: Andres Freund https://git.postgresql.org/pg/commitdiff/859759b62f2d2f2f2805e2aa9ebdb167a1b9655c - Yet another pg_bswap typo in a windows only file. Per buildfarm animal frogmouth. Brown-Paper-Bagged-By: Andres Freund https://git
[ANNOUNCE] == PostgreSQL Weekly News - October 01 2017 ==
== PostgreSQL Weekly News - October 01 2017 == 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 pgday.Seoul 2017 will be held in Seoul, South Korea on November 4, 2017. Korean language information is here: http://pgday.postgresql.kr/ == PostgreSQL Product News == PostGIS 2.4.0, the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/2017/09/30/postgis-2.4.0/ Pagila 10.a, a sample database for PostgreSQL, released. https://github.com/xzilla/pagila dbForge Data Compare for PostgreSQL v3.0 released. https://docs.google.com/document/d/1ggVLlKpU7NkozHrj0fUnhSQKpBOqNW330foZPWz4iy4/edit?usp=sharing == PostgreSQL Jobs for October == http://archives.postgresql.org/pgsql-jobs/2017-10/ == 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 == Andrew Dunstan pushed: - Support building with Visual Studio 2017. Haribabu Kommi, reviewed by Takeshi Ideriha and Christian Ullrich Backpatch to 9.6 https://git.postgresql.org/pg/commitdiff/f2ab3898f3a25ef431db4ea90a8d128b974dbffe Tom Lane pushed: - Make construct_[md_]array return a valid empty array for zero-size input. If construct_array() or construct_md_array() were given a dimension of zero, they'd produce an array that contains no elements but has positive dimension. This violates a general expectation that empty arrays should have ndims = 0; in particular, while arrays like this print as empty, they don't compare equal to other empty arrays. Up to now we've expected callers to avoid making such calls and instead be careful to call construct_empty_array() if there would be no elements. But this has always been an easily missed case, and we've repeatedly had to fix callers to do it right. In bug #14826, Erwin Brandstetter pointed out yet another such oversight, in ts_lexize(); and a bit of examination of other call sites found at least two more with similar issues. So let's fix the problem centrally and permanently by changing these two functions to construct a proper zero-D empty array whenever the array would be empty. This renders a few explicit calls of construct_empty_array() redundant, but the only such place I found that really seemed worth changing was in ExecEvalArrayExpr(). Although this fixes some very old bugs, no back-patch: the problem is pretty minor and the risk of changing behavior seems to outweigh the benefit in stable branches. Discussion: https://postgr.es/m/20170923125723.1448.39...@wrigleys.postgresql.org Discussion: https://postgr.es/m/20570.1506198...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/716ea626a88ac510523ab3af5bc779d78eeced58 - Avoid SIGBUS on Linux when a DSM memory request overruns tmpfs. On Linux, shared memory segments created with shm_open() are backed by swap files created in tmpfs. If the swap file needs to be extended, but there's no tmpfs space left, you get a very unfriendly SIGBUS trap. To avoid this, force allocation of the full request size when we create the segment. This adds a few cycles, but none that we wouldn't expend later anyway, ass
[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 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 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 Reported-by: Noah Misch 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 basic TAP test setup for pg_upgrade". This reverts commit f41e56c76e39f02bef7ba002c9de03d62b76de4d. The build f
[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 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 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.gmail.com https://git.postgresql.org/pg/commitdiff/83aaac41c66959a3ebaec
[ANNOUNCE] == PostgreSQL Weekly News - September 10 2017 ==
== PostgreSQL Weekly News - September 10 2017 == The first PGConf in South Africa will take place in Cape Town on October 3, 2017. https://pgconf.org/conferences/SouthAfrica2017 The first Commitfest for PostgreSQL 11 has begun, with a record-breaking 256 patches in the queue, so we need all the help we can get from you, the community, to review all the great contributions. If you are the author of a patch, please make sure to follow up on the reviews so your contribution can get ready to be committed. == PostgreSQL Product News == Pgpool-II 3.6.6, 3.5.10, 3.4.13, 3.3.17, and 3.2.22 and pgpoolAdmin 3.6.2 released. http://pgpool.net/mediawiki/index.php/Downloads psqlODBC 09.06.0500 released. https://odbc.postgresql.org/docs/release.html Aquameta 0.1, a peer-to-peer network for exchanging "bundles" implemented with PostgreSQL, released. http://github.com/aquametalabs/aquameta == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2017-09/ == PostgreSQL Local == PostgresOpen will take place 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 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 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 translatable string. Discussion: https://postgr.es/m/20170828130545.sdajqlpr37hmmd6a@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/863d75439e8733b4bf6195a2c8a09966f04d8fbe - Correct base backup throttling. Throttling for sending a base backup in walsender is broken for the case where there is a lot of WAL traffic, because the latch used to put the walsender to sleep is also signalled by regular WAL traffic (and each signal causes an additional batch of data to be sent); the net effect is that there is no or little actual throttling. This is undesirable, so rewrite the sleep into a loop to achieve the desired effeect. Author: Jeff Janes, small tweaks by me Reviewed-by: Antonin Houska Discussion: https://postgr.es/m/CAMkU=1xh6mde-yl-eo1tkbgnd0pb1-tmxvrnvqcakn-qr2e...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/ebd346caf41b8e8738a49d96797ceccd04bb04dc Tom Lane pushed: - Adjust pgbench to allow non-ASCII characters in variable names. This puts it in sync with psql's notion of what is a valid variable name. Like psql, we document that "non-Latin letters" are allowed, but actually any non-ASCII character is accepted. Fabien Coelho Discussion: https://postgr.es/m/20170405.094548.1184280384967203518.t-is...@sraoss.co.jp https://git.postgresql.org/pg/commitdiff/9d36a386608d7349964e76120e48987e3ec67d04 - Fix some subtle problems in pgbench transaction stats counting. With --latency-limit, transactions might get skipped even beyond the transaction count limit specified by -t, throwing off the expected number of transactions and thus the denominator for later stats. Be sure to stop skipping transactions once -t is reached. Also, include skipped transactions in the "cnt" fields; this requires discounting them again in a couple of places, but most places are better off with this definition. In particular this is needed to get correct overall stats for the combination of -R/-L/-t options. Merge some more processing into processXactStats() to simplify this. In passing, add a check that --progress-timestamp is specified only when --progress is. We might consider back-patching this, but given that it only
[ANNOUNCE] == PostgreSQL Weekly News - September 04 2017 ==
== PostgreSQL Weekly News - September 04 2017 == PostgreSQL 10 Beta 4 released. Test! https://www.postgresql.org/about/news/1776/ PostgreSQL 9.6.5, 9.5.9, 9.4.14, 9.3.19, and 9.2.23 released. Upgrade ASAP. https://www.postgresql.org/about/news/1777/ 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. Please include any of the following which apply: name, surname, twitter handle, company, short biography (contributions to the PostgreSQL community), talk title, talk abstract, and any special needs. == PostgreSQL Product News == Ora2Pg 18.2, a tool for migrating Oracle databases to PostgreSQL, released. http://ora2pg.darold.net/ PostGIS 2.4.0 beta1, the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/2017/09/02/postgis-2.4.0beta1/ Slony 2.2.6, a trigger-based logical replication system for PostgreSQL, released. http://www.slony.info/ pgFormatter 2.1, a formatter/beautifier for SQL code, released. http://sqlformat.darold.net/ Database Designer for PostgreSQL 1.12-beta released. http://microolap.com/products/database/postgresql-designer/ == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2017-09/ == PostgreSQL Local == PostgresOpen will take place 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 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/ 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 == Peter Eisentraut pushed: - Clarify documentation. Discussion: https://www.postgresql.org/message-id/flat/20170618071607.GA16418%40nol.local https://git.postgresql.org/pg/commitdiff/46596f8d6b5dfdb836fa79788614a3786bc3cbb6 - doc: Avoid sidebar element. The formatting of the sidebar element didn't carry over to the new tool chain. Instead of inventing a whole new way of dealing with it, just convert the one use to a "note". https://git.postgresql.org/pg/commitdiff/00f6d5c2c3ae2f6d198e41800e5edcf0150d485b - Remove to pre-8.2 coding convention for PG_MODULE_MAGIC. PG_MODULE_MAGIC has been around since 8.2, with 8.1 long since in EOL, so remove the mention of #ifdef guards for compiling against pre-8.2 sources from the documentation. Author: Daniel Gustafsson https://git.postgresql.org/pg/commitdiff/b5c75feca7ffb2667c42b86286e262d6cb709b76 - doc: Remove mentions of server-side CRL and CA file names. Commit a445cb92ef5b3a31313ebce30e18cc1d6e0bdecb removed the default file names for server-side CRL and CA files, but left them in the docs with a small note. This removes the note and the previous default names to clarify, as well as changes mentions of the file names to make it clearer that they are configurable. Author: Daniel Gustafsson Reviewed-by: Michael Paquier https://git.postgresql.org/pg/commitdiff/a0572203532560423c92066b90d13383720dce3a - Add memory info to getrusage output. Add the maxrss field to the getrusage output (log_*_stats). This was previously omitted because of portability concerns, but we feel this might not be a concern anymore. based on patch by Justin Pryzby https://git.postgresql.org/pg/commitdiff/c039ba0716383ccaf88c9be1a7f0803a77823de1 - doc: Fix typos and other minor issues. Author: Alexander Lakhin https://git.postgresql.org/pg/commitdiff/afc58affb6616a415ea991763e0383832346e7c7 Tom Lane pushed: - Fix over-aggressive sanity check in misc_sanity.sql. Fix thinko in commit 8be8510cf: it's okay to have dbid == 0 in normal (non-pin) entries in pg_shdepend, because global objects such as databases are entered that way. The test woul
[ANNOUNCE] == PostgreSQL Weekly News - August 27 2017 ==
== PostgreSQL Weekly News - August 27 2017 == == PostgreSQL Product News == OmniDB, a browser-based database management tool, released. https://www.2ndquadrant.com/en/resources/omnidb PostgreSQL Maestro 17.8, an ODBC-based management tool which works with PostgreSQL, released. https://www.sqlmaestro.com/products/postgresql/maestro/ == 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 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/ 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 == Noah Misch pushed: - Inject $(ICU_LIBS) regardless of platform. It appeared in a conditional that excludes AIX, Cygwin and MinGW. Give ICU support a chance to work on those platforms. Back-patch to v10, where ICU support was introduced. https://git.postgresql.org/pg/commitdiff/66ed3829df959adb47f71d7c903ac59f0670f3e1 Robert Haas pushed: - pg_prewarm: Add automatic prewarm feature. Periodically while the server is running, and at shutdown, write out a list of blocks in shared buffers. When the server reaches consistency -- unfortunatey, we can't do it before that point without breaking things -- reload those blocks into any still-unused shared buffers. Mithun Cy and Robert Haas, reviewed and tested by Beena Emerson, Amit Kapila, Jim Nasby, and Rafia Sabih. Discussion: http://postgr.es/m/cad__ougubos1vy7kgf6xtjmeqtr4crgav8w+zbay_+mzeit...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/79ccd7cbd5ca44bee0191d12e9e65abf702899e7 - Push limit through subqueries to underlying sort, where possible. Douglas Doole, reviewed by Ashutosh Bapat and by me. Minor formatting change by me. Discussion: http://postgr.es/m/cade5jyluugneeusyw6q_4mzfytxhxavcqmgasf0yiy8zdgg...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/1f6d515a67ec98194c23a5db25660856c9aab944 - Improve low-level backup documentation. Our documentation hasn't really caught up with the fact that non-exclusive backups can now be taken using pg_start_backup and pg_stop_backup even on standbys. Update, also correcting some errors introduced by 52f8a59dd953c6820baf153e97cf07d31b8ac1d6. Updates to the 9.6 documentation are needed as well, but that will need a separate patch as some things are different on that version. David Steele, reviewed by Robert Haas and Michael Paquier Discussion: http://postgr.es/m/d4d951b9-89c0-6bc1-b6ff-d0b2dd5a8...@pgmasters.net https://git.postgresql.org/pg/commitdiff/449338cc644be6035d05afb6b60f536adfd99b3e Peter Eisentraut pushed: - Expand set of predefined ICU locales. Install language+region combinations even if they are not distinct from the language's base locale. This gives better long-term stability of the set of predefined locales and makes the predefined locales less implementation-dependent and more practical for users. Reviewed-by: Peter Geoghegan https://git.postgresql.org/pg/commitdiff/51e225da306e14616b690308a59fd89e22335035 - Don't install ICU collation keyword variants. Users can still create them themselves. Instead, document Unicode TR 35 collation options for ICU, so users can create all this themselves. Reviewed-by: Peter Geoghegan https://git.postgresql.org/pg/commitdiff/2bfd1b1ee562c4e4fd065c7f7d1beaa9b9852070 - doc: Mention identity column feature in section on serial. Reported-by: Basil Bourque https://git.postgresql.org/pg/commitdiff/b5664cfd4c17eb69e6d7356ce670cc4a98074d13 - pg_upgrade: Message translatability and style fixes. https://git.postgresql.org/pg/commitdiff/7e046e6e8a33f8a7ef641b9539376cf939993105 - Fix translation marker. This was erroneously removed in 55a70a023c3daefca9bbd68bfbe6862af10ab479. https://git.postgres
[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 con
[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 t
[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
[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 num
[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 https://git.postgresql.org/pg/commitdiff/42794d6749f24636efbb198db17c30c63df10900 - Fix out of date comment. Author: Masahiko Sawada 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 https://git.postgresql.org/pg/commitdiff/cb9079cd51a2df677dc182aec72d88383b9c2a79 - Document how logical replication deals with statement triggers. Reported-by: Константин Евтеев 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: Дилян Палаузов 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 - Remove unnecessary pg_is_in_recovery calls in tests. Since pg_ctl promote already waits for recovery to end, these calls are obsolete.
[ANNOUNCE] == PostgreSQL Weekly News - July 02 2017 ==
== PostgreSQL Weekly News - July 02 2017 == PGConf Local: Seattle will be held August 11 - 12, 2017. Call for Papers is open and closes July 2, submit a proposal at https://www.pgconf.us/#Seattle2017 PGDay Austin 2017 will be held on Saturday, August 26, 2017. Agenda is posted and registration is now open at https://pgdayaustin2017.postgresql.us PGConf Local: Philly will be held July 13 - 14, 2017. Registration is now open at https://www.pgconf.us/conferences/Philly2017 == PostgreSQL Product News == PostgreSQL Automatic Failover (PAF) v2.2_beta1 released. https://github.com/dalibo/PAF/releases/tag/v2.2_beta1 == 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 PGDay Austin 2017 will be held on Saturday, August 26 2017. https://pgdayaustin2017.postgresql.us 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 == Magnus Hagander pushed: - Consistently use () for function calls in release notes. https://git.postgresql.org/pg/commitdiff/59cd3987afd61191483a4cfe8f6a0abfb8c878d6 Tom Lane pushed: - Minor code review for parse_phrase_operator(). Fix its header comment, which described the old behavior of the phrase distance operator; we missed updating that in commit 028350f61. Also, reset errno before strtol() call, to defend against the possibility that it was already ERANGE at entry. (The lack of complaints says that it generally isn't, but this is at least a latent bug.) Very minor stylistic improvements as well. Victor Drobny noted the obsolete comment, I noted the errno issue. Back-patch to 9.6 where this code was added, just in case the errno issue is a live bug in some cases. Discussion: https://postgr.es/m/2b5382fdff9b1f79d5eb2c99c4d2c...@postgrespro.ru https://git.postgresql.org/pg/commitdiff/00c5e511b94059396150c406f5d71598034a2061 - Avoid useless "x = ANY(ARRAY[])" test for empty partition list. This arises in practice if the partition only admits NULL values. Jeevan Ladhe Discussion: https://postgr.es/m/caogct0ochrn--uuqh6wg6z8+nxncwj+2q-uhnk4koandrrx...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/5efccc1cb43005a832776ed9158d2704fd976f8f - Improve wait logic in TAP tests for streaming replication. Remove hard-wired sleep(2) delays in 001_stream_rep.pl in favor of using poll_query_until to check for the desired state to appear. In addition, add such a wait before the last test in the script, as it's possible to demonstrate failures there after upcoming improvements in pg_ctl. (We might end up adding polling before each of the get_slot_xmins calls in this script, but I feel no great need to do that until shown necessary.) In passing, clarify the description strings for some of the test cases. Michael Paquier and Craig Ringer, pursuant to a complaint from me Discussion: https://postgr.es/m/8962.1498425...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/5c77690f6f419c504b7d8248db30c2280217e72e - Reduce pg_ctl's reaction time when waiting for postmaster start/stop. pg_ctl has traditionally waited one second between probes for whether the start or stop request has completed. That behavior was embodied in the original shell script written in 1999 (commit 5b912b089) and I doubt anyone's questioned it since. Nowadays, machines are a lot faster, and the shell script is long since replaced by C code, so it's fair to reconsider how long we ought to wait. This patch adjusts the coding so that the wait time can be any even divisor of 1 second, and sets the actual probe rate to 10 per second. That's based on experimentation with the src/test/recovery TAP tests, which includ
[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 b
[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 . 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 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 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 https://git.postgresql.org/pg/commitdiff/253504fb9f804b6aa7cec9b9b2506fa88accf0dc - Add MSVC build system support for ICU. Author: Ashutosh Sharma Reviewed-by: Michael Paquier 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 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: Update external PL list. Add PL/Lua, PL/v8. Remove stale/unmaintained PL/PHP, PL/Py, PL/Ruby, PL/Scheme. Reported-by: Adam Sah https://git.postgresql.org/pg/commitdiff/2440c442d167d9d081a3e69c4
[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
[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-pa
[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 Reported-by: Fujii Masao 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 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 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 https://git.postgresql.org/pg/commitdiff/3d092fe5409b98272ddd6e623b657308a3c5f004 - doc: Add missing markup. https://git.postgresql.org/pg/commitdiff/460c89f46c1fdf11baa8e76e6d04e1ff87d7e008 - doc: Improve order in ALTER PUBLICATION/SUBSCRIPTION ref pages. Move the O
[ANNOUNCE] == PostgreSQL Weekly News - April 30 2017 ==
== PostgreSQL Weekly News - April 30 2017 == Ubuntu Zesty (17.04) and Debian stretch (9) are now supported on apt.postgresql.org. https://wiki.postgresql.org/wiki/Apt == PostgreSQL Product News == Pgpool-II 3.6.3, 3.5.7, 3.4.11, 3.3.15, 3.2.20, and pgpoolAdmin 3.6.1 released. http://pgpool.net/mediawiki/index.php/Downloads pg_repack 1.4, an extension for removing bloat, released. http://reorg.github.io/pg_repack/1.4/ PGroonga 1.2.0, a full text search platform for all languages, released. http://groonga.org/en/blog/2017/04/29/pgroonga-1.2.0.html == 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/ 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 == Tom Lane pushed: - Code review for commands/statscmds.c. Fix machine-dependent sorting of column numbers. (Odd behavior would only materialize for column numbers above 255, but that's certainly legal.) Fix poor choice of SQLSTATE for some errors, and improve error message wording. (Notably, "is not a scalar type" is a totally misleading way to explain "does not have a default btree opclass".) Avoid taking AccessExclusiveLock on the associated relation during DROP STATISTICS. That's neither necessary nor desirable, and it could easily have put us into situations where DROP fails (compare commit 68ea2b7f9). Adjust/improve comments. David Rowley and Tom Lane Discussion: https://postgr.es/m/cakjs1f-gmcfpvbbaeam5xovoaydvgvn1gicalsoyq77z-+v...@mail.gmail.com https://git.postgresql.org/pg/commitdiff/4b34624daadd9837cd65f20419f832b295c67ecb - Fix postmaster's handling of fork failure for a bgworker process. This corner case didn't behave nicely at all: the postmaster would (partially) update its state as though the process had started successfully, and be quite confused thereafter. Fix it to act like the worker had crashed, instead. In passing, refactor so that do_start_bgworker contains all the state-change logic for bgworker launch, rather than just some of it. Back-patch as far as 9.4. 9.3 contains similar logic, but it's just enough different that I don't feel comfortable applying the patch without more study; and the use of bgworkers in 9.3 was so small that it doesn't seem worth the extra work. transam/parallel.c is still entirely unprepared for the possibility of bgworker startup failure, but that seems like material for a separate patch. Discussion: https://postgr.es/m/4905.1492813...@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/4fe04244b584749351657e99f3e6e1436e9b65a8 - Run the postmaster's signal handlers without SA_RESTART. The postmaster keeps signals blocked everywhere except while waiting for something to happen in ServerLoop(). The code expects that the select(2) will be cancelled with EINTR if an interrupt occurs; without that, followup actions that should be performed by ServerLoop() itself will be delayed. However, some platforms interpret the SA_RESTART signal flag as meaning that they should restart rather than cancel the select(2). Worse yet, some of them restart it with the original timeout delay, meaning that a steady stream of signal interrupts can prevent ServerLoop() from iterating at all if there are no incoming connection requests. Observable symptoms of this, on an affected platform such as HPUX 10, include extremely slow parallel query startup (possibly as much as 30 seconds) and failure to update timestamps on the postmaster's sockets and lockfiles when no new connections arrive for a long time. We can fix this by running the postmaster's signal handlers without SA_RESTART. That would be quite a scary change if the range of code where signals are accepted weren't so tiny, but as it is, it seems safe enough. (Note that postmaster children do, and must, reset all the handlers before unblocking signals; so this change should not affect any child process.) There is talk of rewriting the postmaster to use a WaitEventSet and n
[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
[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 magnitu
[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
[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 &
[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 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 Reviewed-by: Michael Paquier 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 Reviewed-by: Michael Paquier 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 Reviewed-by: Michael Paquier 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 Reviewed-by: Michael Paquier http://git.postgresql.org/pg/commitdiff/63ebd377a6ecd3388596c3ea958e813f23b5f4ae - Remove objname/objargs split for referring to objects. In simpler times, it might have worked to refer to all kinds of
[ANNOUNCE] == PostgreSQL Weekly News - March 05 2017 ==
== PostgreSQL Weekly News - March 05 2017 == == PostgreSQL Product News == pgpoolAdmin 3.6.0, an administration tool for pgpool, released. http://pgpool.net/mediawiki/index.php/Downloads psycopg2 2.7, a Python connector for PostgreSQL, released. http://initd.org/psycopg/docs/news.html#what-s-new-in-psycopg-2-7 == 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 == Andres Freund pushed: - Add "Slab" MemoryContext implementation for efficient equal-sized allocations. The default general purpose aset.c style memory context is not a great choice for allocations that are all going to be evenly sized, especially when those objects aren't small, and have varying lifetimes. There tends to be a lot of fragmentation, larger allocations always directly go to libc rather than have their cost amortized over several pallocs. These problems lead to the introduction of ad-hoc slab allocators in reorderbuffer.c. But it turns out that the simplistic implementation leads to problems when a lot of objects are allocated and freed, as aset.c is still the underlying implementation. Especially freeing can easily run into O(n^2) behavior in aset.c. While the O(n^2) behavior in aset.c can, and probably will, be addressed, custom allocators for this behavior are more efficient both in space and time. This allocator is for evenly sized allocations, and supports both cheap allocations and freeing, without fragmenting significantly. It does so by allocating evenly sized blocks via malloc(), and carves them into chunks that can be used for allocations. In order to release blocks to the OS as early as possible, chunks are allocated from the fullest block that still has free objects, increasing the likelihood of a block being entirely unused. A subsequent commit uses this in reorderbuffer.c, but a further allocator is needed to resolve the performance problems triggering this work. There likely are further potentialy uses of this allocator besides reorderbuffer.c. There's potential further optimizations of the new slab.c, in particular the array of freelists could be replaced by a more intelligent structure - but for now this looks more than good enough. Author: Tomas Vondra, editorialized by Andres Freund Reviewed-By: Andres Freund, Petr Jelinek, Robert Haas, Jim Nasby Discussion: https://postgr.es/m/d15dff83-0b37-28ed-0809-95a5cc729...@2ndquadrant.com http://git.postgresql.org/pg/commitdiff/58b25e98106dbe062cec0f3d31d64977bffaa4af - Use the new "Slab" context for some allocations in reorderbuffer.h. Note that this change alone does not yet fully address the performance problems triggering this work, a large portion of the slowdown is triggered by the tuple allocator, which isn't converted to the new allocator. It would be possible to do so, but using evenly sized objects, like both the current implementation in reorderbuffer.c and slab.c, wastes a fair amount of memory. A later patch by Tomas will introduce a better approach. Author: Tomas Vondra Reviewed-By: Andres Freund Discussion: https://postgr.es/m/d15dff83-0b37-28ed-0809-95a5cc729...@2ndquadrant.com http://git.postgresql.org/pg/commitdiff/9fab40ad32efa4038d19eaed975bb4c1713ccbc0 - Make useful infrastructure from aset.c generally available. An upcoming patch introduces a new type of memory context. To avoid duplicating debugging infrastructure within aset.c, move useful pieces to memdebug.[ch]. While touching aset.c, fix printf format code in AllocFree* debug macros. Author: Tomas Vondra Reviewed-By: Andres Freund Discussion: https://postgr.es/m/b3b2245c-b37a-e1e5-ebc4-857c914bc...@2ndquadrant.com http://git.postgresql.org/pg/commitdiff/bfd12cccbd72c1846bfa3e40
[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
[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 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 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 Reviewed-by: Ashutosh Bapat 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 dropping NOT NULL for a list partition key. Range partitioning doesn't support nulls in the partitioni
[ANNOUNCE] == PostgreSQL Weekly News - February 12 2017 ==
== PostgreSQL Weekly News - February 12 2017 == Bug fix releases 9.6.2, 9.5.6, 9.4.11, 9.3.16 and 9.2.20 are out. Upgrade at the next available downtime. https://www.postgresql.org/about/news/1733/ Swiss PGDay in Rapperswil will take place June 30, 2017. The CfP is open through April 14, 2017. http://www.pgday.ch/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 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/ == 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 typos in comments. Backpatch to all supported versions, where applicable, to make backpatching of future fixes go more smoothly. Josh Soref Discussion: https://www.postgresql.org/message-id/caczqfqcf+5qrztlpgmmosr-b0ye4srwzzw_mo4c_8_b_mtj...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/181bdb90ba1f2361aec5a621c8f1e01736f8cad2 - Fix typo in variable name. Masahiko Sawada http://git.postgresql.org/pg/commitdiff/d02d985349cad066330786bd38e186a569415751 - Fix typo also in expected output. Commit 181bdb90ba fixed the typo in the .sql file, but forgot to update the expected output. http://git.postgresql.org/pg/commitdiff/d93b7535a68b03cb8126b930af796af469fdd109 Peter Eisentraut pushed: - Add missing newline to error messages. Also improve the message style a bit while we're here. http://git.postgresql.org/pg/commitdiff/afcb0c97efc58459bcbbe795f42d8b7be414e076 - doc: Update CREATE DATABASE examples. The example of using CREATE DATABASE with the ENCODING option did not work anymore (except in special circumstances) and did not represent a good general-purpose example, so write some new examples. Reported-by: marc+pg...@milestonerdl.com http://git.postgresql.org/pg/commitdiff/549f74733f45804cd3180de853e5d0610eecc22f - doc: Document sequence function privileges better. Document the privileges required for each of the sequence functions. This was already in the GRANT reference page, but also add it to the function description for easier reference. http://git.postgresql.org/pg/commitdiff/696af9ab0a92642978169c227e187a65c2f35f17 - Avoid permission failure in pg_sequences.last_value. Before, reading pg_sequences.last_value would fail unless the user had appropriate sequence permissions, which would make the pg_sequences view cumbersome to use. Instead, return null instead of the real value when there are no permissions. From: Michael Paquier Reported-by: Shinoda, Noriyoshi http://git.postgresql.org/pg/commitdiff/ab82340a43bebe57a3db0e52bb74120b3bb53ae5 - doc: Some improvements in CREATE SUBSCRIPTION ref page. Add link to description of libpq connection strings. Add link to explanation of replication access control. This currently points to the description of streaming replication access control, which is currently the same as for logical replication, but that might be refined later. Also remove plain-text passwords from the examples, to not encourage that dubious practice. based on suggestions from Simon Riggs http://git.postgresql.org/pg/commitdiff/e35bbea7ddd89c7f51988fcf03c87150938ea2e3 - Fix relcache leaks in get_object_address_publication_rel(). http://git.postgresql.org/pg/commitdiff/115cb31597fac8a17202d1e41da8baf33fcb60cf - Add CREATE SEQUENCE AS clause. This stores a data type, required to be an integer type, with the sequence. The sequences min and max values default to the range supported by the type, and they cannot be set to values exceeding that range. The internal implementation of the sequence is not aff
[ANNOUNCE] == PostgreSQL Weekly News - February 05 2017 ==
== PostgreSQL Weekly News - February 05 2017 == The first pgDay Israel 2017 will take place on March 2, 2017. Registration is open. http://pgday.org.il/ 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/ == PostgreSQL Product News == Ora2Pg 18.0, a tool for migrating Oracle databases to PostgreSQL, released. http://ora2pg.darold.net/ psqlODBC 09.06.0100 released. https://odbc.postgresql.org/docs/release.html PostGIS 2.2.5 and 2.3.2, the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/2017/01/30/postgis-2.2.5/ http://postgis.net/2017/01/31/postgis-2.3.2/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2017-02/ == 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 == Stephen Frost pushed: - Handle ALTER EXTENSION ADD/DROP with pg_init_privs. In commit 6c268df, pg_init_privs was added to track the initial privileges of catalog objects and extensions. Unfortunately, that commit didn't include understanding of ALTER EXTENSION ADD/DROP, which allows the objects associated with an extension to be changed after the initial CREATE EXTENSION script has been run. The result of this meant that ACLs for objects added through ALTER EXTENSION ADD were not recorded into pg_init_privs and we would end up including those ACLs in pg_dump when we shouldn't have. This commit corrects that by making sure to have pg_init_privs updated when ALTER EXTENSION ADD/DROP is run, recording the permissions as they are at ALTER EXTENSION ADD time, and removing any if/when ALTER EXTENSION DROP is called. This issue was pointed out by Moshe Jacobson as commentary on bug #14456 (which was actually a bug about versions prior to 9.6 not handling custom ACLs on extensions correctly, an issue now addressed with pg_init_privs in 9.6). Back-patch to 9.6 where pg_init_privs was introduced. http://git.postgresql.org/pg/commitdiff/e54f75722c720b596ec5e72154cc899da199de5b - test_pg_dump TAP test whitespace cleanup. The formatting of the perl hashes used in the TAP tests for test_pg_dump was rather horribly inconsistent and made it more difficult than it really should have been to add new tests or adjust what tests are for what runs, etc. Reformat to clean that all up. Whitespace-only changes. http://git.postgresql.org/pg/commitdiff/fb94ca77f1400e236b00d432dccfbe4f1124971c - test_pg_dump: perltidy cleanup. As pointed out by Alvaro, we actually use perltidy on the perl scripts in the source tree, so go back to the results of a perltidy run for the test_pg_dump TAP script. To make it look slightly less tragic, I changed most of the independent arguments into long-form single arguments (eg: -f file.sql changed to be --file=file.sql) to avoid having them confusingly split across lines due to perltidy. Back-patch to 9.6, as the last patch was. http://git.postgresql.org/pg/commitdiff/58da8334308c26107ebb7ee06c99589e14bd882b - perltidy pg_dump TAP tests. The pg_dump TAP tests have gotten pretty far from what perltidy thinks they should be, so fix that, and in passing use long-form argument names with arguments passed via "=" in a similar vein to 58da833. No functional changes here, just whitespace and changing runs from "-f" to "--file=", and similar. http://git.postgresql.org/pg/commitdiff/6af8b89adba16f97bee0d3b01256861e10d0e4f1 - pg_dump: Fix handling of ALTER DEFAULT PRIVILEGES. In commit 23f34fa, we changed how ACLs were handled to use the new pg_init_privs catalog and to dump out the ACL commands as REVOKE+GRANT combinations instead of trying to REVOKE all rights always and then GRAN
[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 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 Reviewed-by: Michael Paquier 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 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 when slot creation errors. From: Petr Jelinek http://git.postgresql.or
[ANNOUNCE] == PostgreSQL Weekly News - January 22 2017 ==
== PostgreSQL Weekly News - January 22 2017 == == 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. 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 == Fujii Masao pushed: - Fix typos in comments. Masahiko Sawada http://git.postgresql.org/pg/commitdiff/8fa6019b405f9d39539a77c6f5f11fe640ddf955 - Fix an assertion failure related to an exclusive backup. Previously multiple sessions could execute pg_start_backup() and pg_stop_backup() to start and stop an exclusive backup at the same time. This could trigger the assertion failure of "FailedAssertion("!(XLogCtl->Insert.exclusiveBackup)". This happend because, even while pg_start_backup() was starting an exclusive backup, other session could run pg_stop_backup() concurrently and mark the backup as not-in-progress unconditionally. This patch introduces ExclusiveBackupState indicating the state of an exclusive backup. This state is used to ensure that there is only one session running pg_start_backup() or pg_stop_backup() at the same time, to avoid the assertion failure. Back-patch to all supported versions. Author: Michael Paquier Reviewed-By: Kyotaro Horiguchi and me Reported-By: Andreas Seltenreich Discussion: <87mvktojme@credativ.de> http://git.postgresql.org/pg/commitdiff/974ece58bbb3c0ef185a9d44b1cedae51cd56b04 - Add description of temporary column into pg_replication_slots doc. Ayumi Ishii http://git.postgresql.org/pg/commitdiff/954737095061e5b5f1d87fb8cc43f7f8afff64c6 Magnus Hagander pushed: - Make pg_basebackup use temporary replication slots. Temporary replication slots will be used by default when wal streaming is used and no slot name is specified with -S. If a slot name is specified, then a permanent slot with that name is used. If --no-slot is specified, then no permanent or temporary slot will be used. Temporary slots are only used on 10.0 and newer, of course. http://git.postgresql.org/pg/commitdiff/e7b020f786bf3b344f81d70aa423525fd4f44dfa - Fix incorrect comparison due to bad merge. Noted by Fujii Masao http://git.postgresql.org/pg/commitdiff/fcf708623e860b7a1efef11a5d5661900307b6fc - Add compression support to pg_receivexlog. Author: Michael Paquier, review and small changes by me http://git.postgresql.org/pg/commitdiff/cada1af31d769a6b607018d68894f2c879ff275f - Implement array version of jsonb_delete and operator. This makes it possible to delete multiple keys from a jsonb value by passing in an array of text values, which makes the operaiton much faster than individually deleting the keys (which would require copying the jsonb structure over and over again. Reviewed by Dmitry Dolgov and Michael Paquier http://git.postgresql.org/pg/commitdiff/d00ca333c338b40911e89939c3cc771025978595 Tom Lane pushed: - Fix NULL pointer dereference in tuplesort.c. Oversight in commit e94568ecc. This could cause a crash when an external datum tuplesort of a pass-by-value type required multiple passes. Per report from Mithun Cy. Peter Geoghegan Discussion: https://postgr.es/m/cad__oujuhfwfulgfst1fyhqub8n-xafjjhudwt88v0qs2o8...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/4e46c97fde42fa8ca57d29b9b47f2ebd11ab8105 - Fix check_srf_call_placement() to handle VALUES cases correctly. INSERT ... VALUES with a single VALUES row is implemented quite differently from the general VALUES case. A user-visible implication of that is that we accept SRFs in the single-row case, but not in the multi-row case. That's a historical artifact no doubt, but in view of the lack of field complaints, I'm not excited about fixing it right now. However, check_srf_call_placement() needs to know about this, first becau
[ANNOUNCE] == PostgreSQL Weekly News - January 15 2017 ==
== PostgreSQL Weekly News - January 15 2017 == == PostgreSQL Product News == postgresql-unit 2.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 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/ 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. 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 == Magnus Hagander pushed: - Use an enum instead of two bools to indicate wal inclusion in base backups. This makes the code easier to read as it becomes more explicit what the different allowed combinations really are. Suggested by Michael Paquier http://git.postgresql.org/pg/commitdiff/534b6f3ef29a11d19deeef6cef3bc8d4984de3c8 - Fix some typos in comments. Masahiko Sawada http://git.postgresql.org/pg/commitdiff/268f9e3d9292af1d6ca9aa66b42daac2ef1a0987 - Change default values for backup and replication parameters. This changes the default values of the following parameters: wal_level = replica, max_wal_senders = 10, max_replication_slots = 10, in order to make it possible to make a backup and set up simple replication on the default settings, without requiring a system restart. Discussion: https://postgr.es/m/cabuevey4pr_eavzezsbf5s+v0eevw7shj2t-auwbhojt+yr...@mail.gmail.com Reviewed by Peter Eisentraut. Benchmark help from Tomas Vondra. http://git.postgresql.org/pg/commitdiff/f6d6d2920d2cddc4b381cbbf2915db9d985d20a9 Tom Lane pushed: - Expand the regression tests for PL/Tcl. This raises the test coverage (by line count) in pltcl.c from about 70% to 86%. Karl Lehenbauer and Jim Nasby Discussion: https://postgr.es/m/92a1670d-21b6-8f03-9c13-e4fb2207a...@bluetreble.com http://git.postgresql.org/pg/commitdiff/961bed0208912a929a47c5a30190ff76748f3a03 - Fix error handling in pltcl_returnnext. We can't throw elog(ERROR) out of a Tcl command procedure; we have to catch the error and return TCL_ERROR to the Tcl interpreter. pltcl_returnnext failed to meet this requirement, so that errors detected by pltcl_build_tuple_result or other functions called here led to longjmp'ing out of the Tcl interpreter and thereby leaving it in a bad state. Use the existing subtransaction support to prevent that. Oversight in commit 26abb50c4, found more or less accidentally by the buildfarm thanks to the tests added in 961bed020. Report: https://postgr.es/m/30647.1483989...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/8c5722948e831c1862a39da2bb5d793a6f2aabab - Fix field order in struct catcache. Somebody failed to grasp the point of having the #ifdef CATCACHE_STATS fields at the end of the struct. Put that back the way it should be, and add a comment making it more explicit why it should be that way. http://git.postgresql.org/pg/commitdiff/e2117e4ab0d7fcb76f20cbf2e52541998d639d9e - In PL/Tcl tests, don't choke if optional error fields are missing. This fixes a portability issue introduced by commit 961bed020: with a compiler that doesn't support PG_FUNCNAME_MACRO, the "funcname" field of errorCode won't be provided, leading to a failure of the unset command. I added -nocomplain to the unset commands for filename and lineno too, just in case, though I know of no platform that wouldn't populate those fields. (BTW, -nocomplain is new in Tcl 8.4, but fortunately we dropped support for pre-8.4 Tcl some time ago.) Per buildfarm member pademelon. http://git.postgresql.org/pg/commitdiff/5b29e6b688d1e783a098aa24f9e795f8de798a87 - Fix some more regression test row-order-instability issues. Commit 0563a3a8b
[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
[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<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 was no daylight left before the next hard-coded number, resulting in some duplicate tag assignments. This doesn't seem to have caused any big problem so far, but it's surely trouble waiting to happen. We could adjust the manually assigned breakpoints to make more room, but that just leaves the same hazard waiting to strike again in future. What seems like a better idea is to get rid of the manual assignments and leav
[ANNOUNCE] == PostgreSQL Weekly News - December 25 2016 ==
== PostgreSQL Weekly News - December 25 2016 == 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/ 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/ == PostgreSQL Product News == PostgreSQL Automatic Failover (PAF) v2.1.0 released. https://github.com/dalibo/PAF/releases/tag/v2.1.0 Postgres.app 2.0, a PostgreSQL bundle for OS X, released. https://github.com/PostgresApp/PostgresApp/releases/v2.0.1/ == 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/ 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 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 == Magnus Hagander pushed: - Fix base backup rate limiting in presence of slow i/o When source i/o on disk was too slow compared to the rate limiting specified, the system could end up with a negative value for sleep that it never got out of, which caused rate limiting to effectively be turned off. Discussion: https://postgr.es/m/CABUevEy_-e0YvL4ayoX8bH_Ja9w%2BBHoP6jUgdxZuG2nEj3uAfQ%40mail.gmail.com Analysis by me, patch by Antonin Houska http://git.postgresql.org/pg/commitdiff/10238fad0389175f71739bc9b4d00bb24d9b8c44 Fujii Masao pushed: - Support quorum-based synchronous replication. This feature is also known as "quorum commit" especially in discussion on pgsql-hackers. This commit adds the following new syntaxes into synchronous_standby_names GUC. By using FIRST and ANY keywords, users can specify the method to choose synchronous standbys from the listed servers. FIRST num_sync (standby_name [, ...]) ANY num_sync (standby_name [, ...]) The keyword FIRST specifies a priority-based synchronous replication which was available also in 9.6 or before. This method makes transaction commits wait until their WAL records are replicated to num_sync synchronous standbys chosen based on their priorities. The keyword ANY specifies a quorum-based synchronous replication and makes transaction commits wait until their WAL records are replicated to *at least* num_sync listed standbys. In this method, the values of sync_state.pg_stat_replication for the listed standbys are reported as "quorum". The priority is still assigned to each standby, but not used in this method. The existing syntaxes having neither FIRST nor ANY keyword are still supported. They are the same as new syntax with FIRST keyword, i.e., a priorirty-based synchronous replication. Author: Masahiko Sawada Reviewed-By: Michael Paquier, Amit Kapila and me Discussion: Many thanks to the various individuals who were involved in discussing and developing this feature. http://git.postgresql.org/pg/commitdiff/3901fd70cc7ccacef1b0549a6835bb7d8dcaae43 - Forbid invalid combination of options in pg_basebackup. Commit 56c7d8d4552180fd66fe48423bb2a9bb767c2d87 allowed pg_basebackup to stream WAL in tar mode. But there is the restriction that WAL streaming in tar mode works only when the value - (dash) is not specified as output directory. This means that the combination of three options "-D -", "-F t" and "-X stream" is invalid. However, previously, even when those options were specified at the same time, pg_basebackup background process unexpectedly started streaming WAL. And then it exited with an error. This commit changes pg_basebackup so that it errors out on such invalid combination of options at the beginning. Reviewed by Magnus Hagander, and patch by me. http://git.postgresql.org/pg/commitdiff/ecbdc4c555f43b1ac284c734752b00c2ea6f277b Robert Haas pushed: - Remove unused file. This was added in 105409746499657acdffc109db9d343b464bda1f, but has never been used for anything as far as I can tell. There seems to be no reason to keep it. http://git.postgresql.org/pg/commitdiff/668dbbec27da05b35a6972e9d833115dce0b
[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_OU
[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: http://git.postgresql.org/pg/commitdiff/dfe530a09226a9de80f2b4c3d5f667bf51481c49 Heikki Linnakangas pushed: - Fix creation of stand-alone INSTALL.html file. I missed the notice at the top of the file, that plain xref must not be used in installation.sgml. Per buildfarm member guaibasaurus. http://git.postgresql.org/pg/commitdiff/7dd8eb39bd2b9e06eeef038f80ae327efb4a7d55 - Fix typo in new message in configure. Remove spurious "of", and reformat to fit on a 80 chars wide line. http://git.postgresql.org/pg/commitdiff/44a977f55f33834a2fe0d1d9bd5eeb29ce67e914 - Fix whitespace. Thomas Munro http://git.postgresql.org/pg/commitdiff/9790b87f594565c11599b2004466169b8c2fd4af - Fix query cancellation. In commit fe0a0b59, the datatype used for MyCancelKey and other variables that store cancel keys were changed from long to uint32, but I missed this one. That broke query cancellation on platforms where long is wider than 32 bits. Report by Andres Freund, fix by Michael Paquier. http://git.postgresql.org/pg/commitdiff/81f2e514a9b2d813bb5fd6b62523757aa7a6517f - Replace PostmasterRandom() with a stronger source, second attempt. 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, and finally /dev/urandom. Unlike the current pgcrypto function, the source is chosen by configure. That makes it easier to test different implementations, and ensures that we don't accidentally fall back to a less secure implementation, if the primary source fails. All of those methods are quite reliable, it would be pretty surprising for them to fail, so we'd rather find out by failing hard. If no strong random source is available, we fall back to using erand48(), seeded from current timestamp, like PostmasterRandom() was. That isn't cryptographically secure, but allows us to still work on platforms that don't have any of the above stronger sources. Because it's not very secure, the built-in implementation is only used if explicitly requested with --disable-strong-random. This rep
[ANNOUNCE] == PostgreSQL Weekly News - December 04 2016 ==
== PostgreSQL Weekly News - December 04 2016 == == PostgreSQL Product News == PostgreSQL Automatic Failover (PAF) v2.1_beta1 released. https://github.com/dalibo/PAF/releases/tag/v2.1_beta1 Pyrseas 0.7.3, a toolkit for PostgreSQL version control, released. https://github.com/pyrseas/Pyrseas PostGIS 2.3.1, the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/2016/11/28/postgis-2.3.1/ PGroonga 1.1.9, a full text search platform for all languages, released. http://groonga.org/en/blog/2016/11/30/pgroonga-1.1.9.html == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2016-12/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 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 == Tom Lane pushed: - Code review for early drop of orphaned temp relations in autovacuum. Commit a734fd5d1 exposed some race conditions that existed previously in the autovac code, but were basically harmless because autovac would not try to delete orphaned relations immediately. Specifically, the test for orphaned-ness was made on a pg_class tuple that might be dead by now, allowing autovac to try to remove a table that the owning backend had just finished deleting. This resulted in a hard crash due to inadequate caution about accessing the table's catalog entries without any lock. We must take a relation lock and then recheck whether the table is still present and still looks deletable before we do anything. Also, it seemed to me that deleting multiple tables per transaction, and trying to continue after errors, represented unjustifiable complexity. We do not expect this code path to be taken often in the field, nor even during testing, which means that prioritizing performance over correctness is a bad tradeoff. Rip all that out in favor of just starting a new transaction after each successful temp table deletion. If we're unlucky enough to get an error, which shouldn't happen anyway now that we're being more cautious, let the autovacuum worker fail as it normally would. In passing, improve the order of operations in the initial scan loop. Now that we don't care about whether a temp table is a wraparound hazard, there's no need to perform extract_autovac_opts, get_pgstat_tabentry_relid, or relation_needs_vacanalyze for temp tables. Also, if GetTempNamespaceBackendId returns InvalidBackendId (indicating it doesn't recognize the schema as temp), treat that as meaning it's NOT an orphaned temp table, not that it IS one, which is what happened before because BackendIdGetProc necessarily failed. The case really shouldn't come up for a table that has RELPERSISTENCE_TEMP, but the consequences if it did seem undesirable. (This might represent a back-patchable bug fix; not sure if it's worth the trouble.) Discussion: https://postgr.es/m/21299.1480272...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/dafa0848da11260e9510c699e7060171336cb550 - Fix busted tab-completion pattern for ALTER TABLE t ALTER c DROP ... Evidently a thinko in commit 9b181b036. Kyotaro Horiguchi http://git.postgresql.org/pg/commitdiff/404e667580fec0ab9a89a38eaa8643ee7227fdb8 - Fix estimate_expression_value to constant-fold SQLValueFunction nodes. Oversight in my commit 0bb51aa96. Noted while poking at a recent bug report --- HEAD's estimates for a query using CURRENT_DATE were unexpectedly much worse than 9.6's. http://git.postgresql.org/pg/commitdiff/4e20511d5b8ba427730e09be45f9458f667f9c1e - Fix incorrect variable type in set_rel_consider_parallel(). func_parallel() returns char not Oid. Harmless, but still wrong. Amit Langote http://git.postgresql.org/pg/commitdiff/d6c8b34e956864d52780f0db9f8cfe3b2f4411b0 - Add uuid to the set of types supported by contrib/btree_gist. Paul Jungwirth, reviewed and hacked on by Teodor Sigaev, Ildus Kurbangaliev, Adam Brusselback, Chris Bandy, and myself. Discussion: https://postgr.es/m/CA+renyUEE29=X01JXdz8_TQvo6n9=2xoebbrnq8rklyr+kj...@mail.gmail.com Discussion: https://postgr.es/m/55f6ee82.8080...@sigaev.ru http://git.postgresql.org/pg/commitdiff/
[ANNOUNCE] == PostgreSQL Weekly News - November 27 2016 ==
== PostgreSQL Weekly News - November 27 2016 == == PostgreSQL Product News == Ora2Pg 17.6, a tool for migrating Oracle databases to PostgreSQL, released. http://ora2pg.darold.net/ pgpool-II 3.6.0 released. http://pgpool.net/mediawiki/index.php/Downloads pitrery 1.12, a set of Bash scripts to manage PITR backups for PostgreSQL, released. https://github.com/dalibo/pitrery == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2016-11/threads.php == PostgreSQL Local == 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/ 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 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 == Tom Lane pushed: - Fix test for subplans in force-parallel mode. We mustn't force parallel mode if the query has any subplans, since ExecSerializePlan doesn't transmit them to workers. Testing top_plan->initPlan is inadequate because (1) there might be initPlans attached to lower plan nodes, and (2) non-initPlan subplans don't work either. There's certainly room for improvement in those restrictions, but for the moment that's what we've got. Amit Kapila, per report from Andreas Seltenreich Discussion: <8737im6pmh@credativ.de> http://git.postgresql.org/pg/commitdiff/f24cf960d7ae3503e21fcb59dca652575619d9d4 - Fix optimization for skipping searches for parallel-query hazards. Fix thinko in commit da1c91631: even if the original query was free of parallel hazards, we might introduce such a hazard by adding PARAM_EXEC Param nodes. Adjust is_parallel_safe() so that it will scan the given expression whenever any such nodes have been created. Per report from Andreas Seltenreich. Discussion: <878tse6yvf@credativ.de> http://git.postgresql.org/pg/commitdiff/4324ade9a6880113b08070305482ace2e8a2617c - Fix PGLC_localeconv() to handle errors better. The code was intentionally not very careful about leaking strdup'd strings in case of an error. That was forgivable probably, but it also failed to notice strdup() failures, which could lead to subsequent null-pointer-dereference crashes, since many callers unsurprisingly didn't check for null pointers in the struct lconv fields. An even worse problem is that it could throw error while we were setlocale'd to a non-C locale, causing unwanted behavior in subsequent libc calls. Rewrite to ensure that we cannot throw elog(ERROR) until after we've restored the previous locale settings, or at least attempted to. (I'm sorely tempted to make restore failure be a FATAL error, but will refrain for the moment.) Having done that, it's not much more work to ensure that we clean up strdup'd storage on the way out, too. This code is substantially the same in all supported branches, so back-patch all the way. Michael Paquier and Tom Lane Discussion: http://git.postgresql.org/pg/commitdiff/a4930e7ca2aa49c13ccba089f5fd2c416d87e96a - Fix uninitialized variable. Oversight in a734fd5d1. Michael Paquier http://git.postgresql.org/pg/commitdiff/ae92a9a3806c025653140ee6316a82d55e24b82c - Make contrib/test_decoding regression tests safe for CZ locale. A little COLLATE "C" goes a long way. Pavel Stehule, per suggestion from Craig Ringer Discussion: http://git.postgresql.org/pg/commitdiff/e2a0ee69006bf31f24958b72c93455412cba035c - Doc: add a section in Part II concerning RETURNING. There are assorted references to RETURNING in Part II, but nothing that would qualify as an explanation of the feature, which seems like an oversight considering how useful it is. Add something. Noted while looking for a place to point a cross-reference to ... http://git.postgresql.org/pg/commitdiff/1c7861e81b4220364bef75d2445e9c0619f3f3f8 - Improve handling of "UPDATE ... SET (column_list) = row_constructor". Previously, the right-hand side of a multiple-column assignment, if it wasn't a sub-SELECT, had to be a simple parenthesized expression list, b
[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 Reviewed-by: Michael Paquier 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 function pg_sequence_last_value() to return the last value of
[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: Related-Discussion: <57ee93c8.8080...@postgrespro.ru> http://git.postgresql.org/pg/commitdiff/a6c0a5b6e8a9498540c6a7bb1b6d68958acc9bc6 - Avoid testing tuple visibility without buffer lock. INSERT ... ON CONFLICT (specifically ExecCheckHeapTupleVisible) contains another example of this unsafe coding practice. It is much harder to get a failure out of it than the case fixed in commit 6292c2339, because in most scenarios any hint bits that could be set would have already been set earlier in the command. However, Konstantin Knizhnik reported a failure with a custom transaction manager, and it's clearly possible to get a failure via a race condition in async-commit mode. For lack of a reproducible example, no regression test case in this commit. I did some testing with Asserts added to tqual.c's functions, and can say that running "make check-world" exposed these two bugs and no others. The Asserts are messy enough that I've not added them to the code for now. Report: <57ee93c8.8080...@postgrespro.ru> Related-Discussion: http://git.postgresql.org/pg/commitdiff/8f1fb7d621b0e6bd2eb0ba2ac9634c5b5a03564b - Release notes for 9.6.1, 9.5.5, 9.4.10, 9.3.15, 9.2.19, 9.1.24. http://git.postgresql.org/pg/commitdiff/7d80417d3dfc88b0c03b5c08a18b29f9d430e217 - Update release notes for last-minute commit timestamp fix. http://git.postgresql.org/pg/commitdiff/30a6f98ed8a2223ef876197b5dea0d94e5807b51 - Suppress unused-variable warning in non-assert builds. Introduced in commit 7012b132d. Kyotaro Horiguchi http://git.postgresql.org/pg/commitdiff/8529686ccbb9f1c2fe350920ad324c223135a957 - Doc: improve documentation about inheritance. Clarify documentation about inheritance of check constraints, in particular mentioning the NO INHERIT option, which didn't exist when this text was written. Document that in an inherited query, the applicable row security policies are those of the explicitly-named table, not its children. This is the intended behavior (per off-list discussion with Stephen Frost), and there are regression tests for it, but it wasn't documented anywhere user-facing as far as I could find. Do a bit of wordsmithing on the description of inherited access-privilege checks. Back-patch to 9.5 where RLS was added. http://git.postgresql.org/pg/commitdiff/162477a63d3c0fd1c31197717140a88077a8d0aa - Fix not-HAVE_SYMLINK code in zic.c. I broke this in commit f3094920a. Apparently it's dead code anyway, at least as far as our buildfarm is concerned (and the upstream IANA code doesn't worry at all about symlink() not being present). But as long as the rest of our code is willing to guard against not having symlink(), this should too. Noted while investigating a tangentially-relate
[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: 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: http://git.postgresql.org/pg/commitdiff/917dc7d2393ce680dea7a59418be9ff341df3c14 - Use OpenSSL EVP API for symmetric encryption in pgcrypto. The old "low-level" API is deprecated, and doesn't support hardware acceleration. And this makes the code simpler, too. Discussion: <561274f1.1030...@iki.fi> http://git.postgresql.org/pg/commitdiff/5ff4a67f63fd6d3eb01ff9707d4674ed54a89f3b Robert Haas pushed: - By default, set log_line_prefix = '%m [%p] '. This value might
[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: 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. Discussion: <
[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: 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: http://git.postgresql.org/pg/commitdiff/6bc811c992a804bdb8d228ce0be9f0a8e7198df6 - Convert contrib/hstore_plpython to not use direct linking to other modules. Previously, on most platforms, we allowed hstore_plpython's references to hstore and plpython to be unresolved symbols at link time, trusting the dynamic linker to resolve them when the module is loaded. This has a number of problems, the worst being that the dynamic linker does not know where the references come from and can do nothing but fail if those other modules haven't been loaded. We've more or less gotten away with that for the limited use-case of datatype transform modules, but even there, it requires some awkward hacks, most recently commit 83c249200. Instead, let's not treat these references as linker-resolvable at all, but use function pointers that are manually f
[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
[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: 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: 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: http://git.postgresql.org/pg/commitdiff/65c65563842cc99fb1c349211581a62dc728eee2 - Print test parameters like "foo: 123", and results like "foo = 123". The way "latency average" was printed was differently if it was calculated from the overall run time or was measured on a per-transaction basis. Also, the per-script weight is a t
[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 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 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 is flat wrong because it conflicts with a reserved word. B
[ANNOUNCE] == PostgreSQL Weekly News - September 11 2016 ==
== PostgreSQL Weekly News - September 11 2016 == The Korean Users Group will hold its first PGDay event on October 15, 2016 in Seoul. http://pgday.postgresql.kr/ 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 PGDay.IT 2016 will take place in Prato on December the 13th 2016. http://pgday.it == PostgreSQL Product News == pgloader 3.3.1, a bulk loader for PostgreSQL, released. http://pgloader.io/ pgBadger v9.0, a PostgreSQL log analyzer and graph tool written in Perl, released. https://github.com/dalibo/pgbadger/releases/ PostGIS 2.3.0beta1, the industry standard geographic information system package for PostgreSQL, released. http://postgis.net/ PGroonga 1.1.1, a full text search platform for all languages, released. http://groonga.org/en/blog/2016/08/31/pgroonga-1.1.1.html == 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 == Simon Riggs pushed: - Dirty replication slots when using sql interface. When pg_logical_slot_get_changes(...) sets confirmed_flush_lsn to the point at which replay stopped, it doesn't dirty the replication slot. So if the replay didn't cause restart_lsn or catalog_xmin to change as well, this change will not get written out to disk. Even on a clean shutdown. If Pg crashes or restarts, a subsequent pg_logical_slot_get_changes(...) call will see the same changes already replayed since it uses the slot's confirmed_flush_lsn as the start point for fetching changes. The caller can't specify a start LSN when using the SQL interface. Mark the slot as dirty after reading changes using the SQL interface so that users won't see repeated changes after a clean shutdown. Repeated changes still occur when using the walsender interface or after an unclean shutdown. Craig Ringer http://git.postgresql.org/pg/commitdiff/d851bef2d60ff9345249ff67c053e37fe4b364cc - Document LSN acronym in WAL Internals. We previously didn't mention what an LSN actually was. Simon Riggs and Michael Paquier http://git.postgresql.org/pg/commitdiff/ec03f4121cec6cf885bf40d9dfb53b8368251e99 - Add debug check function LWLockHeldByMeInMode(). Tests whether my process holds a lock in given mode. Add initial usage in MarkBufferDirty(). Thomas Munro http://git.postgresql.org/pg/commitdiff/016abf1fb8333de82a259af0cc7572a4b868023b - Fix VACUUM_TRUNCATE_LOCK_WAIT_INTERVAL. lazy_truncate_heap() was waiting for VACUUM_TRUNCATE_LOCK_WAIT_INTERVAL, but in microseconds not milliseconds as originally intended. Found by code inspection. Simon Riggs http://git.postgresql.org/pg/commitdiff/dcb12ce8d8691e0e526d3f38d14c4d7fc9c664f5 - Fix minor memory leak in Standby startup. StandbyRecoverPreparedTransactions() leaked the buffer used for two phase state file. This was leaked once at startup and at every shutdown checkpoint seen. Backpatch to 9.6 Stas Kelvich http://git.postgresql.org/pg/commitdiff/67c6bd1ca3ce75778138bf4713444a5a6b46032e - Correct TABLESAMPLE docs. Revert to original use of word “sample”, though with clarification, per Tom Lane. Discussion: 29052.1471015...@sss.pgh.pa.us http://git.postgresql.org/pg/commitdiff/f66472428a51fc484bc5ca81791924d06a6f096d - Fix corruption of 2PC recovery with subxacts. Reading 2PC state files during recovery was borked, causing corruptions during recovery. Effect limited to servers with 2PC, subtransactions and recovery/replication. Stas Kelvich, reviewed by Michael Paquier and Pavan Deolasee http://git.postgresql.org/pg/commitdiff/ec253de1fd2e6002122de80815ac5b963af8277c Tom Lane pushed: - Relax transactional restrictions on ALTER TYPE ... ADD VALUE.
[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: 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 pretty tiny, and all of them are
[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: 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 splitting heuristics in the GiST opclass could be improved.) Emre Hasegeli, wi
[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:/
[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
[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 w
[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: http://git.postgresql.org/pg/commitdiff/6d85bb1ba79c2792214df9fa17bcc8fac229c11c - Fix regression tests to work in Welsh locale. Welsh (cy_GB) apparently sorts 'dd' after 'f', creating problems analogous to the odd sorting of 'aa' in Danish. Adjust regression test case to not use data that provokes that. Jeff Janes Patch: http://git.postgresql.org/pg/commitdiff/9d7abca901f855d96d823b6edb893b2b4ccf8c2f - Remove GetUserMappingId() and GetUserMappingById(). These functions were added in commits fbe5a3fb7 and a104a017f, but commit 45639a052 removed their only callers. Put the related code in foreign.c back to the way it was in 9.5, to avoid pointless cross-version diffs. Etsuro Fujita Patch: http://git.postgresql.org/pg/commitdiff/13bf801a255aaa18c43f0d17e24ffdb03a77ca31 - Make contrib regression tests safe for Danish locale. In btree_gin and citext, avoid some not-particularly-interesting dependencies on the sorting of 'aa'. In tsearch2, use COLLATE "C" to remove an uninteresting dependency on locale sort order (and thereby allow removal of a variant expected-file). Also, in citext, avoid assuming that lower('I') = 'i'. This isn't relevant to Danish but it does fail in Turkish. http://git.postgresql.org/pg/commitdiff/d70d119151d8e3442500be5e372439ef8805ec2b - Make pltcl regression tests safe for Danish locale. Another peculiarity of Danish locale is that it has an unusual idea of how to sort upper vs. lower case. One of the pltcl test cases has an issue with that. Now that COLLATE works in all supported branches, we can just change the test to be locale-independent, and get rid of the variant expected file that used to support non-C locales. http://git.postgresql.org/pg/commitdiff/95810ed8ee4223cfbad257f2d5f5f7d7da60c971 - Make core regression tests safe for Danish locale. Some tests added in 9.5 depended on 'aa' sorting before 'bb', which doesn't hold true in Danish. Use slightly different test data to avoid the problem. Jeff Janes Report: http://git.postgresql.org/pg/commitdiff/b3399cb0f68855886aa1a13a246fa5fc46e304e8 - Remove very-obsolete estimates of shmem usage from postgresql.conf.sample. runtime.sgml used to contain a table of estimated shared memory consumption rates for max_connections and some other GUCs. Commit 390bfc643 removed that on the well-founded grounds that (a) we weren't maintaining the entries well and (b)
[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: 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: 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: http://git.postgresql.org/pg/commitdiff/baebab3ace480477f210dadc4633d8d119dfa978 - Fix obsolete header-file reference in pg_buffercache docs. Commit 2d0019049 moved enum ForkNumber from relfilenode.h into relpath.h, but missed updating this documentation reference. Alexander Law http://git.postgresql.org/pg/commitdiff/91c0eb5040cde36a62a34e9b3a80d82db64eb98f - Add a regression test case to improve code coverage for tuplesort. Test the external-sor
[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 t
[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 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 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 wider-than
[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 http://git.postgresql.org/pg/commitdiff/d460c7cc0fd43a7f7184818c67705a878e938b2d - doc: Fix typos. From: Erik Rijkers 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 http://git.postgresql.org/pg/commitdiff/d2de44c2ce5c697a2de8089fb377816b2387107a - d
[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
[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 self
[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 - Reth
[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 bro
[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
[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-
[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 nee
[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 floa
[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 (
[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 iss
[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 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 reloading w
[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 on
[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 rethi
[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 fav
[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 a
[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
[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 buffe
[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/5f10b7a604c87fc61a2c20a56552301
[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 us
[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 bgwork
[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 out
[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 s
[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
[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 matt
[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
[ANNOUNCE] == PostgreSQL Weekly News - September 27 2015 ==
== PostgreSQL Weekly News - September 27 2015 == == PostgreSQL Product News == pg_back 1.2, shell script to back up everything for PostgreSQL, released. https://github.com/orgrim/pg_back PostgreDAC 3.0.3 a Delphi/C++ builder for PostgreSQL, released. http://microolap.com/products/connectivity/postgresdac/download/ sql_firewall 0.8.1, an extension intended to protect database from SQL injection or unexpected queries, released. https://github.com/uptimejp/sql_firewall == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2015-09/ == 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 == Noah Misch pushed: - Remove the SECURITY_ROW_LEVEL_DISABLED security context bit. This commit's parent made superfluous the bit's sole usage. Referential integrity checks have long run as the subject table's owner, and that now implies RLS bypass. Safe use of the bit was tricky, requiring strict control over the SQL expressions evaluating therein. Back-patch to 9.5, where the bit was introduced. Based on a patch by Stephen Frost. http://git.postgresql.org/pg/commitdiff/7f11724bd61b420acb2839908d51674e86e52034 - Restrict file mode creation mask during tmpfile(). Per Coverity. Back-patch to 9.0 (all supported versions). Michael Paquier, reviewed (in earlier versions) by Heikki Linnakangas. http://git.postgresql.org/pg/commitdiff/8346218c029dc0db425e3bea20033f96e1543df9 - Remove the row_security=force GUC value. Every query of a single ENABLE ROW SECURITY table has two meanings, with the row_security GUC selecting between them. With row_security=force available, every function author would have been advised to either set the GUC locally or test both meanings. Non-compliance would have threatened reliability and, for SECURITY DEFINER functions, security. Authors already face an obligation to account for search_path, and we should not mimic that example. With this change, only BYPASSRLS roles need exercise the aforementioned care. Back-patch to 9.5, where the row_security GUC was introduced. Since this narrows the domain of pg_db_role_setting.setconfig and pg_proc.proconfig, one might bump catversion. A row_security=force setting in one of those columns will elicit a clear message, so don't. http://git.postgresql.org/pg/commitdiff/537bd178c73b1d25938347b17e9e3e62898fc231 Tom Lane pushed: - Fix possible internal overflow in numeric multiplication. mul_var() postpones propagating carries until it risks overflow in its internal digit array. However, the logic failed to account for the possibility of overflow in the carry propagation step, allowing wrong results to be generated in corner cases. We must slightly reduce the when-to-propagate-carries threshold to avoid that. Discovered and fixed by Dean Rasheed, with small adjustments by me. This has been wrong since commit d72f6c75038d8d37e64a29a04b911f728044d83b, so back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/246693e5ae8a36f015294aa8c73dbbf0d4e542a8 - Docs: fix typo in to_char() example. Per bug #13631 from KOIZUMI Satoru. http://git.postgresql.org/pg/commitdiff/b1d5cc375b8786b2ff6293b3f3986c8edf120898 - Make ANALYZE compute basic statistics even for types with no "=" operator. Previously, ANALYZE simply ignored columns of datatypes that have neither a btree nor hash opclass (which means they have no recognized equality operator). Without a notion of equality, we can't identify most-common values nor estimate the number of distinct values. But we can still count nulls and compute the average physical column width, and those stats might be of value. Moreover there are some tools out there that don't work so well if
[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 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 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/10fbb79f1a918124f39fc8a87b8d19db3712202f - Fix comment regarding the me
[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 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, an
[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/cf25b2a2f
[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 fo
[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 EXECUT
[ANNOUNCE] == PostgreSQL Weekly News - August 16 2015 ==
== PostgreSQL Weekly News - August 16 2015 == == 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 == Andres Freund pushed: - Fix copy & paste mistake in pg_get_replication_slots(). XLogRecPtr was compared with InvalidTransactionId instead of InvalidXLogRecPtr. As both are defined to the same value this doesn't cause any actual problems, but it's still wrong. Backpatch: 9.4-master, bug was introduced in 9.4 http://git.postgresql.org/pg/commitdiff/5c4b25accebb5d35358bb0c19b841d8d9b064e46 - Don't start to stream after pg_receivexlog --create-slot. Immediately starting to stream after --create-slot is inconvenient in a number of situations (e.g. when configuring a slot for use in recovery.conf) and it's easy to just call pg_receivexlog twice in the rest of the cases. Author: Michael Paquier Discussion: cab7npqq9qetudiky3opnzhcz5iua+dux9fcn9k8gukczvg7...@mail.gmail.com Backpatch: 9.5, where the option was introduced http://git.postgresql.org/pg/commitdiff/70fd0e14e806a4d0ed31b19d92e1f9f140ef686d - Add confirmed_flush column to pg_replication_slots. There's no reason not to expose both restart_lsn and confirmed_flush since they have rather distinct meanings. The former is the oldest WAL still required and valid for both physical and logical slots, whereas the latter is the location up to which a logical slot's consumer has confirmed receiving data. Most of the time a slot will require older WAL (i.e. restart_lsn) than the confirmed position (i.e. confirmed_flush_lsn). Author: Marko Tiikkaja, editorialized by me Discussion: 559d110b.1020...@joh.to http://git.postgresql.org/pg/commitdiff/3f811c2d6f51b13b71adff99e82894dd48cee055 - Minor cleanups in slot related code. Fix a bunch of typos, and remove two superflous includes. Author: Gurjeet Singh Discussion: CABwTF4Wh_dBCzTU=49pFXR6coR4NW1ynb+vBqT+Po=7fuq5...@mail.gmail.com Backpatch: 9.4 http://git.postgresql.org/pg/commitdiff/3b425b7c02ccdabe3fb3a538d9174273a15f1e2e - Introduce macros determining if a replication slot is physical or logical. These make the code a bit easier to read, and make it easier to add a more explicit notion of a slot's type at some point in the future. Author: Gurjeet Singh Discussion: CABwTF4Wh_dBCzTU=49pFXR6coR4NW1ynb+vBqT+Po=7fuq5...@mail.gmail.com http://git.postgresql.org/pg/commitdiff/093d0c83c1d210167d122da92459a0677e04ffc9 - Handle PQresultErrorField(PG_DIAG_SQLSTATE) returning NULL in streamutil.c. In ff27db5d I missed that PQresultErrorField() may return NULL if there's no sqlstate associated with an error. Spotted-By: Coverity Reported-By: Michael Paquier Discussion: cab7npqq3o10sy6nvdu4pjq85gqtn5tbbkq2gnnuh2fbnu3r...@mail.gmail.com Backpatch: 9.5, like ff27db5d http://git.postgresql.org/pg/commitdiff/7685963eeb16c377c2e0ff7b1852b7a8bc527270 - Fix two off-by-one errors in bufmgr.c. In 4b4b680c I passed a buffer index number (starting from 0) instead of a proper Buffer id (which start from 1 for shared buffers) in two places. This wasn't noticed so far as one of those locations isn't compiled at all (PrintPinnedBufs) and the other one (InvalidBuffer) requires a unlikely, but possible, set of circumstances to trigger a symptom. To reduce the likelihood of such incidents a bit also convert existing open coded mappings from buffer descriptors to buffer ids with BufferDescriptorGetBuffer(). Author: Qingqing Zhou Reported-By: Qingqing Zhou Discussion: cajjs0u2ai9oouisktkv8cuvutekmtsbk8c7junajv8k11ze...@mail.gmail.com Backpatch: 9.5 where the private ref count infrastructure was introduced http://git.postgresql.org/pg/commitdiff/d25fbf9f3ecffb5c80a92
[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 t
[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 re