Der Originalartikel befindet sich unter: http://people.planetpostgresql.org=
/dfetter/index.php?/archives/98-PostgreSQL-Weekly-News-Janua ry-01-2007.html
=3D=3D Wöchentlicher PostgreSQL Newsletter - 1. Januar 2007 =3D=3D
Ein frohes neues Jahr vom wöchentlichen PostgreSQL Newsletter!
Chad Wagner hat einige Foren zusammengestellt, um über PostgreSQL zu disk=
utieren.
http://www.postgresqlforums.com/forums/
Hier sind einige Instruktionen, um einen Sun Cluster mit PostgreSQL zu inst=
allieren.
http://docs.sun.com/app/docs/doc/819-5578?q=3D+postgresql
=3D=3D PostgreSQL Produkt Neuigkeiten =3D=3D
phpPgAdmin 4.1-Beta-1 erschienen.
http://phppgadmin.sourceforge.net
pgadmin3 1.6.1 RPMs für Fedora Core 6 und 7 wurden erstellt. Sie sind auf=
der
PostgreSQL FTP Seite zu finden.
postgis 1.2.0 ist jetzt in Fedora Core Extras 6.
=3D=3D PostgreSQL Lokal =3D=3D
Die Italienische PostgreSQL Community wird einen PostgreSQL Tag im
Sommer abhalten. Bookmarke den folgenden Link, um teilzunehmen.
http://www.pgday.it
Der Wöchentliche PostgreSQL Newsletter sendet ein herzliches Willkommen
an die Indonesische PostgreSQL Community.
http://tech.groups.yahoo.com/group/postgresql_indo/
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
=3D=3D PostgreSQL in den News =3D=3D
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
=3D=3D Angewandte Patches =3D=3D
ISHII Tatsuo checkte ein:
- In pgsql/contrib/pgbench/pgbench.c, nutze srandom() statt srand(). pgbenc=
h ruft random() später auf, darum sollte srandom() benutzt werden. Auf de=
n meisten Plattformen ist srandom() identisch zu srand(), so das der Bug nu=
r Windows User betrifft. Laut Bugreport von Akio Ishida.
Teodor Sigaev checkte ein:
- In pgsql/contrib/tsearch2/dict_thesaurus.c, beseitige Speicher Reallokati=
on Fehler.
Tom Lane checkte ein:
- Problem in meinen Operator-Family =C4nderungen gefunden: beim Holen von p=
g_opclass durch LookupOpclassInfo() habe ich pg_opclass_oid_index in einen =
kritischen System Index umgeändert. Jedoch kann das Problem nur auftreten=
beim ersten Versuch des Backends, die opclass Daten zu laden und dann auch=
nur, wenn pg_internal.init erfolgreich geladen war und einen relcache Flus=
h auftrat. Dies machte es unmöglich den Fehler in seriellen Tests zu repr=
oduzieren und auch nur sehr schwer bei parallelen Tests. Memo an mich: wenn=
Cache Löschen Szenarios betrachtet werden, muss der interne Cache von Lo=
okupOpclassInfo ebenfalls deaktiviert werden.
- Unterstütze Modifier für User-definierte Typen und packe das meiste W=
issen über typmod Darstellungen für Standard Typen in Type-spezifische =
typmod I/O-Funktionen. Von Teodor Sigaev, mit einigen =C4nderungen von Tom =
Lane.
- Magnus Hagander sandte einen Patch der Unterstützung für das kürzli=
ch hinzugefügte XML Backend im MSVC Build hinzufügt. Der meiste Configt=
eil war bereits in contrib/xml2 vorhanden, aber es war notwendig, die Inclu=
des und Defines für das Backend auch hinzuzufügen.
- Magnus Haganders Patch um Unterstützung für XML Build Optionen zu den=
MSVC Build Scripts hinzuzufügen.
- Fixe mehrfache Fehlerstellen im letzten XML Patch.
- Repariere btrees initiales ScanKey Bearbeiten um redundante oder gegens=
ätzliche Keys entdecken zu können, auch in Cross-Datentyp Szenarien. Di=
es ist ein anderer Vorteil der opfamily =C4nderungen: wir können die ben=
ötigten Vergleichsoperatoren jetzt finden.
- Entferne Warnung über Vermeidung von Cross-Type Operatoren in Contraint=
s die für Constraint Ausschluß vorgesehen waren. Wir können solche Fl=
le nun beweisen ...
- Aktiviere btree_predicate_proof() um Beweise für die Beteiligung von Cr=
oss-Data-Type Eigenschaften zu erzeugen. Es sieht so aus, als sei das meist=
e Zeug schon im letzten Commit gewesen, wir müssten lediglich die Schleus=
en öffnen.
- In tsearch2, addiere einen Schutz um Coredumps zu vermeiden, wenn Version=
8.2 von rank_cd() mit der SQL Definition von Version 8.1 genutzt wird. Lau=
t Bugreport von Rajesh Kumar Mallah, so ein DBA Fehler sieht nicht unwahrsc=
heinlich aus und die Kosten für das Prüfen sind nicht sehr hoch verglic=
hen mit den Kosten für das Ausführen der Funktion. (Es wäre besser ge=
wesen, wenn der C Name der Funktion geändert worden wäre so das sie nic=
ht von der alten SQL Definition aufgerufen werden kann, aber nun ist es zu =
spät für den 8.2 Branch.)
- In psql, rufe fflush für die \o Datei auf, wenn gegeben, nach jedem Bac=
kslash Befehl.
Wir tun dies bereits für herkömmliche SQL Befehle, so sieht es konsiste=
nt aus, dies auch für Backslash Befehle zu tun. Von Rajesh Kumar Mallah.
- export.list =C4nderungen zurücksetzen für genauere Studien.
- Nutze eine mehr Rückwärtskompatible Syntax für exports.list unter L=
inux. Von Thorkil Olesen.
- Verbessere den Memory Management Code um ineffektives verhalten zu vermei=
den wenn ein Kontext eine kleine maxBlockSize hat: die maximale Request Gr=
öße die wir als einen "chunk" behandeln muss limitiert werden um in max=
BlockSize zu passen. Andernfalls runden wir die Request Größe auf das n=
ächste Vielfache von 2 auf, verbrauchen Speicher, was ein bischen sinnlos=
ist wenn wir die Blöcke nicht groß genug machen, um zusätzliche Sach=
en darin zu speichern. Das Beispiel dafür ist das lokale Buffermanagement=
, welches wiederholt 8k Blöcke (ein BLCKSZ Buffer) in TopMemoryContext an=
fordert, welches eine maxBlockSize von 8k hat, weil die meisten Teilanforde=
rungen dort klein sind. Dies führt dazu, das jeder lokale Buffer eigentli=
ch 16k Speicher verbraucht, was sich aufsummiert, wenn Tausende davon genut=
zt werden. Ich neige dazu, localbuf.c zu ändern um die Requests zu sammel=
n, dies würde dieses einzelne Fehlverhalten zu verhindern, aber das Haupt=
problem zu beseitigen sieht auch sinnvoll aus.
- In psql, printe kombinierte Zeichen (solche die eine Nulllänge bei PQds=
plen() haben) normal, anstatt sie mit \uXXXX Sequenzen zu ersetzen. Nimm an=
, das sie in Fakt Null Zeichen auf dem Bildschirm für das Formatieren ver=
brauchen. Von Michael Fuhr und folgender Diskussion.
- In der Dokumentation für Rules, nutze eine FROM Klausel in den Beispiel=
UPDATE Befehlen wo dies angemessen ist. Entferne auch ein lange Zeit übe=
rfälliges Statement dass da keine Prüfung für unendliche Rekursion in=
View Rules ist.
- Repariere kaputtes Markup in der Monitorung Dokumentation.
- Repariere Fehler beim Zugriff auf einen bereits freigegebenen Tuple Zeige=
r in einem Plan der HashAggregate über einem SubqueryScan nutzt (dies ist=
ein bekannter Fall, da können noch mehr sein). Dieser Bug ist in Release=
s vor 8.2 nur verborgen, da diese nicht versuchen auf tupletable Slots wä=
hrend ExecDropTupleTable zuzugreifen. Der letzte kleinste Fix sieht so aus,=
dass Subqueries sich den Speicherkontext mit dem Parent Queries teilen, so=
das tupdescs die gleiche Lebensdauer haben wie der Parent Query. Da sind K=
ommentare im Code um zu vergegenwärtigen das noch weiter gegangen werden =
kann und gar kein eigener EState für den Child gebraucht wird, aber dies =
erfordert weiteres =DCberdenken für Executor Zugriffe auf die Range Tabel=
len und dies mag ich derzeit nicht angehen. Laut Bugreport von Jean-Pierre =
Pelletier.
- Repariere Bug #2839: die verschiedenen ExecReScan Funktionen müssen ps_=
TupFromTlist in Planknoten zurücksetzen, wenn sie es benutzen. Dies wurde=
bereits richtig in Join Knoten und Ergebnis Knoten genutzt aber nicht in d=
en Relation-Scan Knoten. Dieser Fehler würde zu falschen Ergebnissen fü=
hren wenn eine Set-Returning Funktion in der Zielliste eines Subqueries auf=
taucht, als Beispiel in einem EXISTS(). Dieser Bug war seit jeher vorhanden=
:-( ... erstaunlich das er nie zuvor berichtet wurde.
- Repariere Bug #2836: SPI_execute_plan lieferte Null zurück, wenn keiner=
der Querytrees als canSetTag markiert wurde. Während es selbstverständ=
lich richtig ist das letzte Resultset zurückzuliefern, das als canSetTag =
markiert ist, war es weniger klar, was zu tun ist wenn keiner davon da war.=
Da plpgsql sich beschwert wenn Null zurückgeliefert wird, ist das 8.2.0 =
Verhalten nicht gut. Ich habe es repariert indem ich den vorherigen Zustand=
wiederhergestellt habe, wo das letzte Query Ergebnis zurückgeliefert wir=
d, wenn keine canSetTag Queries vorhanden sind.
- Enferne falsches Semikolon in einem PL/PgSQL Beispiel, von Joachim Wielan=
d.
Bruce Momjian checkte ein:
- Klärende Worte wann ctid geändert wird bei VACUUM FULL.
- Addiere TLS Thread URL zur TODO:
http://archives.postgresql.org/pgsql-hackers/2006-12/msg0121 3.php
- Entferne missverstandenen TODO: "Addiere ein GUC um zu kontrollieren ob B=
EGIN in einer Transaktion soll die Transaktion abbrechen."
- Entferne von TODO, "verschiebe GPL-lizensiertes /contrib/userlock und
/contrib/dbmirror/clean_pending.pl" da sie komplett sind.
- Räume pgindent Verhalten für Kommentare nach einem 'else' auf indem m=
ehrzeilige Kommentare in die nächste Zeile verschoben werden.
- In den Docs, nutze "dead" statt "expired" für vacuum-fähige Zeilen.
Peter Eisentraut checkte ein:
- De-Escape XML namen beim Reverse-Kompilieren von XML Ausdrücken.
- Addiere Sende und Empfang Funktionen für XML Typ.
- Handhabe Inhalt und Dokument Optionen in xmlparse() richtig.
=3D=3D Abgelehnte Patches (bis jetzt) =3D=3D
Niemand wurde diese Woche enttäuscht :-)
=3D=3D Schwebende Patches =3D=3D
Euler Taveira de Oliveira sandte einen Patch der dir erlaubt das xlog Verze=
ichnis zum initdb Zeitpunkt anzugeben. Er benutzt Symlinks um dies zu bewer=
kstelligen und erstellt oder setzt zugriffsrechte passend für das Verzeic=
hnis.
Dhanaraj M sandte einen Patch ein der es erlaubt, die Bezeichner Länge mi=
ttels einer configure Option zu ändern.
ITAGAKI Takahiro sandte einen Patch für den TODO Eintrag "erstelle eine B=
itmap der Seiten, die Vacuum benötigen" (aka Toter Platz Karte) ein.
Albert Cervera Areny sandte eine neue Version seines Patches der Tablespace=
s für temporäre Objekte und Sort Dateien ermöglicht.
Simon Riggs sandte zwei weitere Revisionen seines pg_standby Patches.
Andrew Dunstan sandte einen Patch für pg_ctl ein der es core dumpen läs=
st.
Magnus Hagander sandte seinen work-in-progress Patch um pg_regress zu erm=
öglichen, komplett ausserhalb von msys unter Win32 zu laufen.
Magnus Hagander sandte einen einzeiligen Patch für src/tools/msvc/Project=
..pm der die Möglichkeit addiert um defines zu handhaben, die Textwerte se=
tzen - " muss in XML gequotet werden.
--
Andreas 'ads' Scherbaum
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org
