== Wöchentlicher PostgreSQL Newsletter - 14. Januar 2007 ==

From: Andreas 'ads' Scherbaum <adsmail(at)wars-nicht(dot)de>
To: "pgsql-de-allgemein(at)postgresql(dot)org" <pgsql-de-allgemein(at)postgresql(dot)org>
Cc: "pgusers(at)postgres(dot)de" <pgusers(at)postgres(dot)de>
Subject: == Wöchentlicher PostgreSQL Newsletter - 14. Januar 2007 ==
Date: 2007-01-17 00:21:06
Message-ID: 20070117012106.984d1356.adsmail@wars-nicht.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein


Der Originalartikel befindet sich unter:
http://people.planetpostgresql.org/dfetter/index.php?/archives/100-PostgreSQL-Weekly-News-January-14-2007.html

== Wöchentlicher PostgreSQL Newsletter - 14. Januar 2007 ==

Sicherheitsupdates für 8.2.1, 8.1.6, 8.0.10, 7.4.15 und 7.3.17 sind
draussen, ebenfalls Packages für Debian, Fedora, Fink, FreeBSD Red Hat
und Ubunto. Schnell upgraden.

== PostgreSQL Produkt Neuigkeiten ==

Another PostgreSQL Diff Tool 1.0.0_beta13 erschienen.
http://pgfoundry.org/projects/apgdiff/

pfm 1.4.3 erschienen.
http://pgfoundry.org/projects/pfm/

mysql2pgsql-1.0.2 erschienen.
http://gborg.postgresql.org/project/mysql2psql/projdisplay.php

PostgreSQL SDBC Driver 0.7.3 ist erschienen:
http://dba.openoffice.org/drivers/postgresql/

Navicat PostgreSQL 7.2.10 für Windows erschienen.
http://pgsql.navicat.com/

Slony-I 1.2.6 ist draussen.
http://slony.info/

audittrail2-beta1 erschienen.
http://pgfoundry.org/projects/audittrail2/

PGCluster 1.5.0rc13 and 1.7.0rc2 erschienen.
http://pgfoundry.org/projects/pgcluster/

== PostgreSQL Lokal ==

Die Deutsche PostgreSQL Usergruppe ( http://www.pgug.de ) erstellt drei
neue Flyer in Englisch und Deutsch. Die Themen werden sein: 1)
PostgreSQL allgemein, 2) PG und Replikation, 3) PG im Vergleich zu
anderen. Wenn du Material hinzufügen oder dich beteiligen möchtest,
wende dich an info at pgug dot de.

Bitte übermittle deine Vorschläge für die PGCon 2007. PGCon wird in
Ottawa, Ontaria in Kanada sein. Einsendeschluss für Einreichungen ist
der 19. Januar. http://www.pgcon.org/2007/submissions.php

Es wird ein 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(at)postgresql(dot)org
um teilzunehmen. http://www.fosdem.org/2007/

Pavel Stehule wird einen Kurs über Stored Procedures in PostgreSQL
halten. Termin ist der 11. Januar 2007 in Prag, Sprache ist
Tschechisch.
http://www.root.cz/zpravicky/skoleni-o-ulozenych-procedurach-v-postgresql/

Die Italienische PostgreSQL Community wird einen PostgreSQL Tag im
Sommer abhalten. Bookmarke den folgenden Link, um teilzunehmen.
http://www.pgday.it

Gavin Sherry veranstaltet eine PostgreSQL Minikonferenz in Sydney am
Dienstag dem 16. Januar 2007.
http://lca2007.linux.org.au/Miniconfs/PostgreSQL Wenn du teilnehmen
möchtest, maile gavin AT alcove . com . au

== PostgreSQL in den News ==

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

General Bits, Archive und gelegentliche News Artikel:
http://www.varlena.com/GeneralBits/

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David
Fetter, Devrim GUNDUZ und Robert Treat

Um deine Beiträge für die nächste Ausgabe zu übermitteln, sende diese
an david(at)fetter(dot)org bis Sonntag, 15:00 Uhr Pazifischer Zeit.

== Angewandte Patches ==

Alvaro Herrera checkte ein:

- Marko Kreen's Patch um unnötige DISABLE_ZLIB defines in pgcrypto mit
HAVE_ZLIB aus dem Core zu ersetzen.

- Repariere autovacuum um zu vermeiden, das nicht-permanente Xids in
nicht konnektierbaren Datenbanken verbleiben. Patch nur für die 8.1
Branch, da der neue 8.2 (und HEAD) Code dieses Problem nicht hat.

Michael Meskes checkte ein:

- Passe MinGW erwartete Datei an neues Setup an, erstelle erwartete
Datei mit richtiger Portnummer.

- Vereinfache ecpg Regression Handling, addiere Patch von Joachim
Wieland mit einem Workaround für einen Fehler in der OpenBSD Test Suite.

- In ecpg, wende Joachim's Patch für eine --regression Option an. Sorge
dafür, das diese Option die .c Dateien markiert, so das keine
Umgebungsvariable mehr notwendig ist. Habe eine spezielle MinGW Datei
mit dieser speziellen Fehlermeldung erstellt. Schreibe den Port nicht
in das Logfile wenn Regression Tests laufen.

Neil Conway checkte ein:

- Füge eine Notiz zur Dokumentation hinzu die NANs Gleichheit und
Sortierverhalten beschreibt. Laut einer kürzlichen -hackers Diskussion,
dies ist erwähnenswert, da das Postgres Verhalten von den meisten NaN
Implementierungen abweicht, IEEE754 eingeschlossen.

- Ein Patch von Magnus Hagander und Joachim Wieland für
pgsql/src/tools/msvc/gendef.pl welcher zwei Probleme beseitigt: gendef
funktioniert von Visual Studio aus - nutze eine temporäre Datei statt
einer Umleitung, denn aus einigen Gründen kann man Umleitungen nicht
von innerhalb nutzen und gendef muss nur *.obj Dateien bearbeiten, oder
du bekommst komische Fehlermeldungen in einigen Build Szenarien wenn es
versucht, ein Logfile abzuarbeiten.

- Dieser Patch für pgsql/src/tools/msvc/build.bat schaltet umfangreiche
Ausgaben beim Bauen aller Projekte an. Dies ist der selbe Ausgabelevel
wie vorher beim Bauen eines einzelnen Projektes genutzt wurde, und es
ist wirklich notwendig, vernünftige Informationen über das, was
passiert, zu erhalten (andernfalls erscheinen bloss "starte Build von
foo" und "fertig mit foo", mehr oder weniger).

ISHII Tatsuo checkte ein:

- Backporte Patch für Versionen 8.0, 7.4 und 7.3. Dieser Patch ruft
srandom() statt srand() auf. pgbench ruft random() später auf, so es
sollte srandom() aufgerufen haben. Auf den meisten Plattformen mit
Ausnahme von Windows ist srandom() identisch zu srand(), so das der
Fehler nur Windows user betrifft. Nach einem Bugreport von Akio Ishida.

- In contrib/pgbench, backporte Patch. Rufe srandom() statt srand()
auf. pgbench ruft random() später auf, daher sollte es srandom()
aufgerufen haben. Auf den meisten Plattformen mit Ausnahme von Windows
ist srandom() identisch zu srand(), so das der Fehler nur Windows user
betrifft. Nach einem Bugreport von Akio Ishida.

- In contrib/pgbench, ändere Copyright Jahr.

Bruce Momjian checkte ein:

- Entferne komplette und nicht länger benötigte Einträge von der TODO
Liste, inklusive "Repariere Speicherleck bei Exceptions" (erledigt),
"erlaube constraint_exclusion für UNIONs wie für Vererbung , erlaube es
für UPDATE und DELETE Statements und erlaube die Nutzung für alle
Statements mit einem kleinen Performance Nachteil" (erledigt), "Addiere
estimated_count(*) um den erwarteten Wert von COUNT(*)
zurückzugeben" (nicht länger gewünscht).

- Update to_char("CC") Beschreibung.

- Update Fehlertext Wortlaute in pgsql/src/backend/parser/analyze.c.

- Update ORDER BY UNION Funktion/Ausdrücke Wortlaute (wieder).

- Update UNION/INTERSECT/EXCEPT ORDER BY Fehler Wortlaute für
Ausdrücke/Funktionen.

- verbessere Fehler Wortlaute von ORDER BY in UNION welches neue
Ausdrücke in ORDER BY erzeugt.

- Zu TODO: "Addiere URL Eintrag für psql -c Änderungen"
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00291.php

- Zu TODO: "Repariere Begrenzungen für Transaktionen für CREATE
DATABASE und andere Befehle"
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php

- Zu TODO: "Addiere URL für PQexec() um mehrfache Queries zu verbieten"
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00184.php

- Zu TODO: "Erweitere Zeitzonen Code um 64-Bit Werte zu erlauben so das
wir Jahre über 2038 hinaus darstellen können."
http://archives.postgresql.org/pgsql-hackers/2006-09/msg01363.php

- Zu TODO: "Verschiebe NAMEDATALEN von postgres_ext.h nach
pg_config_manual.h und ziehe in Betracht, es in zukünftigen Versionen
mehr konfigurierbar zu gestalten."

- L Bayuk's Patch welches es BCC erlaubt libpq und psql zu compilieren.

- Für pg_ctl -w, addiere Referenz zu zusätzlichen Umgebungsvariablen
und pgpass.

- Entferne SGML makefile.SECONDARY Tag so das die HTML Regeln
vernünftig arbeiten können, Dokumentation/Kommentar Verbesserungen.

- Verbessere SGML Build Regeln für Nicht-HTML Ausgaben, von Peter
Eisentraut.

- Update Copyright Script um Leerzeichen um Gedankenstriche zu erlauben.

- In SGML Makefile, setze richtige Targets für rekursive Aufrufe.

- Addiere "Verbessere Merge Join Performance durch Erlauben von
Setzen/Wiederherstellen von Tuple Sources" zur TODO Liste.

- Michael Fuhr's Patch um die UTF-8 RFC Referenz zu updaten. RFC 2044
war obsolet bei RFC 2279, welcher wiederum obsolet bei RFC 3629 war.

- Baue SGML Dokumentation mehrmals wenn notwendig, um richtige Indicies
zu haben; Addiere 'draft' Option, um dies abzuschalten.

- Habe log_temp_files be in Kilobytes, entferne Trace Aufruf.

- Entferne trace Makro vom neuen log_temp_files, bis es besser
erforscht wurde.

- Heikki Linnakangas's Patch welcher fünf andere Tuple Stats anschaltet
durch Nutzung der High Bits des nattr Feldes, und benenne das Feld um.

- Im TODO, markiere als erledigt: "Addiere Möglichkeit um die Nutzung
von temporären Sort Dateien zu überwachen"

- Bruce Moran's Patch welcher eine GUC Variable log_temp_files für das
Logging von temporären Dateien addiert.

- In TODO, markiere als erledigt: "Erlaube das Erstellen von Indicies
mit gemischtem ascending/descending." Tom Lane's ORDER BY ... NULL
FIRST/LAST Patch implementiert dies.

Tom Lane checkte ein:

- Repariere Handling des CC (Century) Formats in to_date/to_char.
Entsprechend der Standard Konvention ist das 21. Jahrhundert von
2001-2100, nicht von 2000-2099. Siehe Bug #2885 von Akio Iwaasa. Patch
für 8.2, aber nicht weiter, da dies eine größere Änderung ist; Benutzer
der älteren Versionen sind möglicherweise mehr an Stabilität
interessiert.

- Füge einige Notizen zu pgsql/src/backend/access/nbtree/README hinzu
über die grundlegenden mathematischen Gesetze welche das System für
wahr hält in der btree Operator Familie. Dies ist hauptsächlich um mein
eigenes Denken über das, was der Planer für Optimierungen annehmen
darf, klarzustellen. (Staub von einem alten Abstact-Algebra Buch
blasend...)

- Repariere ein Performance Problem in Datenbanken mit einer großen
Anzahl von Tabellen (oder anderen Typen von pg_class Einträgen): die
Funktion pgstat_vacuum_tabstat, von VACUUM beim Start aufgerufen, hatte
Laufzeitabhängigkeiten über die Einträge in der stats Tabelle und der
Anzahl pg_class Zeilen; in anderen Worten O(N^2) wenn die Stats
Kollektor Informationen einigermassen komplett waren. Ersetze
Listensuche mit einer Hashtabelle und stelle O(N) Verhalten wieder her.
Nach einem bericht von kim at myemma.com. Patch für 8.1; 8.0 und
vorherige Versionen nutzen hier einen anderen Code.

- Bringe nodeMergejoin bei, wie DESC und/oder NULLS FIRST Sortierungen
zu handhaben sind. Soweit nur durch Hacks im Planer getestet.

- Stelle sicher, das BYTE_ORDER in 64-Bit Builds unter Solaris
definiert ist, von Stefan Kaltenbrunner.

- Ändere die planner-to-executor API so das der Planer dem Executor die
Vergleichsoperatoren mitteilt, die für einen Plan für Tuple Vergleiche
genutzt werden (Agg, Group, Unique, SetOp). Vormals hat der Executer
die Default Vergleichsoperatoren nachgeschaut, aber das war schlecht,
da es möglich ist, dass die Daten, die in eine Node eingebracht werden,
nach einer Nicht-Standard Operatorclass sortiert wird und diese Klasse
eine inkompatible Meinung für Vergleichen hat. Der Planer kennt die
Sortierreihenfolge und kann demzufolge die richtigen
Vergleichsoperatoren liefern. Ebenso verschiebt diese Änderung mehrere
Katalogsuchen from Executor in den Planer, was die Startzeit von
prepared Queries ein bischen verbessern sollte. Ändere den Planer und
entferne einige hochmütige Annahmen darüber, das wir immer in der Lage
sind, die Default Operatoren zu nutzen. Addiere ebenfalls "nulls
first/last" Informationen zur Plan Node für einen Merge Join -- weder
der Executor noch der Planer können dies bis jetzt nutzen, aber
wenigstens ist die API schon bereit.

- Kleinere Änderungen in der Dokumentation für ORDER BY; im Detail
zeige den geläufigen Fehler auf, das ORDER BY x, y DESC nicht das
gleiche ist wie ORDER BY x DESC, y DESC.

- In pgsql/src/backend/access/hash/README, addiere ein Zitat über
Seltzer und Yigit's Usenix '91 Papier über Hash Table Management.
Dieses Papier beschreibt deutlich viele der Ideen, die in unserem
derzeitigen Hashing Code genutzt werden, but soweit ich herausfinden
konnte, ist keine direkte Code Abhängigkeit gegeben. (Mike Olsen
erinnert sich an Diskussionen über dieses Papier auf Postgres Treffen
aber denkt, das (dieses Papier) "die Postgres Implementierung nur im
Design informierte".) Ehre wem Ehre gebührt, auch wenn dies fünfzehn
Jahre später geschieht.

- Magnus Hagander's Patch für pgsql/src/tools/msvc welcher vcbuild
repariert und das Bauen ohne OpenSSL und/oder zlib erlaubt.

- In pgsql/src/tools/msvc, addiere README mit vcbuild Dokumentation von
Magnus Hagander und Dave Page.

- pltcl Regression Tests muss eine opclass erstellen, nicht nur einen
Operator.

- Unterstütze ORDER BY ... NULLS FIRST/LAST, und addiere ASC/DESC/NULLS
FIRST/NULLS LAST per-Spalte Optionen für btree-Indicies. Der Planer
unterstützt das bisher nur sehr rudimentär, er weiss bisher nicht, wie
er Merge Joins mit nicht-Standard Sortieroptionen planen soll. die
Dokumentation ist ebenfalls sehr rudimentär. Ich verbessere dieses Zeug
später. Merke inkompatible Änderung im Verhalten an: ORDER BY ... USING
wird jetzt abgelehnt, wenn der Operator nicht Mitglied einer
kleiner-gleich oder größer-gleich Gruppe eines btree Operators ist.
Dies verhindert ungesundes Verhalten, wenn ein Operator, der kein
ordentliches Sortverhalten unterstützt, ausgewählt wird.

- Bearbeite Joinlist erstellung um keine unnützen Ein-Element
Subqueries zu erstellen, wenn ein JOIN Tree durch join_collapse_limit
zusammenbricht. Als Beispiel eine Liste mit 11 LEFT JOINs mit limit 8
produziert jetzt etwas wie ((1 2 3 4 5 6 7 8) 9 10 11 12) statt (((1 2
3 4 5 6 7 8) (9)) 10 11 12). Die letztere Struktur ist nur für einen
FULL JOIN notwendig. Bemerkt bei dem Studium eines Beispiels von Shane
Ambler.

- Entferne sehr alten cost_hashjoin Hack um Hash Joins mit erwarteter
größerer Innen Relation zu entmutigen (war mal verboten). Es gibt
mehrere Fälle, in denen dies Sinn macht, und in anderen Fällen sollte
die Kostenvorhersage dies handhaben können. Mache einige kleinere
Änderungen in der Vorhersage um diese ein Stück realer zu bekommen.
Nach einem Beispiel von Shane Ambler. Berichtige ebenfalls einen
übersehenen Fehler im originalen Patch um seq_page_cost zu addieren:
die Kosten, um einen Hash Join auf der Platte zu verteilen sollten von
seq_page_cost eingeteilt werden.

D'Arcy Cain checkte ein:

- erweitere den Money Typ auf 64 Bits.

Peter Eisentraut checkte ein:

- Berichtige Reverse Compilation von IS DOCUMENT Ausdrücken.

- Addiere Unterstützung für xmlval IS DOCUMENT Ausdrücken.

- In pgsql/src/backend/parser/parse_expr.c, Beseitige Compiler Warnung.

- Benutze XML Ausgabe Escaping ebenfalls in XMLFOREST.

- Erlaube willkürliche Datentypen als Inhalt von XMLELEMENT. Der
originale Zwang zum Typ xml war ein Fehler. Escape Werte so das sie
zulässige XML Character Daten darstellen.

- Benutze libxml's xmlwriter API um XML Elemente zu erzeugen, statt
unseren eigenen Tanz aufzuführen. Dies erledigt einen besseren Job beim
Quoten und Escapen von Werten.

- Verhindere doppelte Attributnamen in XMLELEMENT.

- Etwas Feintuning in xmlpi Ecken: korrigiere Fehlercodes, erledige
Syntax Checks in der richtigen Reihenfolge und entferne führende
Leerzeichen von Argumenten.

- Prüfe und dokumentiere minimal benötigte Version von libxml.

== Abgelehnte Patches (bis jetzt) ==

Niemand wurde diese Woche enttäuscht :-)

== Eingesandte Patches ==

Magnus Hagander sandte einen Patch ein, der Builds mit vcbuild
repariert und so Builds ohne OpenSSL erlaubt und libz sollte tun, was
verlangt wird. Das deaktiviert die sslinfo und pgcrypto Module, denn
diese benötigen die Bibliothek, um überhaupt zu bauen.

Michael Fuhr sandte einen Patch ein, um die UTF-8 RFC Referenz zu
updaten. RFC 2044 war obsolet bei RFC 2279, welcher wiederum obsolet
bei RFC 3629 war.

Simon Riggs sandte zwei versionen seines Patches, die es erlauben, WAL
Files in COPY Transaktionen überhaupt nicht zu schreiben.

Gurjeet Singh sandte eine andere Revision seines "Index Advisor"
Patches ein.

Magnus Hagander sandte einen Patch, welcher gendef in Visual Studio
korrigiert.

Magnus Hagander sandte einen Patch ein, der umfangreiche Ausgaben beim
Bauen aller Projekte anschaltet. Dies ist der selbe Ausgabelevel wie
vorher beim Bauen eines einzelnen Projektes genutzt wurde, und es ist
wirklich notwendig, vernünftige Informationen über das, was passiert,
zu erhalten (andernfalls erscheinen bloss "starte Build von foo" und
"fertig mit foo", mehr oder weniger).

Neil Conway sandte einen Dokumentation Patch ein, der PostgreSQLs
Handling von NaN Werten erläutert.

Dave Page sandte einen Patch ein, der pg_dumpall Role und Tablespaces
dumpen lässt.

Pavel Stehule sandte einen Patch ein der Unterstützung für scrollbare
Cursor für SPI addiert.

--
Andreas 'ads' Scherbaum

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Michael Vogel 2007-01-19 09:45:00 Fehler bei PDO und Timestamps mit 8.2
Previous Message Andreas 'ads' Scherbaum 2007-01-09 02:04:24 == Wöchentlicher PostgreSQL Newsletter - 7. Januar 2007 ==