Der Originalartikel befindet sich unter: http://people.planetpostgresql.org=
/dfetter/index.php?/archives/99-PostgreSQL-Weekly-News-Janua ry-07-2007.html
=3D=3D Wöchentlicher PostgreSQL Newsletter - 7. Januar 2007 =3D=3D
Die Planungsgruppe für PGCon 2007 wurde angekündigt.
http://archives.postgresql.org/pgsql-advocacy/2007-01/msg000 14.php
=3D=3D PostgreSQL Produkt Neuigkeiten =3D=3D
Sicherheitsupdates für 8.2.1, 8.1.6, 8.0.10, 7.4.15 und 7.3.17 werden bal=
d herausgegeben, ebenfalls Packete für Red Hat, Fedora, Debian und Ubuntu=
.. Fertigmachen zum schnellstmöglichen Updaten.
=3D=3D PostgreSQL Lokal =3D=3D
Meredith Patterson präsentiert: Verhindern von SQL Injection mit Libdejec=
tor
am Dienstag, den 9. Januar 2007 um 19:30 in San Mateo, Kalifornien. RSVP un=
ter folgender URL.
http://postgresql.meetup.com/1/calendar/5324165/
Bitte übermittle deine Vorschläge für die PGCon 2007. PGCon wird in O=
ttawa, 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 PostgreS=
QL Communities werden dort sein. Kontaktiere de [at] postgresql.org um teilzuneh=
men.
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
=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
Um deine Beiträge für die nächste Ausgabe zu übermitteln, sende die=
se an david [at] fetter.org bis Sonntag, 15:00 Uhr Pazifischer Zeit.
=3D=3D Angewandte Patches =3D=3D
Peter Eisentraut checkte ein:
- Rücke Kommentare in Makefiles ein so das sie nicht in der Ausgabe ersch=
einen.
- erlaube XML Deklarationen in XML Fragmenten. Wir brauchen dafür einen k=
leinen handgeschriebenen Parser für die XML Deklarationen, denn libxml sc=
heint dies nicht zu erlauben.
- Ersetze xmlroot mit einer richtig funktionierenden Version die die Werte =
parst, Begriffe setzt und Werte zurück serialisiert (anstatt eine willk=
ürliche Nummer hinzuzufügen wie zuvor). Das libxml Speichermanagement =
über palloc musste deaktiviert werden, da es crashte wenn libxml versucht=
hat, auch Speicher zuzugreifen, den PostgreSQL zuvor bereits freigegegen h=
at. Dies benötigt weiteres Nachdenken.
Andrew Dunstan checkte ein:
- Rufe setrlimit wenn möglich in pg_regress auf um das Erstellen von Core=
files zu ermöglichen und stelle einen Schalter für das gleiche Verhalte=
n in pg_ctl bereit.
Tom Lane checkte ein:
- Repariere einen übersehenen Fehler in der Handhabung von Row-vergleiche=
nden Index Schlüsseln: wenn die Zeile nicht genau dem Index entspricht, m=
üssen wir unsere anfänglich gewählte Positionierungsstrategie änder=
n. Als Beispiel: gegeben sei ein Index auf (f1,f2,f3) und eine WHERE Beding=
ung "ROW(2,3) > ROW(2,3), der Code extrahiert die anfängliche Positionsbe=
dingung "f1 > 2", was falsch ist ... es muss "f1 >=3D 2" sein, andernfalls =
werden einige Zeilen, die der WHERE Bedingung entsprechen, nicht zurückge=
liefert. Patch wird nur auf 8.2 angewandt, ich werde es in HEAD später ko=
rrigieren als Teil der geplanten Index Verbesserungen (umgekehrtes Sortiere=
n und NULL FIRST/LAST).
- Repariere filtered_base_yylex() um base_yylval und base_yylloc bei einem =
Lookahead zu speichern und zu restaurieren. Dieser Mangel war Ursache für=
verschiedene kuriose Fehlverhalten wenn jemand versucht hat, "with" als ei=
nen normalen Bezeichner zu verwenden.
- Verweise auf GUC Variablen aus der HISTORY haben in vergangenen Branches =
nicht funktioniert.
- Füge ERANGE Tests in dpow() wieder ein. Es gibt Plattformen, die das be=
nötigen, wie mein HPPA ...
- Greg Sabino Mullane's Patch um fehlende Referenzen zu pg_shdescription zu=
addieren.
- Magnus Hagander's Patch welcher AddDefine korrigiert um Quotes sauber zu =
handhaben.
- Zwicke pg_dumpall um GRANT CONNECT ON DATABASE ... TO PUBLIC zu addieren,=
wenn Datenbank Privilegien von einem Pre-8.2 Server gedumpt werden. Dies s=
tellt sicher, das die neu geladene Datenbank das selbe Verhalten sicherstel=
lt wie in der vorherigen Installation, z.B. jeder hat Connect Rechte. Nach =
einem Hinweis von L Bayuk.
- Greg Stark's Patch welcher einige kleine Fehler in Kommentaren beseitigt.
- Repariere fehlerhafte Implementierung von -s in postmaster.c (der Schalte=
r nimmt keine Argumente an). Addiere einige Kommentare das Code an drei ver=
schiedenen Stellen aktuell gehalten werden muss. Repariere fehlerhafte Besc=
hreibung des -S Schalters (er setzt work_mem nicht silent_mode), und erledi=
ge einige kleinere =C4nderungen in postgres-ref.
- Repariere regex_fixed_prefix() um vernünftig mit Regexp Pattern der For=
m '^(foo)$' umzugehen. Vorher konnten diese niemals in Indexscans umgewande=
lt werden. Die letzten =C4nderungen an psql und pg_dump generieren solche P=
attern (beziehungsweise für \d Kommandos und -t und relevante Schalter) d=
eshalb repräsentierten sie einen großen Performance Hit für Leute mit=
einem großen pg_class Kalatog, wie gesehen in einer Nachricht von Erik J=
ones. Wenn wir schon dabei sind, sei mehr paranoid über case-sensitive Ve=
rgleiche in Multibyte Encodings und repariere einige andere Ecken in denen =
ein Regexp zu liberal interpretiert werden könnte.
- Repariere fehlerhafte Tests in pow/exp.
- Repariere btree_gist für neue größere Money Typen.
- Räume smgr.c/md.c APIs aufgrund einer Diskussion mehrere Monate zuvor a=
uf. Anstatt das md.c ein success/failure Flag an smgr.c zurückliefert, we=
lches bloss geloggt wird, lasse md.c die Tatsache selber loggen. Dies erlau=
bt bessere Fehlermessages, besonders in Situationen mit "short read" oder "=
short write" über die sich Peter beschwert hat. Entferne ebenfalls den Ha=
ck um mdread() zu erlauben, Null zurückzuliefern wenn über das Fileende=
hinaus gelesen wurde: dies ist nun eine Fehlerbedingung ausser in InRecove=
ry oder wenn damages_pages =3D true gesetzt ist. (Hash Indexe haben dies Ve=
rhalten verlangt, aber jetzt nicht mehr.) Stelle auch sicher, das mdwrite()=
genutzt wird um existierende Blöcke neu zu schreiben während mdextend(=
) genutzt wird um die Relation zu erweitern. Diese Einschränkung befreit =
uns von dem alten Ad-Hoc Schutz gegen das Erstellen großer Dateien bei ei=
ner zufälligen Referenz auf eine falsche Blocknummer: wir erstellen neue =
Segmente nur in mdextend() nicht in mdwrite() oder mdread(). (Ebenfalls, in=
InRecovery erlauben wir es dennoch, denn wir müssen das Updaten von Bloc=
ks erlauben die später gekürzt werden.) Räume ebenfalls den originale=
n makeshift Patch für Bug #2737 auf: verschiebe die Zuständigkeit für=
das Auffüllen von Relation Segmenten auf eine volle Länge in md.c.
- Addiere einen Regression Test für ALTER SET TABLESPACE; dies ist ein ko=
mplett separater Codepfad in tablecmds.c der früher nicht überprüft w=
urde.
Bruce Momjian checkte ein:
- Entferne von TODO: "Erlaube die Bezeichnerlänge über eine Configure O=
ption zu vergrößern"
- TODO Updates für den MONEY Datentyp.
- In TODO, markiere als erledigt: "Erlaube es userdefinierten Typen 'typmod=
' Parameter zu akzeptieren"
- Addiere zum TODO: "Nutze konsistente long/short Kommandozeilen Optionen -=
-- pg_ctl braucht lange, pg_config hat keine kurzen, postgres hat nicht gen=
ügend lange, und so weiter."
- Addiere zu TODO: "Ziehe in Betracht, den -C String in einzelne Queries zu=
parsen und jeden in seiner eigenen Transaktion auszuführen" und "Ziehe i=
n Betracht, keine mehrfachen Queries in PQexec() zu erlauben um eine zusä=
tzliche Barriere für SQL Injection Attacken zu schaffen"
- Wende Fix für pow() und exp() an so das diese ERANGE nutzen wenn das Er=
gebnis nicht 0 ist.
- Verschiebe INDEX Vererbung in eine separate TODO Listen Sektion.
- Euler Taveira de Oliveira's Patch welcher initdb erlaubt, das pg_xlog Ver=
zeichnis anzugeben. TODO als erledigt markiert :)
- Dokumentiere Probleme mit Release Links in frühen Branches.
- Prüfe auf ERANGE ebenfalls in exp(). Verbessere Dokumentation für ecp=
g Regression Tests.
- Verbessere dpow() Prüfung auf ERANGE =DCberlauf bei HPPA.
- Entferne zusätzliches Zeichen welches bei "top" addiert war.
- Repariere Markup denn lc_numeric hat kein SGML Tag in diesem Release.
- Repariere markup denn ältere Versionen konnten die Referenz Sektion nic=
ht verlinken.
- Dokumentiere das wir die ecpg Regression Dateien aktualisieren müssen w=
enn wir die Library Versionsnummer aktualisieren.
- Aktualisiere ecpg Regression Ausgabe für neue Library Versionsnummer.
- Stefan Kaltenbrunner's Patch zur Aktualisierung des float dpow() Kommenta=
rs welche Plattformen ein Problem mit Nan haben.
- =C4ndere Tab zu Leerzeichen Erwähnung in FAQ_DEV.
- Einfache Zuweisung von Inf zu pow Nan (keine Beachtung des Vorzeichens).
- Aktualisiere pow() Tests um zu prüfen das errno=3D=3DEDOM _und_ result=
=3D=3DNan, und dokumentiere warum dies passieren kann. Entferne exp() errno=
Prüfung da unnötig.
- Versuche richtige =DCberlauf/Unterlauf Nachrichten zurückzuliefern fü=
r Plattformen die nur Nan zurückliefern und errno setzen für pow/exp =
=DCberlauf/Unterlauf.
- Für float4/8, entferne errno Prüfungen für pow() und exp() denn nur=
einige Plattformen setzen errno und wir haben bereits ein Prüfmakro das =
=DCberläufe/Unterläufe entdeckt, so das keine Notwendigkeit für platt=
formspezifischen Code mehr besteht.
- In pgsql/src/test/regress/expected/inet.out, aktualisiere Ergebnis für =
neuen Inet Fehlermessage Wortlaut.
- Adjustiere Netzwerk errmsg("Ergebnis ist ausserhalb des Bereiches") Meldu=
ng um konsistent mit anderen Bereichen zu sein.
- Einige Plattformen setzen errno bei pow(), exp() =DCberlauf, einige tun d=
ies nicht, so wenn isinf(), falle zurück auf unsere eigenen Infinity Pr=
üfungen.
- finite() wird nicht länger genutzt, entferne Plattform spezifische Infr=
astruktur.
- Glen Parker's Patch welcher n_live_tuples und n_dead_tuples zu pg_stat_al=
l_tables addiert. Der Grund ist um autovacuum-esq bedingte Vacuum und Clust=
ering Operationen zu erlauben und dies durch SQL herauszufinden. Catalog Ve=
rsion aktualisiert.
- Addiere #include <float.h> für Plattformen die dies immer noch benöti=
gen.
- Repariere float4/8 um infinity und Nan gleich zu behandeln, z.B. Infinity=
ist ein gültiges Ergebnis einer Berechnung wenn eine der Eingaben Infini=
ty war. Der vorherige Code nahm an, dass das zurückgelieferte Infinity ei=
n =DCberlauf war. Handhabe =DCberlauf/Unterlauf gleich, und addiere Prüfu=
ngen für Aggregat =DCberläufe. Konsequenterweise beuge vor so das Inf/N=
an nicht in Integer Datentypen gecastet werden können. Repariere INT_MIN =
% -1 um einen =DCberlauf zu verhindern. Aktualisiere Regression Ergebnisse =
für den neuen Fehlertext. Laut einem Report von Roman Kononov.
=3D=3D Abgelehnte Patches (bis jetzt) =3D=3D
Niemand wurde diese Woche enttäuscht :-)
=3D=3D Eingesandte Patches =3D=3D
Simon Riggs sandte eine Version ein, dann eine korrigierte Version eines Pa=
tches die eine GUC Variable wall_checksum addiert, aufgrund einer Diskussio=
n.
http://archives.postgresql.org/pgsql-hackers/2006-10/msg0129 9.php
Bill Moran sandte zwei Revisionen seines Patches ein um die Nutzung von tem=
porären Dateien zu loggen.
Gurjeet Singh sandte eine andere Revision seines "Index Advisor" Patches ei=
n, diesmal mit einigen Bugfixes und einer Verbesserung der Größen Bewer=
tungs Funktion. Er enthält auch einen Workaround um ein früheres Proble=
m in xact.c zu umgehen; er gibt nun vor, ein PL/xxx Modul zu sein durch umg=
eben von BIST()/RARCST() Aufrufe in einem SPI_connect()/SPI_finish() Block.
Heikki Linnakangas sandte einen Patch ein der das t_natts Feld umbenennt zu=
t_infomask2, mit 11 Bits reserviert für die Anzahl Attribute und die and=
eren 5 Bits verfügbar für zukünftige Erweiterungen. Dies ist beabsich=
tigt um den Fakt zu addressieren, das der Tuple Header voll wird, darum k=
önnen im Gegenzug der Phantom Command IDs Patch und der HOT Patch nicht p=
arallel existieren.
--
Andreas 'ads' Scherbaum
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
