|Тема:||== PostgreSQL Weekly News - March 28 2010 ==|
(см: обсуждение, исходный текст)
== PostgreSQL Weekly News - March 28 2010 == == PostgreSQL Product News == dtester 0.1, an event-driven asynchronous test harness, released. http://www.bluegap.ch/projects/dtester/ == PostgreSQL 9.0 Feature of the Week == You can now use anonymous code blocks via DO in PL/pgsql, PL/Perl, and PL/LOLCODE. == PostgreSQL Jobs for March == http://archives.postgresql.org/pgsql-jobs/2010-03/threads.php == PostgreSQL Local == The San Francisco PostgreSQL Users' Group will be having a Test Fest Saturday April 3, 11am to 6pm. There will be live video. Help make this a world-wide event! http://wiki.postgresql.org/wiki/SFPUG_Beta_Test_Day Linuxfest Northwest 2010 will take place in Bellingham, Washington, USA on April 24 and 25. Session, Booth and Sponsorship are available. http://linuxfestnorthwest.org/ Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate Use" course at the adult education center in Magdeburg, Germany May 3-7, 2010. Details below: http://andreas.scherbaum.la/blog/archives/650-PostgreSQL-Schulung-als-Bildungsurlaub-03.-07.05.2010-in-Magdeburg.html PgCon 2010 will be held May 20-21 2010 in Ottawa with tutorials before on the 18th and 19th. http://www.pgcon.org/2010/registration.php The CfP for OSBridge is open! OSBridge will be June 1-4, 2010 in Portland, Oregon. http://opensourcebridge.org/events/2010/proposals/ 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 , German language to , Italian language to . == Applied Patches == Michael Meskes committed: - In pgsql/src/interfaces/ecpg/test/preproc/strings.pgc, fixed ECPG regression test to make sure it uses absolute paths for include files instead of relative ones which break vpath builds. Tom Lane committed: - Fix an oversight in join-removal optimization: we have to check not only for plain Vars that are generated in the inner rel and used above the join, but also for PlaceHolderVars. Per report from Oleg Kolyhalin. - In pgsql/src/test/regress/output/constraints.source, fix regression test breakage from recent change in default name of exclusion-constraint index. - In pgsql/src/backend/postmaster/pgstat.c, now that we know last_statrequest > last_statwrite can be observed in the buildfarm, expend a little more effort on the log message for it. - In pgsql/src/backend/libpq/hba.c, fix thinko in log message for "sameuser" ident map mismatch: the provided and authenticated usernames were swapped. Reported by Bryan Henderson in bug #5386. Also clean up poorly-maintained header comment for this function. - In pgsql/contrib/intarray/_int_gin.c, fix ginint4_queryextract() to actually do what it was intended to do for an unsatisfiable query, such as indexcol && empty_array. It should return -1 to tell GIN no scan is required; but silly typo disabled the logic for that, resulting in unnecessary "GIN indexes do not support whole-index scans" error. Per bug report from Jeff Trout. Back-patch to 8.3 where the logic was introduced. Bruce Momjian committed: - Re-order createuser and vacuumedb documentation options, for consistency. Gabrielle Roth. - In pgsql/doc/src/sgml/release-9.0.sgml, properly credit Simon Riggs for functions pg_last_xlog_replay_location, etc. - In pgsql/doc/src/sgml/release-9.0.sgml, add back other xlog() function author names. - In pgsql/doc/src/sgml/release-9.0.sgml, typo fix from Erik (breinbaas) Rijkers. - Document in postgresql.conf that the max_standby_delay default is 30 'seconds'. Simon Riggs committed: - In pgsql/src/backend/commands/indexcmds.c, shorten suffix of automatically created indexes to "_excl" when using exclusion constraints, in line with string length of other pre-9.0 suffixes. - In pgsql/src/backend/replication/walsender.c, reduce CPU utilisation of WALSender process. Process was using 10% CPU doing nothing, caused by naptime specified in milliseconds yet units of pg_usleep() parameter is microseconds. Correctly specifying units reduces call frequency by 1000. Reduction in CPU consumption verified. - In pgsql/src/backend/utils/init/postinit.c, change replication connection log format to allow for a database called replication. Add host and port details, following format of messages in BackendInitialize(). - In pgsql/src/backend/replication/walsender.c, additional thoughts on WALSender cpu reduction. Use long type and alter a comment to reduce confusion. - Modify some new and pre-existing messages for translatability. - Derive latestRemovedXid for btree deletes by reading heap pages. The WAL record for btree delete contains a list of tids, even when backup blocks are present. We follow the tids to their heap tuples, taking care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the understanding that they will always have xmin/xmax earlier than any LP_NORMAL tuples referred to by killed index tuples. Iff all tuples are LP_DEAD we return InvalidTransactionId. The heap relfilenode is added to the WAL record, requiring API changes to pass down the heap Relation. XLOG_PAGE_MAGIC updated. ITAGAKI Takahiro committed: - Each worker thread will have its own log file in pgbench to avoid interleaved writes. The first worker still uses "pgbench_log.<pid>" for the name, but additional workers use "pgbench_log.<pid>.<serial-number>" instead. Reported by Greg Smith. - Remove CRs for each line in pgbench.sgml. - Clean up logging codes and add documentation. Add English documentation. Split warm-standby and internal module documentation. Change the default for pg_statsinfo.syslog_line_prefix to 't %p '. Support non-default log_error_verbosity. Support local, GMT and UTC for log_timezone, but we cannot support others because postgres uses own timezone implemntation. Simplify codes for log_line_prefix. Peter Eisentraut committed: - In pgsql/src/interfaces/ecpg/preproc/ecpg.addons, remove useless double assignment GCC 4.5 complained about it. Heikki Linnakangas committed: - In pgsql/src/backend/replication/README, update description of walrcv_receive() function to match reality. - In pgsql/src/backend/replication/walsender.c, flush CopyOutResponse when starting streaming in walsender, so that it's not delayed until the first WAL record is sent. Fujii Masao. Andrew Dunstan committed: - In pgsql/src/Makefile.global.in, mark "installcheck-parallel", "world", "install-world" and "installcheck-world" make targets as PHONY. Fujii Masao. Alvaro Herrera committed: - Prevent ALTER USER f RESET ALL from removing the settings that were put there by a superuser -- "ALTER USER f RESET setting" already disallows removing such a setting. Apply the same treatment to ALTER DATABASE d RESET ALL when run by a database owner that's not superuser. == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Devrim GUNDUZ sent in a patch to update the Turkish stop words in tsearch2. Fujii Masao sent in a doc patch for walreceiver per suggestion from Hitoshi Harada. Heikki Linnakangas sent a doc patch clarifying use of double-quoted strings in pg_hba.conf. This became more relevant because of the special replication database, as distinct from some database named "replication" (with quotes). Heikki Linnakangas and Fujii Masao sent in patches to try various ways to get WALs when the database is in recovery mode. Andrew Dunstan sent in a WIP patch to fix an xmlconcat bug. Fujii Masao sent in another revision of the patch to fix the issue where walreceiver is not interruptible on Windows. Fujii Masao sent in a patch to fix a typo in a comment in pgsql/src/backend/access/transam/xlog.c. Tom Lane sent in a WIP patch to fix an issue with join removal.