== PostgreSQL Weekly News - March 15 2009 ==
Bug Fix Releases 8.3.7, 8.2.13, 8.1.17, 8.0.21 and 7.4.25 out soon.
Get ready to upgrade.
New Survey: What programming language do you use with PostgreSQL?
Lots of Pgdays are being planned in Brazil including Sao Paulo, Porto
Velho, Ji-Parana, and Brasilia. Watch for more details next week!
Devrim GUNDUZ has released another set of snapshot RPMs. Go forth and
French site 01.net chose PostgreSQL as the best Open Source database
Watch for PostgreSQL video soon!
== PostgreSQL Product News ==
Jopr 2.2 beta 1, a server management and monitoring application, released.
pglesslog 1.2, a patch which reduces the size of WALs, released.
Skytools 2.1.9, a Python-based replication system, released.
== PostgreSQL 8.4 Feature of The Week ==
pg_stat_user_functions. This new system view allows you to see which
functions were called, how many times, and time spent in the function
and in the functions it called.
== PostgreSQL Tip of the Week ==
Tip of the Week: pg_fouine processes PostgreSQL logs and summarizes
your slowest queries. Current CVS code even works with comma-
separated values logs.
== PostgreSQL Jobs for March ==
== PostgreSQL Local ==
The German PostgreSQL User Group will have a booth, 2 talks and a
workshop on the Linuxdays Chemnitz on March 14 and 15, 2009. More
information in German here:
PostgreSQLFr will have a booth at Solutions Linux 2009 March 31-April
2 in Paris. Sign up with sas AT postgresql DOT fr or at the
PostgreSQL Conference (JDCon) East 2009 registration is now open.
Kevin Kempter will be speaking about backup and recover at Denver
PUG's first meeting on April 8, 2009.
PostgreSQL Conference, U.S. will be holding a PgDay at LinuxFest
Northwest (April 25/26th). The call for papers is out at
Michael Renner will be giving a PostgreSQL replication workshop at
Netways OSDC 2009 on April 29 and 30 in Nuremberg, Germany.
PGCon 2009 will be held 21-22 May 2009, in Ottawa at the University of
Ottawa. It will be preceded by two days of tutorials on 19-20 May
Save The Date: pgDay San Jose. Sunday, July 19th 2009 immediately
before OSCON. CfP, more info TBA!
PGCon Brazil will be take place October 23-24 2009 at Unicamp in
Campinas, Sao Paulo state.
== PostgreSQL in the News ==
Planet PostgreSQL: http://planet.postgresql.org/
PostgreSQL Weekly News is brought to you this week by David Fetter
and Josh Berkus.
Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)
== Applied Patches ==
Bruce Momjian committed:
- In pgsql/src/backend/utils/time/tqual.c, add summarization comment
about visibility functions. Add URL about the Halloween problem.
- In pgsql/doc/src/sgml/monitoring.sgml, doc patch for the recently
added probes. Robert Lor
Peter Eisentraut committed:
- Accept 'on' and 'off' as input for boolean data type, unifying the
syntax that the data type and GUC accepts. ITAGAKI Takahiro
- Tweak the regression test case so that the ordering of numbers vs.
letters doesn't matter. This fixes failures in the Czech locale.
- In pgsql/src/backend/utils/adt/bool.c, in parse_bool_with_len, avoid
crash when no result pointer is passed. Probably an unlikely call
mode, but better be safe.
- In pgsql/src/backend/po/ru.po, translation updates.
Teodor Sigaev committed:
- In pgsql/src/backend/tsearch/wparser_def.c, prevent recursion during
parse of email-like string with multiple '@'. Patch by Heikki
- In pgsql/src/backend/tsearch/wparser_def.c, some languages have
symbols with zero display's width or/and vowels/signs which are not
an alphabetic character although they are not word-breakers too.
So, treat them as part of word. Per off-list discussion with
Dibyendra Hyoju and and Bal Krishna Bal about the Nepali language
and Devanagari alphabet.
Tom Lane committed:
- Fix set_subquery_pathlist() to copy the RTE's subquery before it
gets mangled by the planning process. This prevents the "failed to
locate grouping columns" error recently reported by Dickson Guedes.
That happens because planning replaces SubLinks by SubPlans in the
subquery's targetlist, and exprTypmod() is smarter about the former
than the latter, causing the apparent type of the subquery's output
columns to change. This seems to be a deficiency we should fix in
exprTypmod(), but that will be a much more invasive patch with
possible side-effects elsewhere, so I'll do that only in HEAD.
Back-patch to 8.3. Arguably the lack of a copying step is
broken/dangerous all the way back, but in the absence of known
problems I'll refrain from making the older branches pay the extra
cost. (The reason this particular symptom didn't appear before is
that exprTypmod() wasn't smart about SubLinks either, until 8.3.)
- Make SubPlan nodes carry the result's typmod as well as datatype
OID. This is for consistency with the (relatively) recent addition
of typmod to SubLink. An example of why it's a good idea is to be
seen in the recent "failed to locate grouping columns" bug, which
wouldn't have happened if a SubPlan exposed the same typmod info as
the SubLink it was derived from. This could be back-patched, since
it doesn't affect any on-disk data format, but for the moment it
doesn't seem necessary to do so.
- In pgsql/src/backend/optimizer/path/indxpath.c, improve
match_special_index_operator() to recognize that LIKE with an
exact-match pattern (no wildcard) can be index-optimized in some
cases where a prefix-match pattern cannot; specifically, since the
required index clause is simple equality, it works for regular
text/varchar indexes even when the locale is not C. I'm not sure
how often this case really comes up, but since it requires hardly
any additional work to handle it, we might as well get it right.
Motivated by a discussion on the JDBC list.
- Code review for dtrace probes added (so far) to 8.4. Adjust
placement of some bufmgr probes, take out redundant and
memory-leak-inducing path arguments to smgr__md__read__done and
smgr__md__write__done, fix bogus attempt to recalculate space used
in sort__done, clean up formatting in places where I'm not sure
pgindent will do a nice job by itself.
- In pgsql/src/backend/utils/adt/formatting.c, fix core dump due to
null-pointer dereference in to_char() when datetime format codes are
misapplied to a numeric argument. (The code still produces a pretty
bogus error message in such cases, but I'll settle for stopping the
crash for now.) Per bug #4700 from Sergey Burladyan. Problem
exists in all supported branches, so patch all the way back. In
HEAD, also clean up some ugly coding in the nearby cache management
- In pgsql/doc/src/sgml/release.sgml, update back-branch release
- In pgsql/src/backend/storage/buffer/bufmgr.c, restore previous
ordering of BUFFER_FLUSH_START probe. I had wanted to make it
include the time for the possible smgropen() call, but that results
in a null pointer dereference :-(. An alternative solution would be
to fetch the buffer tag instead of looking at *reln, but I'll just
put it back as it was for the moment. BTW, this indicates that
DTrace probes evaluate their arguments even when nominally inactive.
What was that about "zero cost", again?
- In pgsql/src/bin/pg_dump/pg_backup_archiver.c, fix
identify_locking_dependencies to reflect the fact that
fix_dependencies previously repointed TABLE dependencies to TABLE
DATA. Mea culpa.
- Clean up the code for to_timestamp's conversion of year plus ISO day
number to date, as per bug #4702 and subsequent discussion. In
particular, make it work for years specified using AD/BC or CC
fields, and fix the test for "no year specified" so that it doesn't
trigger inappropriately for 1 Bryce Cutt (which it was doing even in
code paths that had nothing to do with to_timestamp). I also did
some minor code beautification in the non-ISO-day-number code path.
This area has been busted all along, but because the code has been
rewritten repeatedly, it would be considerable trouble to
back-patch. It's such a corner case that it doesn't seem worth the
- Fix contrib/hstore to throw an error for keys or values that don't
fit in its data structure, rather than silently truncating them.
Alvaro Herrera committed:
- Remove pg_trace.h inclusion from c.h and add it to the .c files that
need it. Only needed in 8.3 because it's already this way in HEAD,
and older branches did not support DTrace. This allows external
modules to compile on Linux machines where SystemTap support was
recently added, when the required SystemTap headers are not present
on the build machine. Approach suggested by Tom Lane, after a RPM
build trouble report by Devrim Gunduz.
Andrew Dunstan committed:
- Use thread-local storage for querybuffer in fmtId() on Windows, when
needed (i.e. when running pg_restore, which might run in parallel).
Only reopen archive file when we really need to read from it, in
parallel code. Otherwise, close it immediately in a worker, if
Marc Fournier committed:
- Tag 8.3.7, 8.2.13, 8.1.17, 8.0.21, and 7.4.25.
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
KaiGai Kohei sent in three more revisions of his SE-PostgreSQL
Greg Sabino Mullane sent in a patch to remove the confusing -i and -d
switches from pg_dump, leaving only the long forms of what they used
ITAGAKI Takahiro sent in two revisions of a sampling profiler for 8.5.
Fujii Masao sent in another version of the PITR performance
Alvaro Herrera sent in a patch to 8.3 which includes pg_trace.h only
in files that actually need it.
pgsql-announce by date
|Next:||From: Steve Topov||Date: 2009-03-16 16:54:34|
|Subject: dataPro version 1.6 released|
|Previous:||From: Devrim GÜNDÜZ||Date: 2009-03-14 09:01:15|
|Subject: New shapshot RPMs (Mar 10, 2009) are ready for testing|