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 david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.

== 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.

Comments are closed.