[DPWN] Wöchentlicher PostgreSQL Newsletter - 21. Januar 2007

Der Originalartikel befindet sich unter:
http://people.planetpostgresql.org/dfetter/

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

Nach einem Mißverständnis über ihre Praxis des Sammelns von Emailadressen aus den PostgreSQL Mailinglisten und dem Versenden von Werbeemails war EnterpriseDB freundlich genug und hat seine Politik geändert.

== PostgreSQL Produkt Neuigkeiten ==

Apgdiff 1.0.0beta15 erschienen.
http://pgfoundry.org/projects/apgdiff/

Pgtclng 1.6.0 erschienen.
http://pgfoundry.org/projects/pgtclng/

postgresql-dbi-link 2.0beta1 ist jetzt in Fedora Core Extras 7, wird bald in Fedora Core Extras 6 erscheinen.
http://people.planetpostgresql.org/devrim/index.php?/archives/78-Pushed-dbi-link-into-Fedora-Extras.html

PostGIS ist jetzt in Fedora Core Extras.
http://people.planetpostgresql.org/devrim/index.php?/archives/79-PostGIS-is-in-Fedora-Core-Extras.html

phpPgAdmin 4.1 erschienen.* RPMs für Fedora Core 5, 6 und 7 sind verfügbar.
http://phppgadmin.sourceforge.net/?page=download

EnterpriseDB bietet jetzt Support Packages für die Main Branches von PostgreSQL an.
http://www.enterprisedb.com/products/postgre_pricing.do

pgAdmin3 1.6.2 erschienen.
http://www.pgadmin.org/download/

== PostgreSQL Jobs im Januar ==

http://archives.postgresql.org/pgsql-jobs/2007-01/threads.php

== PostgreSQL Lokal ==

Danke schön an Gavin Sherry für das veranstalten der PostgreSQL Miniconf in Linuxconf.au.
http://www.gavinsherry.org/blog/index.php?/archives/1-PostgreSQL-miniconf-success.html

PostgreSQLFr wird einen Stand auf der SolutionsLinux 2007 in Paris (Frankreich) vom 30. Januar zum 1. Februar haben. Jean-Paul Argudo, Schatzmeister der PostgreSQLFr Non-Profit Vereinigung, wird eine Session über FLOSS Datenbanken halten. Weitere Informationen auf Französisch hier:
http://www.solutionslinux.fr/index.php

Österreich hat eine neue PostgreSQL Community Webseite.
http://community.postgresql.at/

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
um teilzunehmen. http://www.fosdem.org/2007/

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

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

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

Peter Eisentraut checkte ein:

  • Entferne einige ungenutzte Variablen von den ecpg Regression Tests.

  • In pgsql/src/interfaces/ecpg/test/Makefile.regress, füge libpg Link wieder ein, aber stelle sicher, dass das libpg In-Tree Verzeichnis vor den Systemverzeichnissen erwähnt wird.

  • Aktualisiere erwartete Build Zeit.

  • Entferne Vorkommen eines alten Depend Targets.

  • Das libpg Library Verzeichnis war hier am falschen Platz erwähnt, was dazu führen konnte, dass die vorher installierte libpg genutzt wurde. Wir müssen hier aber libpg gar nicht linken, so entferne dies.

  • Baue nur ecpg Testcode, wenn der Test ausgeführt werden soll, innerhalb weiteren Testcodes.

  • Repariere xmlconcat Regression Tests.

  • Repariere xmlconcat, indem die XML Deklarationen richtig zusammengefügt werden. Addiere Aggregatfunktion xmlagg.

  • Addiere Unterstützung für das Umwandeln von binären Werten (bytea) in XML Werte, mit dem neuen GUC Parameter “xmlbinary” wird das Ausgabe Encoding kontrolliert, wie im SQL/XML Standard vorgesehen.

  • Nutze optional xml2-config um den Installationspfad für libxml zu finden.

  • Räume Encoding in den XML Typen auf: Im Text Modus werden Deklarationen ignoriert und entfernt, im Binary Modus werden sie, wie im XML Standard spezifiert, behandelt.

Bruce Momjian checkte ein:

  • Aktualisiere Dokumentation, wie template1 gelöscht werden kann.

  • Addiere URL für bitmap Index zu TODO.

  • Addiere URL für “dead space map” zu TODO.

  • Addiere Dokumentation über Memory und Zeiteinheiten zu postgresql.conf. Backpatch für 8.2 für neue initdbs.

  • Aktualisiere Dokumentation über postgresqlconf um die Default Einheiten, die zur postgresql.conf Datei passen, zu erwähnen. Addiere auch Einheiten zu Beschreibungen, bei denen diese fehlt. Wortverbesserungen. Erwähne pg_settings.unit als Weg, wie Standardeinstellungen gefunden werden können. Backpatch für 8.2.x.

  • Verändere max_fsm_pages in postgresql.conf.sample um ein typisches Beispiel zu zeigen, anstatt den Wert zu hoch anzusetzen.

  • Dokumentiere, das zum Entfernen von template1 datistemplate auf ‘false’ gesetzt sein muss. Backpatch für 8.2.

  • Verschiebe Code, der LOG Fehlerlevel zwischen ERROR und PANIC setzt, in die neue Funktion is_log_level_output(), für aufgeräumten Code.

  • Addiere Entwicklerwiki URL zu TODO.

  • Zu TODO addiert: “Erlaube mehrfache Vacuum so das große Tabellen nicht kleine Tabellen ausbremsen” und “Verbessere Kontrolle von Auto-Vacvuum”.

  • Addiere zu TOTO die URL für GUIDs/UUIDs (Globally/Universally Unique Identifiers)

  • Markiere TODO Eintrag “Autovacuum standardmäßig aktiviert” als erledigt.

Tom Lane checkte ein:

  • Passe pgbench an, so das es nicht über Nicht-Select-Queries spuckt, die Tuples zurückliefern, was grundsätzlich mit eigenen Scripts möglich ist (RETURNING, EXPLAIN, ect.).

  • Addiere COST und ROWS Optionen zu CREATE/ALTER FUNCTION, plus zugrundeliegende pg_proc Columns procost und prorows, um einfache Useranpassungen der erwarteten Kosten eines Funktionsaufrufes zu erlauben und zusätzlich die Kontrolle über die erwartete Anzahl Zeilen einer Set-Returning Funktion. Wir werden dies ev. erweitern, um Funktions-spezifische Bewertungsroutinen zu erlauben, aber der Konsens sieht so aus, das wir erst einmal einfache Konstantenbewertung versuchen. Im Detail liefert dies einen relativ einfachen Weg um die Anordnung von verschiedenen WHERE Klauseln, die zu einer Plan Node hinzugefügt werden, zu kontrollieren, was eine gute Sache ist im Hinblick auf die Tatsache, das die letzten EquivalenceClass Planer Änderungen dies nicht so einfach vorhersagen lassen wie vorher.

  • Schreibe einige lsyscache Routinen um, um doppelten Code zu entfernen und einige syscache Aufrufe in make_pathkey_from_sortinfo() einzusparen.

  • Vereinfache pg_am representation von ordering-capable Zugriffsmethoden: liefere nur einen Boolean ‘amcanorder’, anstatt Felder die die Strategienummern des Sortoperators spezifizieren. Wir haben entschieden, ordering-capable AMs zu verlangen, um btree-kompatible Strategienummern zu nutzen, also waren die alten Felder Overkill (und irreführend über das, was erlaubt war).

  • In pgsql/src/backend/utils/error/elog.c, nutze nicht ‘int’ wenn ‘bool’ gemeint ist.

  • Repariere kaputtes Markup in pgsql/doc/src/sgml/installation.sgml.

  • Schreibe die Planer pathkey Datenstruktur um, um eine separate, explizite Darstellung von equivalenten Klassen von Variablen zu erstellen.

  • Addiere einen Hinweis, dass is_pseudo_constant_clause() nicht auf Constraints prüft. Das ist für derzeitige Anwendung OK aber könnte eines Tages Probleme verursachen.

  • Erweitere den gestrigen Patch so das der bgwriter auch darüber informiert wird, wartende fsyncs während eines DROP DATABASE zu vergessen. Offensichtlich notwendig im Nachhinein

  • Überprüfe bgwriters fsync-Anfragen Mechanismus um die Robustheit zu verbessern, wenn eine Tabelle gelöscht wird. Ein Backend, das eine Datei löschen möchte, schickt nun eine “entferne fsync” Anfrage an den bgwriter um anhängende Requests zu entfernen. Es gibt immer noch eine Race Condition, wenn der bgwriter einen fsync versucht, wenn der unlink stattgefunden hat, aber wir können dies lösen, indem wir die Request Queue erneut überprüfen, um zu sehen, ob ein Revoke Request eingetroffen ist. Dies beseitigt die vorherige Problemlösung mit der Annahme, dass ein ENOENT Fehler okay ist und lässt uns die Tatsache handhaben, dass es unter Windows auch EACCES ohne fragwürdige Annahmen sein könnte. Nach einer Idee von mir mit Verbesserungen von Magnus. Der HEAD Patch ist nicht sauber für 8.2 anwendbar, aber ich schaue später nach einem Backport. In der Zwischenzeit kann dies mit etwas Testing unter Windows laufen; ich war in der Lage, es durch den Code Pfad mit ENOENT zu schicken, aber dies beweist nicht, das dies auch das Windows Problem beseitigt.

  • Repariere fehlerhaften Zugriffscheck im information_schema.key_column_usage View: hat einen pg_constraint OID überprüft statt einen pg_class OID, was zu einem “relation with OID nnnnn does not exist” Fehler für jeden, der nicht Eigentümer der Tabelle war, führte. Laut Bug #2848 von Laurence Rowe. Hinweis: für existierende 8.2 Installtionen beseitigt ein simpler Versionsupdate nicht das Problem, der einfachste Fix ist, den View mit der korrekten Definition mit CREATE OR REPLACE zu ändern.

Alvaro Herrera checkte ein:

  • Repariere pg_regress Bruchstelle für PL und contrib Tests, indem nicht verlangt wird, das “input” und “output” Verzeichnisse vorhanden sind.

  • Magnus Haganders’s Patch, mit einigen Änderungen, welcher die sed Rules in den Regression Tests für pg_regress ändert, um die generierten Dateien zu erstellen und es ermöglicht, diese Tests in Visual C++ laufen zu lassen. Die Tests funktionieren weiterhin in VPATH und normalen Builds.

  • Schalte Autovacuum in der Standardkonfiguration ein, siehe Diskussion.

  • Arrangiere, das Autovacuum gekillt wird, wenn ein anderer Prozess alleine Zugriff benötigt, wie DROP DATABASE. Dies erlaubt, dass die Regression Tests mit eingeschaltetem Autovacuum durchlaufen, was letztendlich ermöglicht, das wir Autovacuum per Default aktivieren können.

Neil Conway checkte ein:

  • Aktualisere Doks für die letzte Änderung beim setseed() Rückgabewert.

  • Lasse setseed() void zurückliefern, statt int4 ohne weitere Nutzung. Laut pgsql-patches Diskussion vom 20. September 2006. Erhöhe die catversion.

  • Liste deaktivierte Trigger separat in psql’s "\d " Ausgabe. Vorher wurden deaktivierte Trigger nicht anders dargestellt als aktivierte, was irreführend war. Patch von Brendan Jurd.

  • Schreibe die Index AM API leicht um: verschiebe currentItemData und currentMarkData von IndexScanDesc in die opaque Strukturen für die AMs, die diese Informationen benötigen (derzeit gist und hash). Patch von Heikki Linnakangas, Änderungen von Neil Conway.

  • Regression Tests für large Objects. Patch von Jeremy Drake.

  • Bringe psql’s \lo Slash Befehle bei, den Quiet Mode zu respektieren und die Ausgabe in HTML im HTML Mode zu liefern. Patch von Jeremy Drake.

  • Addiere fehlendes Copyright Material, lasse ruleutils.c das Standardlayout für Header Kommentare nutzen.

  • Erweitere den width_bucket() Regression Test, um unnötige Abhängigkeiten von der Plattform Floating Point Implementation zu vermeiden. Nach einem Report von Stefan Kaltenbrunner.

  • vcbuild Aktualisierungen von Magnus Hagander: nach Markos Patch wird jetzt pgcrypto wieder ohne zlib gebaut, aktualisiere README mit xml Info, prüft xml Abhängigkeiten auf xslt und iconv, deaktiviert eine unnötige Warnung über __cdelc() und addiert buildenv.bat Aufrufe von allen anderen bat Dateien, um Dinge wie Pfade für flex/bison zu setzen. (Kann dies nicht vor dem Aufruf setzen, das funktioniert nicht immer, wenn vom GUI aus gebaut wird)

  • Implementiere width_bucket für den float8 Datentyp.

  • Kleinere Verbesserungen für die TODO Liste. Addiere einige URLs für einige existierende TODO Einträge, und trage wieder einen Punkt für “erwartete Anzahl” Fähigkeiten ein.

  • Korrigiere eine kleine Inkorrektheit in der pg_dumpall Referenzseite: -g dumped Rollen und Tablespaces, nicht länger User und Gruppen. Von Dave Page. Backport zu 8.2 und 8.1.

Teodor Sigaev checkte ein:

  • Repariere Lokalisierungssupport für Multibyte Encoding und C Lokale. Leicht modifizierter Patch von Tatsuo Ishii.

== Abgelehnte Patches (bis jetzt) ==

Niemand wurde diese Woche enttäuscht

== Eingesandte Patches ==

Greg Sabino Mullane sandte einen Patch, welcher es pg_dump erlaubt, DDL Systemobjekte sauber formatiert auszugeben.

Gurjeet Singh sandte neue Versionen seines pg_post_planner_plugin, um DDL für Systemobjekte sauber formatiert auszugeben.

Magnus Hagander sandte einen Patch für das vcbuiild Script, welches pgcrypto wieder ohne zlib baut, aktualisiert README mit xml Info, prüft xml Abhängigkeiten auf xslt und iconv, deaktiviert eine unnötige Warnung über __cdelc() und addiert buildenv.bat Aufrufe von allen anderen bat Dateien, um Dinge wie Pfade für flex/bison zu setzen. (Kann dies nicht vor dem Aufruf setzen, das funktioniert nicht immer, wenn vom GUI aus gebaut wird)

Dave Page sandte einen Patch, welcher -f (–file=FILENAME) und -l (–default-database=) zu pg_dumpall addiert.

ITAGAKI Takahiro sandte einen Patch, welcher O_DIRECT Unterstützung für Windows addiert.

Arul Shaji sandte einen Patch, welcher pg_get_domaindef(oid) implementiert.

Gevik Babakhani sandte seinen Patch für die Implementierung des UUID Datentypes erneut ein.


Zum Artikel im Blog…

Datum: Wed, 24 Jan 2007 03:03:06 +0100