== PostgreSQL Weekly News - June 20 2010 == == PostgreSQL Jobs for June ==
http://archives.postgresql.org/pgsql-jobs/2010-06/threads.php == PostgreSQL Local == Michael Renner will be speaking at Netways OSDC in Nuremberg, Germany, which will be June 23-24, 2010. http://www.netways.de/osdc/y2010/programm/ CHAR(10), the PostgreSQL Conference on Clustering, High Availability and Replication is now open for online registration and bookings. July 2-3 2010, Oriel College, Oxford University, UK http://www.char10.org/ PDXPUG Day will be July 18, 2010 at the Oregon Convention Center in Portland, OR. For more information, see: http://wiki.postgresql.org/wiki/PDXPUGDay2010 OSCON will take place in Portland, Oregon July 19-23, 2010. http://www.oscon.com/oscon2010 == 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 da...@fetter.org, German language to p...@pgug.de, Italian language to p...@itpug.org. Spanish language to p...@arpug.com.ar. == Applied Patches == Heikki Linnakangas committed: - In pgsql/src/backend/access/transam/xlog.c, if a corrupt WAL record is received by streaming replication, disconnect and retry. If the record is genuinely corrupt in the master database, there's little hope of recovering, but it's better than simply retrying to apply the corrupt WAL record in a tight loop without even trying to retransmit it, which is what we used to do. ITAGAKI Takahiro committed: - In pgsql/src/bin/psql/po/ja.po, fix typo in Japanese translation for psql "Use \d+ to list them." - Add new GUC categories corresponding to sections in docs, and move description for vacuum_defer_cleanup_age to the correct category. Sections in postgresql.conf are also sorted in the same order with docs. Per gripe by Fujii Masao, suggestion by Heikki Linnakangas, and patch by me. - In pgsql/src/include/replication/walsender.h, remove prototype of GetOldestWALSendPointer(), that is marked as NOT_USED. Simon Riggs committed: - In pgsql/contrib/Makefile, new contrib module for use as an archive_cleanup_command, or as a standalone utility for removing files from archive. - Files for pg_archivecleanup. - Docs for pg_archivecleanup. Bruce Momjian committed: - In pgsql/doc/src/sgml/plperl.sgml, fix doc plperl doc with is -> are change. - Properly define pg_upgrade global variable, per bug report from Chris Ruprecht on Mac (64 bit). - In pgsql/doc/src/sgml/ref/select.sgml, clarify SELECT FOR UPDATE behavior in docs. - In pgsql/contrib/pg_upgrade/option.c, fix storage of getopt() return, should be 'int', for pg_upgrade. Steve Singer. - In pgsql/doc/src/sgml/release-9.0.sgml, 9.0 release notes updates. Josh Berkus - In pgsql/doc/src/sgml/release-9.0.sgml, update doc description for 9.0 release note item: Have <command>SELECT</> and <command>CREATE TABLE AS</> return row counts to the client - In pgsql/contrib/pg_upgrade/tablespace.c, fix pg_upgrade to remove malloc(0) call. Tom Lane committed: - In pgsql/contrib/dblink/dblink.c, rearrange dblink's dblink_build_sql_insert() and related routines to open and lock the target relation just once per SQL function call. The original coding obtained and released lock several times per call. Aside from saving a not-insignificant number of cycles, this eliminates possible race conditions if someone tries to modify the relation's schema concurrently. Also centralize locking and permission-checking logic. Problem noted while investigating a trouble report from Robert Voinea --- his problem is still to be fixed, though. - Consolidate and improve checking of key-column-attnum arguments for dblink_build_sql_insert() and related functions. In particular, be sure to reject references to dropped and out-of-range column numbers. The numbers are still interpreted as physical column numbers, though, for backward compatibility. This patch replaces Joe Conway's patch of 2010-02-03, which handled only some aspects of the problem. - Fix dblink_build_sql_insert() and related functions to handle dropped columns correctly. In passing, get rid of some dead logic in the underlying get_sql_insert() etc functions --- there is no caller that will pass null value-arrays to them. Per bug report from Robert Voinea. - Change the interpretation of the primary_key_attnums parameter of dblink_build_sql_insert() and related functions. Now the column numbers are treated as logical not physical column numbers. This will provide saner behavior in the presence of dropped columns; furthermore, if we ever get around to allowing rearrangement of logical column ordering, the original definition would become nearly untenable from a usability standpoint. Per recent discussion of dblink's handling of dropped columns. Not back-patched for fear of breaking existing applications. - In pgsql/doc/src/sgml/libpq.sgml, fix typo, init => int, per KOIZUMI Satoru. - Don't allow walsender to send WAL data until it's been safely fsync'd on the master. Otherwise a subsequent crash could cause the master to lose WAL that has already been applied on the slave, resulting in the slave being out of sync and soon corrupt. Per recent discussion and an example from Robert Haas. Fujii Masao. - In pgsql/doc/src/sgml/ref/copy.sgml, add missing close brackets in old-style COPY syntax diagram. Spotted by Evan Carroll. - In pgsql/contrib/pg_archivecleanup/pg_archivecleanup.c, clean up pg_archivecleanup's error and logging output: put newlines in sane places, make messages follow project's message style guidelines. Also, avoid closedir(NULL). Fujii Masao and Tom Lane - In pgsql/src/backend/access/transam/xlog.c, make RemoveOldXlogFiles's debug printout match style used elsewhere: log and seg aren't an XLogRecPtr and shouldn't be printed like one. Fujii Masao. - Clean up some randomness associated with trace_recovery_messages: don't put the variable declaration in the middle of a bunch of externs, and do use extern where it should be used. - Fix mishandling of whole-row Vars referencing a view or sub-select. If such a Var appeared within a nested sub-select, we failed to translate it correctly during pullup of the view, because the recursive call to replace_rte_variables_mutator was looking for the wrong sublevels_up value. Bug was introduced during the addition of the PlaceHolderVar mechanism. Per bug #5514 from Marcos Castedo. Andrew Dunstan committed: - In pgsql/src/tools/msvc/Mkvcbuild.pm, unbreak MSVC builds for pg_archivecleanup by linking with libpgport. - Remove perl symbol table additions for plperl functions, and mention of it in the release notes, as it is not apparently providing anything useful. Robert Haas committed: - In pgsql/doc/src/sgml/ref/analyze.sgml, document new 9.0 behavior of ANALYZE on inheritance hierarchies. In particular, note that autovacuum does not yet understand that it might need to vacuum inheritance parents as a result of changes to the child tables. - Remove hstore's text[] => text[] operator. This is not yet in any released version, so we still have the option to backtrack. Instead, document hstore(text[], text[]). Per discussion. - In pgsql/doc/src/sgml/func.sgml, document that receive location can rewind if replication restarts. Fujii Masao, with some further wordsmithing by me. Peter Eisentraut committed: - Refactor sprintf calls with computed format strings into multiple calls with constant format strings, so that the compiler can more easily check the formats for correctness. - Add notes that CREATE/DROP CONVERSION is similar to CREATE/DROP TRANSLATION in the SQL standard. == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Robert Haas sent in a patch to implement --quote-all-identifiers for pg_dump and pg_dumpall, per discussion. KaiGai Kohei sent in two revisions of a patch to add a security hook to InitPostgres(). KaiGai Kohei sent in a patch to rework DML permissions checks. KaiGai Kohei sent in a patch to add makeRangeTblEntry into makefuncs.c. KaiGai Kohei sent in a patch to modify the ExecutorCheckPerms() hook. Fujii Masao sent in a patch to fix a condition where the server crashes during streaming replication. Dimitri Fontaine sent in a patch to add a pg_archive_bypass command. Robert Haas sent in another patch for get_whatever_oid. Mike Lewis sent in another revision of the patch to enhance performance in array utility functions. ITAGAKI Takahiro sent in a patch to reorganize GUC categories. ITAGAKI Takahiro sent in a patch to implement foreign tables for SQL/MED. Robert Haas sent in a patch to turn => into & for hstore. Florian Pflug sent in a patch to show individual statement latencies in pgbench output. Zoltan Boszormenyi sent in a patch to fix a performance problem in ECPG. ITAGAKI Takahiro sent in an update revision of the patch for table partitioning syntax. ITAGAKI Takahiro sent in a patch to add a view to pg_catalog for walsender activity. ---------------------------(end of broadcast)--------------------------- -To unsubscribe from this list, send an email to: pgsql-announce-unsubscr...@postgresql.org