[DPWN] 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
info@pgug.de 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 de@postgresql.org
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.
http://www.pgday.it== PostgreSQL in den News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

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 david@fetter.org 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 ‘’ 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.

Zum Artikel im Blog…

Datum: Mon, 05 Feb 2007 21:42:40 +0100