Skip to content

Wöchentlicher PostgreSQL Newsletter - 20. Juli 2008

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 20. Juli 2008 ==

Neue Umfrage: Wie installierst oder updatest du normalerweise

Peter Eisentraut vom Core Team nahm heute eine Stelle als PostgreSQL
Entwickler bei Sun Microsystems an. Zur selben Zeit hat Josh Berkus Sun
verlassen, aber er hat bisher nicht gesagt, wohin er wechselt.

== PostgreSQL Produkt Neuigkeiten ==
check_postgres 2.0.1 erschienen.

Code Factory 8.7 für Windows erschienen.

Markus Wanner (ne Schiltknecht) hat einen neuen Patch für CVS HEAD für
Postgres-R veröffentlicht.

2ndQuandrant Kurse für PostgreSQL Administration Kurse mittels Navicat

== PostgreSQL Jobs im Juli ==

== PostgreSQL Lokal ==

Sponsere den Europäischen PostgreSQL Tag!

Der Call for Papers für den Europäischen PostgreSQL Tag hat begonnen.

Das TorontoPUG Treffen findet am 28. Juli statt.

pgDay San Francisco wird am 5. August stattfinden. Programm:
Anmeldung hier:

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

PGDay.(IT|EU) 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
Fetter und Josh Berkus.

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:

- pgsql/src/include/storage/bufpage.h, clean up buildfarm failures
arising from the seemingly straightforward page macros patch :-(.
Results from both baiji and mastodon imply that MSVC fails to
perceive offsetof(PageHeaderData, pd_linp[0]) as a constant
expression in some contexts where offsetof(PageHeaderData, pd_linp)
works fine. Sloth, thy name is Macro.

- Support "variadic" functions, which can accept a variable number of
arguments so long as all the trailing arguments are of the same
(non-array) type. The function receives them as a single array
argument (which is why they have to all be the same type). It might
be useful to extend this facility to aggregates, but this patch
doesn't do that. This patch imposes a noticeable slowdown on
function lookup --- a follow-on patch will fix that by adding a
redundant column to pg_proc. Pavel Stehule

- Add a "provariadic" column to pg_proc to eliminate the remarkably
expensive need to deconstruct proargmodes for each pg_proc entry
inspected by FuncnameGetCandidates(). Fixes function lookup
performance regression caused by yesterday's variadic-functions
patch. In passing, make pg_proc.probin be NULL, rather than a dummy
value '-', in cases where it is not actually used for the particular
type of function. This should buy back some of the space cost of
the extra column.

- In pgsql/src/backend/commands/tablecmds.c, fix previous patch so
that it actually works --- consider TRUNCATE foo,

- In pgsql/src/backend/nodes/outfuncs.c, add dump support for SortBy
nodes. Needed this while debugging a reported problem with
DISTINCT, so might as well commit it.

- Implement SQL-spec RETURNS TABLE syntax for functions. (Unlike the
original submission, this patch treats TABLE output parameters as
being entirely equivalent to OUT parameters -- tgl) Pavel Stehule.

- In pgsql/src/bin/psql/describe.c, suppress compiler warning, and not
incidentally make the code more robust. The previous coding was
quite risky because it was testing conditions different from 'is the
array really allocated?'.

- In pgsql/src/backend/storage/ipc/sinvaladt.c, fix a race condition
that I introduced into sinvaladt.c during the recent rewrite. When
called from SIInsertDataEntries, SICleanupQueue releases the write
lock if it has to issue a kill() to signal some laggard backend.
That still seems like a good idea --- but it's possible that by the
time we get the lock back, there are no longer enough free message
slots to satisfy SIInsertDataEntries' requirement. Must recheck,
and repeat the whole SICleanupQueue process if not. Noted while
reading code.

- Provide a function hook to let plug-ins get control around
ExecutorRun. ITAGAKI Takahiro

- Adjust things so that the query_string of a cached plan and the
sourceText of a portal are never NULL, but reliably provide the
source text of the query. It turns out that there was only one
place that was really taking a short-cut, which was the 'EXECUTE'
utility statement. That doesn't seem like a sufficiently critical
performance hotspot to justify not offering a guarantee of validity
of the portal source text. Fix it to copy the source text over from
the cached plan. Add Asserts in the places that set up cached plans
and portals to reject null source strings, and simplify a bunch of
places that formerly needed to guard against nulls. There may be a
few places that cons up statements for execution without having any
source text at all; I found one such in ConvertTriggerToFK(). It
seems sufficient to inject a phony source string in such a case, for
instance ProcessUtility((Node *) atstmt, "(generated ALTER TABLE ADD
FOREIGN KEY command)", NULL, false, None_Receiver, NULL); We should
take a second look at the usage of debug_query_string, particularly
the recently added current_query() SQL function. ITAGAKI Takahiro
and Tom Lane

into the postgres.bki file during build, because we want that file
to be entirely platform- and configuration-independent; else it
can't safely be put into /usr/share on multiarch machines. We can
do the substitution during initdb, instead. FLOAT4PASSBYVAL and
FLOAT8PASSBYVAL are new breakage as of 8.4, while the NAMEDATALEN
hazard has been there all along but I guess no one tripped over it.
Noticed while trying to build "universal" OS X binaries.

- Add a pg_dump option --lock-wait-timeout to allow failing the dump
if unable to acquire shared table locks within a specified amount of
time. David Gould.

- Code review for array_fill patch: fix inadequate check for array
size overflow and bogus documentation (dimension arrays are int[]
not anyarray). Also the errhint() messages seem to be really
errdetail(), since there is nothing heuristic about them. Some
other trivial cosmetic improvements.

Bruce Momjian committed:

- Mark TODO as done, per Simon Riggs: "Fix server restart problem when
the server was shutdown during a PITR backup."

- Add URL for TODO: "Consider allowing control of upper/lower case
folding of unquoted identifiers."

- Mark TODO as done: "Add temporal versions of generate_series()."

- In psql, rename trans_* variables to translate_* for clarity.

- In pgsql/src/bin/psql/describe.c, add column storage type to psql
\d+ display. Gregory Stark.

- Add to TODO: "Improve ability to modify views via ALTER TABLE."

- In pgsql/src/bin/psql/describe.c, add comment about literal strings
in our syntax not being translated in psql.

- In pgsql/doc/src/sgml/charset.sgml, clarify that locale names on
Windows are more verbose. Report from Martin Saschek

- In pgsql/src/bin/psql/describe.c, have psql \d show the value of
sequence columns. Dickson S. Guedes.

- Mark TODO as done: "Have psql show current values for a sequence."

- Add TODO: "Consider decreasing the I/O caused by updating tuple hint

- In pgsql/src/bin/psql/describe.c, addendum: psql sequence value
display patch was originally written by Euler Taveira de Oliveira.

- Add to TODO: "Reduce PITR WAL file size by removing full page writes
and by removing trailing bytes to improve compression."

- In pgsql/doc/src/sgml/charset.sgml, add Swedish_Sweden.1252 Windows
locale example to docs.

- In pgsql/doc/src/sgml/func.sgml, fix alignment of SGML array docs.

- Add array_fill() to create arrays initialized with a value. Pavel

- Add to TODO: "Add external tool to auto-tune some postgresql.conf

- In pgsql/src/backend/commands/tablecmds.c, allow TRUNCATE foo, foo
to succeed, per report from Nikhils.

- Add URL for TODO: "Implement SQL:2003 window functions."

- Add to TODO: "Reduce locking requirements for creating a trigger."

- Add URL for TODO: "Implement SQL:2003 window functions."

- In psql, run .psqlrc after printing warnings and banner.

- Properly document archive/restore command examples on Windows.
ITAGAKI Takahiro

- In pgsql/src/bin/psql/startup.c, revert patch so .psqlrc can
suppress startup banner. Run .psqlrc after printing warnings and

Alvaro Herrera committed:

- In pgsql/src/backend/postmaster/autovacuum.c, avoid crashing when a
table is deleted while we're on the process of checking it. Per
report from Tom Lane based on buildfarm evidence.

- Add MSVC++ debug libraries to .cvsignore.

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

ITAGAKI Takahiro sent in another revision of his patch executor_hook
for pg_stat_statements patch.

Xiao Meng sent in three revisions of his patch to improve the
performance of hash indexes.

David Wheeler sent in another revision of his case-insensitive text

Sushant Sinha sent in three patches to update the tsearch2
documentation and add regression testing for the case when cover size
is larger than MaxWords.

Simon Riggs sent in two revisions of a patch designed to report when
we're doing an anti-wraparound VACUUM.

Jan Urbanski sent in a WIP patch to create an oprrest function for
tsvector @@ tsquery and tsquery @@ tsvector.

Simon Riggs sent in another revision of his patch to add pg_dump
options --schema-pre-load and --schema-post-load.


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