From 79b0da6e7c7f2dba1b07d80e8fb45de2c376ca53 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 23 Jul 2003 04:13:13 +0000 Subject: Update all FAQ's for 7.3.4. --- doc/src/FAQ/FAQ.html | 90 ++++++++++----- doc/src/FAQ/FAQ_DEV.html | 37 +++--- doc/src/FAQ/FAQ_german.html | 130 +++++++++++++-------- doc/src/FAQ/FAQ_japanese.html | 263 ++++++++++++++++++++++-------------------- doc/src/FAQ/FAQ_russian.html | 99 +++++++++------- 5 files changed, 363 insertions(+), 256 deletions(-) (limited to 'doc/src') diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index 0e7a601a243..54fc1b724f9 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -10,7 +10,7 @@ alink="#0000ff">

Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Fri Feb 14 09:03:00 EST 2003

+

Last updated: Wed Jul 23 00:11:07 EDT 2003

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -18,10 +18,10 @@

The most recent version of this document can be viewed at http://www.ca.PostgreSQL.org/docs/faq-english.html.

+ "http://www.PostgreSQL.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html.

Platform-specific questions are answered at http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html.

+ "http://www.PostgreSQL.org/docs/index.html">http://www.PostgreSQL.org/docs/index.html.


General Questions

@@ -83,11 +83,11 @@ 4.1) What is the difference between binary cursors and normal cursors?
4.2) How do I SELECT only the - first few rows of a query?
+ first few rows of a query? A random row?
4.3) How do I get a list of tables or other things I can see in psql?
4.4) How do you remove a column from a - table?
+ table, or change it's data type?
4.5) What is the maximum size for a row, a table, and a database?
4.6) How much database disk space is required @@ -245,11 +245,16 @@

The database server can run on Windows NT and Win2k using Cygwin, the Cygnus Unix/NT porting library. See pgsql/doc/FAQ_MSWIN in the distribution or the MS Windows FAQ - at - http://www.PostgreSQL.org/docs/faq-mswin.html.

+ at + http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN.

A native port to MS Win NT/2000/XP is currently being worked - on.

+ on. For more details on the current status of PostgreSQL on Windows see + + http://techdocs.postgresql.org/guides/Windows.

+ +

There is also a Novell Netware 6 port at + http://forge.novell.com.

1.5) Where can I get PostgreSQL?

@@ -309,12 +314,12 @@ http://www.PostgreSQL.org -

There is also an IRC channel on EFNet, channel - #PostgreSQL. I use the Unix command irc -c +

There is also an IRC channel on EFNet and OpenProjects, + channel #PostgreSQL. I use the Unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net.

A list of commercial support companies is available at http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html.

+ "http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php.

1.7) What is the latest release?

@@ -326,8 +331,8 @@

Several manuals, manual pages, and some small test examples are included in the distribution. See the /doc directory. You - can also browse the manual online at http://www.ca.PostgreSQL.org/users-lounge/docs/.

+ can also browse the manuals online at http://www.PostgreSQL.org/docs.

There are two PostgreSQL books available online at http://www.PostgreSQL.org/docs/awbook.html @@ -335,7 +340,7 @@ "http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/. There is a list of PostgreSQL books available for purchase at http://www.ca.PostgreSQL.org/books/. + "http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php. There is also a collection of PostgreSQL technical articles at http://techdocs.PostgreSQL.org/.

@@ -498,6 +503,11 @@ send a check to the contact address.


+

Also, if you have a success story about PostgreSQL, please submit + it to our advocacy site at + http://advocacy.postgresql.org.

+ +

User Client Questions

2.1) Are there ODBC drivers @@ -535,7 +545,7 @@

2.3) Does PostgreSQL have a graphical user interface?

- Yes, there are several graphical interfaces to PostgreSQL available. +

Yes, there are several graphical interfaces to PostgreSQL available. These include PgAccess http://www.pgaccess.org), PgAdmin II (http://www.pgadmin.org, @@ -545,7 +555,9 @@ http://www.thekompany.com/products/rekall/, proprietary). There is also PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ), a web-based interface to - PostgreSQL. + PostgreSQL.

+ +

See http://techdocs.postgresql.org/guides/GUITools for a more detailed list.

2.4) What languages are able to communicate with PostgreSQL?

@@ -600,7 +612,7 @@ postmaster. For most systems, with default numbers of buffers and processes, you need a minimum of ~1 MB. See the PostgreSQL + "http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html">PostgreSQL Administrator's Guide for more detailed information about shared memory and semaphores.

@@ -792,7 +804,7 @@ description.

4.2) How do I SELECT only the - first few rows of a query?

+ first few rows of a query? A random row?

See the FETCH manual page, or use SELECT ... LIMIT....

@@ -804,6 +816,14 @@ records requested, or the entire query may have to be evaluated until the desired rows have been generated.

+

To SELECT a random row, use: +

+    SELECT col
+    FROM tab
+    ORDER BY random()
+    LIMIT 1;
+
+

4.3) How do I get a list of tables or other things I can see in psql?

@@ -815,9 +835,9 @@ execute the commands you give.

4.4) How do you remove a column from a - table?

+ table, or change its data type? -

This functionality was added in release 7.3 with +

DROP COLUMN functionality was added in release 7.3 with ALTER TABLE DROP COLUMN. In earlier versions, you can do this:

@@ -831,12 +851,23 @@
     COMMIT;
 
+

To change the data type of a column, do this:

+
+    BEGIN;
+    ALTER TABLE tab ADD COLUMN new_col new_data_type;
+    UPDATE tab SET new_col = CAST(old_col AS new_data_type);
+    ALTER TABLE tab DROP COLUMN old_col;
+    COMMIT;
+
+

You might then want to do VACUUM FULL tab to reclaim the + disk space used by the expired rows.

+

4.5) What is the maximum size for a row, a table, and a database?

These are the limits:

-    Maximum size for a database?             unlimited (1 TB databases exist)
+    Maximum size for a database?             unlimited (4 TB databases exist)
     Maximum size for a table?                16 TB
     Maximum size for a row?                  1.6TB
     Maximum size for a field?                1 GB
@@ -1037,14 +1068,14 @@ Type            Internal Name   Notes
 VARCHAR(n)      varchar         size specifies maximum length, no padding
 CHAR(n)         bpchar          blank padded to the specified fixed length
 TEXT            text            no specific upper limit on length
-"char"          char            one character
 BYTEA           bytea           variable-length byte array (null-byte safe)
+"char"          char            one character
 

You will see the internal name when examining system catalogs and in some error messages.

-

The last four types above are "varlena" types (i.e., the first +

The first four types above are "varlena" types (i.e., the first four bytes on disk are the length, followed by the data). Thus the actual space used is slightly greater than the declared size. However, these data types are also subject to compression or being @@ -1058,8 +1089,8 @@ BYTEA bytea variable-length byte array (null-byte safe) same length. CHAR(n) pads with blanks to the specified length, while VARCHAR(n) only stores the characters supplied. BYTEA is for storing binary data, - particularly values that include NULL bytes. These - types have similar performance characteristics.

+ particularly values that include NULL bytes. All the + types described here have similar performance characteristics.

4.15.1) How do I create a serial/auto-incrementing field?

@@ -1340,11 +1371,10 @@ BYTEA bytea variable-length byte array (null-byte safe)

4.25) How do I return multiple rows or columns from a function?

-

You can return result sets from PL/pgSQL functions using - refcursors. See - http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html, - section 23.7.3.3.

+

In 7.3, you can easily return multiple rows or columns from a + function, + + http://techdocs.postgresql.org/guides/SetReturningFunctions.

4.26) Why can't I reliably create/drop temporary tables in PL/PgSQL functions?

diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index dc9b80aeb81..9304e794de5 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -12,7 +12,7 @@

Developer's Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Fri Feb 14 08:59:10 EST 2003

+

Last updated: Mon Jun 2 00:34:39 EDT 2003

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -281,22 +281,29 @@ less -x4 emacs: M-x set-variable tab-width + or - ; Cmd to set tab stops & indenting for working with PostgreSQL code - (c-add-style "pgsql" - '("bsd" - (indent-tabs-mode . t) - (c-basic-offset . 4) - (tab-width . 4) - (c-offsets-alist . - ((case-label . +)))) - t) ; t = set this mode on + + (c-add-style "pgsql" + '("bsd" + (indent-tabs-mode . t) + (c-basic-offset . 4) + (tab-width . 4) + (c-offsets-alist . + ((case-label . +))) + ) + nil ) ; t = set this style, nil = don't + + (defun pgsql-c-mode () + (c-mode) + (c-set-style "pgsql") + ) and add this to your autoload list (modify file path in macro): - (setq auto-mode-alist - (cons '("\\`/usr/local/src/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode) - auto-mode-alist)) + (setq auto-mode-alist + (cons '("\\`/home/andrew/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode) + auto-mode-alist)) or /* * Local variables: @@ -605,7 +612,9 @@ href="http://webstore.ansi.org/ansidocstore/default.asp"> http://webstore.ansi.org/ansidocstore/default.asp. The main standards documents are ANSI X3.135-1992 for SQL92 and ANSI/ISO/IEC - 9075-2-1999 for SQL99.

+ 9075-2-1999 for SQL99. The SQL 200X standards are at + ftp://sqlstandards.org/SC32/WG3/Progression_Documents/FCD

A summary of these standards is at diff --git a/doc/src/FAQ/FAQ_german.html b/doc/src/FAQ/FAQ_german.html index ab3f9f50f46..73ccae56eab 100644 --- a/doc/src/FAQ/FAQ_german.html +++ b/doc/src/FAQ/FAQ_german.html @@ -14,16 +14,16 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Deutsche Übersetzung von Ian Barwick (barwick@gmx.net).

-

Letzte Aktualisierung der deutschen Übersetzung: So., den 15.12.2002, 18:00 CET

+

Letzte Aktualisierung der deutschen Übersetzung: Mo., den 02.06.2003, 22:00 CET

Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website:

Übersetzungen dieses Dokuments in andere Sprachen sowie plattform- spezifische FAQs können unter - http://www.PostgreSQL.org/users-lounge/docs/faq.html + http://www.PostgreSQL.org/docs/index.html#faqs eingesehen werden.


@@ -72,9 +72,10 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

4.1) Worin besteht der Unterschied zwischen Binary Cursors und Normal Cursors?
4.2) Wie wähle ich per SELECT-Anweisung nur die - ersten paar Zeilen in einer Abfrage aus?
+ 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.4) Wie entferne ich eine Spalte aus einer Tabelle?
+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 Indizes oder Operationen in der Datenbank definiert sind?
@@ -213,10 +214,15 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

(Unix/NT-Portierungsbibliotheken) auf Windows NT/2000 zum Laufen gebracht werden. Hierzu bitte lesen Sie die in der Distribution enthaltene Datei pgsql/doc/FAQ_MSWIN oder die MS-Windows-FAQ unter - http://www.PostgreSQL.org/docs/faq-mswin.html.

+ http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN.

Eine eigenständige Portierung auf MS Win NT/2000/XP befindet sich - in Vorbereitung.

+ in der Vorbereitung.

+ +

Weitere Informationen zum Status von PostgreSQL auf der Microsoft-Plattform + befinden sich unter http://techdocs.postgresql.org/guides/Windows (en.).

+ +

Eine Portierung für Novell Netware 6 gibt es unter http://forge.novell.com.

1.5) Woher bekomme ich PostgreSQL?

@@ -238,7 +244,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Es gibt auch eine Digest-Liste (eine Liste, die Mails zusammengefasst sendet). Um sich an dieser Digest-Liste anzumelden, senden Sie eine Email - an pgsql-general-digest-request@PostgreSQL.org mit folgendem Text:

+ an pgsql-general-digest-request@PostgreSQL.org mit folgendem Text:

     subscribe
     end
@@ -252,30 +258,33 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Die Entwickler-Mailingliste kann mit einer Email an - pgsql-hackers-request@PostgreSQL.org abonniert werden. Die Email muß ebenfalls folgenden Text enthalten:

+ pgsql-hackers-request@PostgreSQL.org abonniert werden. Die Email muß ebenfalls folgenden Text enthalten:

     subscribe
     end
 
+

Eine deutschsprachige Mailing-Liste gibt es bei Yahoo Groups: + http://de.groups.yahoo.com/group/postgres/; + die Liste kann mit einer leeren E-Mail an postgres-subscribe@yahoogroups.de + abonniert werden.

Weitere Mailinglisten und Informationen zu PostgreSQL befinden sich auf der PostgreSQL-Homepage:

http://www.PostgreSQL.org
-

Es gibt außerdem einen IRC-Channel im EFNet, Channel #PostgreSQL. Der - FAQ-Autor Bruce Momjian nutzt den Unix-Befehl: - irc -c '#PostgreSQL' "$USER" irc.phoenix.net - um daran teilzunehmen.

+

Es gibt außerdem einen IRC-Channel bei EFNet und bei OpenProjects, Channel + #PostgreSQL. Der FAQ-Autor Bruce Momjian nutzt den Unix-Befehl: + irc -c '#PostgreSQL' "$USER" irc.phoenix.net um daran teilzunehmen.

Eine Liste von Unternehmen, die Support für PostgreSQL auf kommerzieller Basis leisten, kann unter - http://www.PostgreSQL.org/users-lounge/commercial-support.html + http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html eingesehen werden.

1.7) Was ist die neueste Version von PostgreSQL?

-

Die neueste Version von PostgreSQL ist 7.3.

+

Die neueste Version von PostgreSQL ist 7.3.3 .

Wir planen alle 4 Monate eine neue Version herauszugeben.

@@ -283,7 +292,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Einige Handbücher, Man-Pages und einige kleine Testprogramme sind in der Distribution enthalten. Siehe das /doc-Verzeichnis. Ausserdem sind - alle Handbücher online unter http://www.PostgreSQL.org/users-lounge/docs/ + alle Handbücher online unter http://www.PostgreSQL.org/docs/ verfügbar.

Zwei Bücher zu PostgreSQL sind online verfügbar unter @@ -291,7 +300,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

http://www.commandprompt.com/ppbook/ .

Eine Liste lieferbarer PostgreSQL-Bücher befindet sich unter - http://www.ca.PostgreSQL.org/books/ + http://techdocs.PostgreSQL.org/techdocs/bookreviews.php Diverse technische Artikel befinden sich unter http://techdocs.PostgreSQL.org/ .

@@ -428,6 +437,11 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

einer bestimmten Firma. Sie können auch gerne einen finanziellen Beitrag an die Kontaktadresse verschicken.

+

Eine Möglichkeit der nicht-finanziellen Untetstützung besteht übrigens + darin, für http://advocacy.postgresql.org (en.) bzw. http://advocacy.postgresql.org/?lang=de (dt.) + einen Bericht über den erfolgreichen Einsatz von PostgreSQL in Ihrem + Unternehmen oder Organisation bereitzustellen.

+

Fragen zu Benutzerprogrammen

@@ -519,7 +533,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

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" - (http://www.PostgreSQL.org/idocs/index.php?kernel-resources.html) + (http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html) enthält weitere Informationen zu Shared Memory und Semaphores.

@@ -665,11 +679,6 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

erlaubter Backend-Prozesse wird verhindert, dass System-Ressourcen durch PostgreSQL aufgebraucht werden.

-

In den PostgreSQL-Versionen vor 6.5 war die maximale Anzahl von Backends - auf 64 festgelegt und eine Änderung setzte eine erneute Kompilierung - voraus, bei der die Konstante MaxBackendId in include/storage/sinvaladt.h - entsprechend angepasst werden mußte. -

3.9) Was befindet sich im Verzeichnis pgsql_tmp/?

Dieses Verzeichnis enthält temporäre Dateien, die durch den query executor @@ -712,7 +721,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Vgl. die DECLARE Man-Page für eine Beschreibung.

4.2) Wie wähle ich per SELECT-Anweisung nur die ersten paar - Zeilen in einer Abfrage aus?

+ Zeilen bzw. eine beliebige Zeile in einer Abfrage aus?

Vgl. die FETCH Man-Page, oder benutzen Sie SELECT ... LIMIT... . @@ -726,6 +735,13 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Bitte beachten Sie, dass mit PostgreSQL 7.3 die Syntax LIMIT n, m durch LIMIT n OFFSET m ersetzt wurde.

+

Um eine beliebige Zeile auszuwählen, nutzen Sie ORDER BY random():

+
+       SELECT spalte
+         FROM tabelle
+     ORDER BY random()
+        LIMIT 1;
+   

4.3) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich in psql sehen kann?

@@ -736,9 +752,10 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Option starten. Danach gibt psql die Abfragen aus, die es bei der Ausführung der Befehle benutzt.

-

4.4) Wie entferne ich eine Spalte aus einer Tabelle?

+

4.4) Wie entferne ich eine Spalte aus einer Tabelle? Wie ändere + ich den Datentyp einer Spalte?

-

Der Syntax ALTER TABLE DROP COLUMN wird erst ab PostgreSQL 7.3 unterstützt.

+

Der Syntax ALTER TABLE DROP COLUMN wird ab PostgreSQL 7.3 unterstützt.

Bei früheren Versionen bietet das folgende Verfahren Ersatz:

@@ -751,13 +768,23 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

ALTER TABLE new_table RENAME TO old_table; COMMIT;
+

Um den Datentyp einer Spalte zu ändern, gehen Sie wie folgt vor:

+
+       BEGIN;
+       ALTER TABLE tabelle ADD COLUMN neue_spalte neuer_datentyp;
+       UPDATE tabelle SET neue_spalte = CAST(alte_spalte AS neuer_datentyp);
+       ALTER TABLE tabelle DROP COLUMN alte_spalte;
+       COMMIT;
+    
+

Um den Platz zu reklamieren, der von der gelöschten Spalte verwendet + wurde, führen Sie VACUUM FULL aus.

4.5) Was ist die Maximalgröße für eine Zeile, eine Tabelle, eine Datenbank?

Es bestehen folgende Obergrenzen:

     Maximale Größe eine Datenbank?           unbeschränkt (es existieren
-                                               Datenbanken mit >1TB)
+                                               Datenbanken mit 4TB)
     Maximale Größe einer Tabelle?            16 TB
     Maximale Größe einer Zeile?              1,6 TB
     Maximale Größe einer Spalte?             1 GB
@@ -861,6 +888,10 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

(Die Aggregatfunktionen MIN() und MAX() verwenden keine Indizes).

+

Sollte es danach aussehen, also ob der Optimierer irrtümlich einen sequentiellen + Scan ausführt, führen Sie SET enable_seqscan TO 'off' aus und prüfen + Sie, ob die Indexabfrage dadurch scheller geworden ist.

+

Bei der Nutzung von Wildcard-Operatoren wie LIKE oder ~, können Indizes nur unter bestimmten Umständen verwendet werden: