|Тема:||== PostgreSQL Weekly News - August 16 2009 ==|
(см: обсуждение, исходный текст)
== 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 8.4's was. == PostgreSQL Product News == pgfincore 0.3, a tool for determining which pg files or parts are in the OS cache, released. http://pgfoundry.org/projects/pgfincore/ pgpool-II 2.2.3, a connection pooler and more, released. http://pgfoundry.org/projects/pgpool/ == PostgreSQL Jobs for August == http://archives.postgresql.org/pgsql-jobs/2009-08/threads.php == PostgreSQL Local == OpenSQL Camp will take place August 22-23, 2009 in St. Augustin, Germany, close to Bonn and Cologne. http://opensqlcamp.org/Events/2009/ The German PostgreSQL User Group will have a dev-room at FrOSCon on Sunday, August 23, 2009. The Call for Papers is open: http://andreas.scherbaum.la/blog/archives/573-Call-for-Papers-fuer-den-PostgreSQL-Devroom-auf-der-FrOSCon-2009.html 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. http://ar.pycon.org/2009/rfp/ 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: http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html There will be a conference in Athens, Georgia, USA on September 19, 2009. The CfP is open. http://www.postgresqlconference.org/2009/pgday/athens There will be a conference in Seattle, Washington, USA October 16-18, 2009. The CfP is open. http://www.postgresqlconference.org/2009/west PGCon Brazil will be take place October 23-24 2009 at Unicamp in Campinas, Sao Paulo state. The CfP is open! http://pgcon.postgresql.org.br/2009/chamadas.en.php PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on November 6-7, 2009. The CfP is out. Submit! 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 has started its Request for Proposals. The 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 on February 6-7, 2010. http://www.fosdem.org/ == 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 , German language to , Italian language to . == 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, Brendan Jurd - 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 can happen. - 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. Dean Rasheed - 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 versions yet. - 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 Talbot. 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 pgindent eventually. - 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 installation. - In pgsql/doc/src/sgml/Makefile, remove unnecessary files from distribution. - 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 type description. - 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 much expanded. - 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 pg_hba.conf. Non-portable. == Pending Patches == Zoltan Boszormenyi sent in another revision of his ECPG patch for cursors. 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 DESCRIBE patches. 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 auto-generates schemapg.h. 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 handling. Peter Eisentraut sent in another revision of his plpythonu data type conversion patch. 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.