[DPWN] Wöchentlicher PostgreSQL Newsletter - 25. Februar 2007

Der Originalartikel befindet sich unter:

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

Der PostgreSQL Fond bei SPI sponsorte diesen Monat David Fetters Reise zur Consili in Brasilien, wo er eine Konferenz Keynote überbrachte und Neil Conways nächste zwei Monate der Patch Review Arbeiten für PostgreSQL 8.3.

Eine lebhafte Diskussion über Sourcecode Management ist auf -hackers in gange.

Das Seventh Framework Programm (FP7) ist offen für Vorschläge. EU PostgreSQL Organisationen, erwägt das Einsenden von Vorschlägen.

Du kannst nun search-postgresql.org mit einem Plugin für die Firefox Suche nutzen-

== PostgreSQL Produkt Neuigkeiten ==

Cybertek in Österreich hat eine synchrone Multi-Master Replikation als Produkt für PostgreSQL vorgestellt.

PGCluster-1.5.0rc15 und 1.7.0rc4 erschienen.

== PostgreSQL Jobs im Februar ==


== PostgreSQL Lokal ==

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.

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 ==

Microsoft Technet veröffentlicht ein PostgreSQL HOWTO:

OmniTI Fallstudien veröffentlicht:

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

General Bits, Archive und gelegentliche News Artikel:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David Fetter,
Josh Berkus 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 ==

Andrew Dunstan committed:

  • Allow pltcl args to spi_prepare and plpython args to plpy.prepare to
    be standard type aliases as well as those known in pg_type. Similar
    to recent change in plperl.

Peter Eisentraut committed:

  • Bernd Helmle’s patch which identifies the schema of inherited tables
    in psql \d when necessary.

  • Add missing OIDs from xml support to pg_proc, bump catversion.

Bruce Momjian committed:

  • Move test for BLCKSZ < 1024 to guc.c.

  • Spelling fix in Solaris FAQ.

  • Update Solaris FAQ per Peter Eisentraut.

  • Updated FAQ on upgrading.

  • Zdenek Kotala’s patch to the Solaris FAQ.

  • Chad Wagner’s patch to psql which adds \prompt capability.

  • Remove extra tab from pgsql/doc/src/sgml/ref/psql-ref.sgml.

  • Remove tabs from SGML reference files so their addition can be
    detected in the future.

  • Update message wording in FAQ.

  • Update new optional VACUUM FULL hint for translations, per Alvaro

  • Simon Riggs’s patch which moves increase FSM warning to after
    lazy_truncate_heap() because the function might reduce the number of
    free pages in the table. Recommend VACUUM FULL only if 20% free.

  • Heikki Linnakangas’s patch to clean up the btree source code.

  • Update FAQ about minor updates.

  • Jun Kuwamura’s update to the Japanese FAQ.

  • Update URL in German FAQ for bug form, per Schima, Fabian

  • Daojing Zhou’s update of the Chinese FAQs to have two versions, a
    traditional Chinese version (Taiwan) and a Simplified version (China
    (PRC)). Backpatch to 8.2.X.

  • Update minor release text in FAQ.

  • Add configure --enable-profiling to enable GCC profiling. Patches
    from Korry Douglas and Nikhil S

  • Update upgrade text in FAQ.

  • Update URL for set-returning functions in FAQ.

  • Add URL for “Allow row and record variables to be set to NULL
    constants, and allow NULL tests on such variables” in the TODO list.

  • Prevent BLCKSZ < 1024, and have initdb test shared buffers based on
    the BLCKSZ value.

  • Add to TODO: “Consider decreasing the amount of memory used by

  • Fix markup in pgsql/doc/src/sgml/information_schema.sgml.

  • Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into
    the shared link line.

  • Add to TODO: “Increase locking when DROPing objects so dependent
    objects cannot get dropped while the DROP operation is happening.”


  • Add to TODO: “Add missing operators for geometric data types. Some
    geometric types do not have the full suite of geometric operators,
    e.g. box @> point.”

  • Update “encode” documentation to mention that ‘escape’ only changes
    null bytes and backslashes, remove “ASCII” mention. Backpatch to

  • Update pgpass Win32 wording.

  • Update information_schema documentation to match system tables.
    Backpatch to 8.2.X.

  • Improve wording on Julian dates in pgsql/doc/src/sgml/func.sgml.

  • More clearly document that most PostgreSQL utilities support libpq
    environment variables. Backpatch to 8.2.X.

  • Remove from TODO for Win32: “Check .pgpass file permissions.” It is
    not needed.

  • In pgsql/src/interfaces/libpq/fe-connect.c, add comment that on
    Win32, we don’t need to check the .pgpass file permission, per
    Magnus Hagander.

  • Add to TODO for Win32: “Check .pgpass file permissions.”

  • Update array slice documentation to be clearer.

  • Add to TODO: “Fix IS OF so it matches the ISO specification, and add

  • Comment-out documentation for IS OF because it doesn’t conform to
    the ISO SQL behavior. Backpatch removal to 8.2.X.

  • Remove TODO item: “ARRAY[[1,2],[3,4]])[1] should return the same
    values as ARRAY[[1,2],[3,4]])[1:1].” It actually shouldn’t.

  • Add text about Makefile.custom to FAQ_DEV.

  • Document that to_char(‘J’/Julian) is midnight-based, per report that
    Julian technically is noon to noon.

  • Improve wording in isodow documentation.

  • Update PQfree() documentation to be clearer, backpatch to 8.2.X.

  • Add to TODO: “Allow user configuration of TOAST thresholds.”

  • Add newlines to TODO.

  • Add to TODO: “Allow UPDATEs on only non-referential integrity
    columns not to conflict with referential integrity locks.”

    ‘FROM’ clause.”

  • Clarify documentation that initdb -A or editing pg_hba.conf is
    required if you do not trust local users.

  • Clarify documentation for “day of the week” handling for to_char()
    and EXTRACT().

  • Mark TODO as done: “Add ISO day of week format ‘ID’ to to_char()
    where Monday = 1.”

  • Add “isodow” option to EXTRACT() and date_part() where Sunday = 7.

  • Mark TODO as done: “Add a field ‘isoyear’ to extract(), based on the
    ISO week.”

  • Mark TODO as done: “Add long file support for binary pg_dump

Magnus Hagander committed:

  • In pgsql/src/tools/msvc/Solution.pm, revert changes to process
    pg_proc.h entries without OIDs. We’re not supposed to have such
    entries, and want to be notified when we do… Leave the plain
    bug fix in genbki.

  • Fix pg_dump on Win32 so that it properly dumps files larger than 2GB
    when using binary dump formats.

  • Parse pg_proc.h with entries without OIDs for the MSVC build.

Tom Lane committed:

  • Update 7.x variant horology files to match the new US DST rules. It
    seems likely that anyone wanting to run the regression tests in the
    future will have up-to-date system timezone files, so this is more
    likely to work than the old contents.

  • Put back copyObject() call I removed in a fit of brain fade. This
    one is still needed despite cleanups in setrefs.c, because the point
    is to let the inserted Result node compute a different tlist than
    its input node does. Per example from Jeremy Drake.

  • Now that plans have flat rangetable lists, it’s a lot easier to get
    EXPLAIN to drill down into subplan targetlists to print the referent
    expression for an OUTER or INNER var in an upper plan node. Hence,
    make it do that always, and banish the old hack of showing
    “?columnN?” when things got too complicated. Along the way, fix an
    EXPLAIN bug I introduced by suppressing subqueries from
    execution-time range tables: get_name_for_var_field() assumed it
    could look at rte->subquery to find out the real type of a RECORD
    var. That doesn’t work anymore, but instead we can look at the
    input plan of the SubqueryScan plan node.

  • Change Agg and Group nodes so that Vars contained in their
    targetlists and quals have varno OUTER, rather than zero, to
    indicate a reference to an output of their lefttree subplan. This
    is consistent with the way that every other upper-level node type
    does it, and allows some simplifications in setrefs.c and EXPLAIN.

  • Fix bug I introduced in recent patch to make hash joins discard null
    tuples immediately: ExecHashGetHashValue failed to restore the
    caller’s memory context before taking the failure exit.

  • Turn the rangetable used by the executor into a flat list, and avoid
    storing useless substructure for its RangeTblEntry nodes. (I chose
    to keep using the same struct node type and just zero out the link
    fields for unneeded info, rather than making a separate
    ExecRangeTblEntry type — it seemed too fragile to have two
    different rangetable representations.) Along the way, put subplans
    into a list in the toplevel PlannedStmt node, and have SubPlan nodes
    refer to them by list index instead of direct pointers. Vadim
    wanted to do that years ago, but I never understood what he was on
    about until now. It makes things a whole lot more robust, because
    we can stop worrying about duplicate processing of subplans during
    expression tree traversals. That’s been a constant source of bugs,
    and it’s finally gone. There are some consequent simplifications
    yet to be made, like not using a separate EState for subplans in the
    executor, but I’ll tackle that later.

  • Adjust user-facing documentation to explain why we don’t check
    pgpass file permissions on Windows.

  • Remove the Query structure from the executor’s API. This allows us
    to stop storing mostly-redundant Query trees in prepared statements,
    portals, etc. To replace Query, a new node type called PlannedStmt
    is inserted by the planner at the top of a completed plan tree; this
    carries just the fields of Query that are still needed at runtime.
    The statement lists kept in portals etc. now consist of intermixed
    PlannedStmt and bare utility-statement nodes — no Query. This
    incidentally allows us to remove some fields from Query and Plan
    nodes that shouldn’t have been there in the first place. Still to
    do: simplify the execution-time range table; at the moment the range
    table passed to the executor still contains Query trees for
    subqueries. initdb forced due to change of stored rules.

  • Get rid of some old and crufty global variables in the planner.
    When this code was last gone over, there wasn’t really any
    alternative to globals because we didn’t have the PlannerInfo struct
    being passed all through the planner code. Now that we do, we can
    restructure things to avoid non-reentrancy. I’m fooling with this
    because otherwise I’d have had to add another global variable for
    the planned compact range table list.

== Abgelehnte Patches (bis jetzt) ==

Mateo Beccati’s patch which gets PostgreSQL to compile on Irix 6.5,
but the patch would break most Linux machines.

== Eingesandte Patches ==

Zoltan Boszormenyi sent in two more iterations of his

Pavan Deolasee sent in two more versions of his work-in-progress HOT

Gregory Stark sent in a patch to shorten varlena headers.

Guillaume Smet sent in a first implementation of GIN for pg_trgm.

Nikolay Samokhvalov sent in a patch to implement xpath_array with
namespaces support.

Darcy Buskermolen sent in a patch which provides for logging in the
event that -k is unable to clean up an old WAL file and makes the
“failed to remove file” error message consistent for the trigger file.

Greg Sabino Mullane sent in a documentation patch which warns about
some strange behavior in LISTEN/NOTIFY.

Pavel Stehule sent in a patch to add timestamp support for XSD-type

Simon Riggs sent in another version of his patch to avoid deadlocks in

Joachim Wieland sent in a patch which makes GUC values fall back to
their default values when they got removed (or commented) from the
configuration file.

Kris Jurka sent in a patch which implements lo_truncate for truncating
large objects to a given length. This is required for implementing
Blob.truncate in the JDBC driver and rounds out filesystem like
functionality for large objects.

Simon Riggs sent a bug fix for his recent optimization of

Zum Artikel im Blog…

Datum: Mon, 26 Feb 2007 22:18:28 +0100