== PostgreSQL Weekly News - January 25 2009 == Prague PostgreSQL Developers' Day 2009 will be on February 12, 2009 http://www.postgresql.org/about/event.808 Schedule: http://www.postgres.cz/p2d2/2009/sched_en.html PostgreSQL Conference East 09 will be held from April 3rd through April 5, 2009 in Philadelphia at Drexel University. The call for papers is now open: http://www.postgresqlconference.org/2009/east/ New Survey: Do you live near a PostgreSQL User Group? http://www.postgresql.org/community/ == PostgreSQL Product News == pgpool-II 2.2beta1 released. http://pgfoundry.org/projects/pgpool/ pgTAP 0.15 released. http://pgtap.projects.postgresql.org/ == PostgreSQL Tip of the Week == For better performance, it's generally useful to put the PostgreSQL transaction log (pg_xlog) on its own drive/array, ideally on its own I/O channel. == PostgreSQL Jobs for January == http://archives.postgresql.org/pgsql-jobs/2009-01/threads.php == PostgreSQL Local == Richard Broersma is coordinating booth volunteers for SCALE (below). Contact him at richard DOT broersma AT gmail DOT com. SYDPUG will be meeting February 3, 2009 at 6:30pm at Fujitsu Australia in North Syndey. Mark Leslie will talk about the history and motivations of PostGIS. http://archives.postgresql.org/sydpug/2009-01/msg00000.php Many of the usual suspects will be at FOSDEM February 7-8 in Brussels, Belgium. More information and the schedule are available at: http://wiki.postgresql.eu/wiki/FOSDEM_2009 JNBPUG will be meeting February 9 19:00 at News Cafe on New Road in Midrand. SFPUG presents: Reece Hart on Unison DB for Computational Biology. February 10, 2009, location to be announced. http://postgresql.meetup.com/1/calendar/9351228/ PostgreSQL will be at SCALE February 20-22 in Los Angeles. http://www.socallinuxexpo.org/ Andreas 'ads' Scherbaum will be presenting a talk at Perl Workshop 2009 on February 25 in Frankfurt am Main, Germany. http://www.perl-workshop.de/talks/151/view PostgreSQL Conference, U.S. will be holding a PgDay at LinuxFest Northwest (April 25/26th). The call for papers is out at http://www.postgresqlconference.org/ PGCon 2009 will be held 21-22 May 2009, in Ottawa at the University of Ottawa. It will be preceded by two days of tutorials on 19-20 May 2009. http://www.pgcon.org/2009/papers.php PGCon Brazil will be take place October 23-24 2009 at Unicamp in Campinas, Sao Paulo state. == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ PostgreSQL Weekly News is brought to you this week by David Fetter and Josh Berkus. 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 == Peter Eisentraut committed: - In pgsql/src/interfaces/libpq/fe-secure.c, message wordsmithing - Alter the regression test cases that rely on the sort order of "ch" between "cg" and "ci". This eliminates a test failure on the following glibc locales: br_FR, cs_CZ, cy_GB, es_EC, es_US, hsb_DE, ig_NG, ik_CA, sk_SK. - Alter regression test cases that rely on the sort order of "aa". Some locales (da_DK, fo_FO, kl_GL, nb_NO, nn_NO in glibc) sort "aa" after "z". - Avoid regression test cases that fail in locales that sort "v" and "w" equally (in glibc: et_EE, sv_SE, tk_TM). It turns out that this was already taken care of previously by select_1.out, which I had forgotten to update for an unrelated change. But might as well avoid the issue altogether. - Revise the permission checking on user mapping DDL commands. CREATE/ALTER/DROP USER MAPPING are now allowed either by the server owner or by a user with USAGE privileges for his own user name. This is more or less what the SQL standard wants anyway (plus "implementation-defined") Hide information_schema.user_mapping_options.option_value, unless the current user is the one associated with the user mapping, or is the server owner and the mapping is for PUBLIC, or is a superuser. This is to protect passwords. Also, fix a bug in information_schema._pg_foreign_servers, which hid servers using wrappers where the current user did not have privileges on the wrapper. The correct behavior is to hide servers where the current user has no privileges on the server. - In pgsql/src/nls-global.mk, do not msgmerge against /dev/null; merge against the pot file itself instead. - Automatic view update rules. Bernd Helmle. - Recreate ecpg_config.h with a stamp file created by config.status, same way pg_config.h is handled. This avoids reruns of config.status on every build, if configure has been rerun. - Message style review for ecpg. Magnus Hagander committed: - Use the new text domain names ("postgres-8.4" instead of "postgres"). Hiroshi Inoue. - In pgsql/src/tools/msvc/Install.pm, install .mo files for NLS as <program>-<version>.mo when building with MSVC as well. Same change as made earlier for autoconf builds. Per Hiroshi Inoue. - Make some strings translatable again that were accidentally removed in earlier patch to fix "printf-arguments". - Make win32 builds always do SetEnvironmentVariable() when doing putenv(). Also, if linked against other versions than the default MSVCRT library (for example the MSVC build which links against MSVCRT80), also update the cache in the default MSVCRT at the same time. This should fix the issues with setting LC_MESSAGES on the MSVC build. Original patch from Hiroshi Inoue and Hiroshi Saito, much rewritten by me. - In pgsql/src/backend/utils/adt/pg_locale.c, remove stray ' character at end of line. For some reason it broke OpenBSD compile even when it's inside a #ifdef WIN32 block..... - In pgsql/src/backend/utils/mb/mbutils.c, explicitly bind gettext to the correct encoding on Windows. Original patch from Hiroshi Inoue. Tom Lane committed: - In pgsql/src/interfaces/libpq/fe-secure.c, fix accidental (I suppose) introduction of non-ASCII quote marks. - Support column-level privileges, as required by SQL standard. Stephen Frost, with help from KaiGai Kohei and others - In pgsql/src/backend/libpq/ip.c, tweak the existing special case for AIX in pg_getaddrinfo_all() to handle yet another failure case in AIX's getaddrinfo(). Per report and patch by Andrew Chernow. Bruce Momjian committed: - In pgsql/src/bin/psql/describe.c, document RELKIND_SPECIAL reference in psql, from <= 8.1.X. - Make psql \d and \dt consistent for system tables, i.e prevent \d from showing system tables, make \dS pattern show system table details, and have \dtS show system and _user_ tables, to be consistent with other \d* commands. - In pgsql/doc/src/sgml/ref/psql-ref.sgml, update \d*S documentation to be more accurate; system objects are added to the display, not restricted in the display; new text: The letter <literal>S</literal> adds the listing of system objects; without <literal>S</literal>, only non-system objects are shown. - In pgsql/doc/src/sgml/ref/select.sgml, document that SELECT FOR UPDATE/SHARE with ORDER BY might return results in the incorrect order, per bug 4593. Backpatch to 8.3.X. Alvaro Herrera committed: - In pgsql/src/backend/postmaster/autovacuum.c, fix erroneous memory context switch in autovacuum, which was returning to a context long after it had been destroyed. Per problem report from Justin Pasher. Patch by Tom Lane and me. 8.3 and later do not have this bug, because this code has been restructured for unrelated reasons. In 8.2 it does not manifest as a crash, but it still seems safer fixing it nonetheless. Heikki Linnakangas committed: - Add a new option to RestoreBkpBlocks() to indicate if a cleanup lock should be used instead of the normal exclusive lock, and make WAL redo functions responsible for calling RestoreBkpBlocks(). They know better what kind of a lock they need. At the moment, this just moves things around with no functional change, but makes the hot standby patch that's under review cleaner. - Add new SPI_OK_REWRITTEN return code to SPI_execute and friends, for the case that the command is rewritten into another type of command. The old behavior to return the command tag of the last executed command was pretty surprising. In PL/pgSQL, for example, it meant that if a command was rewritten to a utility statement, FOUND wasn't set at all. - Forgot to handle the new SPI_OK_REWRITTEN result code in a couple places. - Update comments to reflect that tgenabled is not a boolean anymore. Jonah Harris, with minor tinkering by me. - In pgsql/src/backend/commands/vacuumlazy.c, only skip pages marked as clean in the visibility map, if the last 32 pages were marked as clean as well. The idea is to avoid defeating OS readahead by skipping a page here and there, and also makes it less likely that we miss an opportunity to advance relfrozenxid, for the sake of only a few skipped pages. - In pgsql/src/backend/access/transam/xlog.c, put back fast-path for the case that there's no backup blocks in RestoreBkpBlocks. Went missing in my recent refactoring patch, as pointed out by Simon's hot standby patch. == Rejected Patches (for now) == Jeff Davis's patch to fix some lock conflict behavior. == Pending Patches == Robert Haas sent in a patch to do JOIN removal for 8.5. Magnus Hagander and Hiroshi Inoue each sent in another revision of the lc_messages patch for the Japanese language. Teodor Sigaev sent in another revision of the patch to add B-Tree emulation to GIN. Teodor Sigaev sent in five more revisions of the GIN improvements patch. Bernd Helmle sent in another revision of his automatic view updates patch. Koichi Suzuki sent in two more revisions of his patch to improve PITR performance. Brendan Jurd sent in a patch to fix the meridiem markers. Hiroshi Inoue sent in another revision of the patch to bind gettext() to the UTF8 locale when in use. Heikki Linnakangas sent in a patch to make readahead more efficient in some cases. Bryce Nesbitt sent in two more revisions of his pg_dump patch to allow people to make it not notify the stats collector. Bryce Nesbitt sent in an alternate patch to the one above which documents the statistics collector's behavior on pg_dump. Zdenek Kotala sent in a patch which adds a capability to have a single record for all reloption kinds in the reloption list. Simon Riggs sent in three more revisions of the Hot Standby patch. Andrew Dunstan sent in another revision of the parallel pg_restore patch. Ramon Lawrence sent in another revision of the patch to improve hash joins in skewed distributions. KaiGai Kohei and Robert Haas sent revisions of the SE-PostgreSQL patches. Koichi Suzuki sent in another revision of the pg_readahead patch. ITAGAKI Takahiro sent in a patch to supress compiler warnings in pg_locale.c and pg_regress.c when nls is enabled. Mark Kirkwood sent in a patch to expose lock_wait statistics on platforms without Dtrace. Heikki Linnakangas sent in a couple of patches atop the Hot Standby patch. Alvaro Herrera sent in a patch which extracts reloptions from a pg_class tuple, to be used by relcache code only. Magnus Hagander sent in another patch to fix pg_restore in cases where incompatible options got sent to it. Martin Pihlak sent in a patch that increases the autovacuum stats age tolerance to autovacuum_naptime. Alvaro Herrera sent in a WIP patch fixing autovacuum to work with the new reloptions. This removes pg_autovacuum.