== PostgreSQL Weekly News - March 30 2014 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - March 30 2014 ==
Date
Msg-id 20140331064454.GA32171@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - March 30 2014 ==

== PostgreSQL Jobs for March ==

http://archives.postgresql.org/pgsql-jobs/2014-03/threads.php

== PostgreSQL Local ==

PGConf NYC 2014 will be held April 3-4, 2014 in New York, New York, USA.
http://nyc.pgconf.us/2014/

The Open Data Summit will be held Friday April 11, 2014 in Denver,
Colorado, USA.
http://www.opendatasummit.com

PGCon 2014, the world-wide developer conference for PostgreSQL, will
be in Ottawa, Ontario, Canada May 20-24, 2014.
http://www.pgcon.org/2014/

The sixth PGDay Cubano be held on 13 and 14 October 2014 in Habana.
https://postgresql.uci.cu/?p=380

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.  Spanish language
to pwn@arpug.com.ar.

== Applied Patches ==

Heikki Linnakangas pushed:

- Fix "the the" typos.  Erik Rijkers
  http://git.postgresql.org/pg/commitdiff/3ed249b74133bc567a4efcfb90eb69d445097c1b

- Remove dead code and add comments.  'cbuffer' variable was left over
  from an earlier version of the patch to rewrite the incomplete split
  handling.
  http://git.postgresql.org/pg/commitdiff/2f3afc09793da3a30f2878f34eda30a71060da7e

- Change ginMergeItemPointers to return a palloc'd array.  That seems
  nicer than making it the caller's responsibility to pass a
  suitable-sized array. All the callers were just palloc'ing an array
  anyway.
  http://git.postgresql.org/pg/commitdiff/bb42e21be274a71f6868ce2fc8fae2c15c3ecf66

- Fix 'recheck' flag in tsquery's GIN tri-consistent function.  It
  needs to be initialized, like in the boolean gin_tsquery_consistent
  version.  Peter Geoghegan.
  http://git.postgresql.org/pg/commitdiff/86cf41ed27f6e822a99998505ecffb42f2662662

- Use pg_usleep() instead of plain sleep(), to fix Windows build.  Per
  buildfarm.
  http://git.postgresql.org/pg/commitdiff/28475f8e58bd5da2b44a42203665a543f335c6a3

- Add -f/--follow option to pg_xlogdump.  This is useful for seeing
  what WAL records are inserted in real-time, by pointing pg_xlogdump
  to a live server.
  http://git.postgresql.org/pg/commitdiff/ce9bb92f8fb8d25cf00ec939797ffdb5930fb792

- Pass more than the first XLogRecData entry to rm_desc, with
  WAL_DEBUG.  If you compile with WAL_DEBUG and enable it with
  wal_debug=on, we used to only pass the first XLogRecData entry to
  the rm_desc routine. I think the original assumprion was that the
  first XLogRecData entry contains all the necessary information for
  the rm_desc routine, but that's a pretty shaky assumption. At least
  standby_redo didn't get the memo.  To fix, piece together all the
  data in a temporary buffer, and pass that to the rm_desc routine.
  It's been like this forever, but the patch didn't apply cleanly to
  back-branches. Probably wouldn't be hard to fix the conflicts, but
  it's not worth the trouble.
  http://git.postgresql.org/pg/commitdiff/c2a6724823c14fd442c5441eb169b2581781fef0

- Silence compiler warnings in new jsonb code.  Amit Kapila.
  http://git.postgresql.org/pg/commitdiff/e709ced1536d1ed34d96633ea7c319a3a2a2751c

Fujii Masao pushed:

- Fix START_REPLICATION syntax in document.  Enclose "TIMELINE tli"
  part with brackets because it's optional.  Backport to 9.3 where
  TIMELINE option was introduced.  Noted by Marko Tiikkaja
  http://git.postgresql.org/pg/commitdiff/cf5d38f4b9bcdf035c46ca8b3e5442557a21ef34

- Don't forget to flush XLOG_PARAMETER_CHANGE record.  Backpatch to
  9.0 where XLOG_PARAMETER_CHANGE record was instroduced.
  http://git.postgresql.org/pg/commitdiff/49638868f81f05e9ea4799e6c6148b76b47da83d

Bruce Momjian pushed:

- Fix ts_rank_cd() to ignore stripped lexemes.  Previously, stripped
  lexemes got a default location and could be considered if mixed with
  non-stripped lexemes.  BACKWARD INCOMPATIBILITY CHANGE
  http://git.postgresql.org/pg/commitdiff/1420f3a9827a39e5c6c998f6fa35a6fc97903145

- docs:  Add short "cover density" description.  Also, previous commit
  1420f3a9827a39e5c6c998f6fa35a6fc97903145 to fix ts_rank_cd() for
  stripped lexemes was from a patch created by Alex Hill.
  http://git.postgresql.org/pg/commitdiff/0b5c0f3bc78d72b753387f84b9188709af3ef8fb

- Remove wchar.c Asserts that were stricter than the main code.
  Assert errors were thrown for functions being passed invalid
  encodings, while the main code handled it just fine.  Also document
  that libpq's PQclientEncoding() returns -1 for an encoding lookup
  failure.  Per report from Peter Geoghegan
  http://git.postgresql.org/pg/commitdiff/5db55c6bbca28b8be4d68d2fa0e22465cfe8e755

- doc:  list unlogged tables as a non-durable option
  http://git.postgresql.org/pg/commitdiff/6c5ced1526b189ed98baa0d195a7078d1afd112e

- pg_upgrade: use pg_usleep();  remove Windows workaround
  http://git.postgresql.org/pg/commitdiff/ba08155bd5e6dffe5cd4bda9e7d6616b5e20d564

- psql:  update "replica identity" display for \d+.  Display "replica
  identity" only for \d plus mode, exclude system schema objects, and
  display all possible values, not just non-default, non-index ones.
  http://git.postgresql.org/pg/commitdiff/b69c4e65bea92ef617581365c365d2f43aa9e1fa

- contrib/test_decoding:  adjust expected output.  Expected output has
  changed because of psql replica identity output changes.  Reported
  by Christoph Berg
  http://git.postgresql.org/pg/commitdiff/5906e10a2aecf472c41b2cb5a2a923c7bbabdce2

- Adjust getpwuid() fix commit to display errno string on failure.
  This adjusts patch 613c6d26bd42dd8c2dd0664315be9551475b8864.
  http://git.postgresql.org/pg/commitdiff/e1827012ed4119150e29c3afcf462d3353f3a405

- psql:  display "Replica Identity" only for FULL and NOTHING.  INDEX
  is already displayed on the index, and we now exclude pg_catalog.
  DEFAULT is not displayed.
  http://git.postgresql.org/pg/commitdiff/9d66116444b9763bc09defb688fb09343420e040

Magnus Hagander pushed:

- Fix typos in pg_basebackup documentation.  Joshua Tolley
  http://git.postgresql.org/pg/commitdiff/36f7c3a1e019d16a83a363958c3f3927692821d9

Andrew Dunstan pushed:

- Tidy up the populate/to_record{set} code for json a bit.  In the
  process fix a small bug.
  http://git.postgresql.org/pg/commitdiff/fbc3def8620953cf124aac65e7be4821f138c37f

- Cleanup around json_to_record/json_to_recordset Set function
  parameter names and defaults. Add jsonb versions (which the code
  already provided for so the actual new code is trivial). Add jsonb
  regression tests and docs.  Bump catalog version (which I apparently
  forgot to do when jsonb was committed).
  http://git.postgresql.org/pg/commitdiff/f9c6d72cbf49257fea4265d994b96e66f25b2474

- Fix uninitialized variables in json's populate_record_worker().
  Peter Geoghegan.
  http://git.postgresql.org/pg/commitdiff/7e4d1600a621ee4e786e715bc82eaad1113dba0e

- Use separate output dirs for test_decoding's two runs.
  contrib/test_decoding's "make check" runs two sets of tests. Unless
  we specify separate output directories for each set the isolation
  tests will overwrite the output from the  normal regression set.
  Doing this will help the buildfarm collect complete logs.
  http://git.postgresql.org/pg/commitdiff/7317d8d961f210c3a6b20972cd605bcd9bffb06e

Tom Lane pushed:

- Fix refcounting bug in PLy_modify_tuple().  We must increment the
  refcount on "plntup" as soon as we have the reference, not sometime
  later.  Otherwise, if an error is thrown in between, the
  Py_XDECREF(plntup) call in the PG_CATCH block removes a refcount we
  didn't add, allowing the object to be freed even though it's still
  part of the plpython function's parsetree.  This appears to be the
  cause of crashes seen on buildfarm member prairiedog.  It's a bit
  surprising that we've not seen it fail repeatably before,
  considering that the regression tests have been exercising the
  faulty code path since 2009.  The real-world impact is probably
  minimal, since it's unlikely anyone would be provoking the "Tom
  Dunstan["new"] is not a dictionary" error in production, and that's
  the only case that is actually wrong.  Still, it's a bug affecting
  the regression tests, so patch all supported branches.  In passing,
  remove dead variable "plstr", and demote "platt" to a local variable
  inside the PG_TRY block, since we don't need to clean it up in the
  PG_CATCH path.
  http://git.postgresql.org/pg/commitdiff/2d5e0f07de0119045fb889f9c11de0e486ce4ac5

- Document that Python 2.3 requires cdecimal module for full
  functionality.  This has been true for some time, but we were
  leaving users to discover it the hard way.  Back-patch to 9.2.  It
  might've been true before that, but we were claiming Python 2.2
  compatibility before that, so I won't guess at the exact
  requirements back then.
  http://git.postgresql.org/pg/commitdiff/f3cfc23195e3363ceab49449ed851944bcaf0849

- Improve documentation note about Python 2.3 and cdecimal.  Explain
  exactly what fails (ie, function arguments of type numeric) if you
  don't have it.
  http://git.postgresql.org/pg/commitdiff/e5a452b3a4600dfc9c045e1591c25e6a567d8d73

- Un-break peer authentication.  Commit
  613c6d26bd42dd8c2dd0664315be9551475b8864 sloppily replaced a lookup
  of the UID obtained from getpeereid() with a lookup of the server's
  own user name, thus totally destroying peer authentication.  Revert.
  Per report from Christoph Berg.  In passing, make sure
  get_user_name() zeroes *errstr on success on Windows as well as
  non-Windows.  I don't think any callers actually depend on this ATM,
  but we should be consistent across platforms.
  http://git.postgresql.org/pg/commitdiff/b777be0d48a042f500cac72140ffb50392973aa2

- Fix EquivalenceClass processing for nested append relations.  The
  original coding of EquivalenceClasses didn't foresee that appendrel
  child relations might themselves be appendrels; but this is possible
  for example when a UNION ALL subquery scans a table with inheritance
  children.  The oversight led to failure to optimize ordering-related
  issues very well for the grandchild tables.  After some false starts
  involving explicitly flattening the appendrel representation, we
  found that this could be fixed easily by removing a few implicit
  assumptions about appendrel parent rels not being children
  themselves.  Kyotaro Horiguchi and Tom Lane, reviewed by Noah Misch
  http://git.postgresql.org/pg/commitdiff/a87c729153e372f3731689a7be007bc2b53f1410

- Improve regression test for pg_filenode_relation().  Make it print
  the details in case there's a failure.  Andres Freund, slightly
  modified by me
  http://git.postgresql.org/pg/commitdiff/9613a1d98e5f940d8124850e61b0a950157c8863

- Fix dumping of a materialized view that depends on a table's primary
  key.  It is possible for a view or materialized view to depend on a
  table's primary key, if the view query relies on functional
  dependency to abbreviate a GROUP BY list.  This is problematic for
  pg_dump since we ordinarily want to dump view definitions in the
  pre-data section but indexes in post-data.  pg_dump knows how to
  deal with this situation for regular views, by breaking the view's
  ON SELECT rule apart from the view proper.  But it had not been
  taught what to do about materialized views, and in fact mistakenly
  dumped them as regular views in such cases, as seen in bug #9616
  from Jesse Denardo.  If we had CREATE OR REPLACE MATERIALIZED VIEW,
  we could fix this in a manner analogous to what's done for regular
  views; but we don't yet, and we'd not back-patch such a thing into
  9.3 anyway.  As a hopefully- temporary workaround, break the
  circularity by postponing the matview into post-data altogether when
  this case occurs.
  http://git.postgresql.org/pg/commitdiff/62215de2925705bc607635e45ff800364456b1a1

Noah Misch pushed:

- Force consistent row order in contrib/test_decoding regression test.
  http://git.postgresql.org/pg/commitdiff/7ed908be41fbca1635d34f97138abb13beab8b24

- Document platform-specificity of unix_socket_permissions.
  Back-patch to 8.4 (all supported versions).
  http://git.postgresql.org/pg/commitdiff/fbd32b0cab806a2244bd5171e4b60e53f4a9dfe7

- Secure Unix-domain sockets of "make check" temporary clusters.  Any
  OS user able to access the socket can connect as the bootstrap
  superuser and in turn execute arbitrary code as the OS user running
  the test.  Protect against that by placing the socket in the
  temporary data directory, which has mode 0700 thanks to initdb.
  Back-patch to 8.4 (all supported versions).  The hazard remains
  wherever the temporary cluster accepts TCP connections, notably on
  Windows.  Attempts to run "make check" from a directory with a long
  name will now fail.  An alternative not sharing that problem was to
  place the socket in a subdirectory of /tmp, but that is only secure
  if /tmp is sticky.  The PG_REGRESS_SOCK_DIR environment variable is
  available as a workaround when testing from long directory paths.
  As a convenient side effect, this lets testing proceed smoothly in
  builds that override DEFAULT_PGSOCKET_DIR.  Popular non-default
  values like /var/run/postgresql are often unwritable to the build
  user.  Security: CVE-2014-0067
  http://git.postgresql.org/pg/commitdiff/31c6e54ec9abab0c63d709e492ef18a701b02641

- Revert "Secure Unix-domain sockets of "make check" temporary
  clusters." About half of the buildfarm members use too-long
  directory names, strongly suggesting that this approach is a dead
  end.
  http://git.postgresql.org/pg/commitdiff/8f5578d0f9681ef81bc71a3762a191d66a29c8b1

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Kaigai Kouhei sent in another revision of a patch to implement custom
plan nodes.

Petr (PJMODOS) Jelinek sent in another revision of a patch to
implement plpgsql.extra_warnings, plpgsql.extra_errors.

MauMau sent in another revision of a patch to fix an issue where
PostgreSQL fails to start on Windows if it crashes after tablespace
creation.

Michael Paquier sent in a patch to add a new parameter RollbackError
to control rollback behavior on error.

Etsuro Fujita sent in two more revisions of a patch to implement
inherit support for foreign tables.

David Rowley and Florian Pflug traded patches to implement inverse
transition functions for aggregates.

Peter Geoghegan sent in a patch to fix an infelicity in jsonfuncs.c.

Ants Aasma sent in a patch to add in a missing pfree in
logical_heap_rewrite_flush_mappings().

Rajeev Rastogi sent in a patch to fix an issue where datistemplate of
pg_database does not behave as per description in documentation.

Kaigai Kouhei sent in another revision of a patch to implement the
custom plan interface.

Tomas Vondra sent in a patch to decreasing memory needlessly consumed
by array_agg.

Peter Geoghegan sent in a patch to do better at HINTing an appropriate
column within errorMissingColumn().

Jan Pecek (honzap AT gmail DOT com) sent in a patch to fix an issue
where storinig data in pg_toast for a custom type fails.

Bruce Momjian and Fabrízio de Royes Mello traded patches to change the
display of OID-ness for tables in psql.

Peter Geoghegan sent in a patch to extend SortSupport and tuplesort to
support "poor man's normalized keys".



pgsql-announce by date:

Previous
From: "Jonathan S. Katz"
Date:
Subject: Registration Closing Soon - PGConf NYC 2014
Next
From: Andreas 'ads' Scherbaum
Date:
Subject: PGDay Caribbean 2014