== PostgreSQL Weekly News - August 16 2009 ==
The first commitfest of the 8.5 cycle is coming to a close. With
almost 40 patches committed and only 5 patches rejected outright,
PostgreSQL 8.5 development is even smoother and more productive than
== PostgreSQL Product News ==
pgfincore 0.3, a tool for determining which pg files or parts are in
the OS cache, released.
pgpool-II 2.2.3, a connection pooler and more, released.
== PostgreSQL Jobs for August ==
== PostgreSQL Local ==
OpenSQL Camp will take place August 22-23, 2009 in St. Augustin,
Germany, close to Bonn and Cologne.
The German PostgreSQL User Group will have a dev-room at FrOSCon on
Sunday, August 23, 2009. The Call for Papers is open:
The CfP for PyCon Argentina is open until June 29th, 2009 23:59 ART.
The conference itself will be in Beunos Aires on September 4-5 2009.
Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate
Use" course at the adult education center in Magdeburg, Germany on
September 7-11, 2009. Details below:
There will be a conference in Athens, Georgia, USA on September 19,
2009. The CfP is open.
There will be a conference in Seattle, Washington, USA October 16-18,
2009. The CfP is open.
PGCon Brazil will be take place October 23-24 2009 at Unicamp in
Campinas, Sao Paulo state. The CfP is open!
PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on
November 6-7, 2009. The CfP is out. Submit!
OpenSQL Camp in Portland is looking for sponsors. Make your travel plans now! :)
JPUG 10th Anniversary Conference has started its Request for
Proposals. The conference is November 20-21, 2009 in Tokyo, Japan.
FOSDEM 2010 will be in Brussels on February 6-7, 2010.
== 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(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)
== Applied Patches ==
Andrew Dunstan committed:
- In pgsql/doc/src/sgml/ref/psql-ref.sgml, re-add documentation for
--no-readline option of psql, mistakenly removed a decade ago.
Backpatch to release 7.4.
Tom Lane committed:
- Extend EXPLAIN to support output in XML or JSON format. There are
probably still some adjustments to be made in the details of the
output, but this gets the basic structure in place. Robert Haas
- In pgsql/doc/src/sgml/func.sgml, adjust extract(epoch) example to
clarify that it includes fractional seconds, per gripe from Richard
Neill. Also, add a cross-reference to the to_timestamp function.
- Support EEEE (scientific notation) in to_char(). Pavel Stehule,
- In pgsql/src/backend/commands/analyze.c, fix old bug in
log_autovacuum_min_duration code: it was relying on being able to
access a Relation entry it had just closed. I happened to be
testing with CLOBBER_CACHE_ALWAYS, which made this a guaranteed core
dump (at least on machines where sprintf %s isn't forgiving of a
NULL pointer). It's probably quite unlikely that it would fail in
the field, but a bug is a bug. Fix by moving the relation_close
call down past the logging action.
- Allow backends to start up without use of the flat-file copy of
pg_database. To make this work in the base case, pg_database now
has a nailed-in-cache relation descriptor that is initialized using
hardwired knowledge in relcache.c. This means pg_database is added
to the set of relations that need to have a Schema_pg_xxx macro
maintained in pg_attribute.h. When this path is taken, we'll have
to do a seqscan of pg_database to find the row we need. In the
normal case, we are able to do an indexscan to find the database's
row by name. This is made possible by storing a global relcache
init file that describes only the shared catalogs and their indexes
(and therefore is usable by all backends in any database). A new
backend loads this cache file, finds its database OID after an
indexscan on pg_database, and then loads the local relcache init
file for that database. This change should effectively eliminate
number of databases as a factor in backend startup time, even with
large numbers of databases. However, the real reason for doing it
is as a first step towards getting rid of the flat files altogether.
There are still several other sub-projects to be tackled before that
- In pgsql/doc/src/sgml/.cvsignore, the html-stamp and man-stamp files
also need to be cvsignore'd.
- In pgsql/src/backend/commands/tablecmds.c, improve error message for
the case where a requested foreign key constraint does match some
unique index on the referenced table, but that index is only
deferrably unique. We were doing this nicely for the
default-to-primary-key case, but were being lazy for the other case.
- In pgsql/src/backend/optimizer/prep/prepunion.c, put back
adjust_appendrel_attrs()'s code for dealing with RestrictInfo. I
mistakenly removed it last month, thinking it was no longer needed
--- but it is still needed for dealing with joininfo lists.
Fortunately this bit of brain fade hadn't made it into any released
- Add a simple test case covering a join against an inheritance tree,
since we're evidently not testing that at all right now :-(
- Repair breakage of Wisconsin benchmark due to change of command line
syntax for standalone backends. Although we probably ought to just
remove this long-obsolete test case from our code, it seems
worthwhile to document the issue and fix in CVS first. Jeff Janes.
- In pgsql/doc/src/sgml/Makefile, make sure that 'make distclean'
cleans out all files that are not meant to be shipped. Also, allow
'make clean' to remove intermediate working files.
- Remove Wisconsin benchmark files. This test is clearly not being
used anymore, since it's been broken for long periods of time
without anyone noticing. Per discussion, it's not worth keeping in
our source tree.
- In pgsql/src/backend/catalog/pg_type.c, fix incorrect encoding-aware
name truncation in makeArrayTypeName(). truncate_identifier won't
do anything if the passed-in strlen is already less than
NAMEDATALEN, which it always would be given the strlcpy usage. This
has been broken since the arrays-of-composite-types code went in.
Arguably truncate_identifier is suffering from excessive
optimization and should always process the string, but for the
moment I'll take the more localized patch. Per bug #4987.
- In pgsql/doc/src/sgml/func.sgml, fix imprecise documentation of
random(): it never returns 1.0. This was changed in 8.2 but the
documentation was not corrected. Per gripe from Sam Mason.
Magnus Hagander committed:
- In pgsql/src/tools/msvc/Project.pm, back-patch the multiple
CPUs/cores when building on MSVC. This only affects the C compiler
step - we still only build one target at a time.
- Reserve the shared memory region during backend startup on Windows,
so that memory allocated by starting third party DLLs doesn't end up
conflicting with it. Hopefully this solves the long-time issue with
"could not reattach to shared memory" errors on Win32. Patch from
Tsutomu Yamada and Magnus Hagander, based on idea from Trevor
Bruce Momjian committed:
- In pgsql/src/tools/fsync/test_fsync.c, adjust test_fsync code to be
more sane. Backpatch to 8.4.X.
- In pgsql/doc/src/sgml/ref/psql-ref.sgml, remove tab in SGML.
Alvaro Herrera committed:
- In pgsql/src/backend/utils/adt/formatting.c, refactor
NUM_cache_remove calls in error report path to a PG_TRY block. The
code in the new block was not reindented; it will be fixed by
- In pgsql/doc/src/sgml/catalogs.sgml, fix number of columns declared
for pg_user_mappings description table.
- In pgsql/doc/src/sgml/geqo.sgml, fix URL to "The Hitch-Hiker's Guide
to Evolutionary Computation". Per Andreas Wenk, Andres Freund and
Rob Wultsh. Thanks, Robert Haas, for the patch.
- In pgsql/doc/src/sgml/Makefile, refactor some $(JADE.tex.call)s.
- In pgsql/GNUmakefile.in, be able to easily figure out the target
directory of "make dist".
Peter Eisentraut committed:
- In pgsql/doc/src/sgml/Makefile, simplify and speed up man page
- In pgsql/doc/src/sgml/Makefile, remove unnecessary files from
- Add .cvsignore entries for documentation files.
- In pgsql/doc/src/sgml/installation.sgml, document the minimum
required Python version. It turns out that Python 2.2 is the oldest
version that PL/Python compiles with, apparently related to the
introduction of iterators. Might as well document this.
- Split the plpython regression test into test cases arranged by
topic, instead of the previous monolithic setup-create-run sequence,
that was apparently inherited from a previous test infrastructure,
but makes working with the tests and adding new ones weird.
- Augment test coverage in PL/Python, especially for error conditions.
- In pgsql/src/include/catalog/pg_type.h, remove stray character in
- In pgsql/src/pl/plpython/plpython.c, domain support in PL/Python.
When examining what Python type to convert a PostgreSQL type to on
input, look at the base type of the input type, otherwise all
domains end up defaulting to string.
- PL/Python regression tests for data type handling. Add some checks
on various data types are converted into and out of Python. This is
extracted from Caleb Welton's patch for improved bytea support, but
- Remove the test case from PL/Python tests that depends on the
platform's float output format.
- In pgsql/doc/src/sgml/plperl.sgml, clarify the documentation about
PL/Perl nested subroutines, per Josh Berkus.
Michael Meskes committed:
- Made sure sqlca is reset for declare cursor in Informix mode as
pointed out by Zoltan Boszormenyi.
Teodor Sigaev committed:
- Add prefix support for synonym dictionary.
== Rejected Patches (for now) ==
Stef Walter's patch to make "samehost" and "samenet" meaningful in
== Pending Patches ==
Zoltan Boszormenyi sent in another revision of his ECPG patch for
Magnus Hagander sent in a back-patch to 8.2 of the patch intended to
fix the "could not reattach to shared memory" on Windows.
Zoltan Boszormenyi sent in two more revisions of the SQLDA and
Pierre Frederic Caillaud sent in another version of his table and
index compression patch.
Pierre Frederic Caillaud sent in a patch to speed up COPY operations.
Zoltan Boszormenyi sent in another patch to fix the fact that DECLARE
doesn't set/reset sqlca after DECLARE CURSOR in ECPG.
Zdenek Kotala sent in another revision of his patch to fix
libeditpreferred behavior on Solaris.
Alvaro Herrera sent in a part of Robert Haas's patch which
Michael Paquier sent in another revision of his patch to allow pgbench
to launch shell commands.
Teodor Sigaev sent in new revisions of unaccent and filter_dictionary.
Zoltan Boszormenyi sent in another patch to fix ECPG's cursor
Peter Eisentraut sent in another revision of his plpythonu data type
Jeff Davis sent in a patch to implement opportunistic tuple freezing
via a new GUC: vacuum_freeze_opportunistic_ratio.
ITAGAKI Takahiro sent in a patch to fix encoding issues in the console
and eventlog on Windows.
pgsql-announce by date
|Next:||From: David Fetter||Date: 2009-08-24 02:42:58|
|Subject: == PostgreSQL Weekly News - August 23 2009 ==|
|Previous:||From: David Fetter||Date: 2009-08-14 15:42:35|
|Subject: Re: pgday.eu 2009 Call for Papers|