== PostgreSQL Weekly News - July 29 2007 ==
PostgreSQL's "Army of Smurfs" was out in force at OSCON 2007, and lots
of people came by asking specific questions in contrast to the usual,
"why not MySQL" of the past. One great moment: the security guard
coming up to the booth, saying words to the effect of, "ignore this
badge. I have Postgres installed on a machine and want to know how to
use it better."
== PostgreSQL Product News ==
Archiveopteryx 2.02 released
== PostgreSQL Jobs for July ==
== PostgreSQL Local ==
As discussed at the first meeting of what will become the European
PostgreSQL Users Group after pgDay in Prato, and now has a mailing
list set up. <pgsql-eu-general(at)postgresql(dot)org>
== PostgreSQL in the News ==
Planet PostgreSQL: http://www.planetpostgresql.org/
General Bits, Archives and occasional new articles:
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(at)fetter(dot)org, German to
== Applied Patches ==
Peter Eisentraut committed:
- In pgsql/doc/src/sgml/datatype.sgml, update standards conformance
information about the bigint type. Found by Michael Glaesemann.
Michael Meskes committed:
- Synced ECPG parser.
Neil Conway committed:
- In pgsql/src/backend/executor/execUtils.c, slightly refactor
ExecOpenScanRelation(): we can use ExecRelationIsTargetRelation() to
check if the relation is a target rel, rather than scanning through
the result relation array ourselves.
- Implement RETURN QUERY for PL/PgSQL. This provides some convenient
syntax sugar for PL/PgSQL set-returning functions that want to
return the result of evaluating a query; it should also be more
efficient than repeated RETURN NEXT statements. Based on an earlier
patch from Pavel Stehule.
Tom Lane committed:
- Remove FileUnlink(), which wasn't being used anywhere and interacted
poorly with the recent patch to log temp file sizes at removal time.
Doesn't seem worth fixing since it's unused. In passing, make a few
elog messages conform to the message style guide.
- Arrange to put TOAST tables belonging to temporary tables into
special schemas named pg_toast_temp_nnn, alongside the pg_temp_nnn
schemas used for the temp tables themselves. This allows low-level
code such as the relcache to recognize that these tables are indeed
temporary, which enables various optimizations such as not
WAL-logging changes and using local rather than shared buffers for
access. Aside from obvious performance benefits, this provides a
solution to bug #3483, in which other backends unexpectedly held
open file references to temporary tables. The scheme preserves the
property that TOAST tables are not in any schema that's normally in
the search path, so they don't conflict with user table names.
initdb forced because of changes in system view definitions.
- Suppress warning when compiling with -DPROFILE_PID_DIR: sys/stat.h
is supposed to be included when using mkdir().
- Adjust horology test to avoid join-plan-dependent result ordering in
a few queries. Should fix buildfarm failures arising from new, more
aggressive autovac settings.
- In pgsql/src/backend/optimizer/util/predtest.c, fix
predicate-proving logic to cope with binary-compatibility cases when
checking whether an IS NULL/IS NOT NULL clause is implied or refuted
by a strict function. Per example from Dawid Kuroczko. Backpatch
to 8.2 since this is arguably a performance bug.
- Create a new dedicated Postgres process, "wal writer", which exists
to write and fsync WAL at convenient intervals. For the moment it
just tries to offload this work from backends, but soon it will be
responsible for guaranteeing a maximum delay before
asynchronously-committed transactions will be flushed to disk. This
is a portion of Simon Riggs' async-commit patch, committed to CVS
separately because a background WAL writer seems like it might be a
good idea independently of the async-commit feature. I rebased
walwriter.c on bgwriter.c because it seemed like a more appropriate
way of handling signals; while the startup/shutdown logic in
postmaster.c is more like autovac because we want walwriter to quit
before we start the shutdown checkpoint.
- Just noticed that libpq thinks the maximum command tag length is 40,
whereas in the backend it's been 64 for some time. Hasn't mattered
because no actual tags exceed 40 bytes, but for consistency they
should be alike.
Alvaro Herrera committed:
- Set a default autovacuum vacuum_cost_delay value of 20ms, to avoid
excessive I/O utilization, per discussion. While at it, lower the
autovacuum vacuum and analyze threshold values to 50 tuples. It is
a bit higher (i.e. more conservative) than what I originally
proposed but much better than the old values for small tables.
- Reword paragraph about the autovacuum_max_workers setting. Patch
from Jim Nasby.
Magnus Hagander committed:
- Rename DLLIMPORT macro to PGDLLIMPORT to avoid conflict with third
party includes (like tcl) that define DLLIMPORT.
- Hiroshi Saito's fix to pgsql/src/interfaces/libpq/win32.mak, the
standalone win32 makefile (MSVC6) for SSPI and GSSAPI.
- In pgsql/src/tools/msvc/Project.pm, disable warning 4090 = different
const qualifiers on msvc since it warns about things that aren't
- In pgsql/src/pl/plperl/GNUmakefile, silence compiler warning on
- In pgsql/src/backend/libpq/pqcomm.c, silence compiler warning on
- Make it possible, and default, for MingW to build with SSPI support
by dynamically loading the function that's missing from the MingW
headers and library.
- The proper guaranteed buffer size for errors is
INITIAL_EXPBUFFER_SIZE, not PQERRORMSG_LENGTH. Backport only - the
proper fix in HEAD is to use PQExpBuffers everywhere.
- Use PQExpBuffer for error message in fe-auth.c. In passing, change
functions that passedin both PGconn and parts of it to just pass in
- Fix typo in pgsql/src/interfaces/libpq/fe-auth.c.
- SSPI authentication on Windows.
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Andrew Dunstan sent in a patch to enable logging of start time/cookie
for all backend processes.
Gregory Stark sent in a patch which documents and removes some dead
code in pgsql/src/backend/access/heap/tuptoaster.c which resulted from
the varvarlena patch.
Erwin Brandstetter suggested a patch which changes the GRANT docs to
reflect current realities.
Gregory Stark sent in a patch which fixes some misalignments from a
Simon Riggs sent in a patch which simplifies the stats_ parameters.
Zdenek Kotala sent in a patch to pgcrypto which fixes two problems on
systems, like the default Solaris 10 installation, without strong
encryption. Per discussion at
pgsql-announce by date
|Next:||From: Tomohiro Iizuka||Date: 2007-08-01 23:52:31|
|Subject: New language for Web and postgreSQL application, Alinous-Core 1.0Released|
|Previous:||From: Devrim GÜNDÜZ||Date: 2007-07-28 23:06:43|
|Subject: Re: pgAdmin III v1.8.0 Beta 2 released|
pgsql-general by date
|Next:||From: Mavinakuli, Prasanna (STSD)||Date: 2007-07-30 05:51:16|
|Subject: Re: Core reported from vaccum function.|
|Previous:||From: Patrick TJ McPhee||Date: 2007-07-30 03:53:17|
|Subject: Re: Porting MySQL data types to PostgreSQL|