== PostgreSQL Weekly News - September 27 2009 ==

Поиск
Список
Период
Сортировка
От David Fetter
Тема == PostgreSQL Weekly News - September 27 2009 ==
Дата
Msg-id 20090928035957.GJ7952@fetter.org
обсуждение исходный текст
Список pgsql-announce
== PostgreSQL Weekly News - September 27 2009 ==

The commitfest continues, with alpha2 coming soon.

== PostgreSQL Product News ==

Benetl 3.1, an ETL tool for files, released.
http://www.benetl.net

== PostgreSQL Jobs for September ==

http://archives.postgresql.org/pgsql-jobs/2009-09/threads.php

== PostgreSQL Local ==

There will be a conference in Seattle, Washington, USA October 16-18,
2009.
http://www.postgresqlconference.org/2009/west

PGCon Brazil will be take place October 23-24 2009 at Unicamp in
Campinas, Sao Paulo state.  Registration open!
http://pgcon.postgresql.org.br/2009/

PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on
November 6-7, 2009.
http://www.pgday.eu/

OpenSQL Camp in Portland is looking for sponsors.  Make your travel plans now! :)
http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/

JPUG 10th Anniversary Conference is November 20-21, 2009 in Tokyo, Japan.
http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php

FOSDEM 2010 will be in Brussels, Belgium on February 6-7, 2010.
http://www.fosdem.org/

Chemnitzer Linuxtage will be in Chemnitz, Germany on March 13-14, 2010.
http://chemnitzer.linux-tage.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.

== Applied Patches ==

Tom Lane committed:

- Define a new, more extensible syntax for COPY options.  This is
  intentionally similar to the recently revised syntax for EXPLAIN
  options, ie, (name value, ...).  The old syntax is still supported
  for backwards compatibility, but we intend that any options added in
  future will be provided only in the new syntax.  Robert Haas,
  Emmanuel Cecchet.

- Fix crash if a DROP is attempted on an internally-dependent object.
  Introduced in 8.4 rewrite of dependency.c.  Per bug #5072 from Amit
  Khandekar.

- Implement the DO statement to support execution of PL code without
  having to create a function for it.  Procedural languages now have
  an additional entry point, namely a function to execute an inline
  code block.  This seemed a better design than trying to hide the
  transient-ness of the code from the PL.  As of this patch, only
  plpgsql has an inline handler, but probably people will soon write
  handlers for the other standard PLs.  In passing, remove the
  long-dead LANCOMPILER option of CREATE LANGUAGE.  Petr Jelinek.

- In pgsql/doc/src/sgml/ref/do.sgml, improve example for DO, per Petr
  Jelinek.

- In pgsql/src/backend/utils/cache/relcache.c, fix
  RelationCacheInitializePhase2 (Phase3, in HEAD) to cope with the
  possibility of shared-inval messages causing a relcache flush while
  it tries to fill in missing data in preloaded relcache entries.
  There are actually two distinct failure modes here: 1. The flush
  could delete the next-to-be-processed cache entry, causing the
  subsequent hash_seq_search calls to go off into the weeds.  This is
  the problem reported by Michael Brown, and I believe it also
  accounts for bug #5074.  The simplest fix is to restart the
  hashtable scan after we've read any new data from the catalogs.  It
  appears that pre-8.4 branches have not suffered from this failure,
  because by chance there were no other catalogs sharing the same hash
  chains with the catalogs that RelationCacheInitializePhase2 had work
  to do for.  However that's obviously pretty fragile, and it seems
  possible that derivative versions with additional system catalogs
  might be vulnerable, so I'm back-patching this part of the fix
  anyway.  2. The flush could delete the *current* cache entry, in
  which case the pointer to the newly-loaded data would end up being
  stored into an already-deleted Relation struct.  As long as it was
  still deleted, the only consequence would be some leaked space in
  CacheMemoryContext.  But it seems possible that the Relation struct
  could already have been recycled, in which case this represents a
  hard-to-reproduce clobber of cached data structures, with
  unforeseeable consequences.  The fix here is to pin the entry while
  we work on it.  In passing, also change
  RelationCacheInitializePhase2 to Assert that formrdesc() set up the
  relation's cached TupleDesc (rd_att) with the correct type OID and
  hasoids values.  This is more appropriate than silently updating the
  values, because the original tupdesc might already have been copied
  into the catcache.  However this part of the patch is not in HEAD
  because it fails due to some questionable recent changes in
  formrdesc :-(.  That will be cleaned up in a subsequent patch.

- Extend the BKI infrastructure to allow system catalogs to be given
  hand-assigned rowtype OIDs, even when they are not "bootstrapped"
  catalogs that have handmade type rows in pg_type.h.  Give
  pg_database such an OID.  Restore the availability of C macros for
  the rowtype OIDs of the bootstrapped catalogs.  (These macros are
  now in the individual catalogs' .h files, though, not in pg_type.h.)
  This commit doesn't do anything especially useful by itself, but
  it's necessary infrastructure for reverting some ill-considered
  changes in relcache.c.

- In pgsql/src/backend/utils/cache/relcache.c, revert my
  ill-considered change that made formrdesc not insert the correct
  relation rowtype OID into the relcache entries it builds.  This
  ensures that catcache copies of the relation tupdescs will be fully
  correct.  While the deficiency doesn't seem to have any effect in
  the current sources, we have been bitten by not-quite-right catcache
  tupdescs before, so it seems like a good idea to maintain the rule
  that they should be right.

- In pgsql/src/backend/catalog/genbki.sh, hmm, seems a lot of the
  buildfarm is running versions of awk that don't have gensub().  Use
  sub() instead, tedious though it be.

- Simplify the bootstrap (BKI) code by getting rid of a useless table
  of all the strings seen during the bootstrap run.  There might have
  been some actual point to doing that, many years ago, but as far as
  I can see the only value now is to conserve a bit of memory.  Even
  if we cared about wasting a megabyte or so during the initdb run,
  it'd be far more effective to arrange to release memory at the end
  of each BKI command, instead of intentionally hanging onto strings
  that might never be used again.  Not maintaining the table probably
  makes it faster too; but the main point of this patch is to get rid
  of a couple hundred lines of unnecessary and rather crufty code.

- In pgsql/src/tools/msvc/Genbki.pm, ooops, fix to Genbki.pm for
  ROWTYPE_OID wasn't quite right.  Also, make a few spacing tweaks so
  it produces exactly the same output as genbki.sh.

- Sync psql's scanner with recent changes in backend scanner's flex
  rules.  Marko Kreen, Tom Lane.

- In pgsql/src/interfaces/libpq/fe-connect.c, make libpq reject
  non-numeric and out-of-range port numbers with a suitable error
  message, rather than blundering on and failing with something
  opaque.  Sam Mason.

- Replace the array-style TupleTable data structure with a simple List
  of TupleTableSlot nodes.  This eliminates the need to count in
  advance how many Slots will be needed, which seems more than worth
  the small increase in the amount of palloc traffic during executor
  startup.  The ExecCountSlots infrastructure is now all dead code,
  but I'll remove it in a separate commit for clarity.  Per a comment
  from Robert Haas.

- Remove no-longer-needed ExecCountSlots infrastructure.

Bruce Momjian committed:

- In pgsql/src/tools/fsync/test_fsync.c, fsync test files.  Prevent
  creation of 16GB files during fsync testing; only create 16MB files;
  backpatch to 8.4.X.

Peter Eisentraut committed:

- Surrogate pair support for U& string and identifier syntax.  This is
  mainly to make the functionality consistent with the proposed \u
  escape syntax.

- Unicode escapes in E'...' strings.  Marko Kreen.

- In pgsql/src/backend/parser/scan.l, remove backup states from
  Unicode escapes patch.

- In pgsql/src/backend/parser/scan.l, prevent isolated second
  surrogate in U& syntax.

== Rejected Patches (for now) ==

Jeff Davis's operator exclusion constraints patch.  Lots of progress,
useful new feature, and will re-submit for the next commitfest.

== Pending Patches ==

Heikki Linnakangas sent in a reviewed version of the streaming
replication patch.

Heikki Linnakangas sent in a patch atop the Hot Standby patch.

Petr (PJMODOS) Jelinek sent in another revision of the GRANT ON ALL IN
patch.

Andrew Dunstan sent in a patch to add \ev (edit view) to psql.

Stef Walter sent in two more revisions of the samehost/sameuser patch
for pg_hba.conf.

Petr (PJMODOS) Jelinek sent in four more revisions of the DefaultACLs
patch.

Michael Paquier sent in another revision of the patch to add shell
commands to pgbench.

Andrew (RhodiumToad) Gierth sent in another revision of the hstore
patch.

Roger Leigh sent in another revision of the UTF-8 pretty-print option
for psql.

David Wheeler sent in a doc patch to go with Andrew (RhodiumToad)
Gierth's hstore patch.

Sam Mason sent in a patch to clean up libpq's port number handling.

Joachim Wieland sent in a patch to fix some performance issues in the
information schema.

KaiGai Kohei sent in another revision of the large object ACL patch.

Emmanuel Cecchet sent in another revision of the COPY enhancements
patch.

KaiGai Kohei sent in another revision of the ACL rework patch.

Pierre Frederic Caillaud sent in another revision of the bulk inserts
patch.

Alvaro Herrera sent in another revision of the patch to allow
per-database, per-role GUC settings.

Simon Riggs set up a git repository for Hot Standby, with the
eponymous hot_standby branch, at
http://git.postgresql.org/gitweb?p=users/simon/postgres.git;a=summary

Brendan Jurd sent in a patch atop ITAGAKI Takahiro's CREATE TABLE
LIKE...INCLUDING patch.

Marko Kreen sent in a patch to fix up Unicode escape treatment in
psql.

Jim Cox sent in a patch to allow pg_dump to note its version and that
of the server it dumps in comments.

Heikki Linnakangas sent in two updated patches for Hot Standby.

ITAGAKI Takahiro sent in another revision of the CREATE TABLE LIKE
expansion patch including Brendan Jurd's additions above.


В списке pgsql-announce по дате отправления:

Предыдущее
От: benoît carpentier
Дата:
Сообщение: Benetl, a free ETL tool for files using postgreSQL, is out in version 3.1 - update
Следующее
От: Magnus Hagander
Дата:
Сообщение: pgday.eu 2009: Schedule available and registration open