PostgreSQL Weekly News – January 30 2011

== PostgreSQL Weekly News – January 30 2011 ==

NYPUG is having a meetup on February 15, 2011 at 6:15PM at the Yodle
offices on 50 W 23rd St, New York, NY. More info and RSVP at:
http://www.meetup.com/postgresql-3/events/16123790/

== PostgreSQL Product News ==

DBSolo 4.0, an SQL query tool which supports PostgreSQL, released.
http://www.dbsolo.com/

PostgreSQL Maestro 11.1, a Windows admin tool for PostgreSQL, released.
http://www.sqlmaestro.com/products/postgresql/datawizard/

OpenSCG PostgreSQL + Java stacks (Glassfish 3.0.1/PostgreSQL 9.0.2 and
Jboss 6.0.0 (GA) / PostgreSQL 9.0.2) released.
http://www.openscg.org/postgresql

tail_n_mail 1.17.5, a a Postgres log watcher program, released.
http://bucardo.org/wiki/Tail_n_mail

== PostgreSQL Jobs for January ==

http://archives.postgresql.org/pgsql-jobs/2011-01/threads.php

== PostgreSQL Local ==

Selena Deckelmann will be speaking on PostgreSQL Community and
Development February 7, 2010, 4pm at Oregon State University in
Corvallis, OR.

The fourth annual Prague PostgreSQL Developers’ Day will be held
February 10, 2011 at Charles University in Prague.
http://www.p2d2.cz

The PostgreSQLFr Call for Projects is open. Projects must target
PostgreSQL and the French-speaking community. Mail appel-projets-2010
AT postgresql DOT fr.
http://www.postgresql.fr/appel_a_projets_2010:call_for_projects

PGDay is scheduled at this year’s Southern California Linux Exposition
(SCALE) held in the LAX Hilton Hotel in the city of Los Angeles,
California, on Friday February 25th, 2011. Post your talk submission
to pgday-submissions AT googlegroups DOT com.

PostgreSQL Conference East 2011: NYC March 22nd – 25th
http://www.postgresqlconference.org

Open Database Camp will be on May 7-9, 2011 in Sardinia, Italy
http://datacharmer.blogspot.com/2011/01/announcing-open-database-camp-sardinia.html

PGCon will be May 19-20, 2011 at the University of Ottawa, preceded by
two days of tutorials on May 17-18. The Call for Papers is open!
http://www.pgcon.org/2011/

== 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. Spanish language
to pwn@arpug.com.ar.

== Reviews ==

ITAGAKI Takahiro reviewed the log_csv_options patch.

Fujii Masao reviewed the patch to allow base backup to include WALs.

ITAGAKI Takahiro reviewed the patch to support EXTENSIONs in pg_dump.

Jeff Davis reviewed the patch to add truly SERIALIZABLE transactions.

Steve Singer reviewed the patch to use subtransactions in PL/PythonU.
== Applied Patches ==

Magnus Hagander pushed:

– Exclude sepgsql from MSVC regression testing as well. In passing,
change exclusion in the build to follow the same pattern as other
always-excluded modules.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=97520809424d46c55e2faf73b5f09cb64b52f4a5

– Typo fix for MemSet size. Fujii Masao.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=966d4f52c258aba8187d61fdc1e10b80d560f07c

– Use GSSAPI library for SSPI auth, when native SSPI is not available.
This allows non-Windows clients to connect to a Windows server with
SSPI authentication. Christian Ullrich, largely modified by me
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4ea1a273fbc20b29ba4aacd3c21030bd62296d7d

– Add option to include WAL in base backup. When included, this makes
the base backup a complete working “clone” of the initial database,
ready to have a postmaster started against it without the need to
set up any log archiving or similar. Magnus Hagander, reviewed by
Fujii Masao and Heikki Linnakangas
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=507069de6dbe18c2163f27fbc780673eef8c5622

Heikki Linnakangas pushed:

– Fix typo in the psql d query handling, so that we use the correct
query against 9.0 servers.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=74be35b07cf09350168018234026df94184f8991

– Update psql’s copyright to match the text we have in the COPYRIGHT
file.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1e4baa5c9652bb2ad2c312dc1e2d717c59cee003

Robert Haas pushed:

– More documentation cleanup for sepgsql. Thom Brown and Robert Haas.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ea2c2641f908cde198a9999100d847078a05385b

– Fix thinko in ALTER FOREIGN TABLE documentation. Noah Misch.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=558d1c95ae6afb8728f70a150c593f7e7aa5fac1

– Correct ALTER TYPE -> SET DATA TYPE in ALTER TABLE documentation.
The latter is the correct name of the operation to change the data
type of a column. Noah Misch.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2b2b2ae2aa4a7089aee729e67bb323154da3841a

– Remove arbitrary ALTER TABLE .. ADD COLUMN restriction. The
previous coding prevented ALTER TABLE .. ADD COLUMN from being used
with a non-NULL default in situations where the table’s rowtype was
being used elsewhere. But this is a completely arbitrary
restriction since you could do the same operation in multiple steps
(add the column, add the default, update the table). Inspired by a
patch from Noah Misch, though I didn’t use his code.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=a06e41deebdf74b8b5109329dc75b2e9d9057962

– Add a comment explaining why we force physical removal of OIDs.
Noah Misch, slightly revised.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5c2a7c6e97741564ab4ff336eac8d8227485dd4c

– Restore ALTER TABLE .. ADD COLUMN w/DEFAULT restriction. This
reverts commit a06e41deebdf74b8b5109329dc75b2e9d9057962 of
2011-01-26. Per discussion, this behavior is not wanted, as it
would need to change if we ever made composite types support
DEFAULT.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=a40b1e0bf32b1da46c1baa9bc7da87f207cd37d8

– Try to avoid running with a full fsync request queue. When we need
to insert a new entry and the queue is full, compact the entire
queue in the hopes of making room for the new entry. Doing this on
every insertion might worsen contention on BgWriterCommLock, but
when the queue it’s full, it’s far better than allowing the backend
to perform its own fsync, per testing by Greg Smith as reported in
http://archives.postgresql.org/pgsql-hackers/2011-01/msg02665.php
Original idea from Greg Smith. Patch by me. Review by Chris Browne
and Greg Smith
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7f242d880b5b5d9642675517466d31373961cf98

Peter Eisentraut pushed:

– Refactor PLy_spi_prepare to save two levels of indentation. Instead
of checking whether the arglist is NULL and then if its length is 0,
do it in one step, and outside of the try/catch block. Jan Urbański
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=52713d02c73926898629e349a9804cd0cae0470b

– Call PLy_spi_execute_fetch_result inside the try/catch block. This
way errors from fetching tuples are correctly reported as errors in
the SPI call. While at it, avoid palloc(0). Jan Urbański
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=88dcdf9007895b6703dfaf90d15244055384c603

– Document the “S” option for psql’s dn command in the psql help.
This option was recently introduced, but the documentation in help.c
was not updated.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=77ff840835bc40693f36281ab394de881cb327eb

– Fix compiler warnings. Older versions of GCC appear to report these
with the current standard option set, newer versions need
-Wformat-security.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ddf8c1682237119bf66949050e223c2151329f4c

– autoreconf. Synchronize pg_config.h.in with configure.in (someone
must have forgotten to run autoheader or autoreconf), and clean up
some spurious change in configure introduced by the last commit
there.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=6fe5e4e63ee274e66c36dce999978a3fee8cf4c6

– Improve exception usage in PL/Python. Use the built-in TypeError,
not SPIError, for errors having to do with argument counts or types.
Use SPIError, not simply plpy.Error, for errors in
PLy_spi_execute_plan. Finally, do not set a Python exception if
PyArg_ParseTuple failed, as it already sets the correct exception.
Jan Urbański
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=582b5ac62e74a553e72151b321804a7b2e5fed6f

– Do not prefix error messages with the string “PL/Python: ” It is
redundant, given the error context. Jan Urbański
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5829738868f8d87263b6d31675e08147d8d7c188

– Use -Wformat-security when available.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=8b6f5f25102f9e2503ce18af77b6fd547a2192ca

– Also save the error detail in SPIError. The temporarily broken
plpython_unicode test shows a case where this is used. Do remaining
fix-ups on the expected files at the same time.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=418df3a5dd94d9f02b895f9c161b2435d61e0729

– Translation updates for release 9.0.3, 8.4.7, 8.3.14, 8.2.20.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7f2d75408b63fab9cc613b3d60d057f6d3ec3adc
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bdf3a806466b18d89bd92b93bd83bc762450d9e1
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=e7a1793f55f479e360725a1300d0444a4282d14b
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d5a0bb5acc87ad272508ce0f1d83f581cb634d27

Bruce Momjian pushed:

– In test_open_sync(), writes kilobytes as intended, not by bytes.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9fc01922831aba350a61844882c229026ca8bf0b

– Use XLOG_BLCKSZ in pg_test_fsync, rather than our own define, but
verify it is 8k as expected.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9dd7933937a076ce7573944b8d1d42e618163440

– Use consistent spacing for PGAPPICON Makefile option.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d7a714828f1a4d09adef68b58674a6266aa8fa03

– Update warning about synchronous-commit durability, per suggestion
from Robert Haas.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=a91c950658016162020258574fb98aba182a5eac

– Adjust pg_test_fsync to always do XLOG_BLCKSZ-sized writes, rather
than always 8k writes, per suggestion from Tom Lane. Also adjust
open_sync output layout.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=64bc872761bc9bf730307957f09f44a3eabbe3af

– Update sync commit performance documentation to be consistent with
other non-durable items, per Robert Haas.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=e84730a916bce0635eb78205d2ea4746ee664d68

– Update contrib documention mentions to point to actual documentation
sections, rather than just calling it “/contrib/module_name”. Also
update pg_test_fsync build instructions now that it is in /contrib.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=159e3d86292cfec2a2828f9f69ac7a6cb1be242d

– In pg_test_fsync, use K(1024) rather than k(1000) for write size
units.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=00869024cb0164969957c1b3e8f6a11242a939e9

– Per Peter Eisentraut, use ‘kB’ for kilobyte, not ‘K’.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4fec63f94e8edb6181eb3e1e25e979062ab17450

– Restructure streaming docs so streaming seems more integrated in the
paragraphs, per suggestion from Dan Birken.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=81c48aeaa8fd34f90ab6d6f1d56564d34ac4aa59

– Update non-durable docs about non-synchronous-commit allowing
transaction loss for a _database_ crash.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=b34ee30115fb6b8da8c3024705bd4ba0339212c1

– Properly capitalize documentation headings; some only had
initial-word capitalization.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5d5678d7c3b336a5aacf15d66ac3ebccaab929f2

Tom Lane pushed:

– Replace pg_class.relhasexclusion with pg_index.indisexclusion.
There isn’t any need to track this state on a table-wide basis, and
trying to do so introduces undesirable semantic fuzziness. Move the
flag to pg_index, where it clearly describes just a single index and
can be immutable after index creation.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bd1ad1b019cda851a3e925133c056930368e6424

– Remove old claim that ExclusiveLock is sometimes taken on system
catalogs. We used to do that on pg_listener, but pg_listener is no
more. Also add a bit more documentation for ShareRowExclusive mode.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5042d16d1210d1a10a896a0fcf81230ff4b0e383

– Change inv_truncate() to not repeat its systable_getnext_ordered()
scan. In the case where the initial call of
systable_getnext_ordered() returned NULL, this function would
nonetheless call it again. That’s undefined behavior that only by
chance failed to not give visibly incorrect results. Put an if-test
around the final loop to prevent that, and in passing improve some
comments. No back-patch since there’s no actual failure. Per
report from YAMAMOTO Takashi.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7ab6f2da23516e48174f3f144ee9ef19bdc287fb

– Improve grammar and spelling in durability discussion.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=85f345bec2d7f2ccb67b98b06342c86372ecf3b1

– Update release notes for releases 9.0.3, 8.4.7, 8.3.14, and 8.2.20.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=29d442199ac978b2272d1d96648585943f499fe6

– Don’t include <asm/ia64regs.h> unnecessarily. We only need that
header when compiling with icc, since the gcc variant of
ia64_get_bsp() uses in-line assembly code. Per report from Frank
Brendel, the header doesn’t exist on all IA64 platforms; so don’t
include it unless we need it.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0ac8c8df85951a6c4815f5e8e0491b6bba4534b7

– Update release notes. Security: CVE-2010-4015
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=aefb8d9198926e9f7717d6420b802ae4b6352293

– Rephrase pg_conversion description to avoid splitting link across
page. The link to the CREATE CONVERSION manual page was split
across a page boundary in the PDF output, leading to “pdfendlink
ended up in different nesting level than pdfstartlink” error while
building PDFs. It wouldn’t be worth changing text that’s undergoing
active editing to avoid this, since other editing might result in
moving the link away from the page end anyway. But this paragraph
has been static for a long time, so might as well fix it to prevent
it from being an issue in future.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=20a0f97273e765598420b261685764b40810c812

– Copy-edit a paragraph in the contrib/seg documentation. Although
this improves the style, an ulterior motive is to keep the two table
links from breaking across lines in PDF output, per complaint from
Josh Kupershmidt.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=b2826ad52d72195317a13c2074a5cd002c98a338

– Make installation.sgml build standalone again. We must not try to
link to sections that aren’t part of the standalone “make INSTALL”
build. Corrects build failure introduced in commit
159e3d86292cfec2a2828f9f69ac7a6cb1be242d.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=6f489dca65e97d92fb01ee6811ece4e215d186ca

– Make reduce_outer_joins() smarter about semijoins.
reduce_outer_joins() mistakenly treated a semijoin like a left join
for purposes of deciding whether not-null constraints created by the
join’s quals could be passed down into the join’s left-hand side
(possibly resulting in outer-join simplification there). Actually,
semijoin works like inner join for this purpose, ie, we do not need
to see any rows that can’t possibly satisfy the quals. Hence,
two-line fix to treat semi and inner joins alike. Per observation
by Andres Freund about a performance gripe from Yazan Suleiman.
Back-patch to 8.4, since this oversight has been there since the
current handling of semijoins was implemented.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9688c4e6f1516d2fc0db5d200112c4d91538878d

ITAGAKI Takahiro pushed:

– Make ‘on’ uppercase in a sql example.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=69039ea8b5569caf09b211f46fa9064468fee3b3

Marc Fournier pushed:

– Tag 9.0.3. 8.4.7, 8.3.14, 8.2.20.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2fb64d857003c91378ba86b03d753a63ebee95b2
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7df910c7d128b775220d529e23813bb4663dba4e
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5370e1a0014e17f0a3c8f65601c3145c824d9b3f
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f62f223b8e7519d741203d71f5bd8fc7693c0b41

Andrew Dunstan pushed:

– Enable building with the Mingw64 compiler. This can be used to
build 64 bit Windows binaries, not only on 64 bit Windows but on
supported cross-compiling hosts including 32 bit Windows, Cygwin,
Darwin and Linux.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=91812df4ed0facfb90bec3f9430dd5a97d56f695

– Fix typo
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=48c9de80283d4bbdf9bec2f2f929b23f1676f8f9

== Rejected Patches (for now) ==

Marko (johto) Tiikkaja’s patch to add filtering details to EXPLAIN.
Not added to enough places -> returned with feedback.

== Pending Patches ==

Pavel Stehule sent in another revision of the patch to add FOREACH …
IN ARRAY to PL/pgsql.

ITAGAKI Takahiro sent in another revision of the patch to add
MULTISETs.

Dimitri Fontaine and ITAGAKI Takahiro traded revisions of the patch to
add EXTENSION support to pg_dump.

Magnus Hagander sent in a patch to allow pg_basebackup to send WALs.

Heikki Linnakangas sent in two more revisions of the patch to allow
multiple concurrent base backups.

Noah Misch sent in two more revisions of the patch to turn no-work
table rewrites caused by ALTER TABLE into no-ops.

Kevin Grittner sent in four more revisions of the patch to add true
serializability.

Fujii Masao sent in a patch to ensure that logging restartpoints also
implies logging WALs created/deleted/recycled, just as log_checkpoints
does.

KaiGai Kohei sent in two more patches to fix the sepgsql contrib
module.

Alex Hunsaker sent in two more revisions of the patch to convert
between PostgreSQL and Perl arrays in PL/Perl.

Jan Urbanski sent in two more revisions of the patch to fix PL/PythonU
table functions.

Kevin Grittner sent in two revisions of a patch to add .gitignore
files appropriate to coverage builds.

Jan Urbanski sent in another revision of the PL/Python validator
function, per review from Hitoshi Harada.

Jan Urbanski sent in five more revisions of the patch to use SPI in
PL/Python subtransactions.

Jan Urbanski sent in another revision of the patch to have PL/PythonU
immediately invalidate functions with composite arguments.

Jan Urbanski sent in another revision of the patch to implement
tracebacks in PL/PythonU.

Jan Urbanski sent in another revision of the patch to implement custom
datatype parsers for PL/PythonU.

Jan Urbanski sent in another revision of the patch to implement custom
exceptions for SPI in PL/PythonU.

Jeff Davis sent in two more revisions of the patch to add range types.

Marko (johto) Tiikkaja sent in another revision of the patch to add
transaction-scope advisory locks.

Andrew Dunstan sent in a patch to get PostgreSQL running on the
Mingw64 toolset on 64-bit Windows7Pro.

Stephen Frost sent in another revision of the patch to allow logging
the current role in CSV.

Alexander Korotkov sent in two more revisions of the patch to add
wildcard searches to the trigram system-supplied module.

Robert Haas sent in another revision of the patch to generate error
code lists automatically.

Joachim Wieland sent in another revision of the patch to allow for
synchronized snapshots per suggestions from Noah Misch.

Kevin Grittner sent in a patch to track trigger depth for 9.2.

Pavel Stehule sent in another patch to add FOREACH … IN [array] to
PL/pgsql.

Robert Haas sent in another patch to allow logging of aborted vacuums.

Robert Haas sent in another revision of the patch to spread disk
syncs.

Comments are closed.