Skip to content

Wöchentlicher PostgreSQL Newsletter - 4. Februar 2007

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 4. Februar 2007 ==

Sicherheitsupdates für 8.2.2, 8.1.7, 8.0.11, 7.4.16 und 7.3.18 werden
morgen, am 5. Februar 2007 erscheinen. Fertigmachen zum Updaten.

== PostgreSQL Produkt Neuigkeiten ==

PGCon, die PostgreSQL Konferenz, ist auf der Suche nach führenden
Unternehmen um die Veranstaltung zu sponsoren. Details unter:

Red Hat hat seinen Application Stack mit PostgreSQL herausgegeben.

== PostgreSQL Jobs im Februar ==

== PostgreSQL Lokal ==

Hauptbeitragender Gavin Sherry und Postgres-R Leiter Markus werden auf
dem SFPUG Meeting in San Francisco am 6. Februar um 19:00 Uhr im
Hyperic LCCs Hauptquartier sprechen. Reservierungen unter
untenstehender URL um kostenloses Thai Essen zu erhalten.

Es wird einen PostgreSQL Stand auf der Scale 5x in Los Angeles vom
10.-11. Februar auf dem Westin Los Angeles Airport geben. Kontaktiere
josh at agliodbs dot com, wenn du nicht schon teilnimmst.

Es wird einen PostgreSQL Stand auf dem CLT am 3.-4. März in
Chemnitz/Deutschland geben. Einige der üblichen Verdächtigen der
deutschsprachigen PostgreSQl Community werden dort sein. Kontaktiere für mehr Informationen.

Es wird einen PostgreSQL Stand auf der FOSDEM am 24. und 25. Februar in
Brüssel, Belgien sein. Viele der üblichen Verdächtigen von den EU
PostgreSQL Communities werden dort sein. Kontaktiere
für mehr Informationen.

Die italienische PostgreSQL Community ist auf der Suche nach Sponsoren
für ihren PostgreSQL Tag in Prato, Italien im Sommer. Mehr Informationen unter untenstehendem Link.

== PostgreSQL in den News ==

Planet PostgreSQL:

General Bits, Archive und gelegentliche News Artikel:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David
Fetter und Devrim GUNDUZ.

Um deine Beiträge für die nächste Ausgabe zu übermitteln, sende diese
an bis Sonntag, 15:00 Uhr Pazifischer Zeit.

== Angewandte Patches ==

Michael Meskes committed:

- Magnus Hagander's patch which removes some compiler warnings.

- Cleaned up va_list handling in ecpg. This should now work on all

Neil Conway committed:

- Magnus Hagander's patch which changes the installscript for vcbuild
actually to parse the generated solution files for what to install,
instead of blindly copying everything as it previously did. For
example, in the previous quick-n-dirty version, it would copy old
DLLs if you reconfigured in a way that didn't include subprojects
like a PL.

- Reword suggestion that libpq.dll be installed in WINNT\SYSTEM32
under Windows. Per Magnus Hagander, this is not recommended.

- Fix two more regression tests whose expected outputs were not
updated for the recent may/might cleanup.

- Update some of the "expected" regression test results for Bruce's
recent may/might cleanup, in the hopes that this will unbreak the
buildfarm. Per report from Stefan Kaltenbrunner.

- Backpatch last night's fix for broken markup to the 8.2 branch.

- Fix broken markup in pgsql/doc/src/sgml/release.sgml

- This patch adds documentation for the long-version parameters
--username and --password for pg_dump, pg_dumpall and pg_restore,
per complaint by Michael Schmidt. Patch from Magnus Hagander.

- Fix a few typos in comments in GiN.

- Add missing Makefile dependencies for the "bigtest" and "bigcheck"
targets, and refactor the tablespace setup code into a separate
Makefile target.

- Rewrite uuid input and output routines to avoid dependency on the
nonportable "hh" sprintf(3) length modifier. Instead, do the parsing
and output by hand. The code to do this isn't ideal, but this is an
interim measure anyway: the uuid type should probably use the
in-memory struct layout specified by RFC 4122. For now, this patch
should hopefully rectify the buildfarm failures for the uuid test.
Along the way, re-add pg_cast entries for uuid <-> varchar, which I
mistakenly removed earlier, and bump the catversion.

Teodor Sigaev committed:

- Revert gincostestimate changes.

- Update FreeBSD DocBook installation notes.

- Allow GIN's extractQuery method to signal that nothing can satisfy
the query. In this case extractQuery should returns -1 as nentries.
This changes prototype of extractQuery method to use int32* instead
of uint32* for nentries argument. Based on that gincostestimate may
see two corner cases: nothing will be found or seqscan should be
used. Per proposal at

Tom Lane committed:

- Don't MAXALIGN in the checks to decide whether a tuple is over
TOAST's threshold for tuple length. On 4-byte-MAXALIGN machines,
the toast code creates tuples that have t_len exactly
TOAST_TUPLE_THRESHOLD ... but this number is not itself maxaligned,
so if heap_insert maxaligns t_len before comparing to
TOAST_TUPLE_THRESHOLD, it'll uselessly recurse back to tuptoaster.c,
wasting cycles. (It turns out that this does not happen on
8-byte-MAXALIGN machines, because for them the outer MAXALIGN in the
toast tuples will be less than TOAST_TUPLE_THRESHOLD in size. That
MAXALIGN is really incorrect, but we can't remove it now, see
below.) There isn't any particular value in maxaligning before
comparing to the thresholds, so just don't do that, which saves a
small number of cycles in itself. These numbers should be
rejiggered to minimize wasted space on toast-relation pages, but we
can't do that in the back branches because changing
TOAST_MAX_CHUNK_SIZE would force an initdb (by changing the contents
of toast tables). We can move the toast decision thresholds a bit,
though, which is what this patch effectively does. Thanks to Pavan
Deolasee for discovering the unintended recursion. Back-patch into
8.2, but not further, pending more testing. (HEAD is about to get a
further patch modifying the thresholds, so it won't help much for
testing this form of the patch.)

- Use -Wl for linker switches on freebsd --- back-port of an 8.0
change. I think this will make buildfarm member herring go green in
this branch.

- Fix typo in pgsql/doc/src/sgml/sources.sgml

- Fix plpgsql so that when a local variable has no initial-value
expression, an error will be thrown correctly if the variable is of
a NOT NULL domain. Report and almost-correct fix from Sergiy
Vyshnevetskiy (bug #2948).

- Fix initdb to not generate misleading error messages when
postgres.bki or other share-directory files are inaccessible for
some reason other than not existing. Inspired by trouble report
from Simon Kinsella.

- Repair oversights in the mechanism used to store compiled plpgsql
functions. The original coding failed (tried to access deallocated
memory) if there were two active call sites (fn_extra pointers) for
the same function and the function definition was updated. Also, if
an update of a recursive function was detected upon nested entry to
the function, the existing compiled version was summarily
deallocated, resulting in crash upon return to the outer instance.
Problem observed while studying a bug report from Sergiy
Vyshnevetskiy. Bug does not exist before 8.1 since older versions
just leaked the memory of obsoleted compiled functions, rather than
trying to reclaim it.

- Add SPI_push/SPI_pop calls so that datatype input and output
functions called by plpgsql can themselves use SPI --- possibly
indirectly, as in the case of domain_in() invoking plpgsql functions
in a domain check constraint. Per bug #2945 from Sergiy
Vyshnevetskiy. Somewhat arbitrarily, I've chosen to back-patch this
as far as 8.0. Given the lack of prior complaints, it doesn't seem
critical for 7.x.

- Add support for cross-type hashing in hash index searches and hash
joins. Hashing for aggregation purposes still needs work, so it's
not time to mark any cross-type operators as hashable for general
use, but these cases work if the operators are so marked by hand in
the system catalogs.

- Add comment noting that hashm_procid in a hash index's metapage
isn't actually used for anything.

Bruce Momjian committed:

- Add to TODO: "Allow custom variable classes that can restrict who
can set the values"

- Update wording in pgsql/doc/src/sgml/libpq.sgml on how to set an
environment variable on Windows.

- Add documentation for Windows on how to set an environment variable.
Backpatch to 8.2.X.

- In pgsql/src/backend/commands/vacuumlazy.c, change vacuum lazy
"compacting" warning message to: errhint("Consider using VACUUM FULL
on this relation or increasing the configuration parameter

- Update URL for the "Allow sequential scans to take advantage of
other concurrent sequential scans, also called 'Synchronised
Scanning'" TODO.

- Add to TODO: "Add # to list command history like \s, but with line

- Add URLs to the "Allow sequential scans to take advantage of other
concurrent sequential scans, also called 'Synchronised Scanning'"

- Document that a client-only install using "gmake -C src/bin install"
does install a few server-only binaries.

- Add to TODO: "Allow recovery.conf to allow the same syntax as
postgresql.conf, including quoting."

- Albe Laurenz's patch which fixes configure detection code when using
both --with-ldap and --enable-thread-safety.

- Add -patches URL for the "Reduce checkpoint performance degredation
by forcing data to disk more evenly" TODO item.

- Add URL for the "Allow sequential scans to take advantage of other
concurrent sequential scans, also called 'Synchronised Scanning'"
TODO item.

- Add to TODO: "Reduce checkpoint performance degredation by forcing
data to disk more evenly" with associated URLs.

- Add URL for the "Fix RENAME to work on variables other than OLD/NEW"
TODO item.

- Add to TODO: "Allow column display reordering by recording a
display, storage, and permanent id for every column?"

- In pgsql/doc/src/sgml/sources.sgml, add "May/Can/Might" section to
error message style guidlines, and a "can't" -> "cannot" section.

- In pgsql/doc/src/sgml/high-availability.sgml, mention file system
replication as a high availability solution in the shared hardware
section, and mention DRBD as a popular solution.

- Add URL to the "Add long file support for binary pg_dump output"
TODO item.

- Wording cleanup for error messages. Also change can't -> cannot.

- Add 8.2.0 "Incomatibilities" documentation that pg_dump's -n and -t
behavior has changed.

- Backpatch FAQs to stable branch.

- Daojing Zhou's update to the Chinese FAQ.

- In TODO, update URL for function permission checks.

- Add to TODO: "Tighten function permission checks."

- Add to TODO: "Tighten trigger permission checks."

- Add to TODO: Fix problem when multiple subtransactions of the same
outer transaction hold different types of locks, and one
subtransaction aborts.

- Update CREATE SEQUENCE documentation to show the same sequence being
created and increments. The old docs created the sequence, then
showed a nextval() of 114.

- In TODO, add URL for, "Fix RENAME to work on variables other than

- Use colons consistently before '<programlisting>' blocks, where

- Revert error message change for may/can/might --- needs discussion.

- Update documentation on may/can/might.

- Add to TODO, in "Fix RENAME to work on variables other than
OLD/NEW", add URL.

- Document need for periodic REINDEX in VACUUM FULL cases.

- In pgsql/doc/src/sgml/array.sgml, add missing colon.

- Add to TODO: "Add REINDEX CONCURRENTLY" with caveats.

- Update TODO for VACUUM FULL by adding a mention that index updates
can bloat the index.

- Added to TODO: "ARRAY[[1,2],[3,4]])[1] should return the same values
as ARRAY[[1,2],[3,4]])[1:1]"

- Add FAQ item about timezones and daylight savings time.

- Update documentation for backslashes to mention escape string syntax
more, and standard_conforming_strings less, because in the future
non-E strings will not treat backslashes specially. Also use E''
strings where backslashes are used in examples. (The existing
examples would have drawn warnings.) Backpatch to 8.2.X.

- Clarify paramater handling for pg_get_serial_sequence().

- Update documentation for pg_get_serial_sequence() function.

- Update wording for minor release upgrades, per Alvaro Herrera.

- In TODO, mark as done: "Add Globally/Universally Unique Identifier

- In pgsql/src/port/exec.c, use sizeof() for snprintf() buffer length.

- Update process termination message to display signal number and name
from exec.c and postmaster.c.

Peter Eisentraut committed:

- Update SQL conformance information about XML features.

- Implement XMLSERIALIZE for real. Analogously, make the xml to text
cast observe the xmloption. Reorganize the representation of the
XML option in the parse tree and the API to make it easier to manage
and understand. Add regression tests for parsing back XML

- Translation updates

- Update documentation on XML functions

== Abgelehnte Patches (bis jetzt) ==

Niemand wurde diese Woche enttäuscht :-)

== Eingesandte Patches ==

Magnus Hagander sent in a patch which adds documentation for the
long-version parameters --username and --password for pg_dump,
pg_dumpall and pg_restore, per complaint by Michael Schmidt.

Pavan Deolasee sent in another version of his performance patch.

Pursuant to Alvaro Herrera's work in progress autovacuum launcher
patch, Markus Schiltknecht sent in a patch to find current imessages.

Korry Douglas sent in a patch to fix the fixes shared_preload_libraries
on Windows hosts. It forces each backend to re-load all
shared_preload_libraries. Per discussion below:

Heikki Linnakangas sent in another version of his phantom command ids

Pavan Deolasee sent in a patch which adds the matrix of lock
(in)compatibilies to the source code.

Korry Douglas sent in a patch which lets gprof nab a non-overwritten
profile on Linux.

Koichi Suzuki sent in a patch intended to improve full-page write

Jeremy Drake sent in a patch which allows regular expression matches
to return an array of matches, along with (optionally) the whole
match, the pre-match, and the post-match. Perl fans, rejoice!

ITAGAKI Takahiro sent in a new version of his n_dead_tuples patch.

Markus Schiltknecht sent in a patch which fixes a small "database is
ready" race condition in StartupXLOG() in xact.c.

Andrew Dunstan sent in a patch which fixes the "\copy (query)
delimiter" syntax error.

Pavel Stehule sent in a patch which fixes a localization bug in time
zone formatting.


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