== PostgreSQL Weekly News – October 24 2010 ==

== PostgreSQL Weekly News – October 24 2010 ==

New Survey: What do you think of Hot Standby / Streaming Replication?
http://www.postgresql.org/community

Andreas Scherbaum did a talk in German on PostgreSQL. Podcast is at
http://andreas.scherbaum.la/blog/archives/743-POFACS-PostgreSQL.html

== PostgreSQL Product News ==

Another PostgreSQL Diff Tool 2.3, a tool for database diffs, released.
http://apgdiff.startnet.biz/

plproxyrc, a tool for configuring PL/Proxy, released.
http://github.com/myYearbook/plproxyrc

portmanteau, a partition management tool for PostgreSQL, released.
http://github.com/myYearbook/partmanteau

pgpool-II 3.0.1, a connection pooler and more, and pgpoolAdmin 3.0.1, a
GUI for pgpool, released.
http://pgfoundry.org/projects/pgpool/

== PostgreSQL Jobs for October ==

http://archives.postgresql.org/pgsql-jobs/2010-10/threads.php

== PostgreSQL Local ==

The deadline for the CfP for MySQL Conf is October 25, 2010. Mail
Selena Deckelman selenamarie <AT> gmail <DOT> com for feedback, help
with submissions, or help generating ideas.
http://en.oreilly.com/mysql2011/public/cfp/126

Registration for JDCon West 2010 is still open. Scott
McNealy, formerly of Sun Microsystems, will keynote.
https://www.postgresqlconference.org/content/pgwest-2010-registration

Registration for PGDay.EU 2010 held on December 6-8 in Stuttgart,
Germany is open.
http://2010.pgday.eu/register

PgDay.IT 2010 will be in Rome this year December 10th. The Call for
Papers is now open.
http://www.pgday.it/

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

Jeff Davis reviewed the patch to implement a truly SERIALIAZABLE
isolation level.

ITAGAKI Takahiro reviewed several versions of the patch to add
EXTENSIONs.
== Applied Patches ==

Robert Haas pushed:

– Change example pg_hba.conf in docs to match altered
pg_hba.conf.sample Peter Eisentraut’s recent patch to allow host
names in pg_hba.conf changed the contents of pg_hba.conf.sample
Fujii Masao.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9c73e20f38e21f68d92f45238cd6314b241dd96e

– Unbreak comments on composite type attributes. Report and diagnosis
by Peter Eisentraut.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=262c1a42dcd36831a964099659026fb9cec0eecc

– Add levenshtein_less_equal, optimized version for small distances.
Alexander Korotkov, heavily revised by me.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=604ab08145d0dde91279c430e08d570717c12b30

– Add some caveats to the contrib/isn docs.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4b6623a7e8f0f0116ff68ebfd4c98830fe59419d

– Updates to contrib/isn ISBN tables. Jan Otto, reviewed by Peter
Geoghegan.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=6d1af7b2180719102a907bd3e35d218b43e76ad1

– Correct a mistake in levenshtein_less_equal() multibyte character
handling. Spotted by Alexander Korotkov. Along the way, remove a
misleading comment line.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=dd1587089c3dadd4bc1c85e8e75edf3a24686934

Bruce Momjian pushed:

– Document the tablespace directory “should” be empty, rather than
“must” be empty. Because of binary migration usage, it might not be
empty.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=433c7a654556cc43b8f4e5c4c1b175480b266ba5

– In pg_upgrade, rename macro EXEC_EXT to SHELL_EXT for clarity.
Backpatch to 9.0.X.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9df96f9bb1cb8bc0350f02bbd0a113480e84224a

– Add mention of using tools/fsync to test fsync methods. Restructure
recent wal_sync_method doc paragraph to be clearer.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f75d6a1b19ec334a9b1455c4b8030a09d582581d

– Add removal of PG_VERSION to optional old cluster deletion script.
Backpatch to 9.0.X.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=51eeccd6cc2e0fcb95112e0e4a7a20d0f95c181a

– In pg_upgrade, rename SHELL_EXT to SCRIPT_EXT, for clarity.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=722d5beeb266ae83f548fc3953df700a71f30134

– Restructure the pg_upgrade code to use several global structures
rather than packing everything into ‘ctx’ and passing that to every
function.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=e13f7e9a711c9117e438516537066bbe61df6455

– Pgindent run on pg_upgrade source after restructuring.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=07456b45e6359e8a15807e3f71c0f2e6a76fa4e9

– In pg_upgrade, use cached copy of directory listing, rather than
calling scandir() with a pattern for every table. Optimization
after report of pg_upgrade slowness with 150k tables.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ad06db2610f479d559ee4a3b9e3241d40be07440

– Cache most recent relfilenode lookups, for speed, after report of
pg_upgrade slowness for 150k tables.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=333b4a45f1d984bd7f32aecb1ba551feed088ec4

– Fix for new pg_upgrade cache code.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1c72614be710127b198411f49301a56453e3abc4

– Further speed up pg_upgrade lookups.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3325c9bddb332487914c5c96d838286350044814

– Rename pg_upgrade ‘log’ to ‘log_opts’, to avoid platform naming
conflict.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=691a67b922f2e8374356215228700958165e7d44

– Clean up pg_upgrade cache lookup code; remove useless NULL pointer
tests.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=a52aa6c6db13155bc0b1b1b18fedf2310d9e7a84

– Mention limited usefulness of .pgpass database field.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=71be8db5dfada851c45d6f4d1d7364456fd40be5

Peter Eisentraut pushed:

– Support key word ‘all’ in host column of pg_hba.conf
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bc8624b15d8055cdead310352e5943da18500d16

– Support suffix matching of host names in pg_hba.conf. A name
starting with a dot can be used to match a suffix of the actual host
name (e.g., .example.com matches foo.example.com).
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=24b29ca8f9dc4a5e5f873f0fcb56438c526700f6

Tom Lane pushed:

– Fix incorrect generation of whole-row variables in planner. A
couple of places in the planner need to generate whole-row Vars, and
were cutting corners by setting vartype = RECORDOID in the Vars,
even in cases where there’s an identifiable named composite type for
the RTE being referenced. While we mostly got away with this, it
failed when there was also a parser-generated whole-row reference to
the same RTE, because the two Vars weren’t equal() due to the
difference in vartype. Fix by providing a subroutine the planner
can call to generate whole-row Vars the same way the parser does.
Per bug #5716 from Andrew Tipton. Back-patch to 9.0 where one of
the bogus calls was introduced (the other one is new in HEAD).
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=6e74a91b2bf0e0032ccd60dd99d6cf47c190c428

– Update storage.sgml to describe the 9.0 tablespace directory layout.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c33bfb8b9b0d955b813d99e8f9f5c62c31f7387c

– Fix ecpg test building process to not generate *.dSYM junk on Macs.
The trick is to not try to build executables directly from .c files,
but to always build the intermediate .o files. For obscure reasons,
Darwin’s version of gcc will leave debug cruft behind in the first
case but not the second. Per complaint from Robert Haas.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c75e1436467f32a06b5ab9d594d2a390e7f4594d

– Don’t try to fetch database name when SetTransactionIdLimit() is
executed outside a transaction. This repairs brain fade in my patch
of 2009-08-30: the reason we had been storing oldest-database name,
not OID, in ShmemVariableCache was of course to avoid having to do a
catalog lookup at times when it might be unsafe. This error
explains why Aleksandr Dushein is having trouble getting out of an
XID wraparound state in bug #5718, though not how he got into that
state in the first place. I suspect pg_upgrade is at fault there.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=def30e84c41389225ee9e56cb7c722980bab9746

– Remove obsolete comment, per Josh Kupershmidt.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=572ab1a542c170ddd2e4c30ef472e13f531b64a4

– Improve handling of domains over arrays. This patch eliminates
various bizarre behaviors caused by sloppy thinking about the
difference between a domain type and its underlying array type. In
particular, the operation of updating one element of such an array
has to be considered as yielding a value of the underlying array
type, *not* a value of the domain, because there’s no assurance that
the domain’s CHECK constraints are still satisfied. If we’re
intending to store the result back into a domain column, we have to
re-cast to the domain type so that constraints are re-checked. For
similar reasons, such a domain can’t be blindly matched to an
ANYARRAY polymorphic parameter, because the polymorphic function is
likely to apply array-ish operations that could invalidate the
domain constraints. For the moment, we just forbid such matching.
We might later wish to insert an automatic downcast to the
underlying array type, but such a change should also change matching
of domains to ANYELEMENT for consistency. To ensure that all such
logic is rechecked, this patch removes the original hack of setting
a domain’s pg_type.typelem field to match its base type; the typelem
will always be zero instead. In those places where it’s really okay
to look through the domain type with no other logic changes, use the
newly added get_base_element_type function in place of
get_element_type. catversion bumped due to change in pg_type
contents. Per bug #5717 from Richard Huxton and subsequent
discussion.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=529cb267a6843a6a8190c86b75d091771d99d6a9

– Allow new values to be added to an existing enum type. After much
expenditure of effort, we’ve got this to the point where the
performance penalty is pretty minimal in typical cases. Andrew
Dunstan, reviewed by Brendan Jurd, Dean Rasheed, and Tom Lane.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=84c123be1de8a9955741e20c9f945571e40c545e

Alvaro Herrera pushed:

– Remove AtStart_Cache() call in CommandCounterIncrement(). This call
was present in the aboriginal code from Berkeley, and has never been
touched; it may very well be that it was there to mask effects of
bugs in other places and it may no longer be necessary. The removal
has been foreseen in a code comment since 2007; this seems to be a
good time to test this hypothesis.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=17a16663d0c1c70c5c70ba97de6fe2c9c6a3bc07

Heikki Linnakangas pushed:

– If pk is NULL, the backend would segfault when accessing ->algo and
the following NULL check was never reached. This problem was found
by Coccinelle (null_ref.cocci from coccicheck). Marti Raudsepp.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=18e752f226300292c6182b68b2568dc2d66db8bd

– Make OFF keyword unreserved. It’s not hard to imagine wanting to
use ‘off’ as a variable or column name, and it’s not reserved in
recent versions of the SQL spec either. This became particularly
annoying in 9.0, before that PL/pgSQL replaced variable names in
queries with parameter markers, so it was possible to use OFF and
many other backend parser keywords as variable names. Because of
that, backpatch to 9.0.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5c84fe4607907b22e45433195fec800d23ac1f49

– Add semicolon, missed in previous patch. And update the keyword
list in the docs to reflect that OFF is now unreserved. Spotted by
Tom Lane.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=57b80b4c466f224b6623e38081cea6e6d2fe0744

Andrew Dunstan pushed:

– Remove unnecessary use of trigger flag to hash plperl functions.
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2d01ec0708d571eef926f3f5795aa73759df5d9a

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Dimitri Fontaine sent in eleven more revisions of the patch to add
EXTENSIONs.

Zoltan Boszormenyi sent in a patch to make the process of planning
execution of queries over large numbers of faster.

Marko (johto) Tiikkaja and Alvaro Herrera traded patches to fix an
issue with taking snapshots.

Josh Kupershmidt sent in a patch to add tab completion for z and dg
to psql.

Marti Raudsepp sent in a patch to keep psql’s ON_ERROR_STOP from
leaking file descriptors based on a coccicheck run.

Alvaro Herrera sent in a patch to fix an issue with the interaction of
a crashing plancache with subtransactions.

Robert Haas sent in another revision of the patch to make truly
SERIALIZABLE locks.

Pavel Stehule sent in another revision of the patch to add a format()
function.

Jesper Krogh sent in a patch to clarify the docs on the behavior of
windowing functions with LIMIT.

Robert Haas sent in another WIP patch for K-nearest-neighbor GiST.

Peter Eisentraut sent in a WIP patch to refactor the type and typmod
lookups. This will support, among other things, collations.

Comments are closed.