Skip site navigation (1) Skip section navigation (2)

== PostgreSQL Weekly News - July 08 2012 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - July 08 2012 ==
Date: 2012-07-09 05:35:21
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-announce
== PostgreSQL Weekly News - July 08 2012 ==

== PostgreSQL Product News ==

Barman 1.0.0, an administration tool for disaster recovery of
PostgreSQL servers written in Python, is now available under the

== PostgreSQL Jobs for July ==

== PostgreSQL Local ==

PostgreSQL Session will be held on October 4th, 2012, in Paris,
France.  More information at:

PostgreSQL Conference Europe 2012 will be in Prague, Czech Republic
on October 23-26.  The call for papers is open.

PostgreSQL Day Argentina 2012 will be held on November 13th in Bernal,
Buenos Aires, at the National University of Quilmes.  It will cover
topics for PostgreSQL users, developers and contributors, as well as
decision and policy makers.  For more information about the
conference, please see the website at

== PostgreSQL in the News ==

Planet PostgreSQL:

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(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)  Spanish language
to pwn(at)arpug(dot)com(dot)ar(dot)

== Applied Patches ==

Heikki Linnakangas pushed:

- Validate xlog record header before enlarging the work area to store
  it.  If the record header is garbled, we're now quite likely to
  notice it before we try to make a bogus memory allocation and run
  out of memory. That can still happen, if the xlog record is split
  across pages (we cannot verify the record header until reading the
  next page in that scenario), but this reduces the chances. An
  out-of-memory is treated as a corrupt record anyway, so this isn't a
  correctness issue, just a case of giving a better error message.
  Per Amit Kapila's suggestion.

- Fix mapping of PostgreSQL encodings to Python encodings.  Windows
  encodings, "win1252" and so forth, are named differently in Python,
  like "cp1252". Also, if the PyUnicode_AsEncodedString() function
  call fails for some reason, use a plain ereport(), not a PLy_elog(),
  to report that error. That avoids recursion and crash, if PLy_elog()
  tries to call PLyUnicode_Bytes() again.  This fixes bug reported by
  Asif Naeem. Backpatch down to 9.0, before that plpython didn't even
  try these conversions.  Jan UrbaƄski, with minor comment
  improvements by me.

- Revert part of the previous patch that avoided using PLy_elog().
  That caused the plpython_unicode regression test to fail on
  SQL_ASCII encoding, as evidenced by the buildfarm. The reason is
  that with the patch, you don't get the detail in the error message
  that you got before.  That detail is actually very informative, so
  rather than just adjust the expected output, let's revert that part
  of the patch for now to make the buildfarm green again, and figure
  out some other way to avoid the recursion of PLy_elog() that doesn't
  lose the detail.

Robert Haas pushed:

- Remove misleading hints about reducing the System V request size.
  Since the request size will now be ~48 bytes regardless of how
  shared_buffers et. al. are set, much of this advice is no longer

- Make oid2name, pgbench, and vacuumlo set fallback_application_name.
  Amit Kapila, reviewed by Shigeru Hanada and Peter Eisentraut, with
  some modifications by me.

- Increase the maximum initdb-configured value for shared_buffers to
  128MB.  The old value of 32MB has been around for a very long time,
  and in the meantime typical system memories have become vastly
  larger.  Also, now that we no longer depend on being able to fit the
  entirety of our shared memory segment into the system's limit on
  System V shared memory, there's a much better chance of the higher
  limit actually proving productive.  Per recent discussion on

- Documentation cleanups for recent shared memory changes.

- More doc cleanups for recent shared memory changes.  Josh

- Add wchar -> mb conversion routines.  This is infrastructure for
  Alexander Korotkov's work on indexing regular expression searches.
  Alexander Korotkov, with a bit of further hackery on the MULE
  conversion by me

- Fix sample INSTR function to return 0 if third arg is 0.  Laurenz
  Albe, per a report by Greg Smith that our sample function doesn't
  quite match Oracle's behavior.

- Reduce messages about implicit indexes and sequences to DEBUG1.  Per
  recent discussion on pgsql-hackers, these messages are too chatty
  for most users.

- Fix failure of new wchar->mb functions to advance from pointer.  Bug
  spotted by Tom Lane.

Bruce Momjian pushed:

- Have copyright tool mention that certain files should be updated in
  back branches.

- Have pg_dump in binary-upgrade mode properly drop user-created
  extensions that might exist in the new empty cluster databases, like
  plpgsql.  Backpatch to 9.2.

- Run newly-configured perltidy script on Perl files.  Run on HEAD and

- Fix missing regex slash that caused perltidy to get confused on  Backpatch to 9.2.

- Fix PGDATAOLD and PGDATANEW to properly set pgconfig location, per
  report from Tom Lane.  Backpatch to 9.2.

- Update pg_upgrade comments for recent configpath fix.

- Fix spacing in after being run with missing regex slash
  (now added).  Backpatch to 9.2.

- Fix to properly skip the .git directory by adding a
  basename() qualification.

- Modify so all lines are processed, not just the first
  match, so files that contain embedded copyrights are updated, e.g.
  pgsql/help.c.  Backpatch to 9.2.

- Have skip updating something that is just the current
  year, to avoid producing dups, e.g. 2012-2012 Backpatch to 9.2.

- Run updated on HEAD and 9.2 trees, updating the psql
  \copyright output to 2012.  Backpatch to 9.2.

Alvaro Herrera pushed:

- Have REASSIGN OWNED work on extensions, too.  Per bug #6593,
  REASSIGN OWNED fails when the affected role has created an
  extension.  Even though the user related to the extension is not
  nominally the owner, its OID appears on pg_shdepend and thus causes
  problems when the user is to be dropped.  This commit adds code to
  change the "ownership" of the extension itself, not of the contained
  objects.  This is fine because it's currently only called from
  REASSIGN OWNED, which would also modify the ownership of the
  contained objects.  However, this is not sufficient for a working
  ALTER OWNER implementation extension.  Back-patch to 9.1, where
  extensions were introduced.  Bug #6593 reported by Emiliano

- Forgot an #include in the previous patch :-(

- pg_upgrade: abstract out copying of files from old cluster to new.
  Currently only pg_clog is copied, but some other directories could
  need the same treatment as well, so create a subroutine to do it.
  Extracted from my (somewhat larger) FOR KEY SHARE patch.

- Convert libpq regress script to Perl.  This should ease its use on
  the Windows build environment.

- Update libpq test expected output.  Commit 2b443063 changed wording
  for some of the error messages, but neglected updating the regress
  output to match.

Tom Lane pushed:

- Improve documentation about MULE encoding.  This commit improves the
  comments in pg_wchar.h and creates #define symbols for some formerly
  hard-coded values.  No substantive code changes.  Tatsuo Ishii and
  Tom Lane

- Remove support for using wait3() in place of waitpid().  All
  Unix-oid platforms that we currently support should have waitpid(),
  since it's in V2 of the Single Unix Spec.  Our git history shows
  that the wait3 code was added to support NextStep, which we
  officially dropped support for as of 9.2.  So get rid of the
  configure test, and simplify the macro spaghetti in reaper().  Per
  suggestion from Fujii Masao.

- Don't try to trim "../" in join_path_components().
  join_path_components() tried to remove leading ".." components from
  its tail argument, but it was not nearly bright enough to do so
  correctly unless the head argument was (a) absolute and (b)
  canonicalized.  Rather than try to fix that logic, let's just get
  rid of it: there is no correctness reason to remove "..", and
  cosmetic concerns can be taken care of by a subsequent
  canonicalize_path() call.  Per bug #6715 from Greg Davidson.
  Back-patch to all supported branches.  It appears that pre-9.2, this
  function is only used with absolute paths as head arguments, which
  is why we'd not noticed the breakage before.  However, third-party
  code might be expecting this function to work in more general cases,
  so it seems wise to back-patch.  In HEAD and 9.2, also make some
  minor cosmetic improvements to callers.

- Simplify and document regex library's compact-NFA representation.
  The previous coding abused the first element of a cNFA state's arcs
  list to hold a per-state flag bit, which was confusing,
  undocumented, and not even particularly efficient.  Get rid of that
  in favor of a separate "stflags" vector.  Since there's only one bit
  in use, I chose to allocate a char per state; we could possibly
  replace this with a bitmap at some point, but that would make
  accesses a little slower.  It's already about 8X smaller than
  before, so let's not get overly tense.  Also document the
  representation better than it was before, which is to say not at
  all.  This patch is a byproduct of investigations towards extracting
  a "fixed prefix" string from the compact-NFA representation of regex
  patterns.  Might need to back-patch it if we decide to back-patch
  that fix, but for now it's just code cleanup so I'll just put it in

- Fix planner to pass correct collation to operator selectivity
  estimators.  We can do this without creating an API break for
  estimation functions by passing the collation using the existing
  fmgr functionality for passing an input collation as a hidden
  parameter.  The need for this was foreseen at the outset, but we
  didn't get around to making it happen in 9.1 because of the decision
  to sort all pg_statistic histograms according to the database's
  default collation.  That meant that selectivity estimators generally
  need to use the default collation too, even if they're estimating
  for an operator that will do something different.  The reason it's
  suddenly become more interesting is that regexp interpretation also
  uses a collation (for its LC_TYPE not LC_COLLATE property), and we
  no longer want to use the wrong collation when examining regexps
  during planning.  It's not that the selectivity estimate is likely
  to change much from this; rather that we are thinking of caching
  compiled regexps during planner estimation, and we won't get the
  intended benefit if we cache them with a different collation than
  the executor will use.  Back-patch to 9.1, both because the regexp
  change is likely to get back-patched and because we might as well
  get this right in all collation-supporting branches, in case any
  third-party code wants to rely on getting the collation.  The patch
  turns out to be minuscule now that I've done it ...

Magnus Hagander pushed:

- Remove references to PostgreSQL bundled on Solaris.  Also remove
  special references to downloads off pgfoundry since they are not
  correct - downloads are done through the main website.

- Remove references to pgfoundry as recommended hosting platform.
  pgfoundry is deprectaed and no longer accepting new projects, so we
  really shouldn't be directing people there.

- Remove reference to default wal_buffers being 8.  This hasn't been
  true since 9.1, when the default was changed to -1.  Remove the
  reference completely, keeping the discussion of the parameter and
  it's shared memory effects on the config page.

- Always treat a standby returning an an invalid flush location as
  async.  This ensures that a standby such as pg_receivexlog will not
  be selected as sync standby - which would cause the master to block
  waiting for a location that could never happen.  Fujii Masao

- Set the write location in the pg_receivexlog status messages.  This
  makes it possible for the master to track how much data has actually
  been written my pg_receivexlog - and not just how much has been sent
  towards it.

- Remove duplicate, unnecessary, variable declaration

- Fix function argument tab completion for schema-qualified or quoted
  function names.  Dean Rasheed, reviewed by Josh Kupershmidt

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Alvaro Herrera and Zoltan Boszormenyi traded patches for the timeout
framework and lock_timeout, which depends on same.

Kyotaro HORIGUCHI sent in two different revisions of a patch to fix
an infelicity in PL/Perl's handling of UTF-8 in SQL_ASCII-encoded

Hans-Juergen Schoenig sent in a rebased patch to add Bloom filters.

Dimitri Fontaine and Robert Haas exchanged a flurry of patches
implementing event triggers.

Joel Jacobson sent in three revisions of a patch to output overloaded
functions in deterministic order in pg_dump.

Pavel Stehule and Peter Geoghegan traded patches to enhance error

Alvaro Herrera sent in another revision of the patch to implement
foreign key locks.

Fujii Masao sent in a patch which removes support for using wait3() in
place of waitpid().  No currently used system needs it.

Peter Eisentraut sent in another revision of the patch to implement

Pavel Stehule sent in two more revisions of the code to allow using
parameters in PL/pgsql DO blocks.

Satoshi Nagayasu sent in two revisions of a patch to add functions to
get and reset statistics of WAL buffer writes (flushes) caused by the
WAL buffer's becoming full.

Tom Lane sent in a patch to fix the issues in regex_fixed_prefix() by
compiling the regex using the regex library and then looking at the
compiled NFA representation to see if there must be a fixed prefix.

pgsql-announce by date

Next:From: Dave PageDate: 2012-07-09 12:23:20
Subject: Reminder: Call for Papers - PostgreSQL Conference Europe 2012
Previous:From: Oliver d'Azevedo ChristinaDate: 2012-07-07 13:27:09
Subject: Re: [Npgsql-devel] Npgsql 2.0.12 (beta4) released

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group