From 5be1e13dd19773654a04f226004118852153baf9 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Mon, 17 Jan 2005 02:42:31 +0000
Subject: [PATCH] Update German FAQ.

Ian Barwick
---
 doc/FAQ_german              | 165 +++---
 doc/src/FAQ/FAQ_german.html | 980 ++++++++++++++++++------------------
 2 files changed, 558 insertions(+), 587 deletions(-)

diff --git a/doc/FAQ_german b/doc/FAQ_german
index 262740f1d7..49375224b4 100644
--- a/doc/FAQ_german
+++ b/doc/FAQ_german
@@ -5,17 +5,19 @@
    
    Deutsche �bersetzung von Ian Barwick (barwick@gmx.net).
    
-   Letzte Aktualisierung der deutschen �bersetzung: Fr., den 17.12.2004,
+   Letzte Aktualisierung der deutschen �bersetzung: So., den 16.1.2005,
    22:30 MEZ
    
    Die aktuellste Version dieses Dokuments liegt auf der
    PostgreSQL-Website:
-     * http://www.postgresql.org/docs/faqs/FAQ.html (engl.)
-     * http://www.postgresql.org/docs/faqs/FAQ_german.html (dt.)
+     * http://www.postgresql.org/files/documentation/faqs/FAQ.html
+       (engl.)
+     * http://www.postgresql.org/files/documentation/faqs/FAQ_german.html
+       (dt.)
        
    �bersetzungen dieses Dokuments in andere Sprachen sowie plattform-
-   spezifische FAQs k�nnen unter
-   http://www.postgresql.org/docs/index.html#faqs eingesehen werden.
+   spezifische FAQs k�nnen unter http://www.postgresql.org/docs/faq/
+   eingesehen werden.
      _________________________________________________________________
    
                              Allgemeine Fragen
@@ -69,55 +71,52 @@
    Cursors?
    4.2) Wie w�hle ich per SELECT-Anweisung nur die ersten paar Zeilen
    bzw. eine beliebige Zeile in einer Abfrage aus?
-   4.3) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die
-   ich in psql sehen kann?
+   4.3) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder
+   Benutzer in der Datenbank definiert sind? Wie bekomme ich die von psql
+   verwendeten Abfragen?
    4.4) Wie entferne ich eine Spalte aus einer Tabelle? Wie �ndere ich
    den Datentyp einer Spalte?
    4.5) Was ist die Maximalgr��e f�r eine Zeile, eine Tabelle, eine
    Datenbank?
    4.6) Wieviel Plattenplatz wird ben�tigt, um die Daten aus einer
    typischen Textdatei abzuspeichern?
-   4.7) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder
-   Benutzer in der Datenbank definiert sind?Wie finde ich heraus, welche
-   Indizes oder Operationen in der Datenbank definiert sind?
-   4.8) Meine Abfragen sind langsam oder nutzen die Indizes nicht. Warum?
-   4.9) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer
+   4.7) Meine Abfragen sind langsam oder nutzen die Indizes nicht. Warum?
+   4.8) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer
    ("GEQO") meine Abfrage auswertet?
-   4.10) Was ist ein R-Tree Index?
-   4.11) Was ist der "Genetic Query Optimizer"?
-   4.12) Wie verfahre ich bei der Suche mit regul�ren Ausdr�cken und bei
+   4.9) Was ist ein R-Tree Index?
+   4.10) Was ist der "Genetic Query Optimizer"?
+   4.11) Wie verfahre ich bei der Suche mit regul�ren Ausdr�cken und bei
    einer Suche, bei der Gro�- und Kleinschreibweisen ignoriert werden?
    Wie verwende ich bei solchen Suchabfragen einen Index?
-   4.13) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?
-   4.14) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?
-   4.15.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh�hung
+   4.12) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?
+   4.13) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?
+   4.14.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh�hung
    des Wertes?
-   4.15.2) Wie bekomme ich den Wert einer SERIAL-Sequenz?
-   4.15.3) F�hrt currval() zu einer Race-Condition mit anderen Nutzern?
-   4.15.4) Warum werden die Sequenzwerte nach einem Transaktionsabbruch
+   4.14.2) Wie bekomme ich den Wert einer SERIAL-Sequenz?
+   4.14.3) F�hrt currval() zu einer Race-Condition mit anderen Nutzern?
+   4.14.4) Warum werden die Sequenzwerte nach einem Transaktionsabbruch
    nicht zur�ckgesetzt? Warum gibt es L�cken in der Nummerierung meiner
    Sequenz-/SERIAL-Spalte?
-   4.16) Was ist ein OID? Was ist ein TID?
-   4.17) Welche Bedeutung haben die verschiedenen Ausdr�cke, die in
+   4.15) Was ist ein OID? Was ist ein TID?
+   4.16) Welche Bedeutung haben die verschiedenen Ausdr�cke, die in
    PostgreSQL benutzt werden (z.B. attribute, class,...)?
-   4.18) Wieso bekomme ich den Fehler: "FATAL: Memory exhausted in
+   4.17) Wieso bekomme ich den Fehler: "FATAL: Memory exhausted in
    AllocSetAlloc()"?
-   4.19) Wie kann ich feststellen, welche PostgreSQL-Version bei mir
+   4.18) Wie kann ich feststellen, welche PostgreSQL-Version bei mir
    l�uft?
-   4.20) Bei "large-object"-Operationen kommt die Fehlermeldung: "invalid
+   4.19) Bei "large-object"-Operationen kommt die Fehlermeldung: "invalid
    large obj descriptor". Warum?
-   4.21) Wie kann ich eine Spalte erstellen, deren Default-Wert immer die
+   4.20) Wie kann ich eine Spalte erstellen, deren Default-Wert immer die
    aktuelle Uhrzeit enthalten soll?
-   4.22) Warum sind meine Unterabfragen (subqueries), die IN verwenden,
+   4.21) Warum sind meine Unterabfragen (subqueries), die IN verwenden,
    so langsam?
-   4.23) Wie f�hre ich einen OUTER JOIN durch?
-   4.24) Wie kann ich Abfragen �ber mehrere Datenbanken hinweg ausf�hren?
-   4.25) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
+   4.22) Wie f�hre ich einen OUTER JOIN durch?
+   4.23) Wie kann ich Abfragen �ber mehrere Datenbanken hinweg ausf�hren?
+   4.24) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
    zur�ckgeben lassen?
-   4.26) Warum kann ich tempor�re Tabellen in PL/PgSQL-Funktionen nicht
+   4.25) Warum kann ich tempor�re Tabellen in PL/PgSQL-Funktionen nicht
    zuverl�ssig erstellen bzw. l�schen?
-   4.27) Welche M�glichkeiten zur Datenbank-Replikation gibt es?
-   4.28) Welche M�glichkeiten zur Verschl�sselung gibt es?
+   4.26) Welche M�glichkeiten zur Verschl�sselung gibt es?
    
                             PostgreSQL erweitern
                                       
@@ -135,10 +134,8 @@
                                       
     1.1) Was ist PostgreSQL? Wie wird es ausgesprochen?
     
-   Die (englische) Aussprache ist "Post-Gres-Q-L". Eine MP3-Datei zum
-   Anh�ren gibt es hier: http://www.postgresql.org/postgresql.mp3. Im
-   allgemeinen Sprachgebrauch hat sich die Kurzform "Postgres" auch
-   durchgesetzt.
+   Die (englische) Aussprache ist "Post-Gres-Q-L". Im allgemeinen
+   Sprachgebrauch hat sich die Kurzform "Postgres" auch durchgesetzt.
    
    PostgreSQL ist eine Weiterentwicklung des POSTGRES-Datenbank-Systems,
    eines zukunftsweisenden DBMS-Forschungsprototyps. W�hrend PostgreSQL
@@ -175,7 +172,7 @@
    
    PostgreSQL Data Base Management System
    
-   Portions copyright (c) 1996-2004, PostgreSQL Global Development Group
+   Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
    Portions Copyright (c) 1994-6 Regents of the University of California
    
    Permission to use, copy, modify, and distribute this software and its
@@ -228,6 +225,10 @@
    Eine Portierung f�r Novell Netware 6 gibt es unter
    http://forge.novell.com.
    
+   F�r OS/2 (eComStation) gibt es eine Version hier:
+   http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre
+   SQL&stype=all&sort=type&dir=%2F
+   
     1.5) Woher bekomme ich PostgreSQL?
     
    Der zentrale FTP-Server f�r PostgreSQL ist der ftp-Server
@@ -285,7 +286,7 @@
    
     1.7) Was ist die neueste Version von PostgreSQL?
     
-   Die neueste Version von PostgreSQL ist 7.4.6 .
+   Die neueste Version von PostgreSQL ist 8.0.0 .
    
    Die Freigabe einer neuen Version erfolgt im Schnitt alle 6 bis 8
    Monaten.
@@ -531,8 +532,9 @@
    Serverprozesse ab, die Sie f�r postmaster konfiguriert haben. Bei den
    voreingestellten Werten f�r Puffer und Prozesse ben�tigen Sie bei den
    meisten Systemen ein Minimum von ca. 1 MB. Der "PostgreSQL
-   Administrator's Guide" () enth�lt weitere Informationen zu Shared
-   Memory und Semaphores.
+   Administrator's Guide"
+   (http://www.postgresql.org/docs/current/static/kernel-resources.html)
+   enth�lt weitere Informationen zu Shared Memory und Semaphores.
    
     3.4) Wenn ich versuche, den postmaster zu starten, bekomme ich
     "IpcSemaphoreCreate"-Fehlermeldungen. Warum?
@@ -759,8 +761,9 @@ SELECT pg_backend_pid()
         LIMIT 1
 
 
-    4.3) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich in
-    psql sehen kann?
+    4.3) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder
+    Benutzer in der Datenbank definiert sind? Wie bekomme ich die von psql
+    verwendeten Abfragen?
     
    In psql zeigt der Befehl \dt eine Liste der Datenbanktabellen. Weitere
    psql-Befehle lassen sich mit \? anzeigen. Sie k�nnen sich die Datei
@@ -768,9 +771,13 @@ SELECT pg_backend_pid()
    enth�lt die SQL-Abfragen, die die Backslash-Kommandos (\) ausf�hren.
    Sie k�nnen psql auch mit der -E Option starten. Danach gibt psql die
    Abfragen aus, die es bei der Ausf�hrung der Befehle benutzt. Au�erdem
-   biete PostgreSQL ein SQLi-kompatibles INFORMATION SCHEMA, das
+   biete PostgreSQL ein SQL-kompatibles INFORMATION SCHEMA, das
    Metainformation �ber die Datenbank zur Verf�gung stellt.
    
+   Die Datei pgsql/src/tutorial/syscat.source enth�lt au�erdem viele
+   SELECT- Abfragen, mit deren Hilfe man Information �ber die
+   Systemtabellen erhalten kann.
+   
     4.4) Wie entferne ich eine Spalte aus einer Tabelle? Wie �ndere ich den
     Datentyp einer Spalte?
     
@@ -862,19 +869,7 @@ SELECT pg_backend_pid()
    NULL-Werte werden als Bitmaps gespeichert, wodurch sie sehr wenig
    Platz in Anspruch nehmen.
    
-    4.7) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder
-    Benutzer in der Datenbank definiert sind?
-    
-   psql hat eine Vielzahl von Backslash-Befehlen, mit denen solche
-   Informationen angezeigt werden k�nnen. Der Befehl \? zeigt eine
-   �bersicht. Au�erdem zeigt der Befehl \l eine Liste von allen
-   verf�gbaren Datenbanken an.
-   
-   Die Datei pgsql/src/tutorial/syscat.source enth�lt au�erdem viele
-   SELECT-Anweisungen, mit deren Hilfe man Information �ber die
-   Systemtabellen erhalten kann.
-   
-    4.8) Meine Abfragen sind langsam oder benutzen die Indizes nicht. Warum?
+    4.7) Meine Abfragen sind langsam oder benutzen die Indizes nicht. Warum?
     
    Indizes werden nicht automatisch bei jeder Abfrage verwendet. Indizes
    werden nur dann verwendet, wenn die abzufragende Tabelle eine
@@ -935,12 +930,12 @@ SELECT pg_backend_pid()
    nicht ermitteln k�nnen. Es ist allerdings m�glich, einen besonderen
    text_pattern_ops-Index f�r solche F�lle zu erstellen.
    
-    4.9) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer meine
+    4.8) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer meine
     Abfrage auswertet?
     
    Vgl. die EXPLAIN Man-Page.
    
-    4.10) Was ist ein R-Tree Index?
+    4.9) Was ist ein R-Tree Index?
     
    Ein R-Tree Index wird benutzt, um r�umliche Daten zu indizieren. Ein
    Hash-Index kann nicht f�r Bereichssuchen genutzt werden. Ein B-Tree
@@ -967,14 +962,14 @@ SELECT pg_backend_pid()
    allerdings eine Menge Arbeit und wir haben derzeit keinerlei
    Dokumentation dar�ber, wie das zu machen w�re.
    
-    4.11) Was ist der "Genetic Query Optimizer"?
+    4.10) Was ist der "Genetic Query Optimizer"?
     
    Das GEQO-Modul in PostgreSQL soll dazu dienen, das Optimierungsproblem
    beim JOIN von vielen Tabellen auf der Basis genetischer Algorithmen
    (GA) zu l�sen. Es erm�glicht die Behandlung von gro�en JOIN-Queries
    durch eine nicht-ersch�pfende Suche.
    
-    4.12) Wie verfahre ich bei der Suche mit regul�ren Ausdr�cken und bei einer
+    4.11) Wie verfahre ich bei der Suche mit regul�ren Ausdr�cken und bei einer
     Suche, bei der Gro�- und Kleinschreibweisen ignoriert werden? Wie verwende
     ich einen Index bei solchen Suchabfragen?
     
@@ -992,11 +987,11 @@ SELECT pg_backend_pid()
    funktionalen Index an, so wird er auf jeden Fall verwendet:
       CREATE INDEX tabelle_index ON tabelle (LOWER(spalte))
 
-    4.13) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?
+    4.12) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?
     
    Testen Sie die Spalte mit IS NULL bzw. IS NOT NULL.
    
-    4.14) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?
+    4.13) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?
     
 Typ           interner Name   Bemerkungen
 -------------------------------------------------
@@ -1034,7 +1029,7 @@ BYTEA         bytea           Bytearray mit variabler L
    Alle der hier erw�hnten Typen weisen �hnliche Performanzeigenschaften
    auf.
    
-    4.15.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh�hung des
+    4.14.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh�hung des
     Werts (serial/auto-increment)?
     
    PostgreSQL bietet einen SERIAL-Datentyp. Dieser erzeugt automatisch
@@ -1059,12 +1054,12 @@ BYTEA         bytea           Bytearray mit variabler L
    exportieren und reimportieren wollen, m�ssen Sie die Option -o von
    pg_dump bzw. COPY WITH OIDS verwenden, um die OIDs beizubehalten.
    
-    4.15.2) Wie bekomme ich den Wert einer SERIAL-Sequenz?
+    4.14.2) Wie bekomme ich den Wert einer SERIAL-Sequenz?
     
    Eine M�glichkeit w�re, mit der nextval()-Funktion den n�chsten
    SERIAL-Wert von dem Sequenzobjekt vor der Auszuf�hrung einer
    INSERT-Anweisung anzufordern und ihn dann explizit in die
-   INSERT-Anweisung einzubinden. Anhand der Beispieltabelle in 4.15.1
+   INSERT-Anweisung einzubinden. Anhand der Beispieltabelle in 4.14.1
    k�nnte dieser Vorgang in einer Pseudosprache so aussehen:
     new_id = output of execute("SELECT nextval('person_id_seq')");
     execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
@@ -1092,13 +1087,13 @@ BYTEA         bytea           Bytearray mit variabler L
    Mit zum Beispiel dem DBD::Pg-Modul von Perl wird der OID-Wert nach
    einem $sth->excute() �ber $sth->{pg_oid_status} zur�ckgeliefert.
    
-    4.15.3) F�hren currval() und nextval() zu einer Race-Condition mit anderen
+    4.14.3) F�hren currval() und nextval() zu einer Race-Condition mit anderen
     Nutzern?
     
    Nein. currval() liefert einen Wert zur�ck, der von Ihrem Backend
    bestimmt wird, und der anderen Benutzern nicht zur Verf�gung steht.
    
-    4.15.4) Warum werden die Sequenzwerte nach einem Transaktionsabbruch nicht
+    4.14.4) Warum werden die Sequenzwerte nach einem Transaktionsabbruch nicht
     zur�ckgesetzt? Warum gibt es L�cken in der Nummerierung meiner
     Sequenz-/SERIAL-Spalte?
     
@@ -1108,7 +1103,7 @@ BYTEA         bytea           Bytearray mit variabler L
    zugeteilt. L�cken in der Sequenznummerierung werden durch abgebrochene
    Transaktionen verursacht.
    
-    4.16) Was ist ein OID? Was ist ein TID?
+    4.15) Was ist ein OID? Was ist ein TID?
     
    OIDs sind PostgreSQLs Antwort auf eindeutige Zeilen-IDs. Jede Zeile,
    die in PostgreSQL erzeugt wird, bekommt eine eindeutige OID. Alle
@@ -1144,7 +1139,7 @@ BYTEA         bytea           Bytearray mit variabler L
    ver�ndert oder zur�ckgeladen werden. Sie werden in Indexeintr�gen
    benutzt um auf die physikalischen Zeilen zu zeigen.
    
-    4.17) Welche Bedeutung haben die verschiedenen Ausdr�cke, die in PostgreSQL
+    4.16) Welche Bedeutung haben die verschiedenen Ausdr�cke, die in PostgreSQL
     benutzt werden (z.B. attribute, class,...)?
     
    Einige der Quelltexte und die �ltere Dokumentation nutzen allgemeine
@@ -1163,7 +1158,7 @@ BYTEA         bytea           Bytearray mit variabler L
    http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary
    /glossary.html (engl.).
    
-    4.18) Wieso bekomme ich einen Fehler: "ERROR: Memory exhausted in
+    4.17) Wieso bekomme ich einen Fehler: "ERROR: Memory exhausted in
     AllocSetAlloc()"?
     
    Wahrscheinlich gibt es keinen virtuellen Speicher mehr in Ihrem System
@@ -1179,11 +1174,11 @@ BYTEA         bytea           Bytearray mit variabler L
    haben, weil das Backend zu viele Daten zur�ckliefert, versuchen Sie
    dies vor dem Start des SQL-Clients.
    
-    4.19) Wie kann ich feststellen, welche PostgreSQL-Version bei mir l�uft?
+    4.18) Wie kann ich feststellen, welche PostgreSQL-Version bei mir l�uft?
     
    Geben Sie in psql SELECT VERSION(); ein.
    
-    4.20) Bei "large-object"-Operationen kommt die Fehlermeldung: "invalid
+    4.19) Bei "large-object"-Operationen kommt die Fehlermeldung: "invalid
     large obj descriptor". Warum?
     
    Sie sollten die Anweisungen BEGIN WORK und COMMIT bei jeden Gebrauch
@@ -1199,13 +1194,13 @@ BYTEA         bytea           Bytearray mit variabler L
    Falls Sie eine Client-Schnittstelle wie ODBC benutzen, kann es sein,
    dass die auto-commit-Option ausgeschaltet werden muss.
    
-    4.21) Wie kann ich eine Spalte erstellen, deren Default-Wert immer die
+    4.20) Wie kann ich eine Spalte erstellen, deren Default-Wert immer die
     aktuelle Uhrzeit enthalten soll?
     
    Dazu verwenden Sie CURRENT_TIMESTAMP:
       CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
 
-    4.22) Warum sind meine Unterabfragen (subqueries), die IN verwenden, so
+    4.21) Warum sind meine Unterabfragen (subqueries), die IN verwenden, so
     langsam?
     
    In Versionen vor 7.4 werden Unterabfragen mit der �usseren Abfrage
@@ -1226,7 +1221,7 @@ BYTEA         bytea           Bytearray mit variabler L
    gleichen Methoden wie die normale Tabellenverkn�pfung und ist daher
    soger EXISTS vorzuziehen.
    
-    4.23) Wie f�hre ich einen OUTER JOIN durch?
+    4.22) Wie f�hre ich einen OUTER JOIN durch?
     
    PostgreSQL ab der Version 7.1 unterst�tzt OUTER JOINs nach dem SQL-
    Standardsyntax. Hier zwei Beispiele:
@@ -1261,7 +1256,7 @@ BYTEA         bytea           Bytearray mit variabler L
        WHERE t1.spalte1 NOT IN (SELECT t2.spalte1 FROM tabelle_2 t2)
        ORDER BY spalte1
 
-    4.24) Wie kann ich Abfragen �ber mehrere Datenbanken hinweg ausf�hren?
+    4.23) Wie kann ich Abfragen �ber mehrere Datenbanken hinweg ausf�hren?
     
    Es gibt keinen Weg, innerhalb einer Abfrage auf mehr als eine
    Datenbank zuzugreifen. Da PostgreSQL datenbank-spezifische
@@ -1280,13 +1275,13 @@ BYTEA         bytea           Bytearray mit variabler L
    Anwendungen k�nnten diese einen geeigneten Ersatz f�r den Zugriff auf
    eine andere Datenbank bieten.
    
-    4.25) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
+    4.24) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
     zur�ckgeben lassen?
     
    Ab 7.3 k�nnen Funktionen mehrere Zeilen und Spalten zur�ckgeben, vgl.:
    http://techdocs.postgresql.org/guides/SetReturningFunctions.
    
-    4.26) Warum kann ich tempor�re Tabellen in PL/PgSQL-Funktionen nicht
+    4.25) Warum kann ich tempor�re Tabellen in PL/PgSQL-Funktionen nicht
     zuverl�ssig erstellen bzw. l�schen?
     
    PL/PgSQL verarbeitet die Inhalte einer Funktion in eine Cache. Dies
@@ -1300,15 +1295,7 @@ BYTEA         bytea           Bytearray mit variabler L
    mittels EXECUTE auf tempor�re Tabellen zuzugreifen. Diese bewirkt,
    dass bei jedem Funktionsruf die betreffende Abfrage neu geparst wird.
    
-    4.27) Welche M�glichkeiten zur Datenbank-Replikation gibt es?
-    
-   Es existieren mehrere Ans�tze zur Master/Slave-Replikation in
-   PostgreSQL. In diesen werden Daten�nderungen in der Master-Datenbank
-   durchgef�hrt und an Slave-Datenbanken weitergeleitet. Informationen
-   �ber diese L�sungen befinden sich auf der folgenden Seite (unten):
-   http://gborg.postgresql.org/genpage?replication_research .
-   
-    4.28) Welche M�glichkeiten zur Verschl�sselung gibt es?
+    4.26) Welche M�glichkeiten zur Verschl�sselung gibt es?
     
      * contrib/pgcrypto enth�lt diverse Funktionen f�r die Ben�tzung mit
        SQL-Abfragen.
diff --git a/doc/src/FAQ/FAQ_german.html b/doc/src/FAQ/FAQ_german.html
index 6b8c605f59..4d842ad6fd 100644
--- a/doc/src/FAQ/FAQ_german.html
+++ b/doc/src/FAQ/FAQ_german.html
@@ -1,29 +1,29 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>PostgreSQL FAQ</title>
 </head>
 <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
 <h1>
-H�ufig gestellte Fragen (FAQ) zu PostgreSQL
+Häufig gestellte Fragen (FAQ) zu PostgreSQL
 </h1>
 <p>
 Current maintainer:	Bruce Momjian (<a
 href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 
-    <p>Deutsche �bersetzung von Ian Barwick (<a href="mailto:barwick@gmx.net">barwick@gmx.net</a>).</p>
+    <p>Deutsche Übersetzung von Ian Barwick (<a href="mailto:barwick@gmx.net">barwick@gmx.net</a>).</p>
 
-    <p>Letzte Aktualisierung der deutschen �bersetzung: Fr., den 17.12.2004, 22:30 MEZ</p>
+    <p>Letzte Aktualisierung der deutschen Übersetzung: So., den 16.1.2005, 22:30 MEZ</p>
 
     <p>Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL-Website:</p>
     <ul>
-      <li><a href="http://www.postgresql.org/docs/faqs/FAQ.html">http://www.postgresql.org/docs/faqs/FAQ.html</a> (engl.)</li>
-      <li><a href="http://www.postgresql.org/docs/faqs/FAQ_german.html">http://www.postgresql.org/docs/faqs/FAQ_german.html</a> (dt.)</li>
+      <li><a href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a> (engl.)</li>
+      <li><a href="http://www.postgresql.org/files/documentation/faqs/FAQ_german.html">http://www.postgresql.org/files/documentation/faqs/FAQ_german.html</a> (dt.)</li>
     </ul>
-    <p>�bersetzungen dieses Dokuments in andere Sprachen sowie plattform-
-    spezifische FAQs k�nnen unter
-    <a href="http://www.postgresql.org/docs/index.html#faqs">http://www.postgresql.org/docs/index.html#faqs</a>
+    <p>Übersetzungen dieses Dokuments in andere Sprachen sowie plattform-
+    spezifische FAQs können unter
+    <a href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>
     eingesehen werden.</p>
 
 <hr />
@@ -32,26 +32,26 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 
 <a href="#1.1">1.1</a>) Was ist PostgreSQL? Wie wird es ausgesprochen?<br />
 <a href="#1.2">1.2</a>) Welchem Copyright unterliegt PostgreSQL?<br />
-<a href="#1.3">1.3</a>) Auf welchen Unix-Plattformen l�uft PostgreSQL?<br />
-<a href="#1.4">1.4</a>) Welche Nicht-Unix-Versionen sind verf�gbar?<br />
+<a href="#1.3">1.3</a>) Auf welchen Unix-Plattformen läuft PostgreSQL?<br />
+<a href="#1.4">1.4</a>) Welche Nicht-Unix-Versionen sind verfügbar?<br />
 <a href="#1.5">1.5</a>) Woher bekomme ich PostgreSQL?<br />
-<a href="#1.6">1.6</a>) Wo bekomme ich Support f�r PostgreSQL?<br />
+<a href="#1.6">1.6</a>) Wo bekomme ich Support für PostgreSQL?<br />
 <a href="#1.7">1.7</a>) Was ist die neueste Version von PostgreSQL?<br />
-<a href="#1.8">1.8</a>) Welche Dokumentation ist f�r PostgreSQL verf�gbar?<br />
+<a href="#1.8">1.8</a>) Welche Dokumentation ist für PostgreSQL verfügbar?<br />
 <a href="#1.9">1.9</a>) Wie erfahre ich von bekannten Bugs oder fehlenden Features?<br />
 <a href="#1.10">1.10</a>) Wie kann ich SQL lernen?<br />
-<a href="#1.11">1.11</a>) Ist PostgreSQL Y2K (Jahr 2000) f�hig?<br />
+<a href="#1.11">1.11</a>) Ist PostgreSQL Y2K (Jahr 2000) fähig?<br />
 <a href="#1.12">1.12</a>) Wie kann ich im Entwicklerteam mitarbeiten?<br />
 <a href="#1.13">1.13</a>) Wie sende ich einen Fehler-Bericht?<br />
-<a href="#1.14">1.14</a>) Wie l�uft PostgreSQL im Vergleich zu anderen Datenbanksystemen?<br />
-<a href="#1.15">1.15</a>) Wie kann ich PostgreSQL finanziell unterst�tzen?
+<a href="#1.14">1.14</a>) Wie läuft PostgreSQL im Vergleich zu anderen Datenbanksystemen?<br />
+<a href="#1.15">1.15</a>) Wie kann ich PostgreSQL finanziell unterstützen?
 
 <h2 align="center">Fragen zu Benutzerprogrammen</h2>
 
-<a href="#2.1">2.1</a>) Gibt es ODBC-Treiber f�r PostgreSQL?<br />
+<a href="#2.1">2.1</a>) Gibt es ODBC-Treiber für PostgreSQL?<br />
 <a href="#2.2">2.2</a>) Welche Werkzeuge gibt es, um Web-Seiten mit PostgreSQL zu verbinden?<br />
 <a href="#2.3">2.3</a>) Hat PostgreSQL eine grafische Benutzerschnittstelle?<br />
-<a href="#2.4">2.4</a>) Welche Programmiersprachen k�nnen mit PostgreSQL kommunizieren?<br />
+<a href="#2.4">2.4</a>) Welche Programmiersprachen können mit PostgreSQL kommunizieren?<br />
 
 
 <h2 align="center">Administrative Fragen</h2>
@@ -61,86 +61,83 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 <a href="#3.3">3.3</a>) Wenn ich versuche, den <em>postmaster</em> zu starten, bekomme ich "<em>IpcMemoryCreate</em>"-Fehlermeldungen. Warum?<br />
 <a href="#3.4">3.4</a>) Wenn ich versuche, den <em>postmaster</em> zu starten, bekomme ich "<em>IpcSemaphoreCreate</em>"-Fehlermeldungen. Warum?<br />
 <a href="#3.5">3.5</a>) Wie regle ich Zugriffe von anderen Rechnern?<br />
-<a href="#3.6">3.6</a>) Wie optimiere ich die Datenbank f�r bessere Leistung?<br />
-<a href="#3.7">3.7</a>) Welche Debugging-Funktionen sind bei PostgreSQL verf�gbar?<br />
+<a href="#3.6">3.6</a>) Wie optimiere ich die Datenbank für bessere Leistung?<br />
+<a href="#3.7">3.7</a>) Welche Debugging-Funktionen sind bei PostgreSQL verfügbar?<br />
 <a href="#3.8">3.8</a>) Ich bekomme die Meldung "<em>Sorry, too many clients</em>", wenn ich eine Verbindung aufzubauen versuche. Warum?<br />
 <a href="#3.9">3.9</a>) Was befindet sich im Verzeichnis <em>pgsql_tmp/</em>?<br />
-<a href="#3.10">3.10</a>) Warum mu� ich bei jeder neuen Hauptversion von PostgreSQL
-     die komplette Datenbank exportieren und anschlie�end reimportieren?<br />
-<a href="#3.11">3.11</a>) Welche Hardware eignet sich f�r den Betrieb mit PostgreSQL?<br />
+<a href="#3.10">3.10</a>) Warum muß ich bei jeder neuen Hauptversion von PostgreSQL
+     die komplette Datenbank exportieren und anschließend reimportieren?<br />
+<a href="#3.11">3.11</a>) Welche Hardware eignet sich für den Betrieb mit PostgreSQL?<br />
 <h2 align="center">Fragen zum Betrieb</h2>
 
 <a href="#4.1">4.1</a>) Worin besteht der Unterschied zwischen <em>Binary Cursors</em> und <em>Normal Cursors?</em><br />
-<a href="#4.2">4.2</a>) Wie w�hle ich per <small>SELECT</small>-Anweisung nur die
+<a href="#4.2">4.2</a>) Wie wähle ich per <small>SELECT</small>-Anweisung nur die
      ersten paar Zeilen bzw. eine beliebige Zeile in einer Abfrage aus?<br />
-<a href="#4.3">4.3</a>) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich in <em>psql</em> sehen kann?<br />
-<a href="#4.4">4.4</a>) Wie entferne ich eine Spalte aus einer Tabelle? Wie �ndere 
+<a href="#4.3">4.3</a>) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder Benutzer in der Datenbank definiert sind? Wie bekomme ich die von <em>psql</em> verwendeten Abfragen?<br />
+<a href="#4.4">4.4</a>) Wie entferne ich eine Spalte aus einer Tabelle? Wie ändere 
     ich den Datentyp einer Spalte?<br />
-<a href="#4.5">4.5</a>) Was ist die Maximalgr��e f�r eine Zeile, eine Tabelle, eine Datenbank?<br />
-<a href="#4.6">4.6</a>) Wieviel Plattenplatz wird ben�tigt, um die Daten aus einer typischen Textdatei abzuspeichern?<br />
-<a href="#4.7">4.7</a>) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder Benutzer in der Datenbank definiert sind?Wie finde ich heraus, welche Indizes oder Operationen in der Datenbank definiert sind?<br />
-<a href="#4.8">4.8</a>) Meine Abfragen sind langsam oder nutzen die Indizes nicht. Warum?<br />
-<a href="#4.9">4.9</a>) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer ("<em>GEQO</em>") meine Abfrage auswertet?<br />
-<a href="#4.10">4.10</a>) Was ist ein R-Tree Index?<br />
-<a href="#4.11">4.11</a>) Was ist der "Genetic Query Optimizer"?<br />
-<a href="#4.12">4.12</a>) Wie verfahre ich bei der Suche mit regul�ren Ausdr�cken und bei einer
-    Suche, bei der Gro�- und Kleinschreibweisen ignoriert werden? Wie verwende
+<a href="#4.5">4.5</a>) Was ist die Maximalgröße für eine Zeile, eine Tabelle, eine Datenbank?<br />
+<a href="#4.6">4.6</a>) Wieviel Plattenplatz wird benötigt, um die Daten aus einer typischen Textdatei abzuspeichern?<br />
+<a href="#4.7">4.7</a>) Meine Abfragen sind langsam oder nutzen die Indizes nicht. Warum?<br />
+<a href="#4.8">4.8</a>) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer ("<em>GEQO</em>") meine Abfrage auswertet?<br />
+<a href="#4.9">4.9</a>) Was ist ein R-Tree Index?<br />
+<a href="#4.10">4.10</a>) Was ist der "Genetic Query Optimizer"?<br />
+<a href="#4.11">4.11</a>) Wie verfahre ich bei der Suche mit regulären Ausdrücken und bei einer
+    Suche, bei der Groß- und Kleinschreibweisen ignoriert werden? Wie verwende
     ich bei solchen Suchabfragen einen Index?<br />
-<a href="#4.13">4.13</a>) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?<br />
-<a href="#4.14">4.14</a>) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?<br />
-<a href="#4.15.1">4.15.1</a>) Wie erzeuge ich ein serielles Feld mit automatischer Erh�hung des Wertes?<br />
-<a href="#4.15.2">4.15.2</a>) Wie bekomme ich den Wert einer SERIAL-Sequenz?<br />
-<a href="#4.15.3">4.15.3</a>) F�hrt currval() zu einer Race-Condition mit anderen Nutzern?<br />
-<a href="#4.15.4">4.15.4</a>) Warum werden die Sequenzwerte nach einem Transaktionsabbruch nicht
-     zur�ckgesetzt? Warum gibt es L�cken in der Nummerierung meiner
+<a href="#4.12">4.12</a>) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?<br />
+<a href="#4.13">4.13</a>) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?<br />
+<a href="#4.14.1">4.14.1</a>) Wie erzeuge ich ein serielles Feld mit automatischer Erhöhung des Wertes?<br />
+<a href="#4.14.2">4.14.2</a>) Wie bekomme ich den Wert einer SERIAL-Sequenz?<br />
+<a href="#4.14.3">4.14.3</a>) Führt currval() zu einer Race-Condition mit anderen Nutzern?<br />
+<a href="#4.14.4">4.14.4</a>) Warum werden die Sequenzwerte nach einem Transaktionsabbruch nicht
+     zurückgesetzt? Warum gibt es Lücken in der Nummerierung meiner
      Sequenz-/<small>SERIAL</small>-Spalte?<br />
-<a href="#4.16">4.16</a>) Was ist ein <small>OID</small>? Was ist ein <small>TID</small>?<br />
-<a href="#4.17">4.17</a>) Welche Bedeutung haben die verschiedenen Ausdr�cke, die in PostgreSQL benutzt werden (z.B. attribute, class,...)?<br />
-<a href="#4.18">4.18</a>) Wieso bekomme ich den Fehler: "<em>FATAL: Memory exhausted in AllocSetAlloc()</em>"?<br />
-<a href="#4.19">4.19</a>) Wie kann ich feststellen, welche PostgreSQL-Version bei mir l�uft?<br />
-<a href="#4.20">4.20</a>) Bei "large-object"-Operationen kommt die Fehlermeldung: "<em>invalid large obj descriptor</em>". Warum?<br />
-<a href="#4.21">4.21</a>) Wie kann ich eine Spalte erstellen, deren Default-Wert immer
+<a href="#4.15">4.15</a>) Was ist ein <small>OID</small>? Was ist ein <small>TID</small>?<br />
+<a href="#4.16">4.16</a>) Welche Bedeutung haben die verschiedenen Ausdrücke, die in PostgreSQL benutzt werden (z.B. attribute, class,...)?<br />
+<a href="#4.17">4.17</a>) Wieso bekomme ich den Fehler: "<em>FATAL: Memory exhausted in AllocSetAlloc()</em>"?<br />
+<a href="#4.18">4.18</a>) Wie kann ich feststellen, welche PostgreSQL-Version bei mir läuft?<br />
+<a href="#4.19">4.19</a>) Bei "large-object"-Operationen kommt die Fehlermeldung: "<em>invalid large obj descriptor</em>". Warum?<br />
+<a href="#4.20">4.20</a>) Wie kann ich eine Spalte erstellen, deren Default-Wert immer
     die aktuelle Uhrzeit enthalten soll?<br />
-<a href="#4.22">4.22</a>) Warum sind meine Unterabfragen (subqueries), die IN verwenden,
+<a href="#4.21">4.21</a>) Warum sind meine Unterabfragen (subqueries), die IN verwenden,
     so langsam?<br />
-<a href="#4.23">4.23</a>) Wie f�hre ich einen <small>OUTER JOIN</small> durch?<br />
-<a href="#4.24">4.24</a>) Wie kann ich Abfragen �ber mehrere Datenbanken hinweg ausf�hren?<br />
-<a href="#4.25">4.25</a>) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
-    zur�ckgeben lassen?<br />
-<a href="#4.26">4.26</a>) Warum kann ich tempor�re Tabellen in <small>PL/PgSQL</small>-Funktionen nicht
-    zuverl�ssig erstellen bzw. l�schen?<br />
-<a href="#4.27">4.27</a>) Welche M�glichkeiten zur Datenbank-Replikation gibt es?<br />
-<a href="#4.28">4.28</a>) Welche M�glichkeiten zur Verschl�sselung gibt es?<br />
+<a href="#4.22">4.22</a>) Wie führe ich einen <small>OUTER JOIN</small> durch?<br />
+<a href="#4.23">4.23</a>) Wie kann ich Abfragen über mehrere Datenbanken hinweg ausführen?<br />
+<a href="#4.24">4.24</a>) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
+    zurückgeben lassen?<br />
+<a href="#4.25">4.25</a>) Warum kann ich temporäre Tabellen in <small>PL/PgSQL</small>-Funktionen nicht
+    zuverlässig erstellen bzw. löschen?<br />
+<a href="#4.26">4.26</a>) Welche Möglichkeiten zur Verschlüsselung gibt es?<br />
 
 
 <h2 align="center">PostgreSQL erweitern</h2>
 
 <a href="#5.1">5.1</a>) Ich habe eine benutzerdefinierte Funktion geschrieben.  Wenn ich sie in <em>psql</em> aufrufe, kommt ein <em>core dump</em>. Warum?<br />
 <a href="#5.2">5.2</a>) Wie kann ich praktische neue Typen und Funktionen zu PostgreSQL
-    hinzuf�gen?<br />
-<a href="#5.3">5.3</a>) Wie schreibe ich eine Funktion in C, die einen Tupel zur�ckliefert?<br />
-<a href="#5.4">5.4</a>) Ich habe eine der Quellendateien ge�ndert. Warum macht sich die �nderung beim erneuten Kompilieren nicht bemerkbar?<br />
+    hinzufügen?<br />
+<a href="#5.3">5.3</a>) Wie schreibe ich eine Funktion in C, die einen Tupel zurückliefert?<br />
+<a href="#5.4">5.4</a>) Ich habe eine der Quellendateien geändert. Warum macht sich die Änderung beim erneuten Kompilieren nicht bemerkbar?<br />
 
 <hr />
 
     <h2 align="center">Allgemeine Fragen</h2>
     <h4><a name="1.1">1.1</a>)	Was ist PostgreSQL? Wie wird es ausgesprochen?</h4>
-    <p>Die (englische) Aussprache ist "Post-Gres-Q-L". Eine MP3-Datei zum Anh�ren gibt es hier:
-    <a href="http://www.postgresql.org/postgresql.mp3">http://www.postgresql.org/postgresql.mp3</a>.
-    Im allgemeinen Sprachgebrauch hat sich die Kurzform "Postgres" auch durchgesetzt.</p>
+    <p>Die (englische) Aussprache ist "Post-Gres-Q-L". Im allgemeinen
+    Sprachgebrauch hat sich die Kurzform "Postgres" auch durchgesetzt.</p>
 
     <p>PostgreSQL ist eine Weiterentwicklung des POSTGRES-Datenbank-Systems,
-    eines zukunftsweisenden DBMS-Forschungsprototyps. W�hrend PostgreSQL
-    das leistungsf�hige Datenmodell und die reichhaltigen Datentypen
-    von POSTGRES beibeh�lt, ersetzt es dessen PostQuel-Abfragesprache durch
+    eines zukunftsweisenden DBMS-Forschungsprototyps. Während PostgreSQL
+    das leistungsfähige Datenmodell und die reichhaltigen Datentypen
+    von POSTGRES beibehält, ersetzt es dessen PostQuel-Abfragesprache durch
     eine erweiterte Teilmenge von SQL. PostgreSQL und dessen kompletter
-    Quellcode sind frei und �ffentlich verf�gbar.</p>
+    Quellcode sind frei und öffentlich verfügbar.</p>
 
-    <p>Die PostgreSQL-Entwicklung wird von einem Entwickler-Team durchgef�hrt,
+    <p>Die PostgreSQL-Entwicklung wird von einem Entwickler-Team durchgeführt,
     die alle Teilnehmer der PostgreSQL-Entwicklungs-Mailingliste
     sind. Der aktuelle Koordinator ist Marc G. Fournier
-    (<a href="mailto:scrappy@postgresql.org">scrappy@postgresql.org</a>) (Anmeldem�glichkeit: siehe unten).
-    Dieses Team ist f�r die Gesamtentwicklung von PostgreSQL
+    (<a href="mailto:scrappy@postgresql.org">scrappy@postgresql.org</a>) (Anmeldemöglichkeit: siehe unten).
+    Dieses Team ist für die Gesamtentwicklung von PostgreSQL
     verantwortlich. Es handelt sich um ein Gemeinschaftsprojekt, das nicht
     von einer bestimmten Firma kontrolliert wird. Lesen Sie die Entwickler-FAQ:
     <a href="http://www.postgresql.org/docs/faqs/FAQ_DEV.html">http://www.postgresql.org/docs/faqs/FAQ_DEV.html</a>
@@ -148,15 +145,15 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 
     <p>Die Autoren von PostgreSQL 1.01 waren Andrew Yu und Jolly Chen. Viele
     andere haben zur Portierung, zum Testen, zur Fehlersuche und zur
-    Verbesserung des Codes beigetragen. Der urspr�ngliche Postgres-Code,
+    Verbesserung des Codes beigetragen. Der ursprüngliche Postgres-Code,
     von dem PostgreSQL abstammt, ist auf die Arbeit von vielen
-    Studierenden und Diplomanden sowie Programmierern zur�ckzuf�hren,
+    Studierenden und Diplomanden sowie Programmierern zurückzuführen,
     die unter der Leitung des Professors Michael Stonebraker an der
-    Universit�t von Kalifornien, Berkeley arbeiteten.</p>
+    Universität von Kalifornien, Berkeley arbeiteten.</p>
 
-    <p>Der urspr�ngliche Name der Software in Berkeley war Postgres. Als die
-    SQL-Funktionalit�t 1995 hinzugef�gt wurde, wurde sein Name zu
-    Postgres95 erweitert. Der Name wurde Ende 1996 in PostgreSQL ge�ndert.</p>
+    <p>Der ursprüngliche Name der Software in Berkeley war Postgres. Als die
+    SQL-Funktionalität 1995 hinzugefügt wurde, wurde sein Name zu
+    Postgres95 erweitert. Der Name wurde Ende 1996 in PostgreSQL geändert.</p>
 
     <h4><a name="1.2">1.2</a>).Welchem Copyright unterliegt PostgreSQL?</h4>
 
@@ -187,40 +184,43 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
     SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</P>
 
     <p>Bei der obigen Lizenz handelt es sich um die BSD-Lizenz, die klassiche
-    Open-Source-Lizenz. Sie schr�nkt die Verwendung des Quellcodes in
-    keine Weise ein. Wir m�gen diese Lizenz und haben nicht vor, sie
-    zu �ndern.</p>
+    Open-Source-Lizenz. Sie schränkt die Verwendung des Quellcodes in
+    keine Weise ein. Wir mögen diese Lizenz und haben nicht vor, sie
+    zu ändern.</p>
 
     <p>Es gilt die Copyright-Klausel im Original!</p>
 
-    <h4><a name="1.3">1.3</a>)	Auf welchen Unix-Plattformen l�uft PostgreSQL?</h4>
+    <h4><a name="1.3">1.3</a>)	Auf welchen Unix-Plattformen läuft PostgreSQL?</h4>
     <p>Normalerweise kann PostgreSQL auf jeder modernen UNIX-kompatiblen
     Plattform eingesetzt werden. Diejenigen Plattformen, die bei der
     jeweiligen Versionsfreigabe getestet wurden, sind in den Installations-
     Anleitungen aufgelistet.</p>
 
-    <h4><a name="1.4">1.4</a>)	Welche Nicht-Unix-Portierungen sind verf�gbar?</h4>
+    <h4><a name="1.4">1.4</a>)	Welche Nicht-Unix-Portierungen sind verfügbar?</h4>
 
-    <p>Ab Version 8.0 l�uft PostgreSQL auf Microsoft NT-basierten Betriebssystemen
+    <p>Ab Version 8.0 läuft PostgreSQL auf Microsoft NT-basierten Betriebssystemen
     wie Windows 2000, XP und Server 2003. Ein vorgefertigtes Installationspaket
     (derzeit noch im Beta-Stadium) kann von <a href="http://pgfoundry.org/projects/pginstaller">http://pgfoundry.org/projects/pginstaller</a>
-    heruntergeladen werden. Einen �berblick �ber den aktuellen Stand bietet die Win32-FAQ:
+    heruntergeladen werden. Einen Überblick über den aktuellen Stand bietet die Win32-FAQ:
     <a href="http://pginstaller.projects.postgresql.org/FAQ_windows.html">http://pginstaller.projects.postgresql.org/FAQ_windows.html</a>.</p>
 
-    <p>Unter Windows 95/98/ME ist es nur m�glich, den Datenbankserver mit Hilfe
+    <p>Unter Windows 95/98/ME ist es nur möglich, den Datenbankserver mit Hilfe
     der Cygwin-Umgebung (Unix-Portierungsbibliotheken) zu betreiben. Weitere 
     Informationen hierzu gibt es in der CYGWIN-FAQ:
     <a href="http://www.postgresql.org/docs/faqs/text/FAQ_CYGWIN">http://www.postgresql.org/docs/faqs/text/FAQ_CYGWIN</a>.</p>
 
-    <p>Eine Portierung f�r Novell Netware 6 gibt es unter <a href="http://forge.novell.com">http://forge.novell.com</a>.</p>
+    <p>Eine Portierung für Novell Netware 6 gibt es unter <a href="http://forge.novell.com">http://forge.novell.com</a>.</p>
+
+    <p>Für OS/2 (eComStation) gibt es eine Version hier:
+    <a href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F">http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F</a>
 
     <h4><a name="1.5">1.5</a>) Woher bekomme ich PostgreSQL?</h4>
 
-    <p>Der zentrale FTP-Server f�r PostgreSQL ist der ftp-Server
+    <p>Der zentrale FTP-Server für PostgreSQL ist der ftp-Server
     <a href="ftp://ftp.postgresql.org/pub/">ftp://ftp.postgresql.org/pub/</a>. Weitere Mirror-Sites sind auf der
     PostgreSQL-Website aufgelistet.</p>
 
-    <h4><a name="1.6">1.6</a>) Wo bekomme ich Support f�r PostgreSQL?</h4>
+    <h4><a name="1.6">1.6</a>) Wo bekomme ich Support für PostgreSQL?</h4>
 
     <p>Die zentrale (englischsprachige) Mailing-Liste ist:
     <a href="mailto:pgsql-general@postgresql.org">mailto:pgsql-general@postgresql.org</a> .
@@ -240,7 +240,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
     end
 </pre>
 
-    <p>Es gibt noch die Bug-Mailingliste. Die Anmeldung f�r diese Liste erfolgt
+    <p>Es gibt noch die Bug-Mailingliste. Die Anmeldung für diese Liste erfolgt
     durch eine Email an <a href="mailto:bugs-request@postgresql.org">bugs-request@postgresql.org</a> mit folgendem Text:</p>
 <pre>
     subscribe
@@ -248,7 +248,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 </pre>
 
     <p>Die Entwickler-Mailingliste kann mit einer Email an
-    <a href="mailto:pgsql-hackers-request@postgresql.org">pgsql-hackers-request@postgresql.org</a> abonniert werden. Die Email mu� ebenfalls folgenden Text enthalten:</p>
+    <a href="mailto:pgsql-hackers-request@postgresql.org">pgsql-hackers-request@postgresql.org</a> abonniert werden. Die Email muß ebenfalls folgenden Text enthalten:</p>
 <pre>
     subscribe
     end
@@ -262,66 +262,66 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 <blockquote>
 <a href="http://www.postgresql.org">http://www.postgresql.org</a>
 </blockquote>
-    <p>Es gibt au�erdem einen IRC-Channel bei EFNet und bei Freenode, Channel
-    <em>#PostgreSQL</em>. Unter UNIX/Linux k�nnen Sie mit z.B.
+    <p>Es gibt außerdem einen IRC-Channel bei EFNet und bei Freenode, Channel
+    <em>#PostgreSQL</em>. Unter UNIX/Linux können Sie mit z.B.
     <small>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</small> bzw.
     <small>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</small> daran teilnehmen.</p>
 
-    <p>Eine Liste von Unternehmen, die Support f�r PostgreSQL auf kommerzieller
+    <p>Eine Liste von Unternehmen, die Support für PostgreSQL auf kommerzieller
     Basis leisten, kann unter
       <a href="http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</a>
     eingesehen werden.</p>
 
     <h4><a name="1.7">1.7</a>) Was ist die neueste Version von PostgreSQL?</h4>
 
-    <p>Die neueste Version von PostgreSQL ist 7.4.6 .</p>
+    <p>Die neueste Version von PostgreSQL ist 8.0.0 .</p>
 
     <p>Die Freigabe einer neuen Version erfolgt im Schnitt alle 6 bis 8 Monaten.</p>
 
-    <h4><a name="1.8">1.8</a>) Welche Dokumentation ist f�r PostgreSQL verf�gbar?</h4>
+    <h4><a name="1.8">1.8</a>) Welche Dokumentation ist für PostgreSQL verfügbar?</h4>
 
-    <p>Einige Handb�cher, Man-Pages und einige kleine Testprogramme sind in
+    <p>Einige Handbücher, Man-Pages und einige kleine Testprogramme sind in
     der Distribution enthalten. Siehe das <em>/doc</em>-Verzeichnis. Ausserdem sind
-    alle Handb�cher online unter <a href="http://www.postgresql.org/docs/">http://www.postgresql.org/docs/</a>
-    verf�gbar.</p>
+    alle Handbücher online unter <a href="http://www.postgresql.org/docs/">http://www.postgresql.org/docs/</a>
+    verfügbar.</p>
 
-    <p>Zwei B�cher zu PostgreSQL sind online verf�gbar unter
+    <p>Zwei Bücher zu PostgreSQL sind online verfügbar unter
     <a href="http://www.postgresql.org/docs/awbook.html">http://www.postgresql.org/docs/awbook.html</a> und
     <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> .</p>
 
-    <p>Eine Liste lieferbarer PostgreSQL-B�cher befindet sich unter
+    <p>Eine Liste lieferbarer PostgreSQL-Bücher befindet sich unter
       <a href="http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.postgresql.org/techdocs/bookreviews.php</a>
     Diverse technische Artikel befinden sich unter
       <a href="http://techdocs.postgresql.org/">http://techdocs.postgresql.org/</a> .</p>
 
-    <p><em>psql</em> hat einige n�tzliche <em>\d</em>-Befehle, um Informationen �ber Typen,
+    <p><em>psql</em> hat einige nützliche <em>\d</em>-Befehle, um Informationen über Typen,
     Operatoren, Funktionen, Aggregate, usw. zu zeigen. </p>
 
     <h4><a name="1.9">1.9</a>) Wie erfahre ich von bekannten Bugs oder fehlenden Features?</h4>
 
-    <p>PostgreSQL unterst�tzt eine erweiterte Teilmenge von SQL-92. Siehe
-    unsere TODO-Liste unter <a href="http://developer.postgresql.org/todo.php">http://developer.postgresql.org/todo.php</a> f�r eine Auflistung 
-    der bekannten Bugs, fehlenden Features und zuk�nftigen Pl�ne.</p>
+    <p>PostgreSQL unterstützt eine erweiterte Teilmenge von SQL-92. Siehe
+    unsere TODO-Liste unter <a href="http://developer.postgresql.org/todo.php">http://developer.postgresql.org/todo.php</a> für eine Auflistung 
+    der bekannten Bugs, fehlenden Features und zukünftigen Pläne.</p>
 
     <h4><a name="1.10">1.10</a>) Wie kann ich <small>SQL</small> lernen?</h4>
    
     <p>Das PostgreSQL Book auf <a href="http://www.postgresql.org/docs/awbook.html">http://www.postgresql.org/docs/awbook.html</a> bietet
-    eine Einf�hrung in SQL. Ein weiteres PostgreSQL-Buch befindet sich unter
+    eine Einführung in SQL. Ein weiteres PostgreSQL-Buch befindet sich unter
     <a href="http://www.commandprompt.com/ppbook">http://www.commandprompt.com/ppbook</a> . Es gibt zudem nette Tutorials unter
     <a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a> ,
     <a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM</a>
     und <a href="http://sqlcourse.com">http://sqlcourse.com</a> .</p>
 
     <p>Eine weitere Empfehlung ist "Teach Yourself SQL in 21 Days, Second Edition",
-    es ist unter <a href="http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</a> erh�ltlich.</p>
+    es ist unter <a href="http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</a> erhältlich.</p>
 
-    <p>Viele PostgreSQL-Anwender m�gen "The Practical SQL Handbook" (Bowman
-    et al., Addison Wesley). Andere dagegen m�gen "The Complete Reference SQL"
+    <p>Viele PostgreSQL-Anwender mögen "The Practical SQL Handbook" (Bowman
+    et al., Addison Wesley). Andere dagegen mögen "The Complete Reference SQL"
     (Groff et al., McGraw-Hill).</p>
 
-    <h4><a name="1.11">1.11</a>) Ist PostgreSQL Y2K (Jahr 2000) f�hig?</h4>
+    <h4><a name="1.11">1.11</a>) Ist PostgreSQL Y2K (Jahr 2000) fähig?</h4>
 
-    <p>Ja, wir k�nnen Datumsangaben nach dem Jahr 2000 n.Chr. und vor 2000 v.Chr. leicht
+    <p>Ja, wir können Datumsangaben nach dem Jahr 2000 n.Chr. und vor 2000 v.Chr. leicht
     verarbeiten.</p>
 
     <h4><a name="1.12">1.12</a>)	Wie kann ich im Entwicklerteam mitarbeiten?</h4>
@@ -329,33 +329,33 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
     <p>Zuerst laden Sie die neuesten Quellen herunter und lesen Sie die
     PostgreSQL-Entwicklerunterlagen auf unserer Website oder in der
     Distribution. Dann melden Sie sich zu den Entwickler-Mailinglisten
-    <em>pgsql-hackers</em> und <em>pgsql-patches</em> an. Anschlie�end senden Sie qualitativ
+    <em>pgsql-hackers</em> und <em>pgsql-patches</em> an. Anschließend senden Sie qualitativ
     hochwertige Patches an die <em>pgsql-patches</em> Mailingliste.</p>
 
-    <p>Es gibt ungef�hr ein Dutzend Leute, die das <em>commit</em>-Recht im
+    <p>Es gibt ungefähr ein Dutzend Leute, die das <em>commit</em>-Recht im
     PostgreSQL <small>CVS</small>-Archiv haben. Alle haben derart viele hochwertige Patches
-    eingebracht, dass es f�r die <small>CVS</small>-Verwalter schwer war, mitzuhalten. Und
-    wir hatten Vertrauen, dass die von ihnen festgelegten �nderungen aller
-    Wahrscheinlichkeit nach von hoher Qualit�t sind.</p>
+    eingebracht, dass es für die <small>CVS</small>-Verwalter schwer war, mitzuhalten. Und
+    wir hatten Vertrauen, dass die von ihnen festgelegten Änderungen aller
+    Wahrscheinlichkeit nach von hoher Qualität sind.</p>
 
     <h4><a name="1.13">1.13</a>) Wie sende ich einen Fehlerbericht?</h4>
 
     <p>Bitte besuchen Sie die PostgreSQL-BugTool-Seite <a href="http://www.postgresql.org/bugform.html">http://www.postgresql.org/bugform.html</a>,
-    die Hinweise und Anleitungen zur Einreichung von Fehlerberichten enth�lt.
+    die Hinweise und Anleitungen zur Einreichung von Fehlerberichten enthält.
 
-    <p>�berpr�fe auch den ftp-Server <a href="ftp://ftp.postgresql.org/pub/">ftp://ftp.postgresql.org/pub/</a>,
+    <p>Überprüfe auch den ftp-Server <a href="ftp://ftp.postgresql.org/pub/">ftp://ftp.postgresql.org/pub/</a>,
     um nachzusehen, ob es eine neuere PostgreSQL-Version oder neue Patches gibt.</p>
 
-    <h4><a name="1.14">1.14</a>) Wie l�uft PostgreSQL im Vergleich zu anderen Datenbanksystemen?</h4>
+    <h4><a name="1.14">1.14</a>) Wie läuft PostgreSQL im Vergleich zu anderen Datenbanksystemen?</h4>
 
     <p>Es gibt verschiedene Methoden, Software zu messen: Eigenschaften,
-    Performanz, Zuverl�ssigkeit, Support und Preis.</p>
+    Performanz, Zuverlässigkeit, Support und Preis.</p>
 
     <dl>
       <dt><b>Eigenschaften</b></dt>
       <dd><p>PostgreSQL besitt die meisten Eigenschaften - wie Transaktionen,
           Unterabfragen (Subqueries), Trigger, Views und verfeinertes Locking -
-          die bei gro�en kommerziellen DBMS vorhanden sind. Es bietet au�erdem
+          die bei großen kommerziellen DBMS vorhanden sind. Es bietet außerdem
           einige anderen Eigenschaften, die diese nicht immer haben, wie
           benutzerbestimmte Typen, Vererbung, Regeln, und die 
           Multi-Versionen-Steuerung zum Verringern konkurrierender Locks.</p>
@@ -371,115 +371,115 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
           Lese- und Schreibzugriffen schneller. MySQL ist nur bei einfacheren
           SELECT-Abfragen mit wenigen Nutzern im Vorteil. MySQL besitzt allerdings 
           nur wenige der im Punkt "Eigenschaften" genannten Features. PostgreSQL setzt auf 
-          Zuverl�ssigkeit und Funktionsumfang, dabei wird selbstredend st�ndig 
+          Zuverlässigkeit und Funktionsumfang, dabei wird selbstredend ständig 
           an Performanz-Verbesserungen gearbeitet. </p>
       </dd>
 
-      <dt><b>Zuverl�ssigkeit</b></dt>
+      <dt><b>Zuverlässigkeit</b></dt>
       <dd><p>Es ist selbstredend, dass ein DBMS wertlos ist, wenn es nicht
-          zuverl�ssig arbeitet. Daher bem�hen wir uns, nur streng gepr�ften und
-          best�ndigen Code freizugeben, der nur ein Minimum an Programmfehlern
+          zuverlässig arbeitet. Daher bemühen wir uns, nur streng geprüften und
+          beständigen Code freizugeben, der nur ein Minimum an Programmfehlern
           aufweist. Jede Freigabe hat mindestens einen Monat Betatest-Phase
           hinter sich, und unsere Freigabehistorie beweist, dass wir stabile und
           solide Versionen freigeben, die im Produktionsbetrieb genutzt werden
-          k�nnen. Wir glauben, dass wir im Vergleich mit anderer
+          können. Wir glauben, dass wir im Vergleich mit anderer
           Datenbanksoftware vorteilhaft dastehen.</p>
       </dd>
 
       <dt><b>Support</b></dt>
-      <dd><p>Unsere Mailinglisten bieten die M�glichkeit, gemeinsam mit einer
-          gro�en Gruppe von Entwicklern und Benutzern m�gliche Probleme
-          zu l�sen. Wir k�nnen nicht immer eine Fehlerbehebung
+      <dd><p>Unsere Mailinglisten bieten die Möglichkeit, gemeinsam mit einer
+          großen Gruppe von Entwicklern und Benutzern mögliche Probleme
+          zu lösen. Wir können nicht immer eine Fehlerbehebung
           garantieren, kommerzielle DBMS tun dies aber auch nicht.
           Der direkte Kontakt zur Entwickler- und Benutzergemeinschaft und der
-          Zugriff auf die Handb�cher und den Quellcode erm�glicht einen
-          im Vergleich zu anderen DBMS h�herwertigeren Support. Es gibt jedoch auch
+          Zugriff auf die Handbücher und den Quellcode ermöglicht einen
+          im Vergleich zu anderen DBMS höherwertigeren Support. Es gibt jedoch auch
           Anbieter von kommerziellen Support-Leistungen (siehe FAQ-Punkt <a href="#1.6">1.6</a>).</p>
       </dd>
       <dt><b>Preis</b></dt>
-      <dd><p>PostgreSQL ist frei verf�gbar, sowohl f�r die kommerzielle wie
-          auch f�r die nicht-kommerzielle Nutzung. Sie k�nnen den PostgreSQL-Code
-          ohne Einschr�nkungen (au�er denjenigen, die in der oben angegebene
-          BSD-artigen Lizenz erw�hnt werden) in Ihr Produkt integrieren.</p>
+      <dd><p>PostgreSQL ist frei verfügbar, sowohl für die kommerzielle wie
+          auch für die nicht-kommerzielle Nutzung. Sie können den PostgreSQL-Code
+          ohne Einschränkungen (außer denjenigen, die in der oben angegebene
+          BSD-artigen Lizenz erwähnt werden) in Ihr Produkt integrieren.</p>
       </dd>
     </dl>
 
-    <h4><a name="1.15">1.15</a>) Wie kann ich PostgreSQL finanziell unterst�tzen?</h4>
+    <h4><a name="1.15">1.15</a>) Wie kann ich PostgreSQL finanziell unterstützen?</h4>
 
     <p>PostgreSQL hat seit dem Anfang in 1996 eine exzellente Infrastruktur.
-    Dies ist Marc Fournier zu verdanken, der sie �ber die Jahre
+    Dies ist Marc Fournier zu verdanken, der sie über die Jahre
     hinweg geschaffen und gepflegt hat.</p>
 
-    <p>Eine hochwertige Infrastruktur ist f�r ein Open-Source-Projekt wie dieses
-    sehr wichtig. Sie verhindert Probleme und Verz�gerungen beim Fortschritt des
+    <p>Eine hochwertige Infrastruktur ist für ein Open-Source-Projekt wie dieses
+    sehr wichtig. Sie verhindert Probleme und Verzögerungen beim Fortschritt des
     Projekts.</p>
 
-    <p>Selbstverst�ndlich ist diese Infrastruktur nicht billig. Es gibt eine
-    Reihe von einmaligen und monatlich anfallenden Kosten, die f�r
-    den Betrieb beglichen werden m�ssen. Falls Sie oder Ihre Firma
-    dazu finanziell beitragen k�nnen, besuchen Sie bitte die URL
+    <p>Selbstverständlich ist diese Infrastruktur nicht billig. Es gibt eine
+    Reihe von einmaligen und monatlich anfallenden Kosten, die für
+    den Betrieb beglichen werden müssen. Falls Sie oder Ihre Firma
+    dazu finanziell beitragen können, besuchen Sie bitte die URL
       <a href="http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</a>
-    wo Sie eine Spende abgeben k�nnen.</p>
+    wo Sie eine Spende abgeben können.</p>
 
-    <p>Obwohl diese Web-Seite das Unternehmen "PostgreSQL, Inc." erw�hnt, ist
-    der Bereich "contributions" (Beitr�ge) ausschliesslich f�r die
-    Unterst�tzung des PostgreSQL-Projekts da und nicht f�r die Finanzierung
-    einer bestimmten Firma. Sie k�nnen auch gerne einen finanziellen Beitrag
+    <p>Obwohl diese Web-Seite das Unternehmen "PostgreSQL, Inc." erwähnt, ist
+    der Bereich "contributions" (Beiträge) ausschliesslich für die
+    Unterstützung des PostgreSQL-Projekts da und nicht für die Finanzierung
+    einer bestimmten Firma. Sie können auch gerne einen finanziellen Beitrag
     an die Kontaktadresse verschicken.</p>
 
-    <p>Eine M�glichkeit der nicht-finanziellen Untetst�tzung besteht �brigens
-    darin, f�r <a href="http://advocacy.postgresql.org">http://advocacy.postgresql.org</a> (en.) bzw. <a href="http://advocacy.postgresql.org/?lang=de">http://advocacy.postgresql.org/?lang=de</a> (dt.)
-    einen Bericht �ber den erfolgreichen Einsatz von PostgreSQL in Ihrem 
+    <p>Eine Möglichkeit der nicht-finanziellen Untetstützung besteht übrigens
+    darin, für <a href="http://advocacy.postgresql.org">http://advocacy.postgresql.org</a> (en.) bzw. <a href="http://advocacy.postgresql.org/?lang=de">http://advocacy.postgresql.org/?lang=de</a> (dt.)
+    einen Bericht über den erfolgreichen Einsatz von PostgreSQL in Ihrem 
     Unternehmen oder in Ihrer Organisation bereitzustellen.</p>
 
     <hr />
 
     <h2 align="center">Fragen zu Benutzerprogrammen</h2>
 
-    <h4><a name="2.1">2.1</a>) Gibt es ODBC-Treiber f�r PostgreSQL?</h4>
+    <h4><a name="2.1">2.1</a>) Gibt es ODBC-Treiber für PostgreSQL?</h4>
 
-    <p>Es sind zwei ODBC-Treiber verf�gbar: PsqlODBC und OpenLink ODBC.</p>
+    <p>Es sind zwei ODBC-Treiber verfügbar: PsqlODBC und OpenLink ODBC.</p>
 
     <p>PsqlODBC kann von <a href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</a>
     heruntergeladen werden.</p>
 
     <p>OpenLink ODBC kann unter <a href="http://www.openlinksw.com/">http://www.openlinksw.com</a> bezogen werden. Die
     Software arbeitet mit dem Standard-ODBC-Client dieser Firma, so dass
-    PostgreSQL-ODBC auf jeder Client-Plattform zur Verf�gung steht, die
-    unterst�tzt wird (Win, Mac, Unix, VMS).</p>
+    PostgreSQL-ODBC auf jeder Client-Plattform zur Verfügung steht, die
+    unterstützt wird (Win, Mac, Unix, VMS).</p>
 
     <p>OpenLink wird dieses Produkt wahrscheinlich an Leute verkaufen, die
-    kommerziellen Support ben�tigen, dennoch wird immer eine
-    Freeware-Version verf�gbar sein. Fragen dazu bitte an
+    kommerziellen Support benötigen, dennoch wird immer eine
+    Freeware-Version verfügbar sein. Fragen dazu bitte an
     <a href="mailto:postgres95@openlink.co.uk">postgres95@openlink.co.uk</a>. </p>
 
     <h4><a name="2.2">2.2</a>) Welche Werkzeuge gibt es, um Web-Seiten mit PostgreSQL zu
     verbinden?</h4>
 
-    <p>Eine nette Einf�hrung zu datenbank-gest�tzten Webseiten kann unter
+    <p>Eine nette Einführung zu datenbank-gestützten Webseiten kann unter
     <a href="http://www.webreview.com"> http://www.webreview.com</a> (engl.) abgerufen werden.</p>
 
-    <p>F�r die Web-Integration ist PHP eine ausgezeichnete Schnittstelle.
+    <p>Für die Web-Integration ist PHP eine ausgezeichnete Schnittstelle.
     PHP gibt es bei <a href="http://www.php.net">http://www.php.net</a></p>
 
-    <p>F�r komplexere Aufgaben bietet sich die Perl-Schnittstelle mit CGI.pm
+    <p>Für komplexere Aufgaben bietet sich die Perl-Schnittstelle mit CGI.pm
     oder mod_perl.</p>
 
     <h4><a name="2.3">2.3</a>) Hat PostgreSQL eine grafische Benutzerschnittstelle?</h4>
    
-    <p>Es gibt mehrere grafische Schnittstellen f�r PostgreSQL, darunter
+    <p>Es gibt mehrere grafische Schnittstellen für PostgreSQL, darunter
     PgAccess ( <a href="http://www.pgaccess.org">http://www.pgaccess.org</a>), 
     pgAdmin III (<a
     href="http://www.pgadmin.org">http://www.pgadmin.org</a>, RHDB Admin (<a
     href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
     </a>) und Rekall (<a href="http://www.thekompany.com/products/rekall/">
-    http://www.thekompany.com/products/rekall/</a>, GPL/propriet�r). Es gibt 
-    au�erdem phpPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
+    http://www.thekompany.com/products/rekall/</a>, GPL/proprietär). Es gibt 
+    außerdem phpPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
     http://phppgadmin.sourceforge.net/ </a>), eine web-basierte Schnittstelle. 
 
     <h4><a name="2.4">2.4</a>) Welche Programmiersprachen und Schnittstellen gibt es?</h4>
 
-    <p>Die meisten g�ngigen Programmiersprachen bieten Schnittstellen f�r
+    <p>Die meisten gängigen Programmiersprachen bieten Schnittstellen für
     PostgreSQL.
     </p>
     <p>Die folgenden Schnittstellen werden mit der PostgreSQL-Distribution 
@@ -495,7 +495,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 
       <li>TCL (libpgtcl)</li>
     </ul>
-    <p>Weitere Schnittstellen f�r andere Sprachen k�nnen �ber 
+    <p>Weitere Schnittstellen für andere Sprachen können über 
     <a href="http://gborg.postgresql.org">http://gborg.postgresql.org</a>
     (Bereich <em>Drivers/Interfaces</em>) bezogen werden.
     </p>
@@ -504,26 +504,26 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 
     <h4><a name="3.1">3.1</a>) Wie installiere ich PostgreSQL woanders als in /usr/local/pgsql?</h4>
 
-    <p>Bei der Ausf�hrung von <em>configure</em> die Option <em>--prefix</em> mit dem Zielverzeichnis
+    <p>Bei der Ausführung von <em>configure</em> die Option <em>--prefix</em> mit dem Zielverzeichnis
     angeben.</p>
 
     <h4><a name="3.2">3.2</a>)  Wenn ich den <em>postmaster</em> starte, erhalte ich einen Nachricht
     "Bad System Call" bzw. "core dumped". Wieso?</h4>
 
-    <p>Das kann verschiedene Ursachen haben. �berpr�fen Sie zuerst, ob Ihr Kernel
-    System V Extensions unterst�tzt. PostgreSQL ben�tigt Kernel-Unterst�tzung
-    f�r Shared Memory und Semaphoren.</p>
+    <p>Das kann verschiedene Ursachen haben. Überprüfen Sie zuerst, ob Ihr Kernel
+    System V Extensions unterstützt. PostgreSQL benötigt Kernel-Unterstützung
+    für Shared Memory und Semaphoren.</p>
 
     <h4><a name="3.3">3.3</a>) Wenn ich versuche, den <em>postmaster</em> zu starten, bekomme ich <em>"IpcMemoryCreate"</em>-Fehlermeldungen. Warum?</h4>
 
     <p>Entweder ist Shared Memory in Ihrem Kernel nicht korrekt konfiguriert, oder
-    Sie m�ssen den Shared Memory Bereich vergr��ern. Die genaue Gr��e h�ngt
+    Sie müssen den Shared Memory Bereich vergrößern. Die genaue Größe hängt
     von Ihrer Systemarchitektur und von der Anzahl der Puffer und Serverprozesse
-    ab, die Sie f�r <em>postmaster</em> konfiguriert haben. Bei den voreingestellten
-    Werten f�r Puffer und Prozesse ben�tigen Sie bei den meisten Systemen
+    ab, die Sie für <em>postmaster</em> konfiguriert haben. Bei den voreingestellten
+    Werten für Puffer und Prozesse benötigen Sie bei den meisten Systemen
     ein Minimum von ca. 1 MB. Der "PostgreSQL Administrator's Guide"
-    (<a href="http://www.postgresql.org/docs/current/static/kernel-resources.html"http://www.postgresql.org/docs/current/static/kernel-resources.html</a>)
-    enth�lt weitere Informationen zu Shared Memory und Semaphores.</p>
+    (<a href="http://www.postgresql.org/docs/current/static/kernel-resources.html">http://www.postgresql.org/docs/current/static/kernel-resources.html</a>)
+    enthält weitere Informationen zu Shared Memory und Semaphores.</p>
 
 
     <h4><a name="3.4">3.4</a>) Wenn ich versuche, den <em>postmaster</em> zu starten, bekomme ich
@@ -531,81 +531,81 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 
     <p>Falls die Fehlermeldung "<em>IpcSemaphoreCreate: semget failed (No space
     left on device)</em>" lautet, ist Ihr Kernel mit zu wenig Semaphoren
-    konfiguriert. PostgreSQL ben�tigt eine Semaphore pro m�glichem
-    Backend-Prozess. Eine Zwischenl�sung w�re, <em>postmaster</em> mit einer
+    konfiguriert. PostgreSQL benötigt eine Semaphore pro möglichem
+    Backend-Prozess. Eine Zwischenlösung wäre, <em>postmaster</em> mit einer
     geringeren Anzahl an Backend-Prozessen zu starten. Benutzen Sie dazu die
-    <em>-N</em> Option mit einem kleineren Wert als die standardm��igen 32. Eine
-    dauerhafte L�sung w�re es, die Parameter <small>SEMMNS</small> und <small>SEMMNI</small> Ihres Kernels
-    zu erh�hen.</p>
+    <em>-N</em> Option mit einem kleineren Wert als die standardmäßigen 32. Eine
+    dauerhafte Lösung wäre es, die Parameter <small>SEMMNS</small> und <small>SEMMNI</small> Ihres Kernels
+    zu erhöhen.</p>
 
-    <p>Nichtfunktionierende Semaphores k�nnen au�erdem bei hoher Datenbanklast
-    zu Abst�rzen f�hren.</p>
+    <p>Nichtfunktionierende Semaphores können außerdem bei hoher Datenbanklast
+    zu Abstürzen führen.</p>
 
-    <p>Falls die Fehlermeldung anders aussieht, ist m�glicherweise keine
-    Semaphoren-Unterst�tzung in Ihrem Kernel aktiviert. Der "<em>PostgreSQL
-    Administrator's Guide</em>" <!--(<a href=""></a>)-->enth�lt weitere Informationen zu Shared Memory
+    <p>Falls die Fehlermeldung anders aussieht, ist möglicherweise keine
+    Semaphoren-Unterstützung in Ihrem Kernel aktiviert. Der "<em>PostgreSQL
+    Administrator's Guide</em>" <!--(<a href=""></a>)-->enthält weitere Informationen zu Shared Memory
     und Semaphores.</p>
 
 
     <h4><a name="3.5">3.5</a>) Wie regle ich Zugriffe von anderen Rechnern?</h4>
 
-    <p>PostgreSQL ist standardm��ig so eingestellt, dass Verbindungen nur vom
-    lokalen Rechner �ber Unix Domain Sockets m�glich sind. Verbindungen
-    von anderen Rechnern �ber TCP/IP sind nur m�glich, wenn der <em>postmaster</em>
+    <p>PostgreSQL ist standardmäßig so eingestellt, dass Verbindungen nur vom
+    lokalen Rechner über Unix Domain Sockets möglich sind. Verbindungen
+    von anderen Rechnern über TCP/IP sind nur möglich, wenn der <em>postmaster</em>
     mit der <em>-i</em> Option gestartet wird und / oder die Option <tt>listen_addresses</tt>
     (in 7.x-Versionen: <tt>tcpip_sockets</tt>) in postgresql.conf eingeschaltet wird, und die 
     host-basierte Authentifizierung in der Datei <em>$PGDATA/pg_hba.conf</em> 
     entsprechend angepasst ist.</p>
 
-    <h4><a name="3.6">3.6</a>) Wie optimiere ich die Datenbank f�r bessere Leistung?</h4>
+    <h4><a name="3.6">3.6</a>) Wie optimiere ich die Datenbank für bessere Leistung?</h4>
 
     <p>Der Einsatz von Indizes sollte auf jeden Fall Abfragen beschleunigen. Die
     Anweisung <small>EXPLAIN ANALYZE</small> zeigt, wie PostgreSQL Abfragen interpretiert und 
     welche Indizes benutzt werden.</p>
 
-    <p>Wenn Sie eine gro�e Anzahl von <small>INSERT</small>-Anweisungen durchf�hren, sollten Sie
-    �berlegen, ob die Durchf�hrung mit der <small>COPY</small>-Anweisung in Frage kommt. Dies
+    <p>Wenn Sie eine große Anzahl von <small>INSERT</small>-Anweisungen durchführen, sollten Sie
+    überlegen, ob die Durchführung mit der <small>COPY</small>-Anweisung in Frage kommt. Dies
     funktioniert wesentlich schneller als einzelne <small>INSERT</small>-Befehle.
     SQL-Anweisungen, die sich nicht in einem <small>BEGIN WORK</small>/<small>COMMIT</small> Transaktions-
-    Block befinden, werden als eigene Transaktionen behandelt. �berlegen Sie,
+    Block befinden, werden als eigene Transaktionen behandelt. Überlegen Sie,
     ob die Anweisungen nicht in einen einzelnen Transaktionsblock zusammen-
-    gefasst werden k�nnen. Das reduziert den Transaktionsaufwand. �berlegen
-    Sie auch, bei gr��eren Daten�nderungen Indizes zu l�schen und danach
+    gefasst werden können. Das reduziert den Transaktionsaufwand. Überlegen
+    Sie auch, bei größeren Datenänderungen Indizes zu löschen und danach
     wiederherzustellen.</p>
 
     <p>Es gibt verschiedene Tuning-Optionen, die im Handbuch dokumentiert sind 
     (<a href="http://www.postgresql.org/docs/current/static/runtime.html">Administration Guide/Server Run-time Environment/Run-time Configuration</a>).
-    Sie k�nnen <em>fsync()</em> ausschalten, indem Sie beim Starten des <em>postmaster</em> 
+    Sie können <em>fsync()</em> ausschalten, indem Sie beim Starten des <em>postmaster</em> 
     die Optionen <em>-o -F</em> angeben. Das hindert <em>fsync()</em>-Operationen 
     daran, nach jeder Transaktion die Daten direkt auf die Festplatte zu schreiben.</p>
 
-    <p>Sie k�nnen auch mit der <em>shared_buffers</em> Option des <em>postmaster</em> die 
-    Anzahl der Shared Memory Puffer f�r die Backend-Prozesse erh�hen. Falls Sie diesen Wert
+    <p>Sie können auch mit der <em>shared_buffers</em> Option des <em>postmaster</em> die 
+    Anzahl der Shared Memory Puffer für die Backend-Prozesse erhöhen. Falls Sie diesen Wert
     jedoch zu hoch setzen, kann es vorkommen, dass der <em>postmaster</em> nicht startet,
-    weil die Obergrenze der Speicherzuweisung f�r Shared Memory �berschritten
-    wird. Jeder Puffer ist 8 kB gro�, voreingestellt sind 1000 Puffer.</p>
+    weil die Obergrenze der Speicherzuweisung für Shared Memory überschritten
+    wird. Jeder Puffer ist 8 kB groß, voreingestellt sind 1000 Puffer.</p>
 
-    <p>Die <em>sort_mem</em> (ab PostgreSQL 8.0: <em>work_mem</em>)-Optionen des Backends k�nnen benutzt 
-    werden, um die Gr��e des Speicherplatzes f�r tempor�res Sortieren zu erh�hen. Die
-    Werte werden in Kilobyte gemessen und sind standardm��ig auf 1024 (d.h. 1MB) festgelegt.</p>
+    <p>Die <em>sort_mem</em> (ab PostgreSQL 8.0: <em>work_mem</em>)-Optionen des Backends können benutzt 
+    werden, um die Größe des Speicherplatzes für temporäres Sortieren zu erhöhen. Die
+    Werte werden in Kilobyte gemessen und sind standardmäßig auf 1024 (d.h. 1MB) festgelegt.</p>
 
     <p>Die <small>CLUSTER</small>-Anweisung kann benutzt werden, um Daten in
     Basistabellen zu gruppieren, so dass - um einen schnelleren Zugriff zu
     erreichen - die physikalische Speicherung der Reihenfolge eines der Indexe
-    entspricht.  Siehe auch die <small>CLUSTER(l)</small> Man-Page f�r weitere
+    entspricht.  Siehe auch die <small>CLUSTER(l)</small> Man-Page für weitere
     Details.</p>
 
-    <h4><a name="3.7">3.7</a>)	Welche Debugging-Funktionen sind f�r PostgreSQL verf�gbar?</h4>
+    <h4><a name="3.7">3.7</a>)	Welche Debugging-Funktionen sind für PostgreSQL verfügbar?</h4>
 
-    <p>PostgreSQL hat einige M�glichkeiten, Statusinformationen anzuzeigen,
-    die bei der Fehlersuche n�tzlich sein k�nnen.</p>
+    <p>PostgreSQL hat einige Möglichkeiten, Statusinformationen anzuzeigen,
+    die bei der Fehlersuche nützlich sein können.</p>
     
     <p>Wenn Sie PostgreSQL mit dem <em>--enable-cassert</em> Option kompiliert
     haben, verfolgen zahlreiche <em>assert()</em>-Anweisungen den Ablauf des
     Backends und halten das Programm an, wenn etwas Unerwartetes passiert.</p>
 
     <p>Sowohl der <em>postmaster</em> als auch <em>postgres</em> stellen mehrere
-    Debug-Optionen zur Verf�gung. Zuerst sollten Sie sichergehen, dass Sie die Ausgaben �ber den Standard-Output
+    Debug-Optionen zur Verfügung. Zuerst sollten Sie sichergehen, dass Sie die Ausgaben über den Standard-Output
     und den Standard-Error in eine Datei umleiten, wenn Sie den <em>postmaster</em> starten:</p>
 <pre>
       cd /usr/local/pgsql
@@ -613,106 +613,106 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 </pre>
 
     <p>Dadurch wird die Datei <em>server.log</em> im PostgreSQL-Verzeichnis erzeugt. Diese
-    Datei enth�lt n�tzliche Informationen �ber Probleme oder Fehler, die
+    Datei enthält nützliche Informationen über Probleme oder Fehler, die
     im Server aufgetreten sind. <em>postmaster</em> hat eine <em>-d</em> Option, die noch
     detailliertere Informationen liefert. Zur <em>-d</em> Option wird eine Nummer
     angegeben, die den Debug-Level - also die Menge der berichteten
-    Information - angibt. Achtung, hohe Debug-Levels erzeugen schnell gro�e
+    Information - angibt. Achtung, hohe Debug-Levels erzeugen schnell große
     Logdateien!</p>
 
-    <p>Wenn der <em>postmaster</em> nicht l�uft, k�nnen Sie das <em>postgres</em>-Backend sogar
-    von der Befehlszeile ausf�hren und eine <small>SQL</small>-Anweisung direkt eingeben.
-    Dies ist allerdings <em>nur</em> f�r Debugging-Zwecke zu empfehlen. Beachten Sie, dass hierbei ein
-    Zeilenumbruch, und nicht - wie sonst �blich - das Semikolon die <small>SQL</small>-Anweisung beendet.
-    Falls Sie PostgreSQL mit Debugging-Symbolen kompiliert haben, k�nnen Sie
+    <p>Wenn der <em>postmaster</em> nicht läuft, können Sie das <em>postgres</em>-Backend sogar
+    von der Befehlszeile ausführen und eine <small>SQL</small>-Anweisung direkt eingeben.
+    Dies ist allerdings <em>nur</em> für Debugging-Zwecke zu empfehlen. Beachten Sie, dass hierbei ein
+    Zeilenumbruch, und nicht - wie sonst üblich - das Semikolon die <small>SQL</small>-Anweisung beendet.
+    Falls Sie PostgreSQL mit Debugging-Symbolen kompiliert haben, können Sie
     mit einem Debugger sehen, was passiert. Da das Backend jedoch nicht vom
-    <em>postmaster</em> gestartet wurde, l�uft es nicht in der gleichen
-    Umgebung und deshalb k�nnen einige locking-Vorg�nge sowie die Kommunikation zwischen den Backends nicht
+    <em>postmaster</em> gestartet wurde, läuft es nicht in der gleichen
+    Umgebung und deshalb können einige locking-Vorgänge sowie die Kommunikation zwischen den Backends nicht
     reproduziert werden.</p>
 
-    <p>Wenn der <em>postmaster</em> hingegen l�uft, f�hren Sie <em>psql</em> in einem Fenster aus,
+    <p>Wenn der <em>postmaster</em> hingegen läuft, führen Sie <em>psql</em> in einem Fenster aus,
     ermitteln Sie die Prozessnummer (<small>PID</small>) des <em>postgres</em>-Prozesses, der von <em>psql</em>
     verwendet wird (mit <pre>SELECT pg_backend_pid()</pre>). Binden Sie einen Debugger an diese <small>PID</small>
-    und f�hren Sie Abfragen von <em>psql</em> aus. Wenn Sie den postgres-Serverstart analysieren 
+    und führen Sie Abfragen von <em>psql</em> aus. Wenn Sie den postgres-Serverstart analysieren 
     wollen, setzen Sie die Umgebungsvariable <em>PGOPTIONS="-W </em>n<em>"</em>, und starten Sie 
-    dann <em>psql</em>. Dies verz�gert den Start um <em>n</em> Sekunden, damit Sie einen Debugger an
-    den Prozess binden und ggf. Breakpoints setzen k�nnen, bevor die
+    dann <em>psql</em>. Dies verzögert den Start um <em>n</em> Sekunden, damit Sie einen Debugger an
+    den Prozess binden und ggf. Breakpoints setzen können, bevor die
     Startsequenz begonnen wird.</p>
 
     <p>Es gibt verschiedene Einstellungen (die <small>log_*</small>-Gruppe), die diverse
     Server-Statistik ausgeben und daher bei der Fehlersuche und Performanzmessung sehr
-    n�tzlich sein k�nnen.</p>
+    nützlich sein können.</p>
 
-    <p>Sie k�nnen die Anwendung auch mit Profiling kompilieren, um zu sehen,
-    welche Funktionen wieviel Ausf�hrungszeit beanspruchen. Das Backend
+    <p>Sie können die Anwendung auch mit Profiling kompilieren, um zu sehen,
+    welche Funktionen wieviel Ausführungszeit beanspruchen. Das Backend
     Profil wird im Verzeichnis <em>pgsql/data/base/dbname</em> abgelegt. Das
     Client-Profil wird in das aktuelle Verzeichnis abgelegt. Bitte beachtern Sie, 
     dass unter Linux PostgreSQL mit der Option <em>-DLINUX_PROFILE</em> kompiliert werden
-    mu�, um Profiling nutzen zu k�nnen.</p>
+    muß, um Profiling nutzen zu können.</p>
 
     <h4><a name="3.8">3.8</a>) Ich bekomme die Meldung "<em>Sorry, too many clients</em>", wenn ich eine 
     Verbindung aufzubauen versuche. Warum?</h4>
    
-    <p>Sie m�ssen die maximale Anzahl der gleichzeitig ausf�hrbaren Backend-
+    <p>Sie müssen die maximale Anzahl der gleichzeitig ausführbaren Backend-
     Prozesse hochsetzen.</p>
 
-    <p>Die Voreinstellung erlaubt 32 Prozesse. Sie k�nnen diese erh�hen, indem Sie
+    <p>Die Voreinstellung erlaubt 32 Prozesse. Sie können diese erhöhen, indem Sie
     den <em>postmaster</em> mit einem entsprechenden <em>-N</em> Parameter starten bzw. die
     Konfigurationsdatei <em>postgresql.conf</em> anpassen.</p>
 
-    <p>Bitte beachten Sie, dass Sie auch <em>-B</em> auf ein Wert gr��er als die Voreinstellung
-    von 64 setzen m�ssen, wenn Sie <em>-N</em>  auf einen Wert h�her als 32 setzen;
+    <p>Bitte beachten Sie, dass Sie auch <em>-B</em> auf ein Wert größer als die Voreinstellung
+    von 64 setzen müssen, wenn Sie <em>-N</em>  auf einen Wert höher als 32 setzen;
     <em>-B</em> muss mindestens das Doppelte von <em>-N</em> betragen, und einer besseren
-    Performanz wegen sollte der Wert noch h�her sein. Bei einer hohen Anzahl von
+    Performanz wegen sollte der Wert noch höher sein. Bei einer hohen Anzahl von
     Backend-Prozessen kann es vorkommen, dass Sie einige Unix-Kernel-
-    Parameter ebenfalls erh�hen m�ssen. Folgende Parameter sind zu �berpr�fen:
-    die Maximalgr��e der Shared Memory Blocks <small>SHMMAX</small>; die Maximalanzahl der
+    Parameter ebenfalls erhöhen müssen. Folgende Parameter sind zu überprüfen:
+    die Maximalgröße der Shared Memory Blocks <small>SHMMAX</small>; die Maximalanzahl der
     Semaphoren <small>SEMMNS</small> und <small>SEMMNI</small>; die maximale Anzahl von Prozessen NPROC;
     die maximale Anzahl von Prozessen pro User MAXUPRC; und die Maximalzahl
-    der ge�ffneten Dateien <small>NFILE</small> und <small>NINODE</small>.  Durch die Begrenzung der Anzahl
+    der geöffneten Dateien <small>NFILE</small> und <small>NINODE</small>.  Durch die Begrenzung der Anzahl
     erlaubter Backend-Prozesse wird verhindert, dass System-Ressourcen
     durch PostgreSQL aufgebraucht werden.</p>
 
     <h4><a name="3.9">3.9</a>) Was befindet sich im Verzeichnis <em>pgsql_tmp/</em>?</h4>
 
-    <p>Dieses Verzeichnis enth�lt tempor�re Dateien, die durch den <em>query executor</em>
-    erzeugt werden. Wenn zum Beispiel eine Sortierung durchgef�hrt werden mu�,
-    um ein <small>ORDER BY</small> auszuf�hren, und diese Sortierung mehr Hauptspeicher
-    ben�tigt, als mit dem Backend-Parameter <em>-S</em> erlaubt wurde, dann werden
+    <p>Dieses Verzeichnis enthält temporäre Dateien, die durch den <em>query executor</em>
+    erzeugt werden. Wenn zum Beispiel eine Sortierung durchgeführt werden muß,
+    um ein <small>ORDER BY</small> auszuführen, und diese Sortierung mehr Hauptspeicher
+    benötigt, als mit dem Backend-Parameter <em>-S</em> erlaubt wurde, dann werden
     diese Dateien erzeugt, um die Daten dort zu auszulagern.</p>
 
-    <p>Die tempor�ren Dateien sollten automatisch gel�scht werden. Falls das
-    Backend jedoch w�hrend einer Sortierung abst�rzen sollte, bleiben sie
+    <p>Die temporären Dateien sollten automatisch gelöscht werden. Falls das
+    Backend jedoch während einer Sortierung abstürzen sollte, bleiben sie
     erhalten. Nach einem Neustart des <em>postmaster</em> werden sie dann aber wieder
-    automatisch gel�scht.</p>
+    automatisch gelöscht.</p>
 
-    <h4><a name="3.10">3.10</a>) Warum mu� ich bei jeder neuen Hauptversion von PostgreSQL
-    die komplette Datenbank exportieren und anschlie�end reimportieren?</h4>
+    <h4><a name="3.10">3.10</a>) Warum muß ich bei jeder neuen Hauptversion von PostgreSQL
+    die komplette Datenbank exportieren und anschließend reimportieren?</h4>
 
-    <p>Zwischen "kleinen" PostgreSQL-Versions�nderungen (z.B. zwischen
-    7.2 und 7.2.1) werden keine strukturellen �nderungen durchgef�hrt,
+    <p>Zwischen "kleinen" PostgreSQL-Versionsänderungen (z.B. zwischen
+    7.2 und 7.2.1) werden keine strukturellen Änderungen durchgeführt,
     wodurch ein erneutes Aus- und Einlesen der Daten nicht erforderlich ist.
-    Allerdings wird bei "gro�en" Versions�nderungen (z.B. zwischen 7.2 und 7.3)
+    Allerdings wird bei "großen" Versionsänderungen (z.B. zwischen 7.2 und 7.3)
     oft das interne Format der Systemtabellen und Datendateien
-    angepasst. Diese �nderungen sind oft sehr komplex, wodurch die
-    R�ckw�rtskompatibilit�t der Datendateien nicht gew�hrleistet werden kann.
+    angepasst. Diese Änderungen sind oft sehr komplex, wodurch die
+    Rückwärtskompatibilität der Datendateien nicht gewährleistet werden kann.
     Durch das Exportieren werden die Daten in einem generischen Format
     ausgegeben, wodurch die Importierung in das neue interne Format
-    erm�glicht wird.</p>
+    ermöglicht wird.</p>
 
-    <p>Bei Upgrades, bei denen keine Format�nderungen stattgefunden haben,
+    <p>Bei Upgrades, bei denen keine Formatänderungen stattgefunden haben,
     kann das <em>pg_upgrade</em>-Skript benutzt werden, um die Daten ohne Aus- 
-    und Einlesen zu �bertragen. Die jeweilige Dokumentation gibt an, ob f�r
-    die betreffende Version <em>pg_upgrade</em> verf�gbar ist.</p>
+    und Einlesen zu übertragen. Die jeweilige Dokumentation gibt an, ob für
+    die betreffende Version <em>pg_upgrade</em> verfügbar ist.</p>
 
 
-    <h4><a name="3.11">3.11</a>) Welche Hardware eignet sich f�r den Betrieb mit PostgreSQL?</h4>
+    <h4><a name="3.11">3.11</a>) Welche Hardware eignet sich für den Betrieb mit PostgreSQL?</h4>
 
-    <p>PostgreSQL l�uft auf fast jeder Hardware-Kombination. Im PC-Bereich
-    gibt es allerdings sehr gro�e Abweichungen in der Qualit�t. F�r einen
+    <p>PostgreSQL läuft auf fast jeder Hardware-Kombination. Im PC-Bereich
+    gibt es allerdings sehr große Abweichungen in der Qualität. Für einen
     Arbeitsplatz- oder Entwicklungsrechner mag dies nicht so bedeutend sein,
     im Server-Betrieb jedoch lohnt sich auf jeden Fall die Investition
-    in teurere Bestandteile (Stichw�rter ECC-Speicher, SCSI, Hauptplatinen
+    in teurere Bestandteile (Stichwörter ECC-Speicher, SCSI, Hauptplatinen
     und Netzteile von namhaften Herstellern).
     </p>
 
@@ -723,24 +723,24 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
     <h4><a name="4.1">4.1</a>) Worin besteht der Unterschied zwischen Binary Cursors und Normal
     Cursors?</h4>
 
-    <p>Vgl. die <small>DECLARE</small> Man-Page f�r eine Beschreibung.</p>
+    <p>Vgl. die <small>DECLARE</small> Man-Page für eine Beschreibung.</p>
 
-    <h4><a name="4.2">4.2</a>) Wie w�hle ich per <small>SELECT</small>-Anweisung nur die ersten paar
+    <h4><a name="4.2">4.2</a>) Wie wähle ich per <small>SELECT</small>-Anweisung nur die ersten paar
     Zeilen bzw. eine beliebige Zeile in einer Abfrage aus?</h4>
 
     <p>Vgl. die <small>FETCH</small> Man-Page, oder benutzen Sie <small>SELECT ... LIMIT...</small> .
 
-    <p>Selbst wenn Sie nur die ersten paar Zeilen einer Tabelle abfragen m�chten,
-    mu� unter Umst�nden die komplette Abfrage abgearbeitet werden. Ziehen Sie also
-    m�glichst eine Abfrage in Erw�gung, die eine <small>ORDER BY</small>-Anweisung
+    <p>Selbst wenn Sie nur die ersten paar Zeilen einer Tabelle abfragen möchten,
+    muß unter Umständen die komplette Abfrage abgearbeitet werden. Ziehen Sie also
+    möglichst eine Abfrage in Erwägung, die eine <small>ORDER BY</small>-Anweisung
     benutzt, welche wiederum auf indizierte Spalten verweist. In diesem Fall kann
-    PostgreSQL direkt nach den gew�nschten Zeilen suchen und braucht nicht
-    jede m�gliche Ergebniszeile abzuarbeiten.</p>
+    PostgreSQL direkt nach den gewünschten Zeilen suchen und braucht nicht
+    jede mögliche Ergebniszeile abzuarbeiten.</p>
 
     <p>Bitte beachten Sie, dass mit PostgreSQL 7.3 die Syntax <small>LIMIT <em>n</em>, <em>m</em></small>
     durch <small>LIMIT <em>n</em> OFFSET <em>m</em></small> ersetzt wurde.</p>
 
-    <p>Um eine beliebige Zeile auszuw�hlen, nutzen Sie <small>ORDER BY random()</small>:</p>
+    <p>Um eine beliebige Zeile auszuwählen, nutzen Sie <small>ORDER BY random()</small>:</p>
    <pre>
        SELECT spalte
          FROM tabelle
@@ -748,34 +748,37 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
         LIMIT 1
    </pre>
 
-    <h4><a name="4.3">4.3</a>) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich
-    in <em>psql</em> sehen kann?</h4>
+    <h4><a name="4.3">4.3</a>) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder 
+    Benutzer in der Datenbank definiert sind? Wie bekomme ich die von <em>psql</em> verwendeten Abfragen?</h4>
 
     <p>In psql zeigt der Befehl \dt eine Liste der Datenbanktabellen. Weitere psql-Befehle
-    lassen sich mit \? anzeigen. Sie k�nnen sich die Datei <em>pgsql/src/bin/psql/describe.c</em> 
-    mit dem Quellcode f�r <em>psql</em> ansehen. Sie enth�lt die <small>SQL</small>-Abfragen, die die
-    Backslash-Kommandos (\) ausf�hren. Sie k�nnen <em>psql</em> auch mit der <em>-E</em>
-    Option starten. Danach gibt <em>psql</em> die Abfragen aus, die es bei der Ausf�hrung der Befehle
-    benutzt. Au�erdem biete PostgreSQL ein <small>SQLi</small>-kompatibles INFORMATION SCHEMA,
-    das Metainformation �ber die Datenbank zur Verf�gung stellt.</p>
+    lassen sich mit \? anzeigen. Sie können sich die Datei <em>pgsql/src/bin/psql/describe.c</em> 
+    mit dem Quellcode für <em>psql</em> ansehen. Sie enthält die <small>SQL</small>-Abfragen, die die
+    Backslash-Kommandos (\) ausführen. Sie können <em>psql</em> auch mit der <em>-E</em>
+    Option starten. Danach gibt <em>psql</em> die Abfragen aus, die es bei der Ausführung der Befehle
+    benutzt. Außerdem biete PostgreSQL ein <small>SQL</small>-kompatibles INFORMATION SCHEMA,
+    das Metainformation über die Datenbank zur Verfügung stellt.</p>
 
-    <h4><a name="4.4">4.4</a>) Wie entferne ich eine Spalte aus einer Tabelle? Wie �ndere 
+    <p>Die Datei <em>pgsql/src/tutorial/syscat.source</em> enthält außerdem viele <small>SELECT</small>-
+    Abfragen, mit deren Hilfe man Information über die Systemtabellen erhalten kann.</p>
+
+    <h4><a name="4.4">4.4</a>) Wie entferne ich eine Spalte aus einer Tabelle? Wie ändere 
     ich den Datentyp einer Spalte?</h4>
 
-    <p>Der Syntax <small>ALTER TABLE DROP COLUMN</small> wird ab PostgreSQL 7.3 unterst�tzt.</p>
+    <p>Der Syntax <small>ALTER TABLE DROP COLUMN</small> wird ab PostgreSQL 7.3 unterstützt.</p>
 
-    <p>Bei fr�heren Versionen bietet das folgende Verfahren Ersatz:</p>
+    <p>Bei früheren Versionen bietet das folgende Verfahren Ersatz:</p>
 <pre>
       BEGIN;
       LOCK TABLE old_table;
-      SELECT ...  -- alle au�er der zu entfernenden Spalte hier ausw�hlen
+      SELECT ...  -- alle außer der zu entfernenden Spalte hier auswählen
         INTO TABLE new_table
         FROM old_table;
       DROP TABLE old_table;
       ALTER TABLE new_table RENAME TO old_table;
       COMMIT;
 </pre>
-     <p>Um den Datentyp einer Spalte zu �ndern, gehen Sie wie folgt vor:</p>
+     <p>Um den Datentyp einer Spalte zu ändern, gehen Sie wie folgt vor:</p>
      <pre>
        BEGIN;
        ALTER TABLE <em>tabelle</em> ADD COLUMN <em>neue_spalte</em> <em>neuer_datentyp</em>;
@@ -783,57 +786,57 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
        ALTER TABLE <em>tabelle</em> DROP COLUMN <em>alte_spalte</em>;
        COMMIT;
     </pre>
-    <p>Um den Speicherplatz freizugeben, der von der gel�schten Spalte verwendet 
-    wurde, f�hren Sie <small>VACUUM FULL</small> aus.</p>
+    <p>Um den Speicherplatz freizugeben, der von der gelöschten Spalte verwendet 
+    wurde, führen Sie <small>VACUUM FULL</small> aus.</p>
 
-    <h4><a name="4.5">4.5</a>) Was ist die Maximalgr��e f�r eine Zeile, eine Tabelle, eine Datenbank?</h4>
+    <h4><a name="4.5">4.5</a>) Was ist die Maximalgröße für eine Zeile, eine Tabelle, eine Datenbank?</h4>
 
     <p>Es bestehen folgende Obergrenzen:</p>
 <pre>
-    Maximale Gr��e eine Datenbank?           unbeschr�nkt (es existieren
+    Maximale Größe eine Datenbank?           unbeschränkt (es existieren
                                                Datenbanken mit 32 TB)
-    Maximale Gr��e einer Tabelle?            32 TB
-    Maximale Gr��e einer Zeile?              1,6 TB
-    Maximale Gr��e einer Spalte?             1 GB
+    Maximale Größe einer Tabelle?            32 TB
+    Maximale Größe einer Zeile?              1,6 TB
+    Maximale Größe einer Spalte?             1 GB
     Maximale Anzahl von Zeilen in einer Tabelle?
-                                             unbeschr�nkt
+                                             unbeschränkt
     Maximale Anzahl von Spalten in einer Tabelle?
                                              250-1600 je nach Spaltentyp
-    Maximale Anzahl von Indizies f�r eine Tabelle?
-                                             unbeschr�nkt
+    Maximale Anzahl von Indizies für eine Tabelle?
+                                             unbeschränkt
 </pre>
-    <p>Selbstverst�ndlich sind dies theoretische Werte, die oft durch die
-    verf�gbaren Platten- und Speicherressourcen beschr�nkt werden.
-    Extreme Gr��en k�nnen zu Leistungseinbu�en f�hren.</p>
+    <p>Selbstverständlich sind dies theoretische Werte, die oft durch die
+    verfügbaren Platten- und Speicherressourcen beschränkt werden.
+    Extreme Größen können zu Leistungseinbußen führen.</p>
 
-    <p>Die maximale Tabellengr��e von 32 TB ben�tigt keine Large-File-Unterst�tzung
-    im Betriebssystem. Gro�e Tabellen werden in Dateien mit einer Gr��e von
-    je 1 GB aufgeteilt, wodurch etwaige dateisystem-bedingte Beschr�nkungen nicht
+    <p>Die maximale Tabellengröße von 32 TB benötigt keine Large-File-Unterstützung
+    im Betriebssystem. Große Tabellen werden in Dateien mit einer Größe von
+    je 1 GB aufgeteilt, wodurch etwaige dateisystem-bedingte Beschränkungen nicht
     relevant sind.</p>
 
-    <p>Die maximale Tabellengr��e und die maximale Anzahl von Spalten k�nnen
-    vervierfacht werden, indem man die Default-Blockgr��e auf 32 KB heraufsetzt.</p>
+    <p>Die maximale Tabellengröße und die maximale Anzahl von Spalten können
+    vervierfacht werden, indem man die Default-Blockgröße auf 32 KB heraufsetzt.</p>
 
-    <h4><a name="4.6">4.6</a>) Wieviel Plattenplatz wird ben�tigt, um die Daten aus einer typischen
+    <h4><a name="4.6">4.6</a>) Wieviel Plattenplatz wird benötigt, um die Daten aus einer typischen
     Textdatei abzuspeichern? </h4>
  
     <p>Eine PostgreSQL-Datenbank kann beim Abspeichern einer einfachen Textdatei
-    bis zu f�nfmal mehr Platz gegen�ber der eigentlichen Gr��e der Datei
+    bis zu fünfmal mehr Platz gegenüber der eigentlichen Größe der Datei
     beanspruchen.</p>
 
     <p>Betrachten wir eine Datei mit 100.000 Zeilen mit einem Integer und einer
     Textbeschreibung pro Zeile. Gehen wir davon aus, dass die durchschnittliche
-    L�nge der Textbeschreibung 20 Byte betr�gt. Die einfache Datei w�rde 2,8 MB
-    gro� sein. Die Gr��e der PostgreSQL-Datenbankdatei, die diese Daten enth�lt,
-    liegt ungef�hr bei 6,4 MB:</p>
+    Länge der Textbeschreibung 20 Byte beträgt. Die einfache Datei würde 2,8 MB
+    groß sein. Die Größe der PostgreSQL-Datenbankdatei, die diese Daten enthält,
+    liegt ungefähr bei 6,4 MB:</p>
 <pre>
-    32 Bytes: jeder Zeilenkopf (ungef�hr)
+    32 Bytes: jeder Zeilenkopf (ungefähr)
    +24 Bytes: ein Integer-Feld und ein Textfeld
    + 4 Bytes: Zeiger auf der Datenseite auf den Tupel
    -----------------------------------------------
     60 Bytes pro Zeile
 </pre>
-    <p>Die Gr��e einer Datenseite in PostgreSQL betr�gt 8192 Bytes (8 KB), also:</p>
+    <p>Die Größe einer Datenseite in PostgreSQL beträgt 8192 Bytes (8 KB), also:</p>
 <pre>
    8192 Bytes pro Seite
    ---------------------   =  136 Zeilen pro Seite (abgerundet)
@@ -846,51 +849,40 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
    735 Datenbankseiten * 8192 Bytes pro Seite  =  6.021.120 Byte (6 MB)
 </pre>
     <p>Indizes beanspruchen nicht so viel Platz. Da sie jedoch die
-    Daten beinhalten, die sie indizieren, k�nnen auch sie sehr gro� werden.</p>
+    Daten beinhalten, die sie indizieren, können auch sie sehr groß werden.</p>
 
     <p>NULL-Werte werden als Bitmaps gespeichert, wodurch sie sehr wenig
     Platz in Anspruch nehmen.</p>
 
-    <h4><a name="4.7">4.7</a>) Wie finde ich heraus, welche Tabellen, Indizes,
-    Datenbanken oder Benutzer in der Datenbank definiert sind?</h4>
-
-    <p><em>psql</em> hat eine Vielzahl von Backslash-Befehlen, mit denen solche Informationen
-    angezeigt werden k�nnen. Der Befehl <em>\?</em> zeigt eine �bersicht. Au�erdem
-    zeigt der Befehl <em>\l</em> eine Liste von allen verf�gbaren Datenbanken an.
-
-    <p>Die Datei <em>pgsql/src/tutorial/syscat.source</em> enth�lt au�erdem viele
-    <small>SELECT</small>-Anweisungen, mit deren Hilfe man Information �ber die Systemtabellen
-    erhalten kann.</p>
-
-    <h4><a name="4.8">4.8</a>) Meine Abfragen sind langsam oder benutzen die Indizes nicht. Warum?</h4>
+    <h4><a name="4.7">4.7</a>) Meine Abfragen sind langsam oder benutzen die Indizes nicht. Warum?</h4>
 
     <p>Indizes werden nicht automatisch bei jeder Abfrage verwendet. Indizes werden
-    nur dann verwendet, wenn die abzufragende Tabelle eine bestimmte Gr��e
-    �bersteigt,  und die Abfrage nur eine kleine Prozentzahl der Tabellenzeilen
-    abfragt. Der Grund hierf�r ist der, dass die durch einen Index verursachten
-    Festplattenzugriffe manchmal l�nger dauern w�rden als ein einfaches Auslesen
+    nur dann verwendet, wenn die abzufragende Tabelle eine bestimmte Größe
+    übersteigt,  und die Abfrage nur eine kleine Prozentzahl der Tabellenzeilen
+    abfragt. Der Grund hierfür ist der, dass die durch einen Index verursachten
+    Festplattenzugriffe manchmal länger dauern würden als ein einfaches Auslesen
     aller Tabellenzeilen (sequentieller Scan).</p>
 
     <p>Um festzustellen, ob ein Index verwendet werden soll, braucht PostgreSQL
-    Statistiken �ber die Tabelle. Diese Statistiken werden durch die Anweisungen
+    Statistiken über die Tabelle. Diese Statistiken werden durch die Anweisungen
     <small>VACUUM ANALYZE</small> bzw. <small>ANALYZE</small> berechnet. Anhand der Statistiken kennt der
     Abfragenoptimierer die Anzahl der Tabellenzeilen und kann besser
     entscheiden, ob Indizes verwendet werden sollen. Statistiken sind auch
     bei der Ermittlung der optimalen <small>JOIN</small>-Reihenfolgen und
-    -Methoden wertvoll. Daher sollten diese regelm�ssig durchgef�hrt werden, da
-    sich der Inhalt einer Tabelle ja auch ver�ndert</p>
+    -Methoden wertvoll. Daher sollten diese regelmässig durchgeführt werden, da
+    sich der Inhalt einer Tabelle ja auch verändert</p>
 
     <p>In Versionen vor 8.0 werden Indizes oft nicht benutzt, wenn die
-    jeweiligen Datentypen nicht genau �bereinstimmen. Dies gilt besonders f�r 
+    jeweiligen Datentypen nicht genau übereinstimmen. Dies gilt besonders für 
     Spalten mit numerischen und Integer-Werten.</p>
 
     <p>Indizes werden normalerweise nicht in <small>ORDER BY</small>-Abfrage oder in JOINs
-    verwendet. Ein sequentieller Scan mit anschlie�endem explizitem
+    verwendet. Ein sequentieller Scan mit anschließendem explizitem
     Sortiervorgang ist normalerweise schneller als ein Index-Scan einer
-    gro�en Tabelle. Jedoch wird bei einer Abfrage, in der <small>LIMIT</small> zusammen mit
+    großen Tabelle. Jedoch wird bei einer Abfrage, in der <small>LIMIT</small> zusammen mit
     <small>ORDER BY</small> verwendet wird, oftmals ein Index verwendet, da nur ein
-    kleiner Abschnitt der Tabelle zur�ckgeliefert wird. Dadurch wird es
-    auch m�glich, die Minimal- und Maximalwerte einer Abfrage unter
+    kleiner Abschnitt der Tabelle zurückgeliefert wird. Dadurch wird es
+    auch möglich, die Minimal- und Maximalwerte einer Abfrage unter
     Verwendung von Indizes zu ermitteln:</p>
 <pre>
        SELECT spalte
@@ -900,77 +892,77 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 </pre>
     <p>(Die Aggregatfunktionen MIN() und MAX() verwenden keine Indizes). </p>
 
-    <p>Sollte es danach aussehen, also ob der Optimierer irrt�mlich einen sequentiellen 
-    Scan ausf�hrt, f�hren Sie <small>SET enable_seqscan TO 'off'</small> aus und pr�fen
+    <p>Sollte es danach aussehen, also ob der Optimierer irrtümlich einen sequentiellen 
+    Scan ausführt, führen Sie <small>SET enable_seqscan TO 'off'</small> aus und prüfen
     Sie, ob die Indexabfrage dadurch scheller geworden ist.</p>
 
-    <p>Bei der Nutzung von Wildcard-Operatoren wie <small>LIKE</small> oder <small>~</small>, k�nnen
-    Indizes nur unter bestimmten Umst�nden verwendet werden:</p>
+    <p>Bei der Nutzung von Wildcard-Operatoren wie <small>LIKE</small> oder <small>~</small>, können
+    Indizes nur unter bestimmten Umständen verwendet werden:</p>
   <ul>
     <li>Das Suchmuster muss sich an Anfang des Strings befinden, d.h.:
       <ul>
-        <li><small>LIKE</small>-Suchmuster d�rfen nicht mit <em>%</em> anfangen;</li>
-        <li><small>~</small> (regul�re Ausdr�cke) m�ssen mit <em>^</em> anfangen.</li>
+        <li><small>LIKE</small>-Suchmuster dürfen nicht mit <em>%</em> anfangen;</li>
+        <li><small>~</small> (reguläre Ausdrücke) müssen mit <em>^</em> anfangen.</li>
       </ul>
     </li>
     <li>Das Suchmuster darf nicht mit einer Zeichenklasse (z.B. <em>[a-e]</em>)
     beginnen.</li>
   </ul>
-    <p>Suchmuster, die Gross- und Kleinschreibung nicht ber�cksichtigen (z.B.
-    <small>ILIKE</small> bzw. <small>~*</small>), verwenden keine Indizes. Stattdessen k�nnen
+    <p>Suchmuster, die Gross- und Kleinschreibung nicht berücksichtigen (z.B.
+    <small>ILIKE</small> bzw. <small>~*</small>), verwenden keine Indizes. Stattdessen können
     funktionale Indizes verwendet werden, die im Punkt <a href="#4.12">4.12</a> beschrieben werden.</p>
 
-    <p>Die Standard-Locale "C" muss w�hrend der Datenbank-Initialisierung mit <em>initdb</em>
-    verwendet worden sein, da andere <em>locales</em> den n�chstgr��ten Wert nicht
-    ermitteln k�nnen. Es ist allerdings m�glich, einen besonderen <small>text_pattern_ops</small>-Index 
-    f�r solche F�lle zu erstellen.</p>
+    <p>Die Standard-Locale "C" muss während der Datenbank-Initialisierung mit <em>initdb</em>
+    verwendet worden sein, da andere <em>locales</em> den nächstgrößten Wert nicht
+    ermitteln können. Es ist allerdings möglich, einen besonderen <small>text_pattern_ops</small>-Index 
+    für solche Fälle zu erstellen.</p>
 
-    <h4><a name="4.9">4.9</a>) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer meine
+    <h4><a name="4.8">4.8</a>) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer meine
     Abfrage auswertet?</h4>
 
     <p>Vgl. die <em>EXPLAIN</em> Man-Page.</p>
 
-    <h4><a name="4.10">4.10</a>) Was ist ein R-Tree Index?</h4>
+    <h4><a name="4.9">4.9</a>) Was ist ein R-Tree Index?</h4>
 
-    <p>Ein R-Tree Index wird benutzt, um r�umliche Daten zu indizieren. Ein
-    Hash-Index kann nicht f�r Bereichssuchen genutzt werden. Ein B-Tree
-    Index kann nur f�r Bereichssuchen in eindimensionalen Daten genutzt
-    werden. R-Trees k�nnen hingegen auch mit multi-dimensionalen Daten umgehen. Ein
+    <p>Ein R-Tree Index wird benutzt, um räumliche Daten zu indizieren. Ein
+    Hash-Index kann nicht für Bereichssuchen genutzt werden. Ein B-Tree
+    Index kann nur für Bereichssuchen in eindimensionalen Daten genutzt
+    werden. R-Trees können hingegen auch mit multi-dimensionalen Daten umgehen. Ein
     Beispiel: Wenn ein R-Tree Index auf ein Attribut vom Typ <small>POINT</small>
     gebildet wird, dann kann das System Abfragen wie z.B. "Zeige alle
     Punkte, die sich in einem umgebenden Rechteck befinden" effizienter
     beantworten.</p>
 
-    <p>Die kanonische Ver�ffentlichung, die das originale R-Tree Design
+    <p>Die kanonische Veröffentlichung, die das originale R-Tree Design
     beschreibt, ist:</p>
 
     <p>Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching."
     Proc of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.</p>
 
-    <p>Sie k�nnen dieses Werk auch in Stonebrakers "Readings in Database
+    <p>Sie können dieses Werk auch in Stonebrakers "Readings in Database
     Systems" finden.</p>
 
-    <p>Die eingebauten R-Trees k�nnen Polygone und Rechtecke verarbeiten.
-    Theoretisch k�nnen R-Trees auf eine hohe Anzahl von Dimensionen
-    erweitert werden. F�r die Praxis bedeutet eine solche Erweiterung allerdings eine Menge
-    Arbeit und wir haben derzeit keinerlei Dokumentation dar�ber, wie das
-    zu machen w�re.</p>
+    <p>Die eingebauten R-Trees können Polygone und Rechtecke verarbeiten.
+    Theoretisch können R-Trees auf eine hohe Anzahl von Dimensionen
+    erweitert werden. Für die Praxis bedeutet eine solche Erweiterung allerdings eine Menge
+    Arbeit und wir haben derzeit keinerlei Dokumentation darüber, wie das
+    zu machen wäre.</p>
 
-    <h4><a name="4.11">4.11</a>) Was ist der "<em>Genetic Query Optimizer</em>"?</h4>
+    <h4><a name="4.10">4.10</a>) Was ist der "<em>Genetic Query Optimizer</em>"?</h4>
 
     <p>Das <small>GEQO</small>-Modul in PostgreSQL soll dazu dienen, das Optimierungsproblem
     beim <small>JOIN</small> von vielen Tabellen auf der Basis genetischer Algorithmen
-    (GA) zu l�sen. Es erm�glicht die Behandlung von gro�en JOIN-Queries durch
-    eine nicht-ersch�pfende Suche.</p>
+    (GA) zu lösen. Es ermöglicht die Behandlung von großen JOIN-Queries durch
+    eine nicht-erschöpfende Suche.</p>
 
-    <h4><a name="4.12">4.12</a>) Wie verfahre ich bei der Suche mit regul�ren Ausdr�cken und bei einer
-    Suche, bei der Gro�- und Kleinschreibweisen ignoriert werden? Wie verwende
+    <h4><a name="4.11">4.11</a>) Wie verfahre ich bei der Suche mit regulären Ausdrücken und bei einer
+    Suche, bei der Groß- und Kleinschreibweisen ignoriert werden? Wie verwende
     ich einen Index bei solchen Suchabfragen?</h4>
 
-    <p>Der Operator <em>~</em> wendet einen regul�ren Ausdruck an und <em>~*</em> wendet ihn an, ohne die Gro�- und Kleinschreibung zu beachten.
-     Ebenso beachtet <small>LIKE</small> die Gro�- und Kleinschreibung, und <small>ILIKE</small> nicht.</p> 
+    <p>Der Operator <em>~</em> wendet einen regulären Ausdruck an und <em>~*</em> wendet ihn an, ohne die Groß- und Kleinschreibung zu beachten.
+     Ebenso beachtet <small>LIKE</small> die Groß- und Kleinschreibung, und <small>ILIKE</small> nicht.</p> 
 
-    <p>Gleichheitsvergleiche, die Gro�- und Kleinschreibung ignorieren, werden
+    <p>Gleichheitsvergleiche, die Groß- und Kleinschreibung ignorieren, werden
     in der Regel so ausgedruckt:</p>
 <pre>
       SELECT *
@@ -982,18 +974,18 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
 <pre>
       CREATE INDEX tabelle_index ON tabelle (LOWER(spalte))
 </pre>
-    <h4><a name="4.13">4.13</a>) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?</h4>
+    <h4><a name="4.12">4.12</a>) Wie ermittle ich in einer Abfrage, ob ein Feld NULL ist?</h4>
 
     <p>Testen Sie die Spalte mit <small>IS NULL</small> bzw. <small>IS NOT NULL</small>.</p>
 
-    <h4><a name="4.14">4.14</a>) Was ist der Unterschied zwischen den verschiedenen <small>CHAR</small>-Typen?</h4><pre>
+    <h4><a name="4.13">4.13</a>) Was ist der Unterschied zwischen den verschiedenen <small>CHAR</small>-Typen?</h4><pre>
 Typ           interner Name   Bemerkungen
 -------------------------------------------------
-VARCHAR(n)    varchar         die Gr��e legt die Maximall�nge fest; kein
-                              Auff�llen mit Leerzeichen
-CHAR(n)       bpchar          mit Leerzeichen gef�llt bis zur angegebenen L�nge
-TEXT          text            keine obere Schranke f�r die L�nge
-BYTEA         bytea           Bytearray mit variabler L�nge (auch f�r
+VARCHAR(n)    varchar         die Größe legt die Maximallänge fest; kein
+                              Auffüllen mit Leerzeichen
+CHAR(n)       bpchar          mit Leerzeichen gefüllt bis zur angegebenen Länge
+TEXT          text            keine obere Schranke für die Länge
+BYTEA         bytea           Bytearray mit variabler Länge (auch für
                               '\0'-Bytes geeignet)
 "char"        char            1 Zeichen
 </pre>
@@ -1001,26 +993,26 @@ BYTEA         bytea           Bytearray mit variabler L
     Fehlermeldungen vor.</p>
 
     <p>Die ersten vier Typen sind "<em>varlena</em>"-Typen (d.h. die ersten vier
-    Bytes geben die L�nge an, gefolgt von den Daten). Daher ist der tats�chlich
-    belegte Platz immer etwas mehr als die deklarierte Feldgr��e. Allerdings
-    wird unter Umst�nden auf diese Datentypen Datenkompression durch das <small>TOAST</small>-
-    Verfahren angewendet, womit der tats�chlich belegte Platz auch geringer
+    Bytes geben die Länge an, gefolgt von den Daten). Daher ist der tatsächlich
+    belegte Platz immer etwas mehr als die deklarierte Feldgröße. Allerdings
+    wird unter Umständen auf diese Datentypen Datenkompression durch das <small>TOAST</small>-
+    Verfahren angewendet, womit der tatsächlich belegte Platz auch geringer
     als erwartet ausfallen kann.</p>
 
-    <p>F�r die Speicherung von Zeichenketten variabler L�nge empfiehlt sich <small>VARCHAR(n)</small>. 
-    Die maximale L�nge eines <small>VARCHAR(n)</small>-Felds wird bei der Tabellendefinition
-    festgelegt. <small>TEXT</small> setzt keine L�ngengrenze, allerdings gibt es
+    <p>Für die Speicherung von Zeichenketten variabler Länge empfiehlt sich <small>VARCHAR(n)</small>. 
+    Die maximale Länge eines <small>VARCHAR(n)</small>-Felds wird bei der Tabellendefinition
+    festgelegt. <small>TEXT</small> setzt keine Längengrenze, allerdings gibt es
     eine systembedingte Obergrenze von 1 GB. </p>
 
-    <p><small>CHAR(n)</small> ist geeignet f�r die Speicherung von Zeichenketten, die alle 
-    die gleiche L�nge haben. Bitte beachten Sie, dass <small>CHAR(n)</small> automatisch Zeichenketten
-    bis zur definierten Feldl�nge mit Leerzeichen ausf�llt, w�hrend bei <small>VARCHAR(n)</small> nur
-    die tats�chlich eingegebene Zeichenkette gespeichert wird.</p>
+    <p><small>CHAR(n)</small> ist geeignet für die Speicherung von Zeichenketten, die alle 
+    die gleiche Länge haben. Bitte beachten Sie, dass <small>CHAR(n)</small> automatisch Zeichenketten
+    bis zur definierten Feldlänge mit Leerzeichen ausfüllt, während bei <small>VARCHAR(n)</small> nur
+    die tatsächlich eingegebene Zeichenkette gespeichert wird.</p>
 
-    <p><small>BYTEA</small> ist f�r bin�re Daten, besonders f�r Werte, die <small>NULL</small>-Bytes haben. </p>
-    <p>Alle der hier erw�hnten Typen weisen �hnliche Performanzeigenschaften auf.</p>
+    <p><small>BYTEA</small> ist für binäre Daten, besonders für Werte, die <small>NULL</small>-Bytes haben. </p>
+    <p>Alle der hier erwähnten Typen weisen ähnliche Performanzeigenschaften auf.</p>
 
-    <h4><a name="4.15.1">4.15.1</a>) Wie erzeuge ich ein serielles Feld mit automatischer Erh�hung des
+    <h4><a name="4.14.1">4.14.1</a>) Wie erzeuge ich ein serielles Feld mit automatischer Erhöhung des
     Werts (serial/auto-increment)?</h4>
 
     <p>PostgreSQL bietet einen <small>SERIAL</small>-Datentyp. Dieser erzeugt automatisch
@@ -1039,80 +1031,80 @@ BYTEA         bytea           Bytearray mit variabler L
       );
 </pre><p>umgewandelt.</p>
 
-    <p>Die <em>create_sequence</em> Man-Page liefert weitere Informationen �ber Sequenzen.
-    Es ist auch m�glich, den <small>OID</small>-Wert jeder Spalte als einmaligen Wert
+    <p>Die <em>create_sequence</em> Man-Page liefert weitere Informationen über Sequenzen.
+    Es ist auch möglich, den <small>OID</small>-Wert jeder Spalte als einmaligen Wert
     einzusetzen. Sollten Sie allerdings die Datenbank exportieren und
-    reimportieren wollen, m�ssen Sie die Option <em>-o</em> von <em>pg_dump</em> bzw. <small>COPY
+    reimportieren wollen, müssen Sie die Option <em>-o</em> von <em>pg_dump</em> bzw. <small>COPY
     WITH OIDS</small> verwenden, um die <small>OID</small>s beizubehalten.</p>
 
-    <h4><a name="4.15.2">4.15.2</a>) Wie bekomme ich den Wert einer <small>SERIAL</small>-Sequenz?</h4>
+    <h4><a name="4.14.2">4.14.2</a>) Wie bekomme ich den Wert einer <small>SERIAL</small>-Sequenz?</h4>
 
-    <p>Eine M�glichkeit w�re, mit der <em>nextval()</em>-Funktion den n�chsten <small>SERIAL</small>-Wert
-    von dem Sequenzobjekt vor der Auszuf�hrung einer <small>INSERT</small>-Anweisung anzufordern und ihn 
+    <p>Eine Möglichkeit wäre, mit der <em>nextval()</em>-Funktion den nächsten <small>SERIAL</small>-Wert
+    von dem Sequenzobjekt vor der Auszuführung einer <small>INSERT</small>-Anweisung anzufordern und ihn 
     dann explizit in die <small>INSERT</small>-Anweisung einzubinden. Anhand der Beispieltabelle in
-    <a href="#4.15.1">4.15.1</a> k�nnte dieser Vorgang in einer Pseudosprache so aussehen:</p>
+    <a href="#4.14.1">4.14.1</a> könnte dieser Vorgang in einer Pseudosprache so aussehen:</p>
 <pre>
     new_id = output of execute("SELECT nextval('person_id_seq')");
     execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
 </pre>
-    <p>Danach st�nde der neue Wert in der Variablen <em>new_id</em> f�r die Verwendung in
-    weiteren Abfragen zur Verf�gung, zum Beispiel als Fremdschl�ssel zur
+    <p>Danach stünde der neue Wert in der Variablen <em>new_id</em> für die Verwendung in
+    weiteren Abfragen zur Verfügung, zum Beispiel als Fremdschlüssel zur
     Tabelle 'person'). Bitte beachten Sie, dass der Name des automatisch
     erstellten <small>SEQUENCE</small>-Objektes folgenden Name hat:
     <em>&lt;table&gt;_&lt;serialcolumn&gt;_seq</em>
     wobei '<em>table</em>' und '<em>serialcolumn</em>' die Namen der jeweils betreffenden
     Tabelle / Spalte darstellen.</p>
 
-    <p>Als weitere M�glichkeit k�nnen Sie nach einer <small>INSERT</small>-Anweisung den
-    automatisch eingef�gten <small>SERIAL</small>-Wert mit der <em>currval()</em>-Funktion zur�ckgeben
+    <p>Als weitere Möglichkeit können Sie nach einer <small>INSERT</small>-Anweisung den
+    automatisch eingefügten <small>SERIAL</small>-Wert mit der <em>currval()</em>-Funktion zurückgeben
     lassen:</p>
 <pre>
     execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
     new_id = output of execute("SELECT currval('person_id_seq')");
 </pre>
-    <p>Schlie�lich besteht noch die M�glichkeit, den von einer <small>INSERT</small>-Anweisung
-    zur�ckgelieferten <a href="#4.16"><small>OID</small></a>-Wert als einmaligen Wert zu verwenden.
-    Dieser Ansatz ist allerdings PostgreSQL-spezifisch; au�erdem wird nach 
-    ca. 4 Milliarden Eintr�gen der <small>OID</small>-Wert wieder auf eine kleine Zahl
+    <p>Schließlich besteht noch die Möglichkeit, den von einer <small>INSERT</small>-Anweisung
+    zurückgelieferten <a href="#4.15"><small>OID</small></a>-Wert als einmaligen Wert zu verwenden.
+    Dieser Ansatz ist allerdings PostgreSQL-spezifisch; außerdem wird nach 
+    ca. 4 Milliarden Einträgen der <small>OID</small>-Wert wieder auf eine kleine Zahl
     gesetzt, ist also nicht garantiert immer einmalig oder aufsteigend.</p>
 
     <p>Mit zum Beispiel dem <em>DBD::Pg</em>-Modul von Perl wird der OID-Wert nach einem
-    <em>$sth->excute()</em> �ber <em>$sth->{pg_oid_status}</em> zur�ckgeliefert.</p>
+    <em>$sth->excute()</em> über <em>$sth->{pg_oid_status}</em> zurückgeliefert.</p>
 
-    <h4><a name="4.15.3">4.15.3</a>) F�hren <em>currval()</em> und <em>nextval()</em> zu einer Race-Condition mit anderen
+    <h4><a name="4.14.3">4.14.3</a>) Führen <em>currval()</em> und <em>nextval()</em> zu einer Race-Condition mit anderen
      Nutzern?</h4>
 
-    <p>Nein. <em>currval()</em> liefert einen Wert zur�ck, der von Ihrem Backend
-    bestimmt wird, und der anderen Benutzern nicht zur Verf�gung steht.</p>
+    <p>Nein. <em>currval()</em> liefert einen Wert zurück, der von Ihrem Backend
+    bestimmt wird, und der anderen Benutzern nicht zur Verfügung steht.</p>
 
-    <h4><a name="4.15.4">4.15.4</a>) Warum werden die Sequenzwerte nach einem Transaktionsabbruch nicht
-     zur�ckgesetzt? Warum gibt es L�cken in der Nummerierung meiner
+    <h4><a name="4.14.4">4.14.4</a>) Warum werden die Sequenzwerte nach einem Transaktionsabbruch nicht
+     zurückgesetzt? Warum gibt es Lücken in der Nummerierung meiner
      Sequenz-/<small>SERIAL</small>-Spalte?</h4>
 
     <p>Um die gleichzeitige Abarbeitung von Transaktionen zu verbessern, werden
-    Sequenzen gerade nicht f�r andere Transaktionen gesperrt, sondern die
-    Sequenznummern werden den laufenden Transaktionen sofort zugeteilt. L�cken in 
+    Sequenzen gerade nicht für andere Transaktionen gesperrt, sondern die
+    Sequenznummern werden den laufenden Transaktionen sofort zugeteilt. Lücken in 
     der Sequenznummerierung werden durch abgebrochene Transaktionen verursacht.</p>
 
-    <h4><a name="4.16">4.16</a>) Was ist ein <small>OID</small>? Was ist ein <small>TID</small>?</h4>
+    <h4><a name="4.15">4.15</a>) Was ist ein <small>OID</small>? Was ist ein <small>TID</small>?</h4>
 
     <p><small>OID</small>s sind PostgreSQLs Antwort auf eindeutige Zeilen-IDs. Jede Zeile,
     die in PostgreSQL erzeugt wird, bekommt eine eindeutige <small>OID</small>. Alle
     <small>OID</small>s, die durch initdb erzeugt werden, sind kleiner als 16384 (siehe
     include/access/transam.h). Alle <small>OID</small>s, die durch den Benutzer erzeugt
-    werden, sind gr��er oder gleich diesem Wert. Standardm��ig sind
+    werden, sind größer oder gleich diesem Wert. Standardmäßig sind
     all <small>OID</small>s nicht nur innerhalb einer Tabelle oder Datenbank,
     sondern in der gesamten PostgreSQL-Installation einmalig.</p>
    
     <p>PostgreSQL benutzt <small>OID</small>s in seinen internen Systemtabellen, um Zeilen
-    in JOINs zwischen Tabellen zu verkn�pfen. Es ist m�glich, einen Index
-    f�r die <small>OID</small>-Spalte zu erstellen, wodurch schnellere Zugriffszeiten
-    erreicht werden k�nnen. Es wird empfohlen, <small>OID</small>-Werte in Spalten vom Typ <small>OID</small>
+    in JOINs zwischen Tabellen zu verknüpfen. Es ist möglich, einen Index
+    für die <small>OID</small>-Spalte zu erstellen, wodurch schnellere Zugriffszeiten
+    erreicht werden können. Es wird empfohlen, <small>OID</small>-Werte in Spalten vom Typ <small>OID</small>
     zu speichern.</p>
 
     <p><small>OID</small>s werden allen neuen Zeilen von einem zentralen Bereich, der von
     allen Datenbanken genutzt wird, zugewiesen. Nichts hindert Sie daran,
-    die <small>OID</small> zu �ndern, oder eine Kopie der Tabelle mit den originalen <small>OID</small>s
+    die <small>OID</small> zu ändern, oder eine Kopie der Tabelle mit den originalen <small>OID</small>s
     anzulegen:</p>
 <pre>
         CREATE TABLE new_table(mycol int);
@@ -1123,21 +1115,21 @@ BYTEA         bytea           Bytearray mit variabler L
 </pre>
 
     <p>O<small>ID</small>s werden als 4-Byte Integer gespeichert und laufen bei
-    einem Wert von ungef�hr 4 Milliarden �ber. Niemand hat jemals davon
-    berichtet, dass dies passiert w�re aber wir haben geplant, diese
-    Beschr�nkung aufzuheben, bevor das jemand ausprobieren kann.</p>
+    einem Wert von ungefähr 4 Milliarden über. Niemand hat jemals davon
+    berichtet, dass dies passiert wäre aber wir haben geplant, diese
+    Beschränkung aufzuheben, bevor das jemand ausprobieren kann.</p>
 
     <p>T<small>ID</small>s werden benutzt, um bestimmte physikalische Zeilen
     durch Block und Offset Werte zu identifizieren. T<small>ID</small>s
-    ver�ndern sich, sobald Zeilen ver�ndert oder zur�ckgeladen werden. Sie
-    werden in Indexeintr�gen benutzt um auf die physikalischen Zeilen zu
+    verändern sich, sobald Zeilen verändert oder zurückgeladen werden. Sie
+    werden in Indexeinträgen benutzt um auf die physikalischen Zeilen zu
     zeigen.
 
-    <h4><a name="4.17">4.17</a>) Welche Bedeutung haben die verschiedenen Ausdr�cke, die in
+    <h4><a name="4.16">4.16</a>) Welche Bedeutung haben die verschiedenen Ausdrücke, die in
     PostgreSQL benutzt werden (z.B. attribute, class,...)?</h4>
 
-    <p>Einige der Quelltexte und die �ltere Dokumentation nutzen allgemeine
-    Begriffe. Hier sind einige aufgef�hrt:</p>
+    <p>Einige der Quelltexte und die ältere Dokumentation nutzen allgemeine
+    Begriffe. Hier sind einige aufgeführt:</p>
     <ul>
       <li>row, record, tuple</li>
       <li>attribute, field, column</li>
@@ -1154,56 +1146,56 @@ BYTEA         bytea           Bytearray mit variabler L
     <a href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a>
     (engl.).</p>
 
-    <h4><a name="4.18">4.18</a>) Wieso bekomme ich einen Fehler: "<em>ERROR: Memory exhausted in
+    <h4><a name="4.17">4.17</a>) Wieso bekomme ich einen Fehler: "<em>ERROR: Memory exhausted in
     AllocSetAlloc()</em>"?</h4>
 
     <p>Wahrscheinlich gibt es keinen virtuellen Speicher mehr in Ihrem System
-    oder Ihr Kernel hat niedrige H�chstgrenzen f�r bestimmte Ressourcen.
+    oder Ihr Kernel hat niedrige Höchstgrenzen für bestimmte Ressourcen.
     Probieren Sie vor dem Start von <em>postmaster</em> folgendes:</p>
 <pre>
       ulimit -d 262144
       limit datasize 256m
 </pre>
     <p>Je nach benutzter Shell wird nur einer dieser Befehle erfolgreich
-    ausgef�hrt werden. Auf jedem Fall wird die Grenze des Datensegments f�r
-    Prozesse erh�ht werden und eventuell die erfolgreiche Ausf�hrung der
-    Abfrage erm�glichen. Falls Sie ein Problem mit dem SQL-CLient haben,
-    weil das Backend zu viele Daten zur�ckliefert, versuchen Sie dies vor dem
+    ausgeführt werden. Auf jedem Fall wird die Grenze des Datensegments für
+    Prozesse erhöht werden und eventuell die erfolgreiche Ausführung der
+    Abfrage ermöglichen. Falls Sie ein Problem mit dem SQL-CLient haben,
+    weil das Backend zu viele Daten zurückliefert, versuchen Sie dies vor dem
     Start des SQL-Clients.</p>
 
-    <h4><a name="4.19">4.19</a>) Wie kann ich feststellen, welche PostgreSQL-Version bei mir l�uft?</h4>
+    <h4><a name="4.18">4.18</a>) Wie kann ich feststellen, welche PostgreSQL-Version bei mir läuft?</h4>
 
     Geben Sie in <em>psql</em> <small>SELECT VERSION();</small> ein.
 
-    <h4><a name="4.20">4.20</a>) Bei "large-object"-Operationen kommt die Fehlermeldung: "<em>invalid
+    <h4><a name="4.19">4.19</a>) Bei "large-object"-Operationen kommt die Fehlermeldung: "<em>invalid
     large obj descriptor</em>". Warum?</h4>
 
     <p>Sie sollten die Anweisungen <small>BEGIN WORK</small> und <small>COMMIT</small> bei jeden Gebrauch von
     Large Objects benutzen. Also um <small>lo_open</small> ... <small>lo_close</small>.</p>
 
     <p>Derzeit erzwingt PostgreSQL diese Regel, indem es die Handles der
-    Large Objects beim <small>COMMIT</small> der Transaktion schlie�t. So f�hrt der erste
+    Large Objects beim <small>COMMIT</small> der Transaktion schließt. So führt der erste
     Versuch, etwas mit dem <em>Large Object</em> zu machen, zu einer Meldung
     "<em>invalid large obj descriptor</em>". Solange Sie keine Transaktionen benutzen,
-    wird der Code, der in �lteren PostgreSQL-Versionen funktionierte,
+    wird der Code, der in älteren PostgreSQL-Versionen funktionierte,
     nun diese Fehlermeldung erzeugen.</p>
 
     <p>Falls Sie eine Client-Schnittstelle wie ODBC benutzen, kann es sein,
     dass die <em>auto-commit</em>-Option ausgeschaltet werden muss.</p>
 
-    <h4><a name="4.21">4.21</a>) Wie kann ich eine Spalte erstellen, deren Default-Wert immer
+    <h4><a name="4.20">4.20</a>) Wie kann ich eine Spalte erstellen, deren Default-Wert immer
     die aktuelle Uhrzeit enthalten soll?</h4>
 
     <p>Dazu verwenden Sie <small>CURRENT_TIMESTAMP</small>:</p>
 <pre>
       CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
 </pre>
-    <h4><a name="4.22">4.22</a>) Warum sind meine Unterabfragen (subqueries), die IN verwenden,
+    <h4><a name="4.21">4.21</a>) Warum sind meine Unterabfragen (subqueries), die IN verwenden,
     so langsam?</h4>
 
-    <p>In Versionen vor 7.4 werden Unterabfragen mit der �usseren Abfrage verbunden, 
-    in dem f�r jede Reihe der �usseren Query die Ergebnisse der Unterabfrage
-    sequentiell gepr�ft werden. Um dies zu vermeiden, kann man <small>IN</small> durch
+    <p>In Versionen vor 7.4 werden Unterabfragen mit der äusseren Abfrage verbunden, 
+    in dem für jede Reihe der äusseren Query die Ergebnisse der Unterabfrage
+    sequentiell geprüft werden. Um dies zu vermeiden, kann man <small>IN</small> durch
     <small>EXISTS</small> ersetzen, z.B.:</p>
 <pre>
       SELECT *
@@ -1216,15 +1208,15 @@ BYTEA         bytea           Bytearray mit variabler L
         FROM tabelle_1
        WHERE EXISTS (SELECT spalte2 FROM tabelle_2 WHERE spalte1 = spalte2)
 </pre>
-    <p> Damit diese Abfrage effizient durchgef�hrt wird, sollte f�r '<em>spalte2</em>'
+    <p> Damit diese Abfrage effizient durchgeführt wird, sollte für '<em>spalte2</em>'
     ein Index angelegt worden sein. Ab PostgreSQL 7.4 verwendet <small>IN</small>
-    die gleichen Methoden wie die normale Tabellenverkn�pfung und ist daher soger
+    die gleichen Methoden wie die normale Tabellenverknüpfung und ist daher soger
     <small>EXISTS</small> vorzuziehen.
     </p>
 
-    <h4><a name="4.23">4.23</a>) Wie f�hre ich einen <small>OUTER JOIN</small> durch?</h4>
+    <h4><a name="4.22">4.22</a>) Wie führe ich einen <small>OUTER JOIN</small> durch?</h4>
 
-    <p>PostgreSQL ab der Version 7.1 unterst�tzt <small>OUTER JOIN</small>s nach dem SQL-
+    <p>PostgreSQL ab der Version 7.1 unterstützt <small>OUTER JOIN</small>s nach dem SQL-
     Standardsyntax. Hier zwei Beispiele:</p>
 <pre>
       SELECT *
@@ -1238,18 +1230,18 @@ BYTEA         bytea           Bytearray mit variabler L
              LEFT OUTER JOIN tabelle_2 t2 USING (spalte)
 </pre>
     <p>
-    Diese identischen Abfragen verkn�pfen <em>tabelle_1</em> mit <em>tabelle_2</em> �ber die
-    Spalte '<em>spalte</em>' und geben au�erdem alle unverkn�pften Zeilen in tabelle_1
-    (diejenigen, die keine Entsprechung in <em>tabelle_2</em> haben) zur�ck.
-    Ein <small>RIGHT JOIN</small> w�rde hingegen alle unverkn�pften Zeilen in tabelle_2 hinzuf�gen und
-    ein <small>FULL JOIN</small> w�rde alle verkn�pften Zeilen sowie jeweils alle
-    unverkn�pften Zeilen aus den beiden Tabellen zur�ckliefern. Die Angabe von
-    OUTER ist nicht zwingend und kann in <small>LEFT</small>, <small>RIGHT</small> und <small>FULL</small>-Verkn�pfungen
-    weggelassen werden. Normale Verkn�pfungen sind <small>INNER JOIN</small>s.</p>
+    Diese identischen Abfragen verknüpfen <em>tabelle_1</em> mit <em>tabelle_2</em> über die
+    Spalte '<em>spalte</em>' und geben außerdem alle unverknüpften Zeilen in tabelle_1
+    (diejenigen, die keine Entsprechung in <em>tabelle_2</em> haben) zurück.
+    Ein <small>RIGHT JOIN</small> würde hingegen alle unverknüpften Zeilen in tabelle_2 hinzufügen und
+    ein <small>FULL JOIN</small> würde alle verknüpften Zeilen sowie jeweils alle
+    unverknüpften Zeilen aus den beiden Tabellen zurückliefern. Die Angabe von
+    OUTER ist nicht zwingend und kann in <small>LEFT</small>, <small>RIGHT</small> und <small>FULL</small>-Verknüpfungen
+    weggelassen werden. Normale Verknüpfungen sind <small>INNER JOIN</small>s.</p>
 
-    <p>In fr�heren Versionen von PostgreSQL konnten <small>OUTER JOIN</small>s mittels <small>UNION</small>
+    <p>In früheren Versionen von PostgreSQL konnten <small>OUTER JOIN</small>s mittels <small>UNION</small>
     und <small>NOT IN</small> simuliert werden. Zum Beispiel '<em>tabelle_1</em>' und '<em>tabelle_2</em>'
-    k�nnen als <small>LEFT OUTER JOIN</small> auch so verkn�pft werden:</p>
+    können als <small>LEFT OUTER JOIN</small> auch so verknüpft werden:</p>
 <pre>
       SELECT t1.spalte1, t2.spalte2
         FROM tabelle_1 t1, tabelle_2 t2
@@ -1261,69 +1253,61 @@ BYTEA         bytea           Bytearray mit variabler L
        ORDER BY spalte1
 </pre>
 
-    <h4><a name="4.24">4.24</a>) Wie kann ich Abfragen �ber mehrere Datenbanken hinweg ausf�hren?</h4>
+    <h4><a name="4.23">4.23</a>) Wie kann ich Abfragen über mehrere Datenbanken hinweg ausführen?</h4>
 
     <p>Es gibt keinen Weg, innerhalb einer Abfrage auf mehr als eine Datenbank
-    zuzugreifen. Da PostgreSQL datenbank-spezifische Systemkataloge l�dt, ist
-    eine datenbank�bergreifende Abfrage nicht m�glich.</p>
+    zuzugreifen. Da PostgreSQL datenbank-spezifische Systemkataloge lädt, ist
+    eine datenbankübergreifende Abfrage nicht möglich.</p>
 
-    <p><em>contrib/dblink</em> ist eine Erweiterung, die datenbank�bergreifende Abfragen �ber
-    Funktionsaufrufe erm�glicht.</p>
+    <p><em>contrib/dblink</em> ist eine Erweiterung, die datenbankübergreifende Abfragen über
+    Funktionsaufrufe ermöglicht.</p>
 
-    <p>Es ist nat�rlich m�glich, dass eine Client-Anwendung gleichzeitige Verbindungen
-    zu verschiedenen Datenbanken aufbaut und selber Datens�tze zusammenf�gt.</p>
+    <p>Es ist natürlich möglich, dass eine Client-Anwendung gleichzeitige Verbindungen
+    zu verschiedenen Datenbanken aufbaut und selber Datensätze zusammenfügt.</p>
 
-    <p>Ab 7.3 unterst�tzt PostgreSQL <em>schemas</em>, die die Aufteilung einer Datenbank
-    in mehrere logische Bereiche erm�glichen. Bei vielen Anwendungen k�nnten diese
-    einen geeigneten Ersatz f�r den Zugriff auf eine andere Datenbank bieten.</p>
+    <p>Ab 7.3 unterstützt PostgreSQL <em>schemas</em>, die die Aufteilung einer Datenbank
+    in mehrere logische Bereiche ermöglichen. Bei vielen Anwendungen könnten diese
+    einen geeigneten Ersatz für den Zugriff auf eine andere Datenbank bieten.</p>
 
-    <h4><a name="4.25">4.25</a>) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
-    zur�ckgeben lassen?</h4>
+    <h4><a name="4.24">4.24</a>) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
+    zurückgeben lassen?</h4>
 
-    <p>Ab 7.3 k�nnen Funktionen mehrere Zeilen und Spalten zur�ckgeben, vgl.:
+    <p>Ab 7.3 können Funktionen mehrere Zeilen und Spalten zurückgeben, vgl.:
      <a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.</p>
 
-    <h4><a name="4.26">4.26</a>) Warum kann ich tempor�re Tabellen in <small>PL/PgSQL</small>-Funktionen nicht
-    zuverl�ssig erstellen bzw. l�schen?</h4>
+    <h4><a name="4.25">4.25</a>) Warum kann ich temporäre Tabellen in <small>PL/PgSQL</small>-Funktionen nicht
+    zuverlässig erstellen bzw. löschen?</h4>
 
     <p><small>PL/PgSQL</small> verarbeitet die Inhalte einer Funktion in eine Cache. Dies hat
-    eine unangenehme Nebenwirkung, n�mlich dass wenn eine <small>PL/PgSQL</small>-
-    Funktion auf eine tempor�re Tabelle zugreift, und diese Tabelle
-    anschlie�end gel�scht bzw. neu erstellt wird, die Funktion
+    eine unangenehme Nebenwirkung, nämlich dass wenn eine <small>PL/PgSQL</small>-
+    Funktion auf eine temporäre Tabelle zugreift, und diese Tabelle
+    anschließend gelöscht bzw. neu erstellt wird, die Funktion
     fehlschlagen wird, da die gecachten Funktionsinhalte noch auf die alte
-    tempor�re Tabelle zeigen.</p>
+    temporäre Tabelle zeigen.</p>
 
-    <p>Die L�sung f�r diese Probleme besteht darin, in der <small>PL/PgSQL</small> Funktion mittels
-    <small>EXECUTE</small> auf tempor�re Tabellen zuzugreifen. Diese bewirkt, dass bei
+    <p>Die Lösung für diese Probleme besteht darin, in der <small>PL/PgSQL</small> Funktion mittels
+    <small>EXECUTE</small> auf temporäre Tabellen zuzugreifen. Diese bewirkt, dass bei
     jedem Funktionsruf die betreffende Abfrage neu geparst wird.</p>
 
-    <h4><a name="4.27">4.27</a>) Welche M�glichkeiten zur Datenbank-Replikation gibt es?</h4>
-
-    <p>Es existieren mehrere Ans�tze zur Master/Slave-Replikation in PostgreSQL.
-    In diesen werden Daten�nderungen in der Master-Datenbank durchgef�hrt und an
-    Slave-Datenbanken weitergeleitet. Informationen �ber diese L�sungen
-    befinden sich auf der folgenden Seite (unten):
-      <a href="http://gborg.postgresql.org/genpage?replication_research">http://gborg.postgresql.org/genpage?replication_research</a> .</p>
-
-    <h4><a name="4.28">4.28</a>) Welche M�glichkeiten zur Verschl�sselung gibt es?</h4>
+    <h4><a name="4.26">4.26</a>) Welche Möglichkeiten zur Verschlüsselung gibt es?</h4>
 
     <ul>
-    <li><em>contrib/pgcrypto</em> enth�lt diverse Funktionen f�r die Ben�tzung mit
+    <li><em>contrib/pgcrypto</em> enthält diverse Funktionen für die Benützung mit
       SQL-Abfragen.</li>
 
     <li>Um Verbindungen zwischen dem Server und Client-Anwendungen zu
-      verschl�sseln, muss in der Server-Konfigurationsdatei <em>postgresql.conf</em>
+      verschlüsseln, muss in der Server-Konfigurationsdatei <em>postgresql.conf</em>
       die <em>ssl</em>-Option auf <em>true</em> (Voreinstellung: <em>false</em>) gesetzt werden
       und ein passender <em>host</em>- bzw. <em>hostssl</em>-Eintrag muss in 
       <em>pg_hba.conf</em> vorhanden sein. Zudem muss die <em>sslmode</em>-Einstellung
       beim Client nicht auf <em>disable</em> gesetzt werden. (Bitte beachten Sie auch,
-      da� neben der eingebauten SSL-Unterst�tzung verschl�sselte Verbindungen 
-      auch �ber externe Anwendungen wie <em>stunnel</em> oder <em>ssh</em> aufgebaut werden k�nnen).</li>
+      daß neben der eingebauten SSL-Unterstützung verschlüsselte Verbindungen 
+      auch über externe Anwendungen wie <em>stunnel</em> oder <em>ssh</em> aufgebaut werden können).</li>
 
-    <li>Die Passw�rter der Datenbanknutzer werden ab Version 7.3 automatisch
-      verschl�sselt (in fr�heren Versionen mu� der Parameter <em>PASSWORD_ENCRYPTION</em>
+    <li>Die Passwörter der Datenbanknutzer werden ab Version 7.3 automatisch
+      verschlüsselt (in früheren Versionen muß der Parameter <em>PASSWORD_ENCRYPTION</em>
       in <em>postgresql.conf</em> explizit eingeschaltet werden).</li>
-    <li>Betrieb des Servers auf einem verschl�sselten Dateisystem.</li>
+    <li>Betrieb des Servers auf einem verschlüsselten Dateisystem.</li>
     </ul>
 
     <hr />
@@ -1337,42 +1321,42 @@ BYTEA         bytea           Bytearray mit variabler L
     in einem eigenen Testprogramm.</p>
 
     <h4><a name="5.2">5.2</a>) Wie kann ich praktische neue Typen und Funktionen zu PostgreSQL
-    hinzuf�gen?</h4>
+    hinzufügen?</h4>
 
-    <p>Senden Sie Ihre Beitr�ge an die Mailing Liste <em>pgsql-hackers</em>, und sie
-    werden nach Pr�fung eventuell ins <em>contrib/</em> Verzeichnis des Quellcodes
+    <p>Senden Sie Ihre Beiträge an die Mailing Liste <em>pgsql-hackers</em>, und sie
+    werden nach Prüfung eventuell ins <em>contrib/</em> Verzeichnis des Quellcodes
     aufgenommen werden.</p>
 
-    <h4><a name="5.3">5.3</a>) Wie schreibe ich eine Funktion in C, die einen Tupel zur�ckliefert?</h4>
+    <h4><a name="5.3">5.3</a>) Wie schreibe ich eine Funktion in C, die einen Tupel zurückliefert?</h4>
 
-    <p>Ab PostgreSQL 7.3 werden Funktionen, die Tupel zur�ckliefern, in C, PL/PgSQL und SQL
-    unterst�tzt. Der <i>Programmer's Guide</i> enth�lt weitere Informationen
+    <p>Ab PostgreSQL 7.3 werden Funktionen, die Tupel zurückliefern, in C, PL/PgSQL und SQL
+    unterstützt. Der <i>Programmer's Guide</i> enthält weitere Informationen
     dazu. Ein Bespiel einer solchen Funktion befindet sich in <em>contrib/tablefunc</em>.</p>
 
-    <h4><a name="5.4">5.4</a>) Ich habe eine der Quellendateien ge�ndert. Warum macht sich
-    die �nderung beim erneuten Kompilieren nicht bemerkbar?</h4>
+    <h4><a name="5.4">5.4</a>) Ich habe eine der Quellendateien geändert. Warum macht sich
+    die Änderung beim erneuten Kompilieren nicht bemerkbar?</h4>
 
-    <p>Die <em>Makefiles</em> enthalten nicht die richtigen Abh�ngigkeiten f�r <em>include</em>-
-    Dateien. Sie m�ssen ein "<em>make clean</em>" und dann ein weiteres "<em>make</em>" ausf�hren.
-    Wenn Sie <em>gcc</em> benutzen, k�nnen Sie die "<em>--enable-depend</em>"-Option des <em>configure</em>-
-    Skripts benutzen, damit der Compiler die Abh�ngigkeiten automatisch
+    <p>Die <em>Makefiles</em> enthalten nicht die richtigen Abhängigkeiten für <em>include</em>-
+    Dateien. Sie müssen ein "<em>make clean</em>" und dann ein weiteres "<em>make</em>" ausführen.
+    Wenn Sie <em>gcc</em> benutzen, können Sie die "<em>--enable-depend</em>"-Option des <em>configure</em>-
+    Skripts benutzen, damit der Compiler die Abhängigkeiten automatisch
     ermittelt.</p>
 
     <hr />
 
-    <h4>Anmerkungen des �bersetzers</h4>
+    <h4>Anmerkungen des Übersetzers</h4>
 
-    <p>Die englische Vorlage dieser FAQ wird st�ndig �berarbeitet. Daher liegt
-    die �bersetzung nicht immer auf dem aktuellsten Stand.</p>
+    <p>Die englische Vorlage dieser FAQ wird ständig überarbeitet. Daher liegt
+    die Übersetzung nicht immer auf dem aktuellsten Stand.</p>
 
-    <p>Die aktuellste Version der deutschen �bersetzung befindet sich immer unter
+    <p>Die aktuellste Version der deutschen Übersetzung befindet sich immer unter
     <a href="http://sql-info.de/de/postgresql/FAQ_german.html">http://sql-info.de/de/postgresql/FAQ_german.html</a>.
-    Diese "Arbeitsversion" enth�lt eventuell �nderungen, die noch nicht auf der 
+    Diese "Arbeitsversion" enthält eventuell Änderungen, die noch nicht auf der 
     PostgreSQL-Website eingebunden worden sind.</p>
 
-    <p>�ber Verbesserungshinweise und Korrekturvorschl�ge sowie Verst�ndnisfragen
+    <p>Über Verbesserungshinweise und Korrekturvorschläge sowie Verständnisfragen
     zum Inhalt der FAQ freue ich mich. Ich nehme auch allgemeine Fragen zu PostgreSQL gerne
-    entgegen, verweise jedoch auf die Mailing-Listen als schnelle und zuverl�ssige
+    entgegen, verweise jedoch auf die Mailing-Listen als schnelle und zuverlässige
     Anlaufstellen.</p>
 
 </body>