1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Update German FAQ.

Ian Barwick
This commit is contained in:
Bruce Momjian
2005-01-17 02:42:31 +00:00
parent 83ef003f2c
commit 5be1e13dd1
2 changed files with 558 additions and 587 deletions

View File

@ -5,17 +5,19 @@
Deutsche <20>bersetzung von Ian Barwick (barwick@gmx.net). Deutsche <20>bersetzung von Ian Barwick (barwick@gmx.net).
Letzte Aktualisierung der deutschen <20>bersetzung: Fr., den 17.12.2004, Letzte Aktualisierung der deutschen <20>bersetzung: So., den 16.1.2005,
22:30 MEZ 22:30 MEZ
Die aktuellste Version dieses Dokuments liegt auf der Die aktuellste Version dieses Dokuments liegt auf der
PostgreSQL-Website: PostgreSQL-Website:
* http://www.postgresql.org/docs/faqs/FAQ.html (engl.) * http://www.postgresql.org/files/documentation/faqs/FAQ.html
* http://www.postgresql.org/docs/faqs/FAQ_german.html (dt.) (engl.)
* http://www.postgresql.org/files/documentation/faqs/FAQ_german.html
(dt.)
<20>bersetzungen dieses Dokuments in andere Sprachen sowie plattform- <20>bersetzungen dieses Dokuments in andere Sprachen sowie plattform-
spezifische FAQs k<>nnen unter spezifische FAQs k<>nnen unter http://www.postgresql.org/docs/faq/
http://www.postgresql.org/docs/index.html#faqs eingesehen werden. eingesehen werden.
_________________________________________________________________ _________________________________________________________________
Allgemeine Fragen Allgemeine Fragen
@ -69,55 +71,52 @@
Cursors? Cursors?
4.2) Wie w<>hle ich per SELECT-Anweisung nur die ersten paar Zeilen 4.2) Wie w<>hle ich per SELECT-Anweisung nur die ersten paar Zeilen
bzw. eine beliebige Zeile in einer Abfrage aus? bzw. eine beliebige Zeile in einer Abfrage aus?
4.3) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die 4.3) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder
ich in psql sehen kann? 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 <20>ndere ich 4.4) Wie entferne ich eine Spalte aus einer Tabelle? Wie <20>ndere ich
den Datentyp einer Spalte? den Datentyp einer Spalte?
4.5) Was ist die Maximalgr<67><72>e f<>r eine Zeile, eine Tabelle, eine 4.5) Was ist die Maximalgr<67><72>e f<>r eine Zeile, eine Tabelle, eine
Datenbank? Datenbank?
4.6) Wieviel Plattenplatz wird ben<65>tigt, um die Daten aus einer 4.6) Wieviel Plattenplatz wird ben<65>tigt, um die Daten aus einer
typischen Textdatei abzuspeichern? typischen Textdatei abzuspeichern?
4.7) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder 4.7) Meine Abfragen sind langsam oder nutzen die Indizes nicht. Warum?
Benutzer in der Datenbank definiert sind?Wie finde ich heraus, welche 4.8) Auf welche Weise kann ich sehen, wie der Abfrage-Optimierer
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
("GEQO") meine Abfrage auswertet? ("GEQO") meine Abfrage auswertet?
4.10) Was ist ein R-Tree Index? 4.9) Was ist ein R-Tree Index?
4.11) Was ist der "Genetic Query Optimizer"? 4.10) Was ist der "Genetic Query Optimizer"?
4.12) Wie verfahre ich bei der Suche mit regul<75>ren Ausdr<64>cken und bei 4.11) Wie verfahre ich bei der Suche mit regul<75>ren Ausdr<64>cken und bei
einer Suche, bei der Gro<72>- und Kleinschreibweisen ignoriert werden? einer Suche, bei der Gro<72>- und Kleinschreibweisen ignoriert werden?
Wie verwende ich bei solchen Suchabfragen einen Index? Wie verwende ich bei solchen Suchabfragen einen Index?
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?
4.14) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen? 4.13) Was ist der Unterschied zwischen den verschiedenen CHAR-Typen?
4.15.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh<72>hung 4.14.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh<72>hung
des Wertes? des Wertes?
4.15.2) Wie bekomme ich den Wert einer SERIAL-Sequenz? 4.14.2) Wie bekomme ich den Wert einer SERIAL-Sequenz?
4.15.3) F<>hrt currval() zu einer Race-Condition mit anderen Nutzern? 4.14.3) F<>hrt currval() zu einer Race-Condition mit anderen Nutzern?
4.15.4) Warum werden die Sequenzwerte nach einem Transaktionsabbruch 4.14.4) Warum werden die Sequenzwerte nach einem Transaktionsabbruch
nicht zur<75>ckgesetzt? Warum gibt es L<>cken in der Nummerierung meiner nicht zur<75>ckgesetzt? Warum gibt es L<>cken in der Nummerierung meiner
Sequenz-/SERIAL-Spalte? Sequenz-/SERIAL-Spalte?
4.16) Was ist ein OID? Was ist ein TID? 4.15) Was ist ein OID? Was ist ein TID?
4.17) Welche Bedeutung haben die verschiedenen Ausdr<64>cke, die in 4.16) Welche Bedeutung haben die verschiedenen Ausdr<64>cke, die in
PostgreSQL benutzt werden (z.B. attribute, class,...)? 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()"? 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? 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? 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? 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? so langsam?
4.23) Wie f<>hre ich einen OUTER JOIN durch? 4.22) Wie f<>hre ich einen OUTER JOIN durch?
4.24) Wie kann ich Abfragen <20>ber mehrere Datenbanken hinweg ausf<73>hren? 4.23) Wie kann ich Abfragen <20>ber mehrere Datenbanken hinweg ausf<73>hren?
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<75>ckgeben lassen? zur<75>ckgeben lassen?
4.26) Warum kann ich tempor<6F>re Tabellen in PL/PgSQL-Funktionen nicht 4.25) Warum kann ich tempor<6F>re Tabellen in PL/PgSQL-Funktionen nicht
zuverl<72>ssig erstellen bzw. l<>schen? zuverl<72>ssig erstellen bzw. l<>schen?
4.27) Welche M<>glichkeiten zur Datenbank-Replikation gibt es? 4.26) Welche M<>glichkeiten zur Verschl<EFBFBD>sselung gibt es?
4.28) Welche M<>glichkeiten zur Verschl<68>sselung gibt es?
PostgreSQL erweitern PostgreSQL erweitern
@ -135,10 +134,8 @@
1.1) Was ist PostgreSQL? Wie wird es ausgesprochen? 1.1) Was ist PostgreSQL? Wie wird es ausgesprochen?
Die (englische) Aussprache ist "Post-Gres-Q-L". Eine MP3-Datei zum Die (englische) Aussprache ist "Post-Gres-Q-L". Im allgemeinen
Anh<EFBFBD>ren gibt es hier: http://www.postgresql.org/postgresql.mp3. Im Sprachgebrauch hat sich die Kurzform "Postgres" auch durchgesetzt.
allgemeinen Sprachgebrauch hat sich die Kurzform "Postgres" auch
durchgesetzt.
PostgreSQL ist eine Weiterentwicklung des POSTGRES-Datenbank-Systems, PostgreSQL ist eine Weiterentwicklung des POSTGRES-Datenbank-Systems,
eines zukunftsweisenden DBMS-Forschungsprototyps. W<>hrend PostgreSQL eines zukunftsweisenden DBMS-Forschungsprototyps. W<>hrend PostgreSQL
@ -175,7 +172,7 @@
PostgreSQL Data Base Management System 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 Portions Copyright (c) 1994-6 Regents of the University of California
Permission to use, copy, modify, and distribute this software and its 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 Eine Portierung f<>r Novell Netware 6 gibt es unter
http://forge.novell.com. 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? 1.5) Woher bekomme ich PostgreSQL?
Der zentrale FTP-Server f<>r PostgreSQL ist der ftp-Server Der zentrale FTP-Server f<>r PostgreSQL ist der ftp-Server
@ -285,7 +286,7 @@
1.7) Was ist die neueste Version von PostgreSQL? 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 Die Freigabe einer neuen Version erfolgt im Schnitt alle 6 bis 8
Monaten. Monaten.
@ -531,8 +532,9 @@
Serverprozesse ab, die Sie f<>r postmaster konfiguriert haben. Bei den Serverprozesse ab, die Sie f<>r postmaster konfiguriert haben. Bei den
voreingestellten Werten f<>r Puffer und Prozesse ben<65>tigen Sie bei den voreingestellten Werten f<>r Puffer und Prozesse ben<65>tigen Sie bei den
meisten Systemen ein Minimum von ca. 1 MB. Der "PostgreSQL meisten Systemen ein Minimum von ca. 1 MB. Der "PostgreSQL
Administrator's Guide" () enth<74>lt weitere Informationen zu Shared Administrator's Guide"
Memory und Semaphores. (http://www.postgresql.org/docs/current/static/kernel-resources.html)
enth<74>lt weitere Informationen zu Shared Memory und Semaphores.
3.4) Wenn ich versuche, den postmaster zu starten, bekomme ich 3.4) Wenn ich versuche, den postmaster zu starten, bekomme ich
"IpcSemaphoreCreate"-Fehlermeldungen. Warum? "IpcSemaphoreCreate"-Fehlermeldungen. Warum?
@ -759,8 +761,9 @@ SELECT pg_backend_pid()
LIMIT 1 LIMIT 1
4.3) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich in 4.3) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder
psql sehen kann? 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 In psql zeigt der Befehl \dt eine Liste der Datenbanktabellen. Weitere
psql-Befehle lassen sich mit \? anzeigen. Sie k<>nnen sich die Datei psql-Befehle lassen sich mit \? anzeigen. Sie k<>nnen sich die Datei
@ -768,9 +771,13 @@ SELECT pg_backend_pid()
enth<74>lt die SQL-Abfragen, die die Backslash-Kommandos (\) ausf<73>hren. enth<74>lt die SQL-Abfragen, die die Backslash-Kommandos (\) ausf<73>hren.
Sie k<>nnen psql auch mit der -E Option starten. Danach gibt psql die Sie k<>nnen psql auch mit der -E Option starten. Danach gibt psql die
Abfragen aus, die es bei der Ausf<73>hrung der Befehle benutzt. Au<41>erdem Abfragen aus, die es bei der Ausf<73>hrung der Befehle benutzt. Au<41>erdem
biete PostgreSQL ein SQLi-kompatibles INFORMATION SCHEMA, das biete PostgreSQL ein SQL-kompatibles INFORMATION SCHEMA, das
Metainformation <20>ber die Datenbank zur Verf<72>gung stellt. Metainformation <20>ber die Datenbank zur Verf<72>gung stellt.
Die Datei pgsql/src/tutorial/syscat.source enth<74>lt au<61>erdem viele
SELECT- Abfragen, mit deren Hilfe man Information <20>ber die
Systemtabellen erhalten kann.
4.4) Wie entferne ich eine Spalte aus einer Tabelle? Wie <20>ndere ich den 4.4) Wie entferne ich eine Spalte aus einer Tabelle? Wie <20>ndere ich den
Datentyp einer Spalte? Datentyp einer Spalte?
@ -862,19 +869,7 @@ SELECT pg_backend_pid()
NULL-Werte werden als Bitmaps gespeichert, wodurch sie sehr wenig NULL-Werte werden als Bitmaps gespeichert, wodurch sie sehr wenig
Platz in Anspruch nehmen. Platz in Anspruch nehmen.
4.7) Wie finde ich heraus, welche Tabellen, Indizes, Datenbanken oder 4.7) Meine Abfragen sind langsam oder benutzen die Indizes nicht. Warum?
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
<20>bersicht. Au<41>erdem zeigt der Befehl \l eine Liste von allen
verf<72>gbaren Datenbanken an.
Die Datei pgsql/src/tutorial/syscat.source enth<74>lt au<61>erdem viele
SELECT-Anweisungen, mit deren Hilfe man Information <20>ber die
Systemtabellen erhalten kann.
4.8) Meine Abfragen sind langsam oder benutzen die Indizes nicht. Warum?
Indizes werden nicht automatisch bei jeder Abfrage verwendet. Indizes Indizes werden nicht automatisch bei jeder Abfrage verwendet. Indizes
werden nur dann verwendet, wenn die abzufragende Tabelle eine 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 nicht ermitteln k<>nnen. Es ist allerdings m<>glich, einen besonderen
text_pattern_ops-Index f<>r solche F<>lle zu erstellen. 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? Abfrage auswertet?
Vgl. die EXPLAIN Man-Page. 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 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 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 allerdings eine Menge Arbeit und wir haben derzeit keinerlei
Dokumentation dar<61>ber, wie das zu machen w<>re. Dokumentation dar<61>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 Das GEQO-Modul in PostgreSQL soll dazu dienen, das Optimierungsproblem
beim JOIN von vielen Tabellen auf der Basis genetischer Algorithmen beim JOIN von vielen Tabellen auf der Basis genetischer Algorithmen
(GA) zu l<>sen. Es erm<72>glicht die Behandlung von gro<72>en JOIN-Queries (GA) zu l<>sen. Es erm<72>glicht die Behandlung von gro<72>en JOIN-Queries
durch eine nicht-ersch<63>pfende Suche. durch eine nicht-ersch<63>pfende Suche.
4.12) Wie verfahre ich bei der Suche mit regul<75>ren Ausdr<64>cken und bei einer 4.11) Wie verfahre ich bei der Suche mit regul<75>ren Ausdr<64>cken und bei einer
Suche, bei der Gro<72>- und Kleinschreibweisen ignoriert werden? Wie verwende Suche, bei der Gro<72>- und Kleinschreibweisen ignoriert werden? Wie verwende
ich einen Index bei solchen Suchabfragen? ich einen Index bei solchen Suchabfragen?
@ -992,11 +987,11 @@ SELECT pg_backend_pid()
funktionalen Index an, so wird er auf jeden Fall verwendet: funktionalen Index an, so wird er auf jeden Fall verwendet:
CREATE INDEX tabelle_index ON tabelle (LOWER(spalte)) 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. 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 Typ interner Name Bemerkungen
------------------------------------------------- -------------------------------------------------
@ -1034,7 +1029,7 @@ BYTEA bytea Bytearray mit variabler L
Alle der hier erw<72>hnten Typen weisen <20>hnliche Performanzeigenschaften Alle der hier erw<72>hnten Typen weisen <20>hnliche Performanzeigenschaften
auf. auf.
4.15.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh<72>hung des 4.14.1) Wie erzeuge ich ein serielles Feld mit automatischer Erh<72>hung des
Werts (serial/auto-increment)? Werts (serial/auto-increment)?
PostgreSQL bietet einen SERIAL-Datentyp. Dieser erzeugt automatisch 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 exportieren und reimportieren wollen, m<>ssen Sie die Option -o von
pg_dump bzw. COPY WITH OIDS verwenden, um die OIDs beizubehalten. 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 Eine M<>glichkeit w<>re, mit der nextval()-Funktion den n<>chsten
SERIAL-Wert von dem Sequenzobjekt vor der Auszuf<75>hrung einer SERIAL-Wert von dem Sequenzobjekt vor der Auszuf<75>hrung einer
INSERT-Anweisung anzufordern und ihn dann explizit in die 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: k<>nnte dieser Vorgang in einer Pseudosprache so aussehen:
new_id = output of execute("SELECT nextval('person_id_seq')"); new_id = output of execute("SELECT nextval('person_id_seq')");
execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')"); 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 Mit zum Beispiel dem DBD::Pg-Modul von Perl wird der OID-Wert nach
einem $sth->excute() <20>ber $sth->{pg_oid_status} zur<75>ckgeliefert. einem $sth->excute() <20>ber $sth->{pg_oid_status} zur<75>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? Nutzern?
Nein. currval() liefert einen Wert zur<75>ck, der von Ihrem Backend Nein. currval() liefert einen Wert zur<75>ck, der von Ihrem Backend
bestimmt wird, und der anderen Benutzern nicht zur Verf<72>gung steht. bestimmt wird, und der anderen Benutzern nicht zur Verf<72>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<75>ckgesetzt? Warum gibt es L<>cken in der Nummerierung meiner zur<75>ckgesetzt? Warum gibt es L<>cken in der Nummerierung meiner
Sequenz-/SERIAL-Spalte? Sequenz-/SERIAL-Spalte?
@ -1108,7 +1103,7 @@ BYTEA bytea Bytearray mit variabler L
zugeteilt. L<>cken in der Sequenznummerierung werden durch abgebrochene zugeteilt. L<>cken in der Sequenznummerierung werden durch abgebrochene
Transaktionen verursacht. 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, OIDs sind PostgreSQLs Antwort auf eindeutige Zeilen-IDs. Jede Zeile,
die in PostgreSQL erzeugt wird, bekommt eine eindeutige OID. Alle die in PostgreSQL erzeugt wird, bekommt eine eindeutige OID. Alle
@ -1144,7 +1139,7 @@ BYTEA bytea Bytearray mit variabler L
ver<65>ndert oder zur<75>ckgeladen werden. Sie werden in Indexeintr<74>gen ver<65>ndert oder zur<75>ckgeladen werden. Sie werden in Indexeintr<74>gen
benutzt um auf die physikalischen Zeilen zu zeigen. benutzt um auf die physikalischen Zeilen zu zeigen.
4.17) Welche Bedeutung haben die verschiedenen Ausdr<64>cke, die in PostgreSQL 4.16) Welche Bedeutung haben die verschiedenen Ausdr<64>cke, die in PostgreSQL
benutzt werden (z.B. attribute, class,...)? benutzt werden (z.B. attribute, class,...)?
Einige der Quelltexte und die <20>ltere Dokumentation nutzen allgemeine Einige der Quelltexte und die <20>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 http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary
/glossary.html (engl.). /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()"? AllocSetAlloc()"?
Wahrscheinlich gibt es keinen virtuellen Speicher mehr in Ihrem System 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<75>ckliefert, versuchen Sie haben, weil das Backend zu viele Daten zur<75>ckliefert, versuchen Sie
dies vor dem Start des SQL-Clients. 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. 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? large obj descriptor". Warum?
Sie sollten die Anweisungen BEGIN WORK und COMMIT bei jeden Gebrauch 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, Falls Sie eine Client-Schnittstelle wie ODBC benutzen, kann es sein,
dass die auto-commit-Option ausgeschaltet werden muss. 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? aktuelle Uhrzeit enthalten soll?
Dazu verwenden Sie CURRENT_TIMESTAMP: Dazu verwenden Sie CURRENT_TIMESTAMP:
CREATE TABLE test (x int, modtime timestamp DEFAULT 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? langsam?
In Versionen vor 7.4 werden Unterabfragen mit der <20>usseren Abfrage In Versionen vor 7.4 werden Unterabfragen mit der <20>usseren Abfrage
@ -1226,7 +1221,7 @@ BYTEA bytea Bytearray mit variabler L
gleichen Methoden wie die normale Tabellenverkn<6B>pfung und ist daher gleichen Methoden wie die normale Tabellenverkn<6B>pfung und ist daher
soger EXISTS vorzuziehen. 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<73>tzt OUTER JOINs nach dem SQL- PostgreSQL ab der Version 7.1 unterst<73>tzt OUTER JOINs nach dem SQL-
Standardsyntax. Hier zwei Beispiele: 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) WHERE t1.spalte1 NOT IN (SELECT t2.spalte1 FROM tabelle_2 t2)
ORDER BY spalte1 ORDER BY spalte1
4.24) Wie kann ich Abfragen <20>ber mehrere Datenbanken hinweg ausf<73>hren? 4.23) Wie kann ich Abfragen <20>ber mehrere Datenbanken hinweg ausf<73>hren?
Es gibt keinen Weg, innerhalb einer Abfrage auf mehr als eine Es gibt keinen Weg, innerhalb einer Abfrage auf mehr als eine
Datenbank zuzugreifen. Da PostgreSQL datenbank-spezifische 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 Anwendungen k<>nnten diese einen geeigneten Ersatz f<>r den Zugriff auf
eine andere Datenbank bieten. 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<75>ckgeben lassen? zur<75>ckgeben lassen?
Ab 7.3 k<>nnen Funktionen mehrere Zeilen und Spalten zur<75>ckgeben, vgl.: Ab 7.3 k<>nnen Funktionen mehrere Zeilen und Spalten zur<75>ckgeben, vgl.:
http://techdocs.postgresql.org/guides/SetReturningFunctions. http://techdocs.postgresql.org/guides/SetReturningFunctions.
4.26) Warum kann ich tempor<6F>re Tabellen in PL/PgSQL-Funktionen nicht 4.25) Warum kann ich tempor<6F>re Tabellen in PL/PgSQL-Funktionen nicht
zuverl<72>ssig erstellen bzw. l<>schen? zuverl<72>ssig erstellen bzw. l<>schen?
PL/PgSQL verarbeitet die Inhalte einer Funktion in eine Cache. Dies 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<6F>re Tabellen zuzugreifen. Diese bewirkt, mittels EXECUTE auf tempor<6F>re Tabellen zuzugreifen. Diese bewirkt,
dass bei jedem Funktionsruf die betreffende Abfrage neu geparst wird. dass bei jedem Funktionsruf die betreffende Abfrage neu geparst wird.
4.27) Welche M<>glichkeiten zur Datenbank-Replikation gibt es? 4.26) Welche M<>glichkeiten zur Verschl<EFBFBD>sselung gibt es?
Es existieren mehrere Ans<6E>tze zur Master/Slave-Replikation in
PostgreSQL. In diesen werden Daten<65>nderungen in der Master-Datenbank
durchgef<65>hrt und an Slave-Datenbanken weitergeleitet. Informationen
<20>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<68>sselung gibt es?
* contrib/pgcrypto enth<74>lt diverse Funktionen f<>r die Ben<65>tzung mit * contrib/pgcrypto enth<74>lt diverse Funktionen f<>r die Ben<65>tzung mit
SQL-Abfragen. SQL-Abfragen.

File diff suppressed because it is too large Load Diff