Skip to content

Wöchentlicher PostgreSQL Newsletter - 15. Juni 2008

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 15. Juni 2008 ==

PostgreSQL 8.3.3, 8.2.9, etc. sind erschienen. Upgraden sobald es
möglich ist.

== PostgreSQL Produkt Neuigkeiten ==

check_postgres 1.8.2 erschienen.

== PostgreSQL Jobs im Juni ==

== PostgreSQL Lokal ==

pgDay San Francisco benötigt Vorträge für den 5. August. Bis zum
17. Juni einreichen.

TorontoPUGs erstes Meeting wird am 23. Juni im The Rhino stattfinden.

OKPUGs erstes Meeting wird am 23. Juni um 19:00 Uhr im Coach's in
Norman, OK, stattfinden.

PgDay.ITs Planungstreffen wird am Mittwoch, dem 25. Juni um 21:30 Uhr
CET im IRC stattfinden.

pgDay Portland benötigt Vorträge für den 20. Juli. Einzureichen bis zum

PGCon Brazil 2008 wird vom 26.-27. September auf dem Unicamp in
Campinas stattfinden.

PGDay.IT 2008 wird am 17. und 18. Oktober in Prato stattfinden.

== PostgreSQL in den News ==

Planet PostgreSQL:

General Bits, Archive und gelegentliche News Artikel:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an, deutsche an, italienische an

== Angewandte Patches ==

Tom Lane committed:

- In pgsql/src/backend/commands/aggregatecmds.c, ALTER AGGREGATE OWNER
seems to have been missed by the last couple of patches that dealt
with object ownership. It wasn't updating pg_shdepend nor adjusting
the aggregate's ACL. In 8.2 and up, fix this permanently by making
it use AlterFunctionOwner_oid. In 8.1, the function code wasn't
factored that way, so just copy and paste.

- In pgsql/doc/src/sgml/release.sgml, update release notes for ALTER

- Stamp 8.3.3, 8.2.9, 8.1.13, 8.0.17, 7.4.21 (except for

- Rewrite DROP's dependency traversal algorithm into an honest
two-pass algorithm, replacing the original intention of a one-pass
search, which had been hacked up over time to be partially two-pass
in hopes of handling various corner cases better. It still wasn't
quite there, especially as regards emitting unwanted NOTICE
messages. More importantly, this approach lets us fix a number of
open bugs concerning concurrent DROP scenarios, because we can take
locks during the first pass and avoid traversing to dependent
objects that were just deleted by someone else. There is more that
can be done here, but I'll go ahead and commit the base patch before
working on the options.

- In pgsql/src/backend/access/index/genam.c, fix breakage caused by
conflicting patches, as evidenced by the buildfarm.

- Tag 8.0.17, 7.4.21.

- Fix an ALTER TABLE test case so that it actually tests what the
comment says it is testing. Ah, the perils of making keywords
optional ...

- Fix datetime input functions to correctly detect integer overflow
when running on a 64-bit platform ... strtol() will happily return
64-bit output in that case. Per bug #4231 from Geoff Tolley.

- In pgsql/src/backend/utils/adt/cash.c, fix unportable (and incorrect
anyway) usage of LL constant suffix that recently snuck into cash.c.
Per report from Edmundo Robles Lopez.

- Create a script to handle stamping release version numbers into
files, replacing the tedious and error-prone manual process we've
been using.

- Improve reporting of dependencies in DROP to work like the scheme
that we devised for pg_shdepend, namely the individual dependencies
are reported as DETAIL lines rather than coming out as separate
NOTICEs. The client-side report is capped at 100 lines, but the
server log always gets a full report.

- In pgsql/src/backend/access/heap/tuptoaster.c, improve the various
elog messages in tuptoaster.c to report which TOAST table the
problem happened in. These are all supposedly can't-happen cases,
but when they do happen it's useful to know where. Back-patch to
8.3, but not further because the patch doesn't apply cleanly further
back. Given the lack of response to my proposal of this, there
doesn't seem to be enough interest to justify much back-porting

- Refactor the handling of the various DropStmt variants so that when
multiple objects are specified, we drop them all in a single
performMultipleDeletions call. This makes the RESTRICT/CASCADE
checks more relaxed: it's not counted as a cascade if one of the
later objects has a dependency on an earlier one. NOTICE messages
about such cases go away, too. In passing, fix the permissions
check for DROP CONVERSION, which for some reason was never made
role-aware, and omitted the namespace-owner exemption too. Alex
Hunsaker, with further fiddling by me.

- Rearrange ALTER TABLE syntax processing as per my recent proposal:
the grammar allows ALTER TABLE/INDEX/SEQUENCE/VIEW interchangeably
for all subforms of those commands, and then we sort out what's
really legal at execution time. This allows the ALTER SEQUENCE/VIEW
reference pages to fully document all the ALTER forms available for
sequences and views respectively, and eliminates a longstanding
cause of confusion for users. The net effect is that the following
forms are allowed that weren't before: ALTER SEQUENCE OWNER TO,
ALTER VIEW SET SCHEMA, (There's no actual functionality gain here,
but formerly you had to say ALTER TABLE instead.) Interestingly, the
grammar tables actually get smaller, probably because there are
fewer special cases to keep track of. I did not disallow using
ALTER TABLE for these operations. Perhaps we should, but there's a
backwards-compatibility issue if we do; in fact it would break
existing pg_dump scripts. I did however tighten up ALTER SEQUENCE
and ALTER VIEW to reject non-sequences and non-views in the new
cases as well as a couple of cases where they didn't before. The
patch doesn't change pg_dump to use the new syntaxes, either.

- In pgsql/src/backend/access/gist/gistutil.c, fix 64-bit problem in
recent patch.

- In pgsql/src/backend/commands/tablecmds.c, make DROP INDEX lock the
parent table before locking the index. This behavior is necessary
to avoid deadlock against ordinary queries, but we'd broken it with
recent changes that made the DROP machinery lock the index before
arriving at index_drop. Per intermittent buildfarm failures.

- In pgsql/doc/src/sgml/maintenance.sgml, rewrite docs section about
routine vacuuming --- it's gotten rather mangled of late, with lots
of redundancy, bad grammar, and just plain poor exposition. Make it
clear that autovacuum is now considered the normal solution.

Alvaro Herrera committed:

- Move BufferGetPageSize and BufferGetPage from bufpage.h to bufmgr.h.
It is more logical that way, and also it reduces the amount of
unnecessary includes in bufpage.h, which is widely used. Zdenek
Kotala. My previous patch to bufpage.h should also have credited
him as author, but I forgot (sorry about that).

- In pgsql/doc/src/sgml/Makefile, make XML building work silently on
VPATH builds (untested on regular builds).

- In pgsql/doc/src/sgml/config.sgml, in the log_filename
documentation, mention that strftime is not used directly to expand
the pattern specifier. Per gripe from Josh Drake.

Marc Fournier committed:

- Tag 8.3.3, 8.2.9, 8.1.13.

Neil Conway committed:

- In pgsql/src/backend/storage/lmgr/proc.c, fix typo in comment.

- In pgsql/src/backend/storage/lmgr/proc.c, further tweak for comment
in CheckDeadLock(), per Tom Lane.

- In pgsql/src/bin/psql/mainloop.c, editorialization for the text
emitted by the "help" psql command. Basically just reuse the same
text that psql emitted as part of its startup banner in prior
versions, and make some whitespace more consistent with the
conventions in other psql command output.

Bruce Momjian committed:

- Update Japanese FAQ. Jun Kuwamura.

- In pgsql/src/backend/utils/misc/postgresql.conf.sample, fix spelling
mistake in postgresql.conf. Greg Sabino Mullane.

- Add to TODO: "Add pg_ctl option to do a syntax check of

- In pgsql/doc/src/sgml/ecpg.sgml, use macro to document size of ecpg
sqlerrmc string.

- Update item to mention target list problem.

- Modify TODO entry to be a function: "Add functions to syntax check
configuration files."

Heikki Linnakangas committed:

- In pgsql/src/include/tsearch/ts_type.h, comment fix, should say
TSQuery instead of TSVector. Per Jan Urbanski.

- In pgsql/src/backend/access/nbtree/nbtinsert.c, fix bug in the WAL
recovery code to finish an incomplete split.
CacheInvalidateRelcache() crashes if called in WAL recovery, because
the invalidation infrastructure hasn't been initialized yet.
Back-patch to 8.2, where the bug was introduced.

- Add optional on/off argument to \timing. David Fetter.

- In pgsql/src/bin/psql/help.c, update "help" output to reflect that
\timing now takes an optional on/off argument.

- Refactor XLogOpenRelation() and XLogReadBuffer() in preparation for
relation forks. XLogOpenRelation() and the associated light-weight
relation cache in xlogutils.c is gone, and XLogReadBuffer() now
takes a RelFileNode as argument, instead of Relation. For functions
that still need a Relation struct during WAL replay, there's a new
function called CreateFakeRelcacheEntry() that returns a fake entry
like XLogOpenRelation() used to.

Andrew Dunstan committed:

- In pgsql/src/tools/add_cvs_markers add script to find .c and .h
files that are missing CVS PostgreSQL markers and add them. Avoids
third party files or those that would cause regression failures.

- In pgsql/src/tools/add_cvs_markers, prevent CVS from mangling

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Pavan Deolasee sent in a WIP patch to improve VACUUM by making LAZY
VACUUM more efficient.

Heikki Linnakangas sent in another revision of his patch to refactor
the XLogOpenRelation/XLogReadBuffer interface, in preparation for the
relation forks patch, and subsequently the FSM rewrite patch.

Greg Sabino Mullane sent in a patch to format functions for better
readability in pg_dump, placing the function body last.

Bruce Momjian sent in a revision of Euler Taveira de Oliveira's patch
which simplifies formatting.c.

Euler Taveira de Oliveira which fixes a small typo in the DTrace docs.

pgsql at sent in a patch to fix sslconfig in 8.3.3.

Zdenek Kotala sent in a patch in preparation for his in-place upgrades

Alvaro Herrera sent in two revisions of a patch to remove inclusions
of relscan.h from unneeded places.


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options