Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - February 24 2013 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 25th February 2013 05:00:12 UTC (over 3 years ago)
== PostgreSQL Weekly News - February 24 2013 ==

The Call for Papers for PostgreSQL Brazil, to be held August 15-17,
2013 in Porto Velho, RO, Brazil, is open.  Proposals are due by March
15, 2013.

The schedule for PGCon, the world's PostgreSQL developer conference,
is up.

== PostgreSQL Product News ==

The fifth PostgreSQL LiveCD, this one based on PostgreSQL 9.2.3 and
CentOS 6.3, released.

AnySQL Maestro 13.2, an ODBC-based management tool which works with
PostgreSQL, released.

ODB 2.2.0, an ORM for C++, supports PostgreSQL.

openBarter 0.7.0, a postgres extension implementing primitives of a
barter market place model, released.

PostgreDAC 2.9.3, a Delphi/C++ builder for PostgreSQL, released.

== PostgreSQL Jobs for February ==


== PostgreSQL Local ==

PyPgDay will be held on March 13th at the Santa Clara Convention
Center, the first day of PyCon.  Info here:

PGDay NYC 2013 will be held on March 22, 2013 in New York City.

PG Day France is the major French-speaking PostgreSQL community event.
The deadline for sending proposals is Saturday, March 24, 2013 at
23:59 CEST.

PostgreSQL Session will be held on March 28th, 2013 in Paris,

PGCon 2013 will be held May 23-24 2013, in Ottawa at the University of

The 6th annual "Prague PostgreSQL Developers Day" conference,
organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be
held on May 30, 2013 at Faculty of Mathematics and Physics, Charles
University (Malostranske namesti 25, Prague).  The CfP is open until
April 14, 2013 .  More information in Czech is at

== 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 [email protected], German language
to [email protected], Italian language to [email protected]  Spanish language
to [email protected]

== Applied Patches ==

Peter Eisentraut pushed:

- Add ALTER ROLE ALL SET command.  This generalizes the existing ALTER
  ROLE ... SET and ALTER DATABASE ... SET functionality to allow
  creating settings that apply to all users in all databases.
  reviewed by Pavel Stehule

- Add quotes to messages

- doc: Add more compatibility information for triggers.  Louis-Claude
  Canon and Josh Kupershmidt

- Correct tense in log message

- doc: Remove PostgreSQL version number from xml2 deprecation notice.
  It is obviously no longer true.

Alvaro Herrera pushed:

- Split pgstat file in smaller pieces.  We now write one file per
  database and one global file, instead of having the whole thing in a
  single huge file.  This reduces the I/O that must be done when
  partial data is required -- which is all the time, because each
  process only needs information on its own database anyway.  Also,
  the autovacuum launcher does not need data about tables and
  functions in each database; having the global stats for all DBs is
  enough.  Catalog version bumped because we have a new subdir under
  PGDATA.  Author: Tomas Vondra.  Some rework by Álvaro Testing by
  Jeff Janes Other discussion by Heikki Linnakangas, Tom Lane.

- Move ExceptionalCondition back to postgres.h.  It needs to be
  defined in the backend even when assertions are not enabled.  It's
  cleaner to put it back, than create a separate #ifdef section in
  c.h.  Per trouble report from Jeff Janes

- Remove useless variable.  Per Jeff Janes

- Move relpath() to libpgcommon.  This enables non-backend code, such
  as pg_xlogdump, to use it easily.  The previous location, in
  src/backend/catalog/catalog.c, made that essentially impossible
  because that file depends on many backend-only facilities; so this
  needs to live separately.

- Blind attempt at fixing the non-MSVC Windows builds.  Apparently,
  they need -DBUILDING_DLL for the Assert() declarations to work

- Fix copy-and-pasteo.  Harmless, but it's certainly better like this.
  Noticed by Andres Freund

- Fix some typos and grammatical mistakes.  ... as well a update
  copyrights statements to 2013.  Noted by Thom Brown and Peter

- contrib/Makefile also needs updated.  Erik Rijkers

- Add pg_xlogdump contrib program.  This program relies on rm_desc
  backend routines and the xlogreader infrastructure to emit
  human-readable rendering of WAL records.  Author: Andres Freund,
  with many reworks by Álvaro Reviewed (in a much earlier version) by
  Peter Eisentraut

Heikki Linnakangas pushed:

- Fix yet another typo in comment.  Etsuro Fujita

- Don't pass NULL to fprintf, if a bogus connection string is given to
  pg_dump.  Back-patch to all supported branches.

- Fix pg_dumpall with database names containing =.  If a database name
  contained a '=' character, pg_dumpall failed. The problem was in the
  way pg_dumpall passes the database name to pg_dump on the command
  line. If it contained a '=' character, pg_dump would interpret it as
  a libpq connection string instead of a plain database name.  To fix,
  pass the database name to pg_dump as a connection string,
  "dbname=foo", with the database name escaped if necessary.
  Back-patch to all supported branches.

- Fix thinko in previous commit.  We must still initialize
  minRecoveryPoint if we start straight with archive recovery, e.g
  when recovering from a normal base backup taken with
  pg_start/stop_backup. Otherwise we never consider the system

- If recovery.conf is created after "pg_ctl stop -m i", do crash
  recovery.  If you create a base backup using an atomic filesystem
  snapshot, and try to perform PITR starting from that base backup, or
  if you just kill a master server and create recovery.conf to put it
  into standby mode, we don't know how far we need to recover before
  reaching consistency. Normally in crash recovery, we replay all the
  WAL present in pg_xlog, and assume that we're consistent after that.
  And normally in archive recovery, minRecoveryPoint,
  backupEndRequired, or backupEndPoint is set in the control file,
  indicating how far we need to replay to reach consistency. But if
  the server was previously up and running normally, and you kill -9
  it or take an atomic filesystem snapshot, none of those fields are
  set in the control file.  The solution is to perform crash recovery
  first, replaying all the WAL in pg_xlog. After that's done, we
  assume that the system is consistent like in normal crash recovery,
  and switch to archive recovery mode after that.  Per report from
  Kyotaro HORIGUCHI. In his scenario, recovery.conf was created after
  "pg_ctl stop -m i". I'm not sure we need to support that exact
  scenario, but we should support backing up using a filesystem
  snapshot, which looks identical.  This issue goes back to at least
  9.0, where hot standby was introduced and we started to track when
  consistency is reached. In 9.1 and 9.2, we would open up for hot
  standby too early, and queries could briefly see an inconsistent
  state. But 9.2 made it more visible, as we started to PANIC if we
  see a reference to a non-existing page during recovery, if we've
  already reached consistency. This is a fairly big patch, so
  back-patch to 9.2 only, where the issue is more visible. We can
  consider back-patching further after this has received some more
  testing in 9.2 and master.

Tom Lane pushed:

- Add postgres_fdw contrib module.  There's still a lot of room for
  improvement, but it basically works, and we need this to be present
  before we can do anything much with the writable-foreign-tables
  patch.  So let's commit it and get on with testing.  Shigeru Hanada,
  reviewed by KaiGai Kohei and Tom Lane

- Teach MSVC build system about postgres_fdw.  Per buildfarm.

- Need to decorate XactIsoLevel as PGDLLIMPORT for postgres_fdw.  Per

- Adjust postgres_fdw's search path handling.  Set the remote
  session's search path to exactly "pg_catalog" at session start, then
  schema-qualify only names that aren't in that schema.  This greatly
  reduces clutter in the generated SQL commands, as seen in the
  regression test changes.  Per discussion.  Also, rethink use of
  FirstNormalObjectId as the "built-in object" cutoff ---
  FirstBootstrapObjectId is safer, since the former will accept
  objects in information_schema for instance.

- Change postgres_fdw to show casts as casts, not underlying function
  calls.  On reflection this method seems to be exposing an
  unreasonable amount of implementation detail.  It wouldn't matter
  when talking to a remote server of the identical Postgres version,
  but it seems likely to make things worse not better if the remote is
  a different version with different casting infrastructure.  Instead
  adopt ruleutils.c's policy of regurgitating the cast as it was
  originally specified; including not showing it at all, if it was
  implicit to start with.  (We must do that because for some datatypes
  explicit and implicit casts have different semantics.)

- Get rid of postgres_fdw's assumption that remote type OIDs match
  ours.  The only place we depended on that was in sending numeric
  type OIDs in PQexecParams; but we can replace that usage with
  explicitly casting each Param symbol in the query string, so that
  the types are specified to the remote by name not OID.  This makes
  no immediate difference but will be essential if we ever hope to
  support use of non-builtin types.

- Fix whole-row references in postgres_fdw.  The optimization to not
  retrieve unnecessary columns wasn't smart enough.  Noted by Thom

- Fix some planning oversights in postgres_fdw.  Include eval costs of
  local conditions in remote-estimate mode, and don't assume the
  remote eval cost is zero in local-estimate mode.  (The best we can
  do with that at the moment is to assume a seqscan, which may well be
  wildly pessimistic ... but zero won't do at all.) To get a
  reasonable local estimate, we need to know the relpages count for
  the remote rel, so improve the ANALYZE code to fetch that rather
  than just setting the foreign table's relpages field to zero.

- Rename postgres_fdw's use_remote_explain option to
  use_remote_estimate.  The new name was originally my typo, but per
  discussion it seems like a better name anyway.  So make the code
  match the docs, not vice versa.

- Fix build of contrib/pg_xlogdump.  rmgrdesc.c is not auto-generated
  now, though it apparently was the last time the Makefile was

Andrew Dunstan pushed:

- Provide MSVC build setup for pg_xlogdump.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Zoltan Boszormenyi sent in a pair of patches to fix a pair of bugs:
one where recovery.conf was generated without double-escaping
quoted values, and another in parsing the connection string in libpq
when the parameter value starts with a single-quote character.

Gurjeet Singh sent in a patch to make pgindent work cleanly.

Gurjeet Singh sent in a patch which adds a one-line comment to improve
understanding of the VARSIZE_ANY_EXHDR macro.

Kevin Grittner sent in two revisions of a patch to add a pg_matviews
catalog view.

Alexander Law sent in a patch to fix an issue where postmaster
messages were unreadable in a Windows console.

Andres Freund sent in a patch to fix up the conversion of a relation
to a view for TOAST, etc.

Amit Kapila and Heikki Linnakangas traded patches to add
PQconninfoParseParams and PQconninfodefaultsMerge to libpq.

Etsuro Fujita sent in another revision of a patch to add hooks for
pre- and post-processor executables for COPY and \copy.

Alvaro Herrera sent in another revision of a patch to add an event
trigger on DDL DROP.

Michael Paquier sent in two more revisions of a patch to add REINDEX

Pavel Stehule sent in another revision of a patch to unify the
serializations of booleans and domains over same in XML.

Dimitri Fontaine sent in another revision of a patch to add Extension

Zoltan Boszormenyi sent in another revision of a patch to fix a lock
timeout issue.

Sent via pgsql-announce mailing list ([email protected])
To make changes to your subscription:
CD: 3ms