== PostgreSQL Weekly News - July 03 2011 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - July 03 2011 ==
Date
Msg-id 20110704053259.GD19390@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - July 03 2011 ==

CHAR(11) Conference in Cambridge, UK, 11-12 July 2011 special
conference on PostgreSQL in the areas of Cloud, High Availability and
Replication Last chance for Standard Price (£375) tickets is July 4,
after today Last Minute tickets only (£425).
http://www.char11.org/

Postgres Open welcomes your talks and workshops.  Talks should be
oriented towards the business or development user of PostgreSQL, and
should have substantial technical content.  Submissions are due by
July 8th.  Submit them here:
http://postgresopen.org/2011/speaker/

The Denver 2011 PG DAY date has moved!  Denver PG DAY 2011 will now be
held on Friday Oct 21, 2011.  Call for papers is open through July 31.
Registration is free through July 31.
http://pgday.consistentstate.com/node

== PostgreSQL Product News ==

Postgres Plus Advanced Server v9.0 is now generally available.
http://www.enterprisedb.com/wp-whats-new-postgres-plus-advanced-server-9.
                                     

Dubsar Mobile, a PostgreSQL-based dictionary access for mobile
devices, released.
http://dubsar-dictionary.com

pg_sample 0.05, a utility for exporting a small, sample dataset from a
larger PostgreSQL database, released.
http://github.com/mla/pg_sample

Pyrseas 0.3.0, a toolkit for PostgreSQL version control, released on PGXN.
http://pgxn.org/dist/pyrseas/

Postgres 9.1, Beta 2 RPM and DEB packages for linux 32 and 64 have
been published by OpenSCG.
http://www.openscg.com/se/postgresql/packages.jsp

Postgres-XC 0.9.5, a clustering system for PostgreSQL, released.
http://postgres-xc.sourceforge.net/

== PostgreSQL Jobs for July ==

http://archives.postgresql.org/pgsql-jobs/2011-07/threads.php

== PostgreSQL Local ==

CHAR(11), the PostgreSQL Conference on Clustering, High Availability
and Replication is now open for online registration and bookings.
July 11-12 2011 in Cambridge, UK.
http://www.char11.org/

PostgreSQL Conference China 2011 will be held in Guangzhou July
15-16, 2011.
http://wiki.postgresql.org/wiki/Pgconchina2011

PDXPUG is hosting PgDay on Sunday, July 24, 2011, one day before
OSCON, in Portland, Oregon, USA.  Details here:
http://pugs.postgresql.org/node/1663

Postgres Open 2011, a conference focused on disruption of the database
industry through PostgreSQL, will take place September 14-16, 2011 in
Chicago, Illinois at the Westin Michigan Avenue hotel.
http://postgresopen.org

PG-Day Denver 2011 will be held on Friday, October 21st, 2011 at
the Auraria Campus near downtown Denver, Colorado.
http://pgday.consistentstate.com/

PostgreSQL Conference West (#PgWest) will be held September 27th-30th,
2011 at the San Jose Convention center in San Jose, California, USA.
http://www.postgresqlconference.org

PostgreSQL Conference Europe 2011 will be held on October 18-21 in
Amsterdam.
http://2011.pgconf.eu/

pgbr will be in Sao Paulo, Brazil November 3-4, 2011.
http://pgbr.postgresql.org.br/

PGConf.DE 2011 is the German-speaking PostgreSQL Conference and will
take place on November 11th in the Rheinisches Industriemuseum in
Oberhausen, Germany.  Call for Papers is open.
http://2011.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 david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.  Spanish language
to pwn@arpug.com.ar.

== Reviews ==

== Applied Patches ==

Peter Eisentraut pushed:

- Remove redundant DEF_PGPORT handling.  DEF_PGPORT already comes in
  from pg_config.h, so we don't need to pass it in again with a -D
  option.  Apparently a leftover from the shell script conversion.
  http://git.postgresql.org/pg/commitdiff/4635d3c527916555773a6eb128fb4a410d585d9d

- Add some strings that were not marked for translation
  http://git.postgresql.org/pg/commitdiff/8c8745b298d20b49e64c77c1e4ba4c8ac300e9e6

- Add composite-type attributes to information_schema.element_types
  view.
  http://git.postgresql.org/pg/commitdiff/5594d14696f916e4aad14a3a12a4c15d2e7123bc

- Implement the collation columns of various information schema views.
  Fill in the collation columns of the views attributes, columns,
  domains, and element_types.  Also update collation information in
  sql_implementation_info.
  http://git.postgresql.org/pg/commitdiff/615c3849722ade16282750aa17658a2543fd2acf

- Unify spelling of "canceled", "canceling", "cancellation".  We had
  previously (af26857a2775e7ceb0916155e931008c2116632f) established
  the U.S. spellings as standard.
  http://git.postgresql.org/pg/commitdiff/21f1e15aafb13ab2430e831a3da7d4d4f525d1ce

Robert Haas pushed:

- Avoid having two copies of the HOT-chain search logic.  It's been
  like this since HOT was originally introduced, but the logic is
  complex enough that this is a recipe for bugs, as we've already
  found out with SSI.  So refactor heap_hot_search_buffer() so that it
  can satisfy the needs of index_getnext(), and make index_getnext()
  use that rather than duplicating the logic.  This change was
  originally proposed by Heikki Linnakangas as part of a larger
  refactoring oriented towards allowing index-only scans.  I extracted
  and adjusted this part, since it seems to have independent merit.
  Review by Jeff Davis.
  http://git.postgresql.org/pg/commitdiff/4da99ea4231e3d8bbf28b666748c1028e7b7d665

- Mention that SSPI authentication can use GSSAPI on non-Windows
  systems.  As noted by Christian Ullrich.
  http://git.postgresql.org/pg/commitdiff/66a36ef949e4e6b8dbcc8a024eecfeca967d1d9c

- Try again to make the visibility map crash safe.  My previous
  attempt was quite a bit less than half-baked with respect to
  heap_update().
  http://git.postgresql.org/pg/commitdiff/e16954f3d27fa8e16c379ff6623ae18d6250a39c

- Add a missing_ok argument to get_object_address().  This lays the
  groundwork for an upcoming patch to streamline the handling of DROP
  commands.  KaiGai Kohei
  http://git.postgresql.org/pg/commitdiff/c533c1477f6beede766034c1226a20ac08320b05

- Fix bugs in relpersistence handling during table creation.  Unlike
  the relistemp field which it replaced, relpersistence must be set
  correctly quite early during the table creation process, as we rely
  on it quite early on for a number of purposes, including security
  checks.  Normally, this is set based on whether the user enters
  CREATE TABLE, CREATE UNLOGGED TABLE, or CREATE TEMPORARY TABLE, but
  a relation may also be made implicitly temporary by creating it in
  pg_temp.  This patch fixes the handling of that case, and also
  disables creation of unlogged tables in temporary tablespace (such
  table indeed skip WAL-logging, but we reject an explicit
  specification) and creation of relations in the temporary schemas of
  other sessions (which is not very sensible, and didn't work right
  anyway).  Report by Amit Khandekar.
  http://git.postgresql.org/pg/commitdiff/5da79169d3e9f0fab47da03318c44075b3f824c5

Simon Riggs pushed:

- Allow callers to pass a missing_ok flag when opening a relation.
  Since the names try_relation_openrv() and try_heap_openrv() don't
  seem quite appropriate, rename the functions to
  relation_openrv_extended() and heap_openrv_extended().  This is also
  more general, if we have a future need for additional parameters
  that are of interest to only a few callers.  This is infrastructure
  for a forthcoming patch to allow get_object_address() to take a
  missing_ok argument as well.  Patch by me, review by Noah Misch.
  http://git.postgresql.org/pg/commitdiff/9abbed0629c862710bdc0f0dd3565e069ecab9da

- Reduce impact of btree page reuse on Hot Standby by fixing off-by-1
  error.  WAL records of type XLOG_BTREE_REUSE_PAGE were generated
  using a latestRemovedXid one higher than actually needed because xid
  used was page opaque->btpo.xact rather than an actually removed xid.
  Noticed on an otherwise quiet system by Noah Misch.  Noah Misch and
  Simon Riggs
  http://git.postgresql.org/pg/commitdiff/e1cd66f74862936d84acf3008118d6094c56ad58

- Introduce compact WAL record for the common case of commit
  (non-DDL).  XLOG_XACT_COMMIT_COMPACT leaves out invalidation
  messages and relfilenodes, saving considerable space for the vast
  majority of transaction commits.  XLOG_XACT_COMMIT keeps same
  definition as XLOG_PAGE_MAGIC 0xD067 and earlier.  Leonardo
  Francalanci and Simon Riggs
  http://git.postgresql.org/pg/commitdiff/465883b0a2b4236ba6b31b648a9eabef3b7cdddb

Alvaro Herrera pushed:

- Modernise pg_hba.conf token processing.  The previous coding was
  ugly, as it marked special tokens as such in the wrong stage,
  relying on workarounds to figure out if they had been quoted in the
  original or not.  This made it impossible to have specific keywords
  be recognized as such only in certain positions in HBA lines, for
  example.  Fix by restructuring the parser code so that it remembers
  whether tokens were quoted or not.  This eliminates widespread
  knowledge of possible known keywords for all fields.  Also improve
  memory management in this area, to use memory contexts that are
  reset as a whole instead of using retail pfrees; this removes a
  whole lotta crufty (and probably slow) code.  Instead of calling
  strlen() three times in next_field_expand on the returned token to
  find out whether there was a comma (and strip it), pass back the
  info directly from the callee, which is simpler.  In passing, update
  historical artifacts in hba.c API.  Authors: Brendan Jurd, Alvaro
  Herrera Reviewed by Pavel Stehule
  http://git.postgresql.org/pg/commitdiff/e5e2fc842c418432756d8b5825ff107c6c5fc4c3

- Remove rel.h from objectaddress.h; only relcache.h is necessary.
  Add rel.h to some files that now need it.
  http://git.postgresql.org/pg/commitdiff/6f3efa76b042cdc457dba5bf8d8257f3ae83fb10

- Fix outdated comment.  Extracted from a patch by Bernd Helmle
  http://git.postgresql.org/pg/commitdiff/b36927fbe922d1aac5d6e42c04eecf65bf37f5f3

- Enable CHECK constraints to be declared NOT VALID.  This means that
  they can initially be added to a large existing table without
  checking its initial contents, but new tuples must comply to them; a
  separate pass invoked by ALTER TABLE / VALIDATE can verify existing
  data and ensure it complies with the constraint, at which point it
  is marked validated and becomes a normal part of the table
  ecosystem.  An non-validated CHECK constraint is ignored in the
  planner for constraint_exclusion purposes; when validated, cached
  plans are recomputed so that partitioning starts working right away.
  This patch also enables domains to have unvalidated CHECK
  constraints attached to them as well by way of ALTER DOMAIN / ADD
  CONSTRAINT / NOT VALID, which can later be validated with ALTER
  DOMAIN / VALIDATE CONSTRAINT.  Thanks to Thom Brown, Dean Rasheed
  and Jaime Casanova for the various reviews, and Robert Hass for
  documentation wording improvement suggestions.  This patch was
  sponsored by Enova Financial.
  http://git.postgresql.org/pg/commitdiff/897795240cfaaed724af2f53ed2c50c9862f951f

Magnus Hagander pushed:

- Protect pg_stat_reset_shared() against NULL input.  Per bug #6082,
  reported by Steve Haslam
  http://git.postgresql.org/pg/commitdiff/79aa44536f3980d324f486504cde643ce23bf5c6

- Mark pg_stat_reset_shared as strict.  This is the proper fix for bug
  #6082 about pg_stat_reset_shared(NULL) causing a crash, and it
  reverts commit 79aa44536f3980d324f486504cde643ce23bf5c6 on head.
  The workaround of throwing an error from inside the function is left
  on backbranches (including 9.1) since this change requires a new
  initdb.
  http://git.postgresql.org/pg/commitdiff/24e2d4b6ba99985d5b710983714f0133e94dc343

Heikki Linnakangas pushed:

- Grab predicate locks on matching tuples in a lossy bitmap heap scan.
  Non-lossy case was already handled correctly.  Kevin Grittner
  http://git.postgresql.org/pg/commitdiff/d9fe63acb033141be695815a8a663de8dae4f8af

- Move the PredicateLockRelation() call from nodeSeqscan.c to
  heapam.c.  It's more consistent that way, since all the other
  PredicateLock* calls are made in various heapam.c and index AM
  functions.  The call in nodeSeqscan.c was unnecessarily aggressive
  anyway, there's no need to try to lock the relation every time a
  tuple is fetched, it's enough to do it once.  This has the
  user-visible effect that if a seq scan is initialized in the
  executor, but never executed, we now acquire the predicate lock on
  the heap relation anyway.  We could avoid that by taking the lock on
  the first heap_getnext() call instead, but it doesn't seem worth the
  trouble given that it feels more natural to do it in
  heap_beginscan().  Also, remove the retail PredicateLockTuple()
  calls from heap_getnext().  In a seqscan, started with heap_begin(),
  we're holding a whole-relation predicate lock on the heap so there's
  no need to lock the tuples individually.  Kevin Grittner and me
  http://git.postgresql.org/pg/commitdiff/cd70dd6bef515a573a5af1756ce6a8b8406bb5d4

Tom Lane pushed:

- Restore correct btree preprocessing of "indexedcol IS NULL"
  conditions.  Such a condition is unsatisfiable in combination with
  any other type of btree-indexable condition (since we assume btree
  operators are always strict).  8.3 and 8.4 had an explicit test for
  this, which I removed in commit
  29c4ad98293e3c5cb3fcdd413a3f4904efff8762, mistakenly thinking that
  the case would be subsumed by the more general handling of IS (NOT)
  NULL added in that patch.  Put it back, and improve the comments
  about it, and add a regression test case.  Per bug #6079 from Renat
  Nasyrov, and analysis by Dean Rasheed.
  http://git.postgresql.org/pg/commitdiff/a5652d3e05380edcd35236e94b924c8c105eaefd

- Suppress compiler warning about potentially uninitialized variable.
  Maybe some compilers are smart enough to not complain about the
  previous coding ... but mine isn't.
  http://git.postgresql.org/pg/commitdiff/426cafc46c8bf5aeda38e8d17f1d86a48e627e43

- Fix EXPLAIN to handle gating Result nodes within inner-indexscan
  subplans.  It is possible for a NestLoop plan node to pass an OUTER
  Var into an "inner indexscan" that is an Append construct (derived
  from an inheritance tree or UNION ALL subquery).  The OUTER tuple is
  then passed down at runtime to the leaf indexscan node(s) where it
  will actually be used.  EXPLAIN has to likewise pass the information
  about the nestloop's outer subplan down through the Append node,
  else it will fail to print the outer-reference Vars (with complaints
  like "bogus varno: 65001").  However, there was a case missed in all
  this: we could also have gating Result nodes that were inserted into
  the appendrel plan tree to deal with pseudoconstant qual conditions.
  So EXPLAIN has to pass down the outer plan node to a Result's
  subplan, too.  Per example from Jon Nelson.  The problem is gone in
  9.1 because we replaced the nestloop outer-tuple kluge with a
  Param-based data transfer mechanism.  Also, so far as I can tell,
  the case can't happen before 8.4 because of restrictions on what
  sorts of appendrel members could be pulled up into the parent query.
  So this patch is only needed for 8.4 and 9.0.
  http://git.postgresql.org/pg/commitdiff/789d3d4541e95c6079a55196bd63a6ab90e57c7c

- Make distprep and *clean build targets recurse into all
  subdirectories.  Certain subdirectories do not get built if
  corresponding options are not selected at configure time.  However,
  "make distprep" should visit such directories anyway, so that
  constructing derived files to be included in the tarball happens
  without requiring all configure options to be given in the tarball
  build script.  Likewise, it's better if cleanup actions
  unconditionally visit all directories (for example, this ensures
  proper cleanup if someone has done a manual make in such a
  subdirectory).  To handle this, set up a convention that
  subdirectories that are conditionally included in SUBDIRS should be
  added to ALWAYS_SUBDIRS instead when they are excluded.  Back-patch
  to 9.1, so that plpython's spiexceptions.h will get provided in 9.1
  tarballs.  There don't appear to be any instances where distprep
  actions got missed in previous releases, and anyway this fix
  requires gmake 3.80 so we don't want to apply it before 9.1.
  http://git.postgresql.org/pg/commitdiff/acb9198b960caaa2fe9f31258116eaa7c1154093

- Back-patch creation of tar.bz2 tarball during "make dist".  Since
  commit a4d03bbcdaf7739d7e9073ee76bb186f68ddc163, "make dist" has
  built both gzip- and bzip2-compressed tarballs.  However, this was
  pretty useless, because our tarball build script didn't know about
  it and proceeded to overwrite the bz2 file with new data.
  Back-patch the change to all active branches, so that creation of
  the tar.bz2 file can be removed from the build script.
  http://git.postgresql.org/pg/commitdiff/fcc4a20dd0be2342d35cfa2bad82af22d5169c20

- Put comments on the installable procedural languages.  Per
  suggestion from Josh Kupershmidt.
  http://git.postgresql.org/pg/commitdiff/99e47ed0b2d2c559da813e679260e218f2c1d2ee

- Fix omissions in documentation of the pg_roles view.  Somehow,
  column rolconfig got removed from the documentation of the pg_roles
  view in the 9.0 cycle, although the column is actually still there.
  In 9.1, we'd also forgotten to document the rolreplication column.
  Spotted by Sakamoto Masahiko.
  http://git.postgresql.org/pg/commitdiff/4fa046a39ebdaf4c9191ffff8a57b0759c52f3f3

Bruce Momjian pushed:

- Change pg_upgrade to use port 50432 by default to avoid unintended
  client connections during the upgrade.  Also rename data/bin/port
  environment variables to being with 'PG'.  Also no longer honor
  PGPORT.
  http://git.postgresql.org/pg/commitdiff/a88f4496b75a756df371a405ce608ceb06c8fbd7

- In the pg_upgrade docs, move 50432 port mention to the place where
  we talk about client access.
  http://git.postgresql.org/pg/commitdiff/cc81d9969c6ac32f8482b3fc1a1775d212222fa7

- In pg_upgrade 9.0 and 9.1, document suggestion of using a
  non-default port number to avoid unintended client connections.
  http://git.postgresql.org/pg/commitdiff/158d071b28529509b0a77317a24ef55fb84480d9

Andrew Dunstan pushed:

- Fix bat file quoting of %ENV.
  http://git.postgresql.org/pg/commitdiff/19b7fac86d85c89f2c9173906722da70c6eebad2

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Heikki Linnakangas sent in a patch to remove some slowness from
gist_box_penalty.

Shigeru HANADA sent in another revision of the patch to add SQL/MED
per-column GENERIC OPTIONs.

Simon Riggs sent in a WIP patch to redefine SnapshotNow as a snapshot
type that includes a list of transactions-in-progress, somewhat like
an MVCC snapshot.

Gabriele Bartolini sent in a patch to add a "dry run" option '-n' to
pg_archivecleanup which performs a dry-run and outputs the names of
the files to be removed to stdout.

Robert Haas sent in another revision of the patch to reduce the
overhead of frequent table locks by locking less frequently.

Robert Haas sent in an update to the patch to allow for time-delayed
standbys.

KaiGai Kohei sent in three more revisions of a patch intended to fix
certain types of information leaks in views.

Alexander Korotkov, Tom Lane and Heikki Linnakangas traded versions of
a patch to build GiST indexes faster.

Martin Pihlak sent in another revision of the patch for SSL with
non-blocking sockets.

KaiGai Kohei sent in another revision of a patch intended to
consolidate the DROP machinery into one spot.

Kevin Grittner sent in a patch to modularize some aspects of SSI with
respect to sequential scans.

Laurenz Albe and Shigeru HANADA traded patches to fix an issue in
file FDWs.

KaiGai Kohei sent in two revisions of a patch to fix some issues in
SECURITY LABELs on shared database objects, per review from Joe
Conway.

Heikki Linnakangas sent in another WIP patch to do a latch-based
implementation of wakeup on postmaster death.

Jun Ishiduka sent in another revision of the patch to allow an online
base backup from a hot standby.

Noah Misch sent in another revision of a patch to avoid index rebuilds
for ALTER TABLE...ALTER TYPE that don't actually need to rewrite.

Josh Kupershmidt sent in another revision of the patch to make \dd
show constraint comments.

Hitoshi Harada sent in another revision of the patch to parameterize
aggregate subqueries.

KaiGai Kohei sent in another revision of the patch to create a
userspace access vector cache.


pgsql-announce by date:

Previous
From: Scott Mead
Date:
Subject: Postgres 9.1 beta2 RPMs available
Next
From: galy lee
Date:
Subject: PostgreSQL Conference China: 2011 Reminder