mirror of
https://github.com/postgres/postgres.git
synced 2025-04-20 00:42:27 +03:00
Update all FAQ's for 7.3.4.
This commit is contained in:
parent
1ecc0fdb00
commit
79b0da6e7c
@ -1,5 +1,5 @@
|
|||||||
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
|
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
|
||||||
$Date: 2003/02/14 14:05:51 $
|
$Date: 2003/07/23 04:13:11 $
|
||||||
|
|
||||||
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
|
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
|
||||||
(vac.C 5.0.1) passes all regression tests. Other versions of OS and
|
(vac.C 5.0.1) passes all regression tests. Other versions of OS and
|
||||||
|
20
doc/FAQ_DEV
20
doc/FAQ_DEV
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Developer's Frequently Asked Questions (FAQ) for PostgreSQL
|
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)
|
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||||
|
|
||||||
@ -226,21 +226,28 @@
|
|||||||
less -x4
|
less -x4
|
||||||
emacs:
|
emacs:
|
||||||
M-x set-variable tab-width
|
M-x set-variable tab-width
|
||||||
|
|
||||||
or
|
or
|
||||||
; Cmd to set tab stops & indenting for working with PostgreSQL code
|
|
||||||
(c-add-style "pgsql"
|
(c-add-style "pgsql"
|
||||||
'("bsd"
|
'("bsd"
|
||||||
(indent-tabs-mode . t)
|
(indent-tabs-mode . t)
|
||||||
(c-basic-offset . 4)
|
(c-basic-offset . 4)
|
||||||
(tab-width . 4)
|
(tab-width . 4)
|
||||||
(c-offsets-alist .
|
(c-offsets-alist .
|
||||||
((case-label . +))))
|
((case-label . +)))
|
||||||
t) ; t = set this mode on
|
)
|
||||||
|
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):
|
and add this to your autoload list (modify file path in macro):
|
||||||
|
|
||||||
(setq auto-mode-alist
|
(setq auto-mode-alist
|
||||||
(cons '("\\`/usr/local/src/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode)
|
(cons '("\\`/home/andrew/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode)
|
||||||
auto-mode-alist))
|
auto-mode-alist))
|
||||||
or
|
or
|
||||||
/*
|
/*
|
||||||
@ -505,7 +512,8 @@
|
|||||||
standard must be purchased from ANSI at
|
standard must be purchased from ANSI at
|
||||||
http://webstore.ansi.org/ansidocstore/default.asp. The main standards
|
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
|
documents are ANSI X3.135-1992 for SQL92 and ANSI/ISO/IEC 9075-2-1999
|
||||||
for SQL99.
|
for SQL99. The SQL 200X standards are at
|
||||||
|
ftp://sqlstandards.org/SC32/WG3/Progression_Documents/FCD
|
||||||
|
|
||||||
A summary of these standards is at
|
A summary of these standards is at
|
||||||
http://dbs.uni-leipzig.de/en/lokal/standards.pdf and
|
http://dbs.uni-leipzig.de/en/lokal/standards.pdf and
|
||||||
|
@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3
|
|||||||
HP-UX Specific
|
HP-UX Specific
|
||||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||||
=======================================================
|
=======================================================
|
||||||
last updated: $Date: 2003/02/14 14:05:51 $
|
last updated: $Date: 2003/07/23 04:13:11 $
|
||||||
|
|
||||||
current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
|
current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
|
||||||
original author: Tom Lane (tgl@sss.pgh.pa.us)
|
original author: Tom Lane (tgl@sss.pgh.pa.us)
|
||||||
|
@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL
|
|||||||
IRIX Specific
|
IRIX Specific
|
||||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
|
||||||
=======================================================
|
=======================================================
|
||||||
last updated: $Date: 2003/02/14 14:05:52 $
|
last updated: $Date: 2003/07/23 04:13:11 $
|
||||||
|
|
||||||
current maintainer: Luis Amigo (lamigo@atc.unican.es)
|
current maintainer: Luis Amigo (lamigo@atc.unican.es)
|
||||||
original author: Luis Amigo (lamigo@atc.unican.es)
|
original author: Luis Amigo (lamigo@atc.unican.es)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
How to install PostgreSQL on Windows
|
How to install PostgreSQL on Windows
|
||||||
====================================
|
====================================
|
||||||
$Date: 2003/02/14 14:05:52 $
|
$Date: 2003/07/23 04:13:11 $
|
||||||
|
|
||||||
1. Install the latest Cygwin package, available at http://cygwin.com/.
|
1. Install the latest Cygwin package, available at http://cygwin.com/.
|
||||||
The Cygwin package provides a UNIX-like API on top of the Win32
|
The Cygwin package provides a UNIX-like API on top of the Win32
|
||||||
|
@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3
|
|||||||
SCO UnixWare and OpenServer specific
|
SCO UnixWare and OpenServer specific
|
||||||
to be read in conjunction with the installation instructions
|
to be read in conjunction with the installation instructions
|
||||||
============================================================
|
============================================================
|
||||||
last updated: $Date: 2003/02/14 14:05:52 $
|
last updated: $Date: 2003/07/23 04:13:11 $
|
||||||
|
|
||||||
current maintainer: Billy G. Allie (Bill.Allie@mug.org)
|
current maintainer: Billy G. Allie (Bill.Allie@mug.org)
|
||||||
original author: Andrew Merrill (andrew@compclass.com)
|
original author: Andrew Merrill (andrew@compclass.com)
|
||||||
|
@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL
|
|||||||
Sun Solaris specific
|
Sun Solaris specific
|
||||||
to be read in conjunction with the installation instructions
|
to be read in conjunction with the installation instructions
|
||||||
============================================================
|
============================================================
|
||||||
last updated: $Date: 2003/02/14 14:05:52 $
|
last updated: $Date: 2003/07/23 04:13:11 $
|
||||||
|
|
||||||
current maintainer: Peter Eisentraut <peter_e@gmx.net>
|
current maintainer: Peter Eisentraut <peter_e@gmx.net>
|
||||||
|
|
||||||
|
155
doc/FAQ_german
155
doc/FAQ_german
@ -5,18 +5,17 @@
|
|||||||
|
|
||||||
Deutsche Übersetzung von Ian Barwick (barwick@gmx.net).
|
Deutsche Übersetzung von Ian Barwick (barwick@gmx.net).
|
||||||
|
|
||||||
Letzte Aktualisierung der deutschen Übersetzung: So., den 15.12.2002,
|
Letzte Aktualisierung der deutschen Übersetzung: Mo., den 02.06.2003,
|
||||||
18:00 CET
|
22:00 CET
|
||||||
|
|
||||||
Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL
|
Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL
|
||||||
Website:
|
Website:
|
||||||
* http://www.PostgreSQL.org/docs/faq-english.html (engl.)
|
* http://www.PostgreSQL.org/docs/faqs/FAQ.html (engl.)
|
||||||
* http://www.PostgreSQL.org/docs/faq-german.html (dt.)
|
* http://www.PostgreSQL.org/docs/faqs/FAQ_german.html (dt.)
|
||||||
|
|
||||||
Übersetzungen dieses Dokuments in andere Sprachen sowie plattform-
|
Übersetzungen dieses Dokuments in andere Sprachen sowie plattform-
|
||||||
spezifische FAQs können unter
|
spezifische FAQs können unter
|
||||||
http://www.PostgreSQL.org/users-lounge/docs/faq.html eingesehen
|
http://www.PostgreSQL.org/docs/index.html#faqs eingesehen werden.
|
||||||
werden.
|
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Allgemeine Fragen
|
Allgemeine Fragen
|
||||||
@ -67,11 +66,12 @@
|
|||||||
|
|
||||||
4.1) Worin besteht der Unterschied zwischen Binary Cursors und Normal
|
4.1) Worin besteht der Unterschied zwischen Binary Cursors und Normal
|
||||||
Cursors?
|
Cursors?
|
||||||
4.2) Wie wähle ich per SELECT-Anweisung nur die ersten paar Zeilen in
|
4.2) Wie wähle ich per SELECT-Anweisung nur die ersten paar Zeilen
|
||||||
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 bekomme ich eine Liste der Tabellen oder anderen Dinge, die
|
||||||
ich in psql sehen kann?
|
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
|
4.5) Was ist die Maximalgröße für eine Zeile, eine Tabelle, eine
|
||||||
Datenbank?
|
Datenbank?
|
||||||
4.6) Wieviel Plattenplatz wird benötigt, um die Daten aus einer
|
4.6) Wieviel Plattenplatz wird benötigt, um die Daten aus einer
|
||||||
@ -222,10 +222,17 @@
|
|||||||
(Unix/NT-Portierungsbibliotheken) auf Windows NT/2000 zum Laufen
|
(Unix/NT-Portierungsbibliotheken) auf Windows NT/2000 zum Laufen
|
||||||
gebracht werden. Hierzu bitte lesen Sie die in der Distribution
|
gebracht werden. Hierzu bitte lesen Sie die in der Distribution
|
||||||
enthaltene Datei pgsql/doc/FAQ_MSWIN oder die MS-Windows-FAQ unter
|
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
|
Eine eigenständige Portierung auf MS Win NT/2000/XP befindet sich in
|
||||||
Vorbereitung.
|
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?
|
1.5) Woher bekomme ich PostgreSQL?
|
||||||
|
|
||||||
@ -264,23 +271,28 @@
|
|||||||
subscribe
|
subscribe
|
||||||
end
|
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
|
Weitere Mailinglisten und Informationen zu PostgreSQL befinden sich
|
||||||
auf der PostgreSQL-Homepage:
|
auf der PostgreSQL-Homepage:
|
||||||
|
|
||||||
http://www.PostgreSQL.org
|
http://www.PostgreSQL.org
|
||||||
|
|
||||||
Es gibt außerdem einen IRC-Channel im EFNet, Channel #PostgreSQL. Der
|
Es gibt außerdem einen IRC-Channel bei EFNet und bei OpenProjects,
|
||||||
FAQ-Autor Bruce Momjian nutzt den Unix-Befehl: irc -c '#PostgreSQL'
|
Channel #PostgreSQL. Der FAQ-Autor Bruce Momjian nutzt den
|
||||||
"$USER" irc.phoenix.net um daran teilzunehmen.
|
Unix-Befehl: irc -c '#PostgreSQL' "$USER" irc.phoenix.net um daran
|
||||||
|
teilzunehmen.
|
||||||
|
|
||||||
Eine Liste von Unternehmen, die Support für PostgreSQL auf
|
Eine Liste von Unternehmen, die Support für PostgreSQL auf
|
||||||
kommerzieller Basis leisten, kann unter
|
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.
|
eingesehen werden.
|
||||||
|
|
||||||
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.3.
|
Die neueste Version von PostgreSQL ist 7.3.3 .
|
||||||
|
|
||||||
Wir planen alle 4 Monate eine neue Version herauszugeben.
|
Wir planen alle 4 Monate eine neue Version herauszugeben.
|
||||||
|
|
||||||
@ -288,16 +300,17 @@
|
|||||||
|
|
||||||
Einige Handbücher, Man-Pages und einige kleine Testprogramme sind in
|
Einige Handbücher, Man-Pages und einige kleine Testprogramme sind in
|
||||||
der Distribution enthalten. Siehe das /doc-Verzeichnis. Ausserdem sind
|
der Distribution enthalten. Siehe das /doc-Verzeichnis. Ausserdem sind
|
||||||
alle Handbücher online unter
|
alle Handbücher online unter http://www.PostgreSQL.org/docs/
|
||||||
http://www.PostgreSQL.org/users-lounge/docs/ verfügbar.
|
verfügbar.
|
||||||
|
|
||||||
Zwei Bücher zu PostgreSQL sind online verfügbar unter
|
Zwei Bücher zu PostgreSQL sind online verfügbar unter
|
||||||
http://www.PostgreSQL.org/docs/awbook.html und
|
http://www.PostgreSQL.org/docs/awbook.html und
|
||||||
http://www.commandprompt.com/ppbook/ .
|
http://www.commandprompt.com/ppbook/ .
|
||||||
|
|
||||||
Eine Liste lieferbarer PostgreSQL-Bücher befindet sich unter
|
Eine Liste lieferbarer PostgreSQL-Bücher befindet sich unter
|
||||||
http://www.ca.PostgreSQL.org/books/ Diverse technische Artikel
|
http://techdocs.PostgreSQL.org/techdocs/bookreviews.php Diverse
|
||||||
befinden sich unter http://techdocs.PostgreSQL.org/ .
|
technische Artikel befinden sich unter http://techdocs.PostgreSQL.org/
|
||||||
|
.
|
||||||
|
|
||||||
psql hat einige nützliche \d-Befehle, um Informationen über Typen,
|
psql hat einige nützliche \d-Befehle, um Informationen über Typen,
|
||||||
Operatoren, Funktionen, Aggregate, usw. zu zeigen.
|
Operatoren, Funktionen, Aggregate, usw. zu zeigen.
|
||||||
@ -433,6 +446,12 @@
|
|||||||
Unterstützung des PostgreSQL-Projekts da und nicht für die
|
Unterstützung des PostgreSQL-Projekts da und nicht für die
|
||||||
Finanzierung einer bestimmten Firma. Sie können auch gerne einen
|
Finanzierung einer bestimmten Firma. Sie können auch gerne einen
|
||||||
finanziellen Beitrag an die Kontaktadresse verschicken.
|
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
|
Fragen zu Benutzerprogrammen
|
||||||
@ -518,8 +537,9 @@
|
|||||||
voreingestellten Werten für Puffer und Prozesse benötigen Sie bei den
|
voreingestellten Werten für Puffer und Prozesse benö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"
|
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=k
|
||||||
enthält weitere Informationen zu Shared Memory und Semaphores.
|
ernel-resources.html) enthä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?
|
||||||
@ -664,11 +684,6 @@
|
|||||||
wird verhindert, dass System-Ressourcen durch PostgreSQL aufgebraucht
|
wird verhindert, dass System-Ressourcen durch PostgreSQL aufgebraucht
|
||||||
werden.
|
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/?
|
3.9) Was befindet sich im Verzeichnis pgsql_tmp/?
|
||||||
|
|
||||||
Dieses Verzeichnis enthält temporäre Dateien, die durch den query
|
Dieses Verzeichnis enthält temporäre Dateien, die durch den query
|
||||||
@ -710,8 +725,8 @@
|
|||||||
|
|
||||||
Vgl. die DECLARE Man-Page für eine Beschreibung.
|
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
|
4.2) Wie wähle ich per SELECT-Anweisung nur die ersten paar Zeilen bzw.
|
||||||
Abfrage aus?
|
eine beliebige Zeile in einer Abfrage aus?
|
||||||
|
|
||||||
Vgl. die FETCH Man-Page, oder benutzen Sie SELECT ... LIMIT... .
|
Vgl. die FETCH Man-Page, oder benutzen Sie SELECT ... LIMIT... .
|
||||||
|
|
||||||
@ -726,6 +741,13 @@
|
|||||||
Bitte beachten Sie, dass mit PostgreSQL 7.3 die Syntax LIMIT n, m
|
Bitte beachten Sie, dass mit PostgreSQL 7.3 die Syntax LIMIT n, m
|
||||||
durch LIMIT n OFFSET m ersetzt wurde.
|
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
|
4.3) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich in
|
||||||
psql sehen kann?
|
psql sehen kann?
|
||||||
|
|
||||||
@ -735,10 +757,10 @@
|
|||||||
Option starten. Danach gibt psql die Abfragen aus, die es bei der
|
Option starten. Danach gibt psql die Abfragen aus, die es bei der
|
||||||
Ausführung der Befehle benutzt.
|
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
|
Der Syntax ALTER TABLE DROP COLUMN wird ab PostgreSQL 7.3 unterstützt.
|
||||||
unterstützt.
|
|
||||||
|
|
||||||
Bei früheren Versionen bietet das folgende Verfahren Ersatz:
|
Bei früheren Versionen bietet das folgende Verfahren Ersatz:
|
||||||
BEGIN;
|
BEGIN;
|
||||||
@ -750,11 +772,22 @@
|
|||||||
ALTER TABLE new_table RENAME TO old_table;
|
ALTER TABLE new_table RENAME TO old_table;
|
||||||
COMMIT;
|
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?
|
4.5) Was ist die Maximalgröße für eine Zeile, eine Tabelle, eine Datenbank?
|
||||||
|
|
||||||
Es bestehen folgende Obergrenzen:
|
Es bestehen folgende Obergrenzen:
|
||||||
Maximale Größe eine Datenbank? unbeschränkt (es existieren
|
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 Tabelle? 16 TB
|
||||||
Maximale Größe einer Zeile? 1,6 TB
|
Maximale Größe einer Zeile? 1,6 TB
|
||||||
Maximale Größe einer Spalte? 1 GB
|
Maximale Größe einer Spalte? 1 GB
|
||||||
@ -860,6 +893,10 @@
|
|||||||
|
|
||||||
(Die Aggregatfunktionen MIN() und MAX() verwenden keine Indizes).
|
(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
|
Bei der Nutzung von Wildcard-Operatoren wie LIKE oder ~, können
|
||||||
Indizes nur unter bestimmten Umständen verwendet werden:
|
Indizes nur unter bestimmten Umständen verwendet werden:
|
||||||
* Der Anfang des Suchmusters muß mit dem Anfang des Strings
|
* Der Anfang des Suchmusters muß mit dem Anfang des Strings
|
||||||
@ -942,30 +979,38 @@
|
|||||||
|
|
||||||
Typ interner Name Bemerkungen
|
Typ interner Name Bemerkungen
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
"char" char 1 Zeichen
|
|
||||||
CHAR(n) bpchar mit Leerzeichen gefüllt bis zur angegebenen Länge
|
|
||||||
VARCHAR(n) varchar die Größe legt die Maximallänge fest; kein
|
VARCHAR(n) varchar die Größe legt die Maximallänge fest; kein
|
||||||
Ausfüllen mit Leerzeichen
|
Ausfüllen mit Leerzeichen
|
||||||
|
CHAR(n) bpchar mit Leerzeichen gefüllt bis zur angegebenen Länge
|
||||||
TEXT text Die Länge wird nur durch die maximale Zeilenlänge
|
TEXT text Die Länge wird nur durch die maximale Zeilenlänge
|
||||||
beschränkt
|
beschränkt
|
||||||
BYTEA bytea Bytearray mit variabler Länge
|
BYTEA bytea Bytearray mit variabler Länge
|
||||||
|
"char" char 1 Zeichen
|
||||||
|
|
||||||
Der interne Name kommt vor allem in den Systemkatalogen und in manchen
|
Der interne Name kommt vor allem in den Systemkatalogen und in manchen
|
||||||
Fehlermeldungen vor.
|
Fehlermeldungen vor.
|
||||||
|
|
||||||
Die letzten vier Typen sind "varlena"-Typen (d.h. die ersten vier
|
Die ersten vier Typen sind "varlena"-Typen (d.h. die ersten vier Bytes
|
||||||
Bytes geben die Länge an, gefolgt von den Daten). Daher ist der
|
geben die Länge an, gefolgt von den Daten). Daher ist der tatsächlich
|
||||||
tatsächlich belegte Platz immer etwas mehr als die deklarierte
|
belegte Platz immer etwas mehr als die deklarierte Feldgröße.
|
||||||
Feldgröße. Allerdings wird unter Umständen auf diese Datentypen
|
Allerdings wird unter Umständen auf diese Datentypen Datenkompression
|
||||||
Datenkompression durch das TOAST- Verfahren angewendet, womit der
|
durch das TOAST- Verfahren angewendet, womit der tatsächlich belegte
|
||||||
tatsächlich belegte Platz auch geringer als erwartet ausfallen kann.
|
Platz auch geringer als erwartet ausfallen kann.
|
||||||
|
|
||||||
CHAR(n) ist geeignet für die Speicherung von Zeichenketten ähnlicher
|
Für die Speicherung von Zeichenketten variabler Länge empfiehlt sich
|
||||||
Länge. VARCHAR(n) ist geeignet für Zeichenketten abweichender Längen,
|
VARCHAR(n). Die maximale Länge eines VARCHAR(n)-Felds wird bei der
|
||||||
setzt jedoch eine maximale Länge. TEXT setzt keine Längengrenze,
|
Tabellendefinition festgelegt. TEXT setzt keine Längengrenze,
|
||||||
allerdings gibt es eine systembedingte Obergrenze von 1 GB. BYTEA ist
|
allerdings gibt es eine systembedingte Obergrenze von 1 GB.
|
||||||
für binäre Daten, besonders für Werte, die NULL-Bytes haben. Die
|
|
||||||
erwähnten Typen weisen ähnliche Performanzeigenschaften auf.
|
CHAR(n) ist geeignet für die Speicherung von Zeichenketten, die alle
|
||||||
|
die gleiche Länge haben. Bitte beachten Sie, dass CHAR(n) automatisch
|
||||||
|
Zeichenketten bis zur definierten Feldlänge mit Leerzeichen ausfüllt,
|
||||||
|
während bei VARCHAR(n) nur die tatsächlich eingegebene Zeichenkette
|
||||||
|
gespeichert wird.
|
||||||
|
|
||||||
|
BYTEA ist für binäre Daten, besonders für Werte, die NULL-Bytes haben.
|
||||||
|
|
||||||
|
Die hier erwähnten Typen weisen ähnliche Performanzeigenschaften auf.
|
||||||
|
|
||||||
4.15.1) Wie erzeuge ich ein serielles Feld mit automatischer Erhöhung des
|
4.15.1) Wie erzeuge ich ein serielles Feld mit automatischer Erhöhung des
|
||||||
Werts?
|
Werts?
|
||||||
@ -1142,7 +1187,7 @@ BYTEA bytea Bytearray mit variabler L
|
|||||||
|
|
||||||
Damit diese Abfrage effizient durchgeführt wird, sollte für 'spalte2'
|
Damit diese Abfrage effizient durchgeführt wird, sollte für 'spalte2'
|
||||||
ein Index angelegt worden sein. Die Einschränkung von Abfragen mit IN
|
ein Index angelegt worden sein. Die Einschränkung von Abfragen mit IN
|
||||||
soll in einer künftigen PotsgreSQL-Version behoben werden.
|
wird in der nächsten PostgreSQL-Version (7.4) behoben werden.
|
||||||
|
|
||||||
4.23) Wie führe ich einen OUTER JOIN durch?
|
4.23) Wie führe ich einen OUTER JOIN durch?
|
||||||
|
|
||||||
@ -1185,19 +1230,23 @@ BYTEA bytea Bytearray mit variabler L
|
|||||||
Systemkataloge lädt, ist eine datenbankübergreifende Abfrage nicht
|
Systemkataloge lädt, ist eine datenbankübergreifende Abfrage nicht
|
||||||
möglich.
|
möglich.
|
||||||
|
|
||||||
contrib/dblink ermöglicht datenbankübergreifende Abfragen.
|
contrib/dblink ist eine Erweiterung, die datenbankübergreifende
|
||||||
|
Abfragen ermöglicht.
|
||||||
|
|
||||||
Es ist natürlich möglich, dass eine Client-Anwendung gleichzeitige
|
Es ist natürlich möglich, dass eine Client-Anwendung gleichzeitige
|
||||||
Verbindungen zu verschiedenen Datenbanken aufbaut und selber
|
Verbindungen zu verschiedenen Datenbanken aufbaut und selber
|
||||||
Datensätze zusammenfügt.
|
Datensätze zusammenfügt.
|
||||||
|
|
||||||
|
Ab 7.3 unterstützt PostgreSQL schemas, die die Aufteilung einer
|
||||||
|
Datenbank in mehrere logische Bereiche ermöglichen. Bei vielen
|
||||||
|
Anwendungen könnten dies 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.25) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
|
||||||
zurückgeben lassen?
|
zurückgeben lassen?
|
||||||
|
|
||||||
"Result sets" können mittels refcursors von PL/PgSQL-Funktionen
|
Ab 7.3 können Funktionen mehrere Zeilen und Spalten zurückgeben, vgl.:
|
||||||
zurückgegeben werden. Vgl.:
|
http://techdocs.postgresql.org/guides/SetReturningFunctions.
|
||||||
http://www.postgresql.org/idocs/index.php?plpgsql-cursors.html
|
|
||||||
(Abschnitt 23.7.3.3).
|
|
||||||
|
|
||||||
4.26) Warum kann ich temporäre Tabellen in PL/PgSQL-Funktionen nicht
|
4.26) Warum kann ich temporäre Tabellen in PL/PgSQL-Funktionen nicht
|
||||||
zuverlässig erstellen bzw. löschen?
|
zuverlässig erstellen bzw. löschen?
|
||||||
|
330
doc/FAQ_japanese
330
doc/FAQ_japanese
@ -1,35 +1,34 @@
|
|||||||
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)
|
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)
|
||||||
|
|
||||||
原文最終更新日: Sun Oct 13 23:15:09 EDT 2002
|
原文最終更新日: Mon May 30 22:24:56 EST 2003
|
||||||
|
|
||||||
現在の維持管理者: Bruce Momjian (pgman@candle.pha.pa.us)
|
現在の維持管理者: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||||
Maintainer of Japanese Translation: Jun Kuwamura (juk@PostgreSQL.jp)
|
Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp)
|
||||||
|
|
||||||
この文書の最新版は http://www.PostgreSQL.org/docs/faq-english.html で見ることが
|
この文書の最新版は http://www.PostgreSQL.org/docs/faqs/FAQ.html で見ることがで
|
||||||
できます。
|
きます。
|
||||||
|
|
||||||
プラットホームに特有の質問については: http://www.PostgreSQL.org/users-lounge/
|
プラットホームに特有の質問については: http://www.PostgreSQL.org/docs/index.html
|
||||||
docs/faq.html
|
|
||||||
に回答があります。
|
に回答があります。
|
||||||
|
|
||||||
(以下、訳者による注釈を [訳注: と ] とで囲んで記します。)
|
(以下、訳者による注釈を [訳注: と ] とで囲んで記します。)
|
||||||
[訳注:
|
[訳注:
|
||||||
日本語版製作についてのメモは最後尾へ移動しました。
|
日本語版製作についてのメモは最後尾へ移動しました。
|
||||||
|
|
||||||
日本語版のこの文書は 本家 "User's Lounge" の "Collection of FAQs" の
|
日本語版のこの文書は 本家 "Docs" の "Frequently Asked Questions" の
|
||||||
"Japanese" という見出しのところにあります。また、以下のサイトにも
|
ところに "Japanese FAQ" という見出であります。また、以下のサイトにも
|
||||||
あります。
|
あります。
|
||||||
http://www.PostgreSQL.jp/subcommittee/jpugdoc/
|
http://www.PostgreSQL.jp/subcommittee/jpugdoc/
|
||||||
http://www.rccm.co.jp/~juk/pgsql/
|
http://www.rccm.co.jp/~juk/pgsql/
|
||||||
http://www.linux.or.jp/JF/
|
http://www.linux.or.jp/JF/
|
||||||
|
|
||||||
この和訳についてお気づきの点は(juk@PostgreSQL.jp)までメールでお寄せ下さい。
|
この和訳についてお気づきの点は(juk at PostgreSQL.jp)までメールでお寄せ下さい。
|
||||||
|
|
||||||
2002年10月16日 桑村 潤
|
2003年06月30日 桑村 潤
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
一般的な質問
|
一般的な質問
|
||||||
|
|
||||||
1.1) PostgreSQLとは何ですか?何と読みますか?
|
1.1) PostgreSQLとは何ですか?何と読みますか?
|
||||||
@ -52,8 +51,7 @@ docs/faq.html
|
|||||||
|
|
||||||
2.1) PostgreSQL の ODBC ドライバーはありますか?
|
2.1) PostgreSQL の ODBC ドライバーはありますか?
|
||||||
2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?
|
2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?
|
||||||
2.3) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?レポートジ
|
2.3) PostgreSQL にグラフィカル・ユーザインターフェイスはありますか?
|
||||||
ェネレータや埋め込み問い合わせ言語インターフェースはありますか?
|
|
||||||
2.4) どのような言語で PostgreSQL と通信できすか?
|
2.4) どのような言語で PostgreSQL と通信できすか?
|
||||||
|
|
||||||
管理上の質問
|
管理上の質問
|
||||||
@ -77,9 +75,9 @@ docs/faq.html
|
|||||||
操作上の質問
|
操作上の質問
|
||||||
|
|
||||||
4.1) バイナリ・カーソルと通常カーソルとの違いは何ですか?
|
4.1) バイナリ・カーソルと通常カーソルとの違いは何ですか?
|
||||||
4.2) 最初の数ロウのみを select するにはどうしますか?
|
4.2) 最初の数ロウのみを select するにはどうしますか?ランダムな行?
|
||||||
4.3) テーブルやその他の情報のリストを psql で見るにはどうしますか?
|
4.3) テーブルやその他の情報のリストを psql で見るにはどうしますか?
|
||||||
4.4) テーブルからカラムの削除はどのようにしますか?
|
4.4) テーブルからカラムの削除、あるいは、データ型を変更するにはどうしますか?
|
||||||
4.5) ロウ、テーブル、データベースの最大サイズは?
|
4.5) ロウ、テーブル、データベースの最大サイズは?
|
||||||
4.6) 一般的なテキストファイルからデータを保存するには、データベースのディスク容
|
4.6) 一般的なテキストファイルからデータを保存するには、データベースのディスク容
|
||||||
量はどのくらい必要ですか?
|
量はどのくらい必要ですか?
|
||||||
@ -131,6 +129,7 @@ docs/faq.html
|
|||||||
ですか?
|
ですか?
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
一般的な質問
|
一般的な質問
|
||||||
|
|
||||||
1.1) PostgreSQL とは何ですか?何と読みますか?
|
1.1) PostgreSQL とは何ですか?何と読みますか?
|
||||||
@ -161,11 +160,11 @@ PostgreSQL
|
|||||||
1.2) PostgreSQL の著作権はどうなってますか?
|
1.2) PostgreSQL の著作権はどうなってますか?
|
||||||
|
|
||||||
PostgreSQL は下記の著作権に従います。
|
PostgreSQL は下記の著作権に従います。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
正文は英語です。参考として、訳文を併記掲載します。
|
正文は英語です。参考として、訳文を併記掲載します。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
PostgreSQL Data Base Management System
|
PostgreSQL Data Base Management System
|
||||||
|
|
||||||
Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group Portions
|
Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group Portions
|
||||||
@ -187,6 +186,7 @@ BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|||||||
PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
|
PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
|
||||||
THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE,
|
THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE,
|
||||||
SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||||
|
|
||||||
POSTGRESQL データベース管理システム
|
POSTGRESQL データベース管理システム
|
||||||
|
|
||||||
部分的著作権 (c) 1996-2002, PostgreSQL国際開発チーム
|
部分的著作権 (c) 1996-2002, PostgreSQL国際開発チーム
|
||||||
@ -214,7 +214,6 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
|||||||
参考です。
|
参考です。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
上記はBSDライセンスで古きオープンソースのライセンスです。ソースコードがどのよう
|
上記はBSDライセンスで古きオープンソースのライセンスです。ソースコードがどのよう
|
||||||
に使われようとも制限しません。好ましいことなので、我々もそれを変えるつもりはあ
|
に使われようとも制限しません。好ましいことなので、我々もそれを変えるつもりはあ
|
||||||
りません。
|
りません。
|
||||||
@ -230,7 +229,7 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
|||||||
クライアント
|
クライアント
|
||||||
|
|
||||||
MS Windows プラットホーム上で走せるために、libpq C ライブラリ、psql、その他のイ
|
MS Windows プラットホーム上で走せるために、libpq C ライブラリ、psql、その他のイ
|
||||||
ンターフェース、および、クライアントアプリケーションをコンパイルすることは可能
|
ンターフェイス、および、クライアントアプリケーションをコンパイルすることは可能
|
||||||
です。この場合、クライアントを MS Windows 上で走らせて、TCP/IP 経由でサポートさ
|
です。この場合、クライアントを MS Windows 上で走らせて、TCP/IP 経由でサポートさ
|
||||||
れている Unix プラットホーム上で走るサーバと通信します。
|
れている Unix プラットホーム上で走るサーバと通信します。
|
||||||
|
|
||||||
@ -241,10 +240,13 @@ PostgreSQL
|
|||||||
|
|
||||||
現在、Cygnus Unix/NT 移植ライブラリの Cygwin を使って、PostgreSQL データベース
|
現在、Cygnus Unix/NT 移植ライブラリの Cygwin を使って、PostgreSQL データベース
|
||||||
サーバは Windows NT と Win2k 上で稼働しています。配布に含まれるpgsql/doc/
|
サーバは Windows NT と Win2k 上で稼働しています。配布に含まれるpgsql/doc/
|
||||||
FAQ_MSWIN、あるいは、http://www.PostgreSQL.org/docs/faq-mswin.htmlにある MS
|
FAQ_MSWIN、あるいは、 http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWINにある
|
||||||
Windows FAQ をご覧下さい。
|
MS Windows FAQ をご覧下さい。
|
||||||
|
|
||||||
|
MS Win NT/2000/XP ネイティブ版への移植が現在進行中です。もっと詳しいWindows版
|
||||||
|
PostgreSQLの近況は、http://techdocs.postgresql.org/guides/Windowsを見てください
|
||||||
|
。
|
||||||
|
|
||||||
MS Win NT/2000/XP ネイティブ版への移植が現在進行中です。
|
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
|
|
||||||
@ -257,12 +259,14 @@ Win32
|
|||||||
http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html
|
http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
1.5) PostgreSQL はどこから入手できますか?
|
1.5) PostgreSQL はどこから入手できますか?
|
||||||
|
|
||||||
PostgreSQL の大元の anonymous ftp サイトは ftp://ftp.PostgreSQL.org/pub/ です。
|
PostgreSQL の大元の anonymous ftp サイトは ftp://ftp.PostgreSQL.org/pub/ です。
|
||||||
ミラーサイトについては、我々のメイン Web ページをご覧下さい。
|
ミラーサイトについては、我々のメイン Web ページをご覧下さい。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
|
|
||||||
以下は日本のミラーサイトです:
|
以下は日本のミラーサイトです:
|
||||||
@ -285,14 +289,17 @@ PostgreSQL
|
|||||||
主要なメーリング・リストは: pgsql-general@PostgreSQL.orgです。PostgreSQL に関す
|
主要なメーリング・リストは: pgsql-general@PostgreSQL.orgです。PostgreSQL に関す
|
||||||
ることであれば議論ができます。このリストへの参加のは、電子メールの本文(Subject
|
ることであれば議論ができます。このリストへの参加のは、電子メールの本文(Subject
|
||||||
行ではありません)に次の2行を書いて、
|
行ではありません)に次の2行を書いて、
|
||||||
|
|
||||||
subscribe
|
subscribe
|
||||||
end
|
end
|
||||||
|
|
||||||
pgsql-general-request@PostgreSQL.org へ送って下さい。
|
pgsql-general-request@PostgreSQL.org へ送って下さい。
|
||||||
|
|
||||||
ダイジェスト版のメーリング・リストもあります。このリストへの参加は "本文"に:
|
ダイジェスト版のメーリング・リストもあります。このリストへの参加は "本文"に:
|
||||||
|
|
||||||
subscribe
|
subscribe
|
||||||
end
|
end
|
||||||
|
|
||||||
と書いて pgsql-general-digest-request@PostgreSQL.org へ電子メールを送って下さい
|
と書いて pgsql-general-digest-request@PostgreSQL.org へ電子メールを送って下さい
|
||||||
。
|
。
|
||||||
|
|
||||||
@ -304,18 +311,21 @@ pgsql-general-request@PostgreSQL.org
|
|||||||
|
|
||||||
開発者の議論のためのメーリングリストも利用できます。このリストへの参加は電子メ
|
開発者の議論のためのメーリングリストも利用できます。このリストへの参加は電子メ
|
||||||
ールの本文に:
|
ールの本文に:
|
||||||
|
|
||||||
subscribe
|
subscribe
|
||||||
end
|
end
|
||||||
|
|
||||||
と書いて、pgsql-hackers-request@PostgreSQL.orgへ電子メールを送って下さい。
|
と書いて、pgsql-hackers-request@PostgreSQL.orgへ電子メールを送って下さい。
|
||||||
|
|
||||||
http://www.PostgreSQL.org
|
http://www.PostgreSQL.org
|
||||||
|
|
||||||
EFNet に #PostgreSQL という IRC チャンネルもあります。 UNIX コマンドでirc -c '#
|
EFNet と OpenProjects に #PostgreSQL という IRC チャンネルもあります。 UNIX コ
|
||||||
PostgreSQL' "$USER" irc.phoenix.net を使います。
|
マンドでirc -c '#PostgreSQL' "$USER" irc.phoenix.net を使っています。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
1999年7月23日、日本PostgreSQLユーザー会(にほん ぽすとぐれす ゆーざー かい)、略称JPUGが設立されました。
|
1999年7月23日、日本PostgreSQLユーザー会(にほん ぽすとぐれす ゆーざー かい)、略称JPUG
|
||||||
JPUG は非営利組織で、PostgreSQLを利用する人達の相互協力の場です。
|
が設立されました。JPUG は非営利組織で、PostgreSQLを利用する人達の相互協力の場となっています。
|
||||||
|
2003年5月17日の総会を以って、「日本PostgreSQLユーザ会」に名称を改めました。
|
||||||
正会員の会費は無料ですが、協賛会員の会費と会員の積極的な貢献が会の運営を助けています。
|
正会員の会費は無料ですが、協賛会員の会費と会員の積極的な貢献が会の運営を助けています。
|
||||||
詳しくは、JPUG のWeb サイト:
|
詳しくは、JPUG のWeb サイト:
|
||||||
http://www.PostgreSQL.jp/
|
http://www.PostgreSQL.jp/
|
||||||
@ -327,8 +337,7 @@ PostgreSQL' "$USER" irc.phoenix.net
|
|||||||
で検索することもできます。
|
で検索することもできます。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
商用サポート会社のリストはhttp://www.ca.PostgreSQL.org/users-lounge/
|
||||||
商用サポート会社のリストはhttp://www.PostgreSQL.org/users-lounge/
|
|
||||||
commercial-support.htmlにあります。
|
commercial-support.htmlにあります。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
@ -339,7 +348,7 @@ commercial-support.html
|
|||||||
|
|
||||||
1.7) 最新版はどれですか
|
1.7) 最新版はどれですか
|
||||||
|
|
||||||
PostgreSQL の最新版はバージョン 7.2.3 です。
|
PostgreSQL の最新版はバージョン 7.3.2 です。
|
||||||
|
|
||||||
我々は、4カ月毎にメジャーリリースを行なうことを計画しています。
|
我々は、4カ月毎にメジャーリリースを行なうことを計画しています。
|
||||||
|
|
||||||
@ -347,21 +356,23 @@ PostgreSQL
|
|||||||
|
|
||||||
配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュアル・ページ)お
|
配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュアル・ページ)お
|
||||||
よびいくつかの小さなテスト例題が含まれます。/doc ディレクトリをご覧下さい。また
|
よびいくつかの小さなテスト例題が含まれます。/doc ディレクトリをご覧下さい。また
|
||||||
、マニュアルは、 http://www.PostgreSQL.org/users-lounge/docs/ でオンラインでも
|
、マニュアルは、http://www.ca.PostgreSQL.org/docs/でオンラインでも閲覧できます
|
||||||
閲覧できます。
|
。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
(株)SRAと日本ポストグレスユーザー会で翻訳され、
|
(株)SRAと日本PostgreSQLユーザ会で翻訳され、
|
||||||
「PostgreSQL オフィシャルマニュアル」
|
「PostgreSQL オフィシャルマニュアル」
|
||||||
として出版されています。
|
として出版されています。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
オンラインで参照できる PostgreSQL の本も2冊あります。http://www.PostgreSQL.org/
|
オンラインで参照できる PostgreSQL の本も2冊あります。http://www.PostgreSQL.org/
|
||||||
docs/awbook.html
|
docs/awbook.html
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
日本ポストグレスユーザー会の 「PostgreSQL Book翻訳分科会」
|
日本ポストグレスユーザー会の 「PostgreSQL Book翻訳分科会」
|
||||||
にて翻訳されました。
|
にて翻訳されました。
|
||||||
]
|
]
|
||||||
|
|
||||||
および、 http://www.commandprompt.com/ppbook/ です。購入可能な書籍の目録は、
|
および、 http://www.commandprompt.com/ppbook/ です。購入可能な書籍の目録は、
|
||||||
http://www.jp.PostgreSQL.org/books/ にあります。 PostgreSQL 技術情報記事も、
|
http://www.jp.PostgreSQL.org/books/ にあります。 PostgreSQL 技術情報記事も、
|
||||||
http://techdocs.PostgreSQL.org/ にあります。
|
http://techdocs.PostgreSQL.org/ にあります。
|
||||||
@ -383,12 +394,12 @@ PostgreSQL
|
|||||||
|
|
||||||
http://www.PostgreSQL.org/docs/awbook.html にあるPostgreSQL本で SQL を教えてい
|
http://www.PostgreSQL.org/docs/awbook.html にあるPostgreSQL本で SQL を教えてい
|
||||||
ます。
|
ます。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
日本ポストグレスユーザー会の 「PostgreSQL Book翻訳分科会」
|
日本ポストグレスユーザー会の 「PostgreSQL Book翻訳分科会」
|
||||||
にて翻訳され出版されています。
|
にて翻訳され出版されています。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
その他にも PostgreSQL本として、http://www.commandprompt.com/ppbook があります。
|
その他にも PostgreSQL本として、http://www.commandprompt.com/ppbook があります。
|
||||||
素晴らしい手引書は、http://www.intermedia.net/support/sql/sqltut.shtm, http://
|
素晴らしい手引書は、http://www.intermedia.net/support/sql/sqltut.shtm, http://
|
||||||
ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, そして、http://
|
ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, そして、http://
|
||||||
@ -454,7 +465,6 @@ http://www.PostgreSQL.org/bugs/bugs.phpPostgreSQL BugTool (
|
|||||||
んど持っています。さらに PostgreSQLは、ユーザ定義型、継承、ルール、それから
|
んど持っています。さらに PostgreSQLは、ユーザ定義型、継承、ルール、それから
|
||||||
、ロック競合を縮小するマルチバージョン同時性制御など、商用DBMSも持ち合わせ
|
、ロック競合を縮小するマルチバージョン同時性制御など、商用DBMSも持ち合わせ
|
||||||
ないような機能をいくつか持ち合わせています。
|
ないような機能をいくつか持ち合わせています。
|
||||||
|
|
||||||
性能(Performance)
|
性能(Performance)
|
||||||
PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性能も持ち
|
PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性能も持ち
|
||||||
ます。ある面ではより早かったり、ほかの面ではより遅かったりします。MySQLなど
|
ます。ある面ではより早かったり、ほかの面ではより遅かったりします。MySQLなど
|
||||||
@ -463,13 +473,12 @@ http://www.PostgreSQL.org/bugs/bugs.phpPostgreSQL BugTool (
|
|||||||
記のFeaturesの節に示すような機能はまったくありません。我々は、PostgreSQLに
|
記のFeaturesの節に示すような機能はまったくありません。我々は、PostgreSQLに
|
||||||
柔軟性と機能性を組み込みながらも、絶えず、プロファイラーに掛けたりソースコ
|
柔軟性と機能性を組み込みながらも、絶えず、プロファイラーに掛けたりソースコ
|
||||||
ードを解析したりして、性能の改善を続けています。PostgreSQL と MySQL とを比
|
ードを解析したりして、性能の改善を続けています。PostgreSQL と MySQL とを比
|
||||||
較している面白い Web ページがhttp://openacs.org/why-not-mysql.htmlにありま
|
較している面白い Web ページがhttp://openacs.org/philosophy/
|
||||||
す。
|
why-not-mysql.htmlにあります。
|
||||||
PostgreSQLは、Unixプロセスを起動することによりユーザー接続を操作します。複
|
PostgreSQLは、Unixプロセスを起動することによりユーザー接続を操作します。複
|
||||||
数のバックエンド・プロセスが情報をロックしながらデータ・バッファーを共有し
|
数のバックエンド・プロセスが情報をロックしながらデータ・バッファーを共有し
|
||||||
ます。マルチCPUでは、簡単に複数のバックエンドをそれぞれのCPUで走らせること
|
ます。マルチCPUでは、簡単に複数のバックエンドをそれぞれのCPUで走らせること
|
||||||
ができます。
|
ができます。
|
||||||
|
|
||||||
信頼性(Reliability)
|
信頼性(Reliability)
|
||||||
我々は、DBMSの信頼性が高くなくてはその価値が無いことを理解してます。十分テ
|
我々は、DBMSの信頼性が高くなくてはその価値が無いことを理解してます。十分テ
|
||||||
ストして、安定したコードをバグを最小にしてからリリースするように勤めてます
|
ストして、安定したコードをバグを最小にしてからリリースするように勤めてます
|
||||||
@ -477,7 +486,6 @@ http://www.PostgreSQL.org/bugs/bugs.phpPostgreSQL BugTool (
|
|||||||
のリリースの履歴が、製品版として安定した堅固なリリースであることを物語って
|
のリリースの履歴が、製品版として安定した堅固なリリースであることを物語って
|
||||||
います。この分野では、他のデータベースと比べても遜色がないことに自信を持っ
|
います。この分野では、他のデータベースと比べても遜色がないことに自信を持っ
|
||||||
ています。
|
ています。
|
||||||
|
|
||||||
サポート(Support)
|
サポート(Support)
|
||||||
我々のメーリングリストは、遭遇するいかなる問題についても解決への手助けをし
|
我々のメーリングリストは、遭遇するいかなる問題についても解決への手助けをし
|
||||||
てくれる、開発者やユーザの大きな集まりへの接点を提供しています。我々は問題
|
てくれる、開発者やユーザの大きな集まりへの接点を提供しています。我々は問題
|
||||||
@ -486,13 +494,11 @@ http://www.PostgreSQL.org/bugs/bugs.phpPostgreSQL BugTool (
|
|||||||
、ソースコードなどへ直接アクセスできることよって、PostgreSQLのサポートは、
|
、ソースコードなどへ直接アクセスできることよって、PostgreSQLのサポートは、
|
||||||
他のDBMSサポートよりも優れたものとなっています。御要望に答えて、事柄毎の商
|
他のDBMSサポートよりも優れたものとなっています。御要望に答えて、事柄毎の商
|
||||||
用サポートなどもあります(FAQ1.6節をご覧下さい)。
|
用サポートなどもあります(FAQ1.6節をご覧下さい)。
|
||||||
|
|
||||||
価格(Price)
|
価格(Price)
|
||||||
PostgreSQLの利用は、商用でも非商用でも、すべて無料です。上記に示してあるBSD
|
PostgreSQLの利用は、商用でも非商用でも、すべて無料です。上記に示してあるBSD
|
||||||
スタイルの使用許諾に外れない限り、PostgreSQLのコードを制限無しで商品に組み
|
スタイルの使用許諾に外れない限り、PostgreSQLのコードを制限無しで商品に組み
|
||||||
込むことができます。
|
込むことができます。
|
||||||
|
|
||||||
|
|
||||||
1.15) PostgreSQLを資金面で援助するにはどうすればよいですか?
|
1.15) PostgreSQLを資金面で援助するにはどうすればよいですか?
|
||||||
|
|
||||||
PostgreSQLは、我々が始めた 1996年以来、最高クラスの情報基盤を持っています。これ
|
PostgreSQLは、我々が始めた 1996年以来、最高クラスの情報基盤を持っています。これ
|
||||||
@ -511,25 +517,26 @@ PostgreSQL
|
|||||||
イテムは PostgreSQL プロジェクトをサポートするためだけのためで、決して特定の会
|
イテムは PostgreSQL プロジェクトをサポートするためだけのためで、決して特定の会
|
||||||
社のための資金のためではありません。もし、手形(check)の方が都合がよければ連絡先
|
社のための資金のためではありません。もし、手形(check)の方が都合がよければ連絡先
|
||||||
の住所へお送り下さい。
|
の住所へお送り下さい。
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
さらに、もし、PostgreSQLでの成功例をお持ちであれば、ぜひ、われわれの事例サイト
|
||||||
|
http://advocacy.postgresql.orgへお送りください。
|
||||||
|
|
||||||
ユーザー・クライアントの質問
|
ユーザー・クライアントの質問
|
||||||
|
|
||||||
2.1) PostgreSQL のための ODBC ドライバーはありますか?
|
2.1) PostgreSQL のための ODBC ドライバーはありますか?
|
||||||
|
|
||||||
PsqlODBC と OpenLink ODBC の二つの ODBC ドライバーが利用可能です。
|
PsqlODBC と OpenLink ODBC の二つの ODBC ドライバーが利用可能です。
|
||||||
|
|
||||||
PsqlODBC は PostgreSQL の配布に含まれています。それについてのさらに詳細な情報は
|
PsqlODBC は次の場所からダウンロードできます。 http://gborg.postgresql.org/
|
||||||
ftp://ftp.PostgreSQL.org/pub/odbc/ から取得できます。
|
project/psqlodbc/projdisplay.php
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
PsqlODBC の 日本語パッチを片岡裕生さん(kataoka@interwiz.koganei.tokyo.jp)が作られました:
|
最新版は井上博司さんのサイトにあります。
|
||||||
●http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html
|
|
||||||
現在、最新版は井上博司さんのサイトにあります。
|
|
||||||
●http://w2422.nsk.ne.jp/~inoue/indexj.html
|
●http://w2422.nsk.ne.jp/~inoue/indexj.html
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
OpenLink ODBC は http://www.openlinksw.com/から入手できます。標準的な ODBC クラ
|
OpenLink ODBC は http://www.openlinksw.com/から入手できます。標準的な ODBC クラ
|
||||||
イアント・ソフトウェアで使えますので、支援しているすべてのプラットホーム(Win,
|
イアント・ソフトウェアで使えますので、支援しているすべてのプラットホーム(Win,
|
||||||
Mac, Unix, VMS)から PostgreSQL の ODBC が利用できます。
|
Mac, Unix, VMS)から PostgreSQL の ODBC が利用できます。
|
||||||
@ -537,6 +544,7 @@ Mac, Unix, VMS)
|
|||||||
たぶん彼らは、商用品質のサポートの必要な人々に売っていると思いますが、フリーウ
|
たぶん彼らは、商用品質のサポートの必要な人々に売っていると思いますが、フリーウ
|
||||||
ェア版はいつでも入手可能のようです。質問は、postgres95@openlink.co.uk へ送って
|
ェア版はいつでも入手可能のようです。質問は、postgres95@openlink.co.uk へ送って
|
||||||
下さい。
|
下さい。
|
||||||
|
|
||||||
Programmer's Guide の ODBC の章もご覧ください。
|
Programmer's Guide の ODBC の章もご覧ください。
|
||||||
|
|
||||||
2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?
|
2.2) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?
|
||||||
@ -544,28 +552,20 @@ Programmer's Guide
|
|||||||
データベースを裏に持つ Web ページについての素晴らしい紹介が、
|
データベースを裏に持つ Web ページについての素晴らしい紹介が、
|
||||||
http://www.webreview.comにあります。
|
http://www.webreview.comにあります。
|
||||||
|
|
||||||
Web への拡張のためには、PHP が卓越したインターフェースとなっています。http://
|
Web への拡張のためには、PHP が卓越したインターフェイスとなっています。http://
|
||||||
www.php.net/にあります。
|
www.php.net/にあります。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
PHPに関する日本語の情報は、2000年4月19日に発足した日本PHPユーザ会のサイト
|
PHPに関する日本語の情報は、2000年4月19日に発足した日本PHPユーザ会のサイト
|
||||||
http://www.php.gr.jp/
|
http://www.php.gr.jp/
|
||||||
あるいは、廣川 類さんのサイト
|
あるいは、廣川 類さんのサイト
|
||||||
http://www.geocities.jp/rui_hirokawa/php/
|
http://www.geocities.jp/rui_hirokawa/php/
|
||||||
にかなりまとめられています。
|
にかなりまとめられています。
|
||||||
前田 充宏さんにより作られたPHP/FIの日本語パッチが様々な人の手を経てPHP3.0.7に適用されました。
|
|
||||||
現在はPHPJ-DEVにて、
|
|
||||||
http://php.jpnnet.com/
|
|
||||||
佐藤さんを中心にマルチバイト拡張として作り直され、最新版はPHP-3.0.18に対応しています。
|
|
||||||
塚田 卓也さんは、PHP4 用の日本語関係の拡張モジュール
|
|
||||||
ftp://night.fminn.nagano.nagano.jp/php4/
|
|
||||||
を用意して下さってます。
|
|
||||||
本家の方で国際化のMLも立ち上がっています。
|
|
||||||
PHP-4.2 からマルチバイト拡張文字列として採り入れられました。
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
処理が複雑な場合、多くの人は Perl インターフェイスと CGI.pm か mod_perl を使い
|
||||||
処理が複雑な場合、多くの人は Perl インターフェースと CGI.pm か mod_perl を使い
|
|
||||||
ます。
|
ます。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
WDB は、Web から DataBase への Perl の Interface です。
|
WDB は、Web から DataBase への Perl の Interface です。
|
||||||
wdb-p95 へのリンクは切れてしまっています。おそらく、Perl DBI 経由で DBD::Pg の利用が可能と思われます。
|
wdb-p95 へのリンクは切れてしまっています。おそらく、Perl DBI 経由で DBD::Pg の利用が可能と思われます。
|
||||||
@ -576,50 +576,46 @@ www.php.net/
|
|||||||
とがあります。その経緯はよくわかりません。
|
とがあります。その経緯はよくわかりません。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
2.3) PostgreSQL にグラフィカル・ユーザインターフェイスはありますか?
|
||||||
|
|
||||||
2.3) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?レポートジ
|
もちろん、PostgreSQL へのグラフィカルインターフェイスがいくつかあります。その中
|
||||||
ェネレータや埋め込み問い合わせ言語インターフェースはありますか?
|
にPgAccess http://www.pgaccess.com も含まれます。 PgAdmin II (http://
|
||||||
|
www.pgadmin.org Win32-only)もあります。 RHDB Admin (http://sources.redhat.com/
|
||||||
|
rhdb/ )と Rekall ( http://www.thekompany.com/products/rekall/, proprietary)もあ
|
||||||
|
ります。 PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ) はPostgreSQLへのWeb
|
||||||
|
ベースのインターフェイスを提供します。
|
||||||
|
|
||||||
PgAccess と呼ばれる素晴らしいグラフィカル・ユーザ・インターフェースがあり、この
|
PgAccess と呼ばれる素晴らしいグラフィカル・ユーザ・インターフェイスがあり、この
|
||||||
配布と共に出荷されます。PgAccess にはレポート・ジェネレータもあります。Web ペー
|
配布と共に出荷されます。PgAccess にはレポート・ジェネレータもあります。Web ペー
|
||||||
ジはhttp://www.pgaccess.org/です。
|
ジはhttp://www.pgaccess.org/です。
|
||||||
|
|
||||||
ecpg という C 言語のための埋め込み SQL 問い合わせ言語インターフェースもあります
|
より詳細なリストについては、http://techdocs.postgresql.org/guides/GUITools をご
|
||||||
。
|
覧ください。
|
||||||
|
|
||||||
2.4) どのような言語で PostgreSQL と通信できすか?
|
2.4) どのような言語で PostgreSQL と通信できすか?
|
||||||
|
|
||||||
以下のものがあります:
|
人気のあるほとんどの言語はPostgreSQLへのインターフェイスを持っています。あなた
|
||||||
|
が使うプログラミング言語の拡張モジュールのリストを覗いてみてください。
|
||||||
|
|
||||||
|
以下のインターフェイスはPostgreSQLの配布に含まれています。
|
||||||
|
|
||||||
・ C (libpq, libpgeasy)
|
・ C (libpq, libpgeasy)
|
||||||
・ C++ (libpq++)
|
|
||||||
・ 埋め込みC (ecpg)
|
・ 埋め込みC (ecpg)
|
||||||
・ Java (jdbc)
|
・ Java (jdbc)
|
||||||
・ Perl (DBD::Pg and perl5)
|
|
||||||
・ ODBC (odbc)
|
|
||||||
・ Python (PyGreSQL)
|
・ Python (PyGreSQL)
|
||||||
・ TCL (libpgtcl)
|
・ TCL (libpgtcl)
|
||||||
・ C Easy API (libpgeasy)
|
|
||||||
・ PHP ('pg_' 関数群、 Pear::DB)
|
|
||||||
|
|
||||||
その他の利用可能なインターフェースは http://www.PostgreSQL.org/interfaces.html
|
その他の利用可能なインターフェイスは http://www.PostgreSQL.org/interfaces.html
|
||||||
にあります。
|
および、 http://gborg.postgresql.org のDrivers/Interfacesのセクションにあります
|
||||||
|
。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
rubyの作者であるまつもと ゆきひろ(matz@ZetaBITS.COM)さんと、まつもと えいじ(ematsu@pfu.co.jp)さんが
|
|
||||||
ruby の PostgreSQL インターフェースを作りました。現在の維持管理は斉藤 登さんがしています。
|
|
||||||
http://www.postgresql.jp/interfaces/ruby/
|
|
||||||
PgBash は 境田 雅明 さんが作った bash の PostgreSQL インターフェースです。
|
|
||||||
http://www.psn.co.jp/PostgreSQL/pgbash/
|
|
||||||
Bashコマンドラインでpostgres に問い合わせできます。
|
|
||||||
Perl のモジュールは古くからある Pg と DBI ドライバの DBD::Pg とがあり、
|
|
||||||
いずれも Edmund Mergl 氏によるもので CPAN サイトにあります。
|
|
||||||
永安悟史さんは Palm 版の libpq を開発されました。
|
永安悟史さんは Palm 版の libpq を開発されました。
|
||||||
http://www.snaga.org/libpq/
|
http://www.snaga.org/libpq/
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
管理上の質問
|
管理上の質問
|
||||||
|
|
||||||
3.1) どのようにすれば /usr/local/pgsql 以外の場所にインストールできますか?
|
3.1) どのようにすれば /usr/local/pgsql 以外の場所にインストールできますか?
|
||||||
@ -641,8 +637,8 @@ ecpg
|
|||||||
して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは
|
して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは
|
||||||
、使っているアーキテクチャとpostmaster を走らせるときに設定するバッファの数とバ
|
、使っているアーキテクチャとpostmaster を走らせるときに設定するバッファの数とバ
|
||||||
ックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズ
|
ックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズ
|
||||||
のままで、少なくとも約1MBが必要です。 PostgreSQL Administrator's Gide に共有メ
|
のままで、少なくとも約1MBが必要です。 PostgreSQL Administrator's Gideに共有メモ
|
||||||
モリーとセマフォについての情報の詳細があります。
|
リーとセマフォについての情報の詳細がありますのでご覧ください。
|
||||||
|
|
||||||
3.4) postmasterを走らせようとすると、IpcSemaphoreCreate エラーが出ます。なぜで
|
3.4) postmasterを走らせようとすると、IpcSemaphoreCreate エラーが出ます。なぜで
|
||||||
すか?
|
すか?
|
||||||
@ -716,6 +712,7 @@ PostgreSQL
|
|||||||
postmaster と postgres の両方でいくつかのデバグ・オプションの利用ができます。ま
|
postmaster と postgres の両方でいくつかのデバグ・オプションの利用ができます。ま
|
||||||
ず、次のように postmaster を起動するときはいつでも、標準出力とエラー出力をログ
|
ず、次のように postmaster を起動するときはいつでも、標準出力とエラー出力をログ
|
||||||
・ファイルに送るようにしてあることを確かめて下さい。
|
・ファイルに送るようにしてあることを確かめて下さい。
|
||||||
|
|
||||||
cd /usr/local/pgsql
|
cd /usr/local/pgsql
|
||||||
./bin/postmaster >server.log 2>&1 &
|
./bin/postmaster >server.log 2>&1 &
|
||||||
|
|
||||||
@ -772,31 +769,27 @@ config.h
|
|||||||
ロセス数が制限されているのは、システムのリソースを使い果してしまうことを避ける
|
ロセス数が制限されているのは、システムのリソースを使い果してしまうことを避ける
|
||||||
ためです。
|
ためです。
|
||||||
|
|
||||||
6.5より前のバージョンのPostgreSQLではバックエンドの最大数は64でしたが、変更する
|
|
||||||
には、include/storage/sinvaladt.hの中のMaxBackendId定数を修正した後に再構築が必
|
|
||||||
要でした。
|
|
||||||
|
|
||||||
3.9) pgsql_tmp ディレクトリの中には何がありますか?
|
3.9) pgsql_tmp ディレクトリの中には何がありますか?
|
||||||
|
|
||||||
問い合わせ実行モジュールによって生成された一時的なファイルです。例えば、もし
|
問い合わせ実行モジュールによって生成された一時的なファイルが、このディレクトリ
|
||||||
ORDER BY 句を満たすためにバックエンドの -S パラメータで許可した値よりも大きなス
|
に含まれます。例えば、もし ORDER BY 句を満たすためにバックエンドの -S パラメー
|
||||||
ペースがソートの際に必要だとすると、溢れたデータを保持するために一時的なファイ
|
タで許可した値よりも大きなスペースがソートの際に必要だとすると、溢れたデータを
|
||||||
ルがいくつか生成されます。
|
保持するために一時的なファイルがいくつかここに生成されます。
|
||||||
|
|
||||||
一時的なファイルは自動的に消し去られるはずですが、もし、ソートの途中でバックエ
|
一時的なファイルは自動的に消し去られるはずですが、もし、ソートの途中でバックエ
|
||||||
ンドがクラッシュしてしまうとそうはなりません。postmasterの停止とリスタートでこ
|
ンドがクラッシュしてしまうとそうはなりません。postmasterの停止とリスタートでこ
|
||||||
れらのファイルはディレクトリから消しさられます。
|
れらのファイルはディレクトリから消しさられます。
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
SYSLOGD 経由でログを出力するには、まず、configure を --enable-syslog
|
SYSLOGD 経由でログを出力するには、まず、configure を --enable-syslog
|
||||||
付きで走らせた後、コンパイルとインストールを行ないます。
|
付きで走らせた後、コンパイルとインストールを行ないます。
|
||||||
次に、syslog.conf に local0.* の 出力先を指定し(環境変数で変更可能)、
|
次に、syslog.conf に local?.* の 出力先を指定し(環境変数で変更可能)、
|
||||||
syslogd に HUP シグナルを送って初期化しておきます。そして、
|
syslogd に HUP シグナルを送って初期化しておきます。そして、
|
||||||
$PGDATA/pg_options に syslog=2 を加えて、 postmaster を -S
|
$PGDATA/pg_options に syslog=2 を加えて、 postmaster を -S
|
||||||
オプション付きにてサーバモードで起動します。(バージョン 7.1 からは
|
オプション付きにてサーバモードで起動します。(バージョン 7.1 からは
|
||||||
pg_options は PostgreSQL.conf になっています。)
|
pg_options は PostgreSQL.conf になっています。)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
3.10) PostgreSQLのメジャーリリースをアップデートするのにダンプとリストアをしな
|
3.10) PostgreSQLのメジャーリリースをアップデートするのにダンプとリストアをしな
|
||||||
くてはならないのはなぜですか?
|
くてはならないのはなぜですか?
|
||||||
|
|
||||||
@ -813,13 +806,14 @@ PostgreSQL
|
|||||||
ートには、pg_upgrade が利用可能なリリースかどうか記されています。
|
ートには、pg_upgrade が利用可能なリリースかどうか記されています。
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
操作上の質問
|
操作上の質問
|
||||||
|
|
||||||
4.1) バイナリ・カーソルと通常カーソルとの厳密な違いは何ですか?
|
4.1) バイナリ・カーソルと通常カーソルとの厳密な違いは何ですか?
|
||||||
|
|
||||||
詳述は、オンラインマニュアルで DECLARE を見て下さい。
|
詳述は、オンラインマニュアルで DECLARE を見て下さい。
|
||||||
|
|
||||||
4.2) 最初の数ロウのみを SELECT するにはどうしますか?
|
4.2) 最初の数ロウのみを SELECTするにはどうしますか?ランダムな行?
|
||||||
|
|
||||||
オンラインマニュアルでFETCHを見てください。あるいは、SELECT ... LIMIT....を使っ
|
オンラインマニュアルでFETCHを見てください。あるいは、SELECT ... LIMIT....を使っ
|
||||||
てみて下さい。
|
てみて下さい。
|
||||||
@ -830,6 +824,13 @@ PostgreSQL
|
|||||||
ウだけで評価できるかもしれませんが、でなれば、PostgreSQL は意図したロウが生成さ
|
ウだけで評価できるかもしれませんが、でなれば、PostgreSQL は意図したロウが生成さ
|
||||||
れるまですべてのロウを評価しなければならないかもしれません。
|
れるまですべてのロウを評価しなければならないかもしれません。
|
||||||
|
|
||||||
|
ランダムな行をSELECTするには、次の文を使います:
|
||||||
|
|
||||||
|
SELECT col
|
||||||
|
FROM tab
|
||||||
|
ORDER BY random()
|
||||||
|
LIMIT 1;
|
||||||
|
|
||||||
4.3) テーブルやその他の情報のリストを psql で見るにはどうしますか?
|
4.3) テーブルやその他の情報のリストを psql で見るにはどうしますか?
|
||||||
|
|
||||||
psqlのソースコードとして書かれた pgsql/src/bin/psql/describe.c ファイルを読むこ
|
psqlのソースコードとして書かれた pgsql/src/bin/psql/describe.c ファイルを読むこ
|
||||||
@ -837,10 +838,11 @@ psql
|
|||||||
コマンドが含まれています。 psql に -E オプションをつけて起動すれば、与えたコマ
|
コマンドが含まれています。 psql に -E オプションをつけて起動すれば、与えたコマ
|
||||||
ンドを実行するための問い合わせが出力されます。
|
ンドを実行するための問い合わせが出力されます。
|
||||||
|
|
||||||
4.4) テーブルからカラムの削除はどのようにしますか?
|
4.4) テーブルからカラムの削除、あるいは、データ型を変更するにはどうしますか?
|
||||||
|
|
||||||
|
DROP COLUMN機能が、ALTER TABLE DROP COLUMN としてリリース7.3 に加えられました。
|
||||||
|
それまでのバージョンでは、その代わりにこうします:
|
||||||
|
|
||||||
この機能は、ALTER TABLE DROP COLUMN としてリリース7.3 から加えられました。それ
|
|
||||||
までのバージョンでは、その代わりにこうします:
|
|
||||||
BEGIN;
|
BEGIN;
|
||||||
LOCK TABLE old_table;
|
LOCK TABLE old_table;
|
||||||
SELECT ... -- 削除したいカラム以外のカラムをすべて選択します。
|
SELECT ... -- 削除したいカラム以外のカラムをすべて選択します。
|
||||||
@ -849,12 +851,23 @@ psql
|
|||||||
DROP TABLE old_table;
|
DROP TABLE old_table;
|
||||||
ALTER TABLE new_table RENAME TO old_table;
|
ALTER TABLE new_table RENAME TO old_table;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
[訳注:カラムの追加は ALTER TABLE ADD COLUMN で行えます。]
|
|
||||||
|
カラムのデータタイプは次の文で変えられます:
|
||||||
|
|
||||||
|
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 DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
これを行なったときは、抹消された行が使っているディスク空間を回収するために
|
||||||
|
VACUUM FULL tabをしたほうが良いかもしれません。
|
||||||
|
|
||||||
4.5) ロウ、テーブル、データベースの最大サイズは?
|
4.5) ロウ、テーブル、データベースの最大サイズは?
|
||||||
|
|
||||||
制限は以下のとおりです。
|
制限は以下のとおりです。
|
||||||
データベースの最大サイズ? 制限無し (1 TB のデータベースも存在します)
|
|
||||||
|
データベースの最大サイズ? 制限無し (4 TB のデータベースも存在します)
|
||||||
テーブルの最大サイズ? 16TB
|
テーブルの最大サイズ? 16TB
|
||||||
ロウの最大サイズ? 1.6TB
|
ロウの最大サイズ? 1.6TB
|
||||||
フィールドの最大サイズ? 1GB
|
フィールドの最大サイズ? 1GB
|
||||||
@ -883,6 +896,7 @@ psql
|
|||||||
う。テキストの文字列の平均長さを20バイトと仮定すると、フラットファイルの大きさ
|
う。テキストの文字列の平均長さを20バイトと仮定すると、フラットファイルの大きさ
|
||||||
は約2.8MB です。このデータを含む PostgreSQL データベースファイルの大きさは次の
|
は約2.8MB です。このデータを含む PostgreSQL データベースファイルの大きさは次の
|
||||||
ように約6.4MBと見積もることができます:
|
ように約6.4MBと見積もることができます:
|
||||||
|
|
||||||
36 bytes: 各ロウのヘッダ(概算)
|
36 bytes: 各ロウのヘッダ(概算)
|
||||||
24 bytes: 整数(int)フィールドとテキスト(text)フィールド
|
24 bytes: 整数(int)フィールドとテキスト(text)フィールド
|
||||||
+ 4 bytes: ページ上のタップルへのポインタ
|
+ 4 bytes: ページ上のタップルへのポインタ
|
||||||
@ -936,23 +950,26 @@ psql
|
|||||||
インデックスは、通常 ORDER BY や結合を行なうためには使われません。順次スキャン
|
インデックスは、通常 ORDER BY や結合を行なうためには使われません。順次スキャン
|
||||||
に続く明示的ソートは、巨大なテーブルのインデックススキャンよりも普通は高速です
|
に続く明示的ソートは、巨大なテーブルのインデックススキャンよりも普通は高速です
|
||||||
。
|
。
|
||||||
|
|
||||||
しかし、ORDER BYと組み合わされたLIMIT は、テーブルの小さな部分を返すためにたび
|
しかし、ORDER BYと組み合わされたLIMIT は、テーブルの小さな部分を返すためにたび
|
||||||
たびインデックスを使うでしょう。実際、MAX() や MIN() がインデックスを使わないと
|
たびインデックスを使うでしょう。実際、MAX() や MIN() がインデックスを使わないと
|
||||||
しても、このような値を ORDER BY と LIMIT を使ってインデックスを使って取り出すこ
|
しても、このような値を ORDER BY と LIMIT を使ってインデックスを使って取り出すこ
|
||||||
とが可能です:
|
とが可能です:
|
||||||
|
|
||||||
SELECT col
|
SELECT col
|
||||||
FROM tab
|
FROM tab
|
||||||
ORDER BY col [ DESC ]
|
ORDER BY col [ DESC ]
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
|
|
||||||
|
もし、オプティマイザが間違ってシーケンシャルスキャンを選択したことに疑いがなけ
|
||||||
|
れば、SET enable_seqscan TO 'off'を使ってインデクススキャンでまちがいなく速くな
|
||||||
|
っているかをテストをしてみてください。
|
||||||
|
|
||||||
LIKE あるいは ~ のようなワイルドカード演算子は特別な環境でしか使えません:
|
LIKE あるいは ~ のようなワイルドカード演算子は特別な環境でしか使えません:
|
||||||
|
|
||||||
|
|
||||||
・ 検索文字列が文字列の最初にききます。たとえば:
|
・ 検索文字列が文字列の最初にききます。たとえば:
|
||||||
|
□ LIKE パターンが%で始まらない
|
||||||
□ LIKE パターンが%.で始まらない
|
□ ~ (正規表現) パターンは^で始まらなければならない
|
||||||
□ ~ (正規表現) パターンは^.で始まらなければならない
|
|
||||||
|
|
||||||
・ 検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。
|
・ 検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。
|
||||||
・ ILIKE や ~* のような大文字と小文字を区別しない検索は使えません。そのかわり
|
・ ILIKE や ~* のような大文字と小文字を区別しない検索は使えません。そのかわり
|
||||||
、このFAQの4.12節で説明する関数のインデックスが使えます。
|
、このFAQの4.12節で説明する関数のインデックスが使えます。
|
||||||
@ -989,7 +1006,6 @@ Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
|
|||||||
をご覧下さい。
|
をご覧下さい。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
組込みの R-Tree でポリゴンやボックスを操作できます。理論的にはR-Tree はもっと高
|
組込みの R-Tree でポリゴンやボックスを操作できます。理論的にはR-Tree はもっと高
|
||||||
い次元を操作するようにも拡張できます。実質的には、R-Tree の拡張にはちょっとした
|
い次元を操作するようにも拡張できます。実質的には、R-Tree の拡張にはちょっとした
|
||||||
作業が必要でして、現在、我々はそれをどのようにするかについての文書を持っていま
|
作業が必要でして、現在、我々はそれをどのようにするかについての文書を持っていま
|
||||||
@ -1001,7 +1017,6 @@ Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
|
|||||||
をご覧ください。
|
をご覧ください。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
4.11) 遺伝的問い合わせ最適化とは何ですか?
|
4.11) 遺伝的問い合わせ最適化とは何ですか?
|
||||||
|
|
||||||
GEQO モジュールは、沢山のテーブルを結合するときに、遺伝的アルゴリズム(GA)で問合
|
GEQO モジュールは、沢山のテーブルを結合するときに、遺伝的アルゴリズム(GA)で問合
|
||||||
@ -1017,13 +1032,17 @@ GEQO
|
|||||||
子を ILIKE といいます。
|
子を ILIKE といいます。
|
||||||
|
|
||||||
大文字と小文字を区別しない等値比較次のように表現できる:
|
大文字と小文字を区別しない等値比較次のように表現できる:
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE lower(col) = 'abc';
|
WHERE lower(col) = 'abc';
|
||||||
|
|
||||||
標準インデックスでは使われず、しかしながら、もし関数インデックスを作ったならそ
|
標準インデックスでは使われず、しかしながら、もし関数インデックスを作ったならそ
|
||||||
れが使われるでしょう。
|
れが使われるでしょう。
|
||||||
|
|
||||||
CREATE INDEX tabindex ON tab (lower(col));
|
CREATE INDEX tabindex ON tab (lower(col));
|
||||||
|
|
||||||
|
|
||||||
WHERE lower(textfield) LIKE lower(pattern)
|
WHERE lower(textfield) LIKE lower(pattern)
|
||||||
|
|
||||||
4.13) 問い合わせの中で、フィールドが NULL であることを検出するにはどうしますか
|
4.13) 問い合わせの中で、フィールドが NULL であることを検出するにはどうしますか
|
||||||
@ -1035,8 +1054,8 @@ GEQO
|
|||||||
|
|
||||||
Type Internal Name Notes
|
Type Internal Name Notes
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
"char" char 1 character
|
|
||||||
CHAR(n) bpchar 指定された固定長となるように空白が詰められる
|
CHAR(n) bpchar 指定された固定長となるように空白が詰められる
|
||||||
|
"char" char 1文字
|
||||||
VARCHAR(n) varchar 最大長のサイズを指定する、詰め物無し
|
VARCHAR(n) varchar 最大長のサイズを指定する、詰め物無し
|
||||||
TEXT text 長さに上限の無いテキスト
|
TEXT text 長さに上限の無いテキスト
|
||||||
BYTEA bytea 可変長のバイト配列(null-byte safe)
|
BYTEA bytea 可変長のバイト配列(null-byte safe)
|
||||||
@ -1044,32 +1063,43 @@ BYTEA bytea
|
|||||||
内部名にお目にかかるのは、システム・カタログを調べるときや、エラーメッセージを
|
内部名にお目にかかるのは、システム・カタログを調べるときや、エラーメッセージを
|
||||||
受け取るときです。
|
受け取るときです。
|
||||||
|
|
||||||
上記の型のうち後の4つの型は "varlena" 型です(すなわち、ディスクの最初の4バイ
|
上記の型のうち最初の4つの型は "varlena" 型です(すなわち、ディスクの最初の4バ
|
||||||
トがデータ長で、それの後に実際のデータが続きます)。このように実際の空間は宣言さ
|
イトがデータ長で、それの後に実際のデータが続きます)。このように実際の空間は宣言
|
||||||
れた大きさよりも少し大きくなります。しかし、これらのデータ型はTOASTにより圧縮さ
|
された大きさよりも少し大きくなります。しかし、これらのデータ型はTOASTにより圧縮
|
||||||
れたり複数ロウに渡って保存されたりして、ディスク上の空間は思ったより小さくなり
|
されたり複数ロウに渡って保存されたりして、ディスク上の空間は思ったより小さくな
|
||||||
ます。
|
ります。
|
||||||
|
|
||||||
CHAR(n)はいつも長さが同じ文字列を保存するのに最適です。VARCHAR(n) は可変長の文
|
VARCHAR(n) は可変長の文字列を保存するのに最適ですが、保存できる文字列の長さに制
|
||||||
字列を保存するのに最適ですが、保存できる文字列の長さに制限があります。TEXT は長
|
限があります。TEXT は長さに制限の無い文字列の保存ためのもので、最大で 1ギガバイ
|
||||||
さに制限の無い文字列の保存ためのもので、最大1ギガバイトです。 BYTEAは、部分的に
|
トです。 CHAR(n)は、VARCHAR(n)が与えられた文字だけを保存するのに対し、ブランク
|
||||||
NULL のバイトを含むバイナリデータを保存するためのものです。
|
を詰め込んでいつも同じ長さで文字列を保存するのに最適です。BYTEAは、部分的にNULL
|
||||||
|
のバイトを含むバイナリデータを保存するためのものです。これらのタイプは同じくら
|
||||||
|
いの性能特性ををもちます。
|
||||||
|
|
||||||
4.15.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?
|
4.15.1) 通番(serial)/自動増分フィールドはどのようにつくりますか?
|
||||||
|
|
||||||
PostgreSQL は SERIAL データ型をサポートします。カラム上に通番とインデックスを自
|
PostgreSQL は SERIAL データ型をサポートします。カラム上に通番とインデックスを自
|
||||||
動作成します。たとえば、
|
動作成します。たとえば、
|
||||||
|
|
||||||
CREATE TABLE person (
|
CREATE TABLE person (
|
||||||
id SERIAL,
|
id SERIAL,
|
||||||
name TEXT
|
name TEXT
|
||||||
);
|
);
|
||||||
|
|
||||||
は自動的に次のように翻訳されます:
|
は自動的に次のように翻訳されます:
|
||||||
|
|
||||||
CREATE SEQUENCE person_id_seq;
|
CREATE SEQUENCE person_id_seq;
|
||||||
CREATE TABLE person (
|
CREATE TABLE person (
|
||||||
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
|
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
|
||||||
name TEXT
|
name TEXT
|
||||||
);
|
);
|
||||||
CREATE UNIQUE INDEX person_id_key ON person ( id );
|
CREATE UNIQUE INDEX person_id_key ON person ( id );
|
||||||
|
|
||||||
|
[訳注:
|
||||||
|
CREATE UNIQUE INDEX person_id_key ON person ( id );
|
||||||
|
は、 7.3 からは自動的には行なわれなくなりました。
|
||||||
|
]
|
||||||
|
|
||||||
通番についてのもっと詳しい情報は、オンラインマニュアルで create_sequence をご覧
|
通番についてのもっと詳しい情報は、オンラインマニュアルで create_sequence をご覧
|
||||||
下さい。
|
下さい。
|
||||||
|
|
||||||
@ -1084,8 +1114,10 @@ Numbering Rows
|
|||||||
ひとつの方法は、nextval() 関数を使ってその値を挿入する前(before)に SEQUENCE オ
|
ひとつの方法は、nextval() 関数を使ってその値を挿入する前(before)に SEQUENCE オ
|
||||||
ブジェクトから次の SERIAL 値を取り出し、それから実際に挿入をすることです。
|
ブジェクトから次の SERIAL 値を取り出し、それから実際に挿入をすることです。
|
||||||
4.15.1 のテーブルの例を使うとすると、疑似言語ではこのようになります。
|
4.15.1 のテーブルの例を使うとすると、疑似言語ではこのようになります。
|
||||||
|
|
||||||
new_id = execute("SELECT nextval('person_id_seq')");
|
new_id = 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')");
|
||||||
|
|
||||||
そうして、new_id に保存した新しい値を他の問い合わせに(たとえば、person テーブル
|
そうして、new_id に保存した新しい値を他の問い合わせに(たとえば、person テーブル
|
||||||
に対する外部キー(foreign key)のように)使うとよいでしょう。自動的に作られた
|
に対する外部キー(foreign key)のように)使うとよいでしょう。自動的に作られた
|
||||||
SEQUENCEオブジェクトの名前は、<table>_<serialcolumn>_seq のようになり、このうち
|
SEQUENCEオブジェクトの名前は、<table>_<serialcolumn>_seq のようになり、このうち
|
||||||
@ -1093,8 +1125,10 @@ SEQUENCE
|
|||||||
|
|
||||||
あるいは、与えられたSERIAL値を、それが既定値として挿入された後で(after)、
|
あるいは、与えられたSERIAL値を、それが既定値として挿入された後で(after)、
|
||||||
currval() 関数を使って取り出すこともできます。たとえば、
|
currval() 関数を使って取り出すこともできます。たとえば、
|
||||||
|
|
||||||
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
|
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
|
||||||
new_id = execute("SELECT currval('person_id_seq')");
|
new_id = execute("SELECT currval('person_id_seq')");
|
||||||
|
|
||||||
最後に、INSERT文から返るOIDを使って、既定値をみつけることもできますが、しかし、
|
最後に、INSERT文から返るOIDを使って、既定値をみつけることもできますが、しかし、
|
||||||
これは最も移植性の低いやり方でしょう。PerlのDBIで Edmund Mergl の作った DBD::Pg
|
これは最も移植性の低いやり方でしょう。PerlのDBIで Edmund Mergl の作った DBD::Pg
|
||||||
モジュールを使えば、$sth->execute() の後に $sth->{pg_oid_status} を経由してその
|
モジュールを使えば、$sth->execute() の後に $sth->{pg_oid_status} を経由してその
|
||||||
@ -1128,6 +1162,7 @@ PostgreSQL
|
|||||||
は、全てのデータベースで使われる中央領域から、全ての新しいロウに割り当てられま
|
は、全てのデータベースで使われる中央領域から、全ての新しいロウに割り当てられま
|
||||||
す。OID を他の何かに変えたい、あるいは元の OID もテーブルと一緒にコピーしたいの
|
す。OID を他の何かに変えたい、あるいは元の OID もテーブルと一緒にコピーしたいの
|
||||||
なら、できなくはありません。
|
なら、できなくはありません。
|
||||||
|
|
||||||
CREATE TABLE new (old_oid oid, mycol int);
|
CREATE TABLE new (old_oid oid, mycol int);
|
||||||
SELECT old_oid, mycol INTO new FROM old;
|
SELECT old_oid, mycol INTO new FROM old;
|
||||||
COPY new TO '/tmp/pgtable';
|
COPY new TO '/tmp/pgtable';
|
||||||
@ -1148,7 +1183,6 @@ TID
|
|||||||
いくつかのソースコードや古い文書の中には、それぞの専門分野の中でもっと一般的に
|
いくつかのソースコードや古い文書の中には、それぞの専門分野の中でもっと一般的に
|
||||||
使われる専門用語が使われています。
|
使われる専門用語が使われています。
|
||||||
|
|
||||||
|
|
||||||
・ テーブル(table)、関係(relation)、クラス(class)
|
・ テーブル(table)、関係(relation)、クラス(class)
|
||||||
・ ロウ(row)、レコード(record)、タップル(tuple)
|
・ ロウ(row)、レコード(record)、タップル(tuple)
|
||||||
・ カラム(column)、フィールド(field)、属性(attribute)
|
・ カラム(column)、フィールド(field)、属性(attribute)
|
||||||
@ -1168,6 +1202,7 @@ software/docs/pkgs/pgsql/glossary/glossary.html
|
|||||||
おそらく、システムの仮想メモリーを全て使い果たしてしまっている可能性があるか、
|
おそらく、システムの仮想メモリーを全て使い果たしてしまっている可能性があるか、
|
||||||
カーネルがあるリソースについてもつ制限値が低すぎる可能性があります。 postmaster
|
カーネルがあるリソースについてもつ制限値が低すぎる可能性があります。 postmaster
|
||||||
を始動する前にこれを試してみて下さい:
|
を始動する前にこれを試してみて下さい:
|
||||||
|
|
||||||
ulimit -d 262144
|
ulimit -d 262144
|
||||||
limit datasize 256m
|
limit datasize 256m
|
||||||
|
|
||||||
@ -1195,12 +1230,13 @@ descriptor(
|
|||||||
ザクションを使うのを忘れると、(少なくともほとんどの時間)働いていたコードがエ
|
ザクションを使うのを忘れると、(少なくともほとんどの時間)働いていたコードがエ
|
||||||
ラーメッセージを出すのです。
|
ラーメッセージを出すのです。
|
||||||
|
|
||||||
もし、ODBCのようなクライアントインターフェースをお使いなら、auto-commit offを設
|
もし、ODBCのようなクライアントインターフェイスをお使いなら、auto-commit offを設
|
||||||
定する必要があるかもしれません。
|
定する必要があるかもしれません。
|
||||||
|
|
||||||
4.21) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?
|
4.21) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?
|
||||||
|
|
||||||
CURRENT_TIMESTAMPを使います:
|
CURRENT_TIMESTAMPを使います:
|
||||||
|
|
||||||
CREATE TABLE test (x int, modtime timestamp DEFAULT >CURRENT_TIMESTAMP );
|
CREATE TABLE test (x int, modtime timestamp DEFAULT >CURRENT_TIMESTAMP );
|
||||||
|
|
||||||
4.22) なぜ、INを使う副問い合わせがとても遅いのですか?
|
4.22) なぜ、INを使う副問い合わせがとても遅いのですか?
|
||||||
@ -1209,25 +1245,33 @@ CURRENT_TIMESTAMP
|
|||||||
により、副問い合わせを外部問い合わせに結合しています。もし、副問い合わせが数行
|
により、副問い合わせを外部問い合わせに結合しています。もし、副問い合わせが数行
|
||||||
しか返さず、外部問い合わせが沢山の行を返すなら、当面はINをEXISTSで置き換えるこ
|
しか返さず、外部問い合わせが沢山の行を返すなら、当面はINをEXISTSで置き換えるこ
|
||||||
とです:
|
とです:
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE col1 IN (SELECT subcol FROM subtab)
|
WHERE col1 IN (SELECT subcol FROM subtab)
|
||||||
|
|
||||||
を、置き換えて:
|
を、置き換えて:
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
|
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
|
||||||
とします。これが手っ取り早いですが、subcolは索引付きカラムであるべきです。この
|
|
||||||
制限は将来のリリースで直したいと思っています。
|
とします。これが手っ取り早いですが、subcolは索引付きカラムであるべきです。ここ
|
||||||
|
で示した問題は7.4で修正されます。
|
||||||
|
|
||||||
4.23) 外部結合(outer join)はどのように実現しますか?
|
4.23) 外部結合(outer join)はどのように実現しますか?
|
||||||
|
|
||||||
PostgreSQL は SQL 標準構文を使う外部結合(アウタージョイン)をサポートします。こ
|
PostgreSQL は SQL 標準構文を使う外部結合(アウタージョイン)をサポートします。こ
|
||||||
こに 2つの例題があります。
|
こに 2つの例題があります。
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
|
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
|
||||||
|
|
||||||
あるいは
|
あるいは
|
||||||
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM t1 LEFT OUTER JOIN t2 USING (col);
|
FROM t1 LEFT OUTER JOIN t2 USING (col);
|
||||||
|
|
||||||
これらの象徴的な問い合わせでは t1.col を t2.col と結合して、t1 の結合されなかっ
|
これらの象徴的な問い合わせでは t1.col を t2.col と結合して、t1 の結合されなかっ
|
||||||
たロウ(t2 と一致しなかったロウ)も返しています。RIGHT 結合は t2 の結合されなかっ
|
たロウ(t2 と一致しなかったロウ)も返しています。RIGHT 結合は t2 の結合されなかっ
|
||||||
たロウを加えるでしょう。FULL 結合は、一致したロウに t1 と t2 からは結合されなか
|
たロウを加えるでしょう。FULL 結合は、一致したロウに t1 と t2 からは結合されなか
|
||||||
@ -1235,6 +1279,7 @@ PostgreSQL
|
|||||||
などの結合を仮定されています。以前のリリースでは外部結合(outer join)をUNION と
|
などの結合を仮定されています。以前のリリースでは外部結合(outer join)をUNION と
|
||||||
NOT IN を使ってシミュレートできます。たとえば、tab1 と tab2 を結合するときは、
|
NOT IN を使ってシミュレートできます。たとえば、tab1 と tab2 を結合するときは、
|
||||||
次の問い合わせで二つのテーブルを外部結合します。
|
次の問い合わせで二つのテーブルを外部結合します。
|
||||||
|
|
||||||
SELECT tab1.col1, tab2.col2
|
SELECT tab1.col1, tab2.col2
|
||||||
FROM tab1, tab2
|
FROM tab1, tab2
|
||||||
WHERE tab1.col1 = tab2.col1
|
WHERE tab1.col1 = tab2.col1
|
||||||
@ -1250,15 +1295,14 @@ NOT IN
|
|||||||
ータベース仕様のシステムカタログを読み込むためで、そこには、たとえそのふりをす
|
ータベース仕様のシステムカタログを読み込むためで、そこには、たとえそのふりをす
|
||||||
るだけにしろ、データベースを越えて問い合わせをするすべがありません。
|
るだけにしろ、データベースを越えて問い合わせをするすべがありません。
|
||||||
|
|
||||||
/contrib/dblink はデータベース間(cross-database)の問い合わせを関数呼出しにより
|
contrib/dblink はデータベース間(cross-database)の問い合わせを関数呼出しにより許
|
||||||
許します。もちろん、クライアントは同時に接続を別のデータベースへも張らなくては
|
します。もちろん、クライアントは同時に接続を別のデータベースへも張らなくてはな
|
||||||
ならず、結果をクライアント側でマージしなくてはなりません。
|
らず、結果をクライアント側でマージしなくてはなりません。
|
||||||
|
|
||||||
4.25) 関数で複数のロウまたはカラムを返すにはどうしますか?
|
4.25) 関数で複数のロウまたはカラムを返すにはどうしますか?
|
||||||
|
|
||||||
もし、PL/pgSQL 関数でrefcursorsを使うと結果の組を返すことができます。 http://
|
7.3では関数から、複数行のや複数カラムを簡単に返せます。 http://
|
||||||
www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html の 23.7.3.3 節をご覧下
|
techdocs.postgresql.org/guides/SetReturningFunctions。
|
||||||
さい。
|
|
||||||
|
|
||||||
4.26)なぜ、PL/PgSQL 関数の中から一時テーブルを確実に create/drop することができ
|
4.26)なぜ、PL/PgSQL 関数の中から一時テーブルを確実に create/drop することができ
|
||||||
ないのでしょうか?
|
ないのでしょうか?
|
||||||
@ -1278,19 +1322,15 @@ PL/PgSQL
|
|||||||
それらを一覧にしてあります。マルチ-マスターのリプリケーションによるソリューショ
|
それらを一覧にしてあります。マルチ-マスターのリプリケーションによるソリューショ
|
||||||
ンは http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php にて作業
|
ンは http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php にて作業
|
||||||
が進められています。
|
が進められています。
|
||||||
[訳注
|
|
||||||
JPUG 分散トランザクション開発分科会では、永安悟史さんを中心に2相
|
|
||||||
コミットの実装を行なっています。
|
|
||||||
http://www.postgresql.jp/subcommittee/dt/index.html
|
|
||||||
http://www.snaga.org/jpug-dt/
|
|
||||||
|
|
||||||
三谷篤さんによる双方向リプリケーションPGReplicate
|
[訳注 JPUG 分散トランザクション開発分科会では、永安悟史さんを中心に2相コミット
|
||||||
http://www.csra.co.jp/~mitani/jpug/pgreplicate/
|
の実装を行なっています。 http://www.postgresql.jp/subcommittee/dt/index.html
|
||||||
]
|
http://www.snaga.org/jpug-dt/ 三谷篤さんによる双方向リプリケーションPGReplicate
|
||||||
|
http://www.csra.co.jp/~mitani/jpug/pgreplicate/ ]
|
||||||
|
|
||||||
4.28) どのような暗号化オプションを利用できますか?
|
4.28) どのような暗号化オプションを利用できますか?
|
||||||
|
|
||||||
・ /contrib/pgcrypto SQL問い合わせの中で使うための沢山の暗号化を含みます。
|
・ contrib/pgcrypto SQL問い合わせの中で使うための沢山の暗号化を含みます。
|
||||||
・ クライアントからサーバーへの転送をを暗号化する唯一の方法はpg_hba.confの中で
|
・ クライアントからサーバーへの転送をを暗号化する唯一の方法はpg_hba.confの中で
|
||||||
hostsslを使うことによります。
|
hostsslを使うことによります。
|
||||||
・ バージョン7.3 ではデータベースユーザのパスワードは保存される時に自動的に暗
|
・ バージョン7.3 ではデータベースユーザのパスワードは保存される時に自動的に暗
|
||||||
@ -1299,6 +1339,7 @@ PL/PgSQL
|
|||||||
・ サーバーは暗号化ファイルシステムを使って走ることもできます。
|
・ サーバーは暗号化ファイルシステムを使って走ることもできます。
|
||||||
|
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
PostgreSQLの拡張についての質問
|
PostgreSQLの拡張についての質問
|
||||||
|
|
||||||
5.1) 自分で書いたユーザ定義関数を psql の中で実行するとコア・ダンプしてしまうの
|
5.1) 自分で書いたユーザ定義関数を psql の中で実行するとコア・ダンプしてしまうの
|
||||||
@ -1316,8 +1357,9 @@ PL/PgSQL
|
|||||||
|
|
||||||
5.3) タプルを返す C言語の関数はどのように書きますか?
|
5.3) タプルを返す C言語の関数はどのように書きますか?
|
||||||
|
|
||||||
原理的には可能ですが、これには究極の妙技を要しますので、著者のまわりでは未だ誰
|
バージョン7.3以降のPostgreSQLでは、テーブルを返す関数を C, PL/PgSQL、そして SQL
|
||||||
もやったことがありません。
|
にて完全にサポートします。詳しくはプログラマガイドの情報を見てください。Cで定義
|
||||||
|
された表を返す関数の例題がcontrib/tablefuncの中にあります。
|
||||||
|
|
||||||
5.4) ソース・ファイルを変更しました。再コンパイルしても変化が見られないのはなぜ
|
5.4) ソース・ファイルを変更しました。再コンパイルしても変化が見られないのはなぜ
|
||||||
ですか?
|
ですか?
|
||||||
@ -1327,11 +1369,12 @@ PL/PgSQL
|
|||||||
をお使いであれば configure の --enable-depend オプションを使って、コンパイラに
|
をお使いであれば configure の --enable-depend オプションを使って、コンパイラに
|
||||||
依存関係を自動的に調べさせることもできます。
|
依存関係を自動的に調べさせることもできます。
|
||||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
[訳注:
|
[訳注:
|
||||||
日本語版の製作については以下の通りです。
|
日本語版の製作については以下の通りです。
|
||||||
|
|
||||||
最終更新日: 2002年10月18日
|
最終更新日: 2003年06月30日
|
||||||
翻訳者: 桑村 潤 (Jun Kuwamura <juk@PostgreSQL.jp>)
|
翻訳者: 桑村 潤 (Jun Kuwamura <juk at PostgreSQL.jp>)
|
||||||
|
|
||||||
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
||||||
|
|
||||||
@ -1348,19 +1391,18 @@ PL/PgSQL
|
|||||||
本田 茂広(Shigehiro HONDA <fwif0083 at mb.infoweb.ne.jp>)
|
本田 茂広(Shigehiro HONDA <fwif0083 at mb.infoweb.ne.jp>)
|
||||||
せせ じゅん(Jun SESE <sesejun at linet.gr.jp>)
|
せせ じゅん(Jun SESE <sesejun at linet.gr.jp>)
|
||||||
神谷 英孝(Hidetaka KAMIYA <hkamiya at catvmics.ne.jp>)
|
神谷 英孝(Hidetaka KAMIYA <hkamiya at catvmics.ne.jp>)
|
||||||
菅原 敦(
|
菅原 敦(Atsushi SUGAWARA <asugawar at f3.dion.ne.jp>)
|
||||||
Atsushi SUGAWARA <asugawar at f3.dion.ne.jp>)
|
稲葉 香理(Kaori Inaba <i-kaori at sra.co.jp>)
|
||||||
|
|
||||||
をはじめ、ポストグレスに関する話題豊富な日本語ポストグレス・メーリングリスト、
|
をはじめ、ポストグレスに関する話題豊富な日本語ポストグレス・メーリングリスト、
|
||||||
和訳のきっかけを作ってくれた JF(Linux Japanese FAQ Mailing List)プロジェクト、その他、
|
和訳のきっかけを作ってくれた JF(Linux Japanese FAQ Mailing List)プロジェクト、その他、
|
||||||
直接あるいは間接的にかかわっているすべてのオープンソースコミュニティーの
|
直接あるいは間接的にかかわっているすべてのオープンソースコミュニティーの皆さんに感謝します。
|
||||||
皆さんに感謝します。
|
|
||||||
|
|
||||||
日本語版のこの文書は、以下からもたどれます。
|
日本語版のこの文書は、以下からもたどれます。
|
||||||
http://www.rccm.co.jp/~juk/pgsql/(FAQ和訳 PostgreSQL についてよくある質問)
|
http://www.rccm.co.jp/~juk/pgsql/(FAQ和訳 PostgreSQL についてよくある質問)
|
||||||
http://www.PostgreSQL.jp/subcommittee/jpugdoc/JPUG文書・書籍関連分科会
|
http://www.PostgreSQL.jp/subcommittee/jpugdoc/JPUG文書・書籍関連分科会
|
||||||
http://www.linux.or.jp/JF/Linux JFプロジェクト
|
http://www.linux.or.jp/JF/Linux JFプロジェクト
|
||||||
http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/
|
|
||||||
|
|
||||||
なお、この和訳に関するご意見は(juk@PostgreSQL.jp)までお寄せ下さい。
|
なお、この和訳に関するご意見は(juk at PostgreSQL.jp)までお寄せ下さい。
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Otvety na chasto zadavaemye voprosy po PostgreSQL
|
Otvety na chasto zadavaemye voprosy po PostgreSQL
|
||||||
|
|
||||||
Data poslednego obnovleniya: CHetverg 13 Fevralya 23:07:35 EDT 2002
|
Data poslednego obnovleniya: Pyatnica 30 Maya 22:24:56 EDT 2003
|
||||||
|
|
||||||
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
|
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
|
||||||
(pgman@candle.pha.pa.us)
|
(pgman@candle.pha.pa.us)
|
||||||
@ -9,10 +9,10 @@
|
|||||||
Perevel na russkij: Viktor Vislobokov (victor_v@permonline.ru)
|
Perevel na russkij: Viktor Vislobokov (victor_v@permonline.ru)
|
||||||
|
|
||||||
Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na
|
Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na
|
||||||
http://www.PostgreSQL.org/docs/faq-english.html.
|
http://www.PostgreSQL.org/docs/faqs/FAQ.html.
|
||||||
|
|
||||||
Otvety na voprosy specifichnye dlya konkretnyh platform mozhno najti
|
Otvety na voprosy specifichnye dlya konkretnyh platform mozhno najti
|
||||||
na http://www.PostgreSQL.org/users-lounge/docs/faq.html.
|
na http://www.PostgreSQL.org/docs/index.html.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Obschie voprosy
|
Obschie voprosy
|
||||||
@ -30,7 +30,7 @@
|
|||||||
1.10) Kak nauchit'sya SQL?
|
1.10) Kak nauchit'sya SQL?
|
||||||
1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
|
1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
|
||||||
1.12) Kak prisoedinitsya k komande razrabotchikov?
|
1.12) Kak prisoedinitsya k komande razrabotchikov?
|
||||||
1.13) Kak otravit' soobschenie ob oshibke?
|
1.13) Kak otpravit' soobschenie ob oshibke?
|
||||||
1.14) Kak sravnivat' PostgreSQL s drugimi SUBD?
|
1.14) Kak sravnivat' PostgreSQL s drugimi SUBD?
|
||||||
1.15) Kak okazat' finansovuyu pomosch' PostgreSQL?
|
1.15) Kak okazat' finansovuyu pomosch' PostgreSQL?
|
||||||
|
|
||||||
@ -66,9 +66,9 @@
|
|||||||
|
|
||||||
4.1) V chem otlichie mezhdu binarnym i normal'nym kursorom?
|
4.1) V chem otlichie mezhdu binarnym i normal'nym kursorom?
|
||||||
4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek
|
4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek
|
||||||
zaprosa?
|
zaprosa? Dlya proizvol'noj stroki?
|
||||||
4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
|
4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
|
||||||
4.4) Kak udalit' kolonku iz tablicy?
|
4.4) Kak udalit' kolonku iz tablicy ili izmenit' eio tip dannyh?
|
||||||
4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
|
4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
|
||||||
4.6) Kak mnogo diskovogo prostranstva v baze dannyh nuzhno dlya
|
4.6) Kak mnogo diskovogo prostranstva v baze dannyh nuzhno dlya
|
||||||
sohraneniya dannyh iz obychnogo tekstovogo fajla?
|
sohraneniya dannyh iz obychnogo tekstovogo fajla?
|
||||||
@ -213,12 +213,18 @@
|
|||||||
Server
|
Server
|
||||||
|
|
||||||
Server BD mozhet byt' zapuschen na Windows NT i Win2k, ispol'zuya
|
Server BD mozhet byt' zapuschen na Windows NT i Win2k, ispol'zuya
|
||||||
biblioteku Cygwin, razrabotannuyu dlya perenosa programmnogo
|
biblioteku Cygwin, razrabotannuyu kompaniej Cygnus dlya perenosa
|
||||||
obespecheniya Unix v NT. Smotrite pgsql/doc/FAQ_MSWIN v distributive
|
programmnogo obespecheniya Unix v NT. Smotrite pgsql/doc/FAQ_MSWIN v
|
||||||
ili MS Windows FAQ na http://www.PostgreSQL.org/docs/faq-mswin.html.
|
distributive ili MS Windows FAQ na
|
||||||
|
http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN.
|
||||||
|
|
||||||
PostgreSQL, sportirovannyj special'no dlya MS Win NT/2000/XP v
|
PostgreSQL, sportirovannyj special'no dlya MS Win NT/2000/XP v
|
||||||
nastoyaschij moment nachal rabotat'.
|
nastoyaschij moment nachal rabotat'. Podrobnosti tekuschego
|
||||||
|
sostoyaniya PostgreSQL dlya Windows smotrite na
|
||||||
|
http://techdocs.postgresql.org/guides/Windows.
|
||||||
|
|
||||||
|
Takzhe suschestvuet versiya sportirovannaya pod Novell Netware 6 na
|
||||||
|
http://forge.novell.com.
|
||||||
|
|
||||||
1.5) Gde mozhno vzyat' PostgreSQL?
|
1.5) Gde mozhno vzyat' PostgreSQL?
|
||||||
|
|
||||||
@ -266,16 +272,16 @@
|
|||||||
|
|
||||||
http://www.PostgreSQL.org
|
http://www.PostgreSQL.org
|
||||||
|
|
||||||
Esche suschestvuet IRC kanal na EFNet, s nazvaniem #PostgreSQL. YA
|
Esche suschestvuet IRC kanal na EFNet i OpenProjects, s nazvaniem
|
||||||
ispol'zuyu dlya podklyucheniya k `etomu kanalu komandu Unix irc -c
|
#PostgreSQL. YA ispol'zuyu dlya podklyucheniya k `etomu kanalu komandu
|
||||||
'#PostgreSQL' "$USER" irc.phoenix.net.
|
Unix irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
|
||||||
|
|
||||||
Spisok kommercheskoj podderzhki kompanij dostupen na
|
Spisok kommercheskoj podderzhki kompanij dostupen na
|
||||||
http://www.PostgreSQL.org/users-lounge/commercial-support.html.
|
http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html.
|
||||||
|
|
||||||
1.7) Kakaya poslednyaya versiya?
|
1.7) Kakaya poslednyaya versiya?
|
||||||
|
|
||||||
Poslednij vypusk PostgreSQL - `eto versiya 7.3.1.
|
Poslednij vypusk PostgreSQL - `eto versiya 7.3.2.
|
||||||
|
|
||||||
My planiruem vypuskat' novye versii kazhdye chetyre mesyaca.
|
My planiruem vypuskat' novye versii kazhdye chetyre mesyaca.
|
||||||
|
|
||||||
@ -284,7 +290,7 @@
|
|||||||
V distributiv vklyuchayutsya razlichnye rukovodstva, stranicy
|
V distributiv vklyuchayutsya razlichnye rukovodstva, stranicy
|
||||||
`elektronnogo rukovodstva man i nekotorye malen'kie testovye primery.
|
`elektronnogo rukovodstva man i nekotorye malen'kie testovye primery.
|
||||||
Smotrite v katalog /doc. Vy takzhe mozhete prosmatrivat' dokumentaciyu
|
Smotrite v katalog /doc. Vy takzhe mozhete prosmatrivat' dokumentaciyu
|
||||||
v Internet po adresu http://www.PostgreSQL.org/users-lounge/docs/.
|
v Internet po adresu http://www.PostgreSQL.org/docs.
|
||||||
|
|
||||||
Suschestvuet dve knigi po PostgreSQL dostupnye po adresam
|
Suschestvuet dve knigi po PostgreSQL dostupnye po adresam
|
||||||
http://www.PostgreSQL.org/docs/awbook.html i
|
http://www.PostgreSQL.org/docs/awbook.html i
|
||||||
@ -304,7 +310,7 @@
|
|||||||
|
|
||||||
PostgreSQL podderzhivaet rasshirennyj podklass SQL-92. Smotrite nash
|
PostgreSQL podderzhivaet rasshirennyj podklass SQL-92. Smotrite nash
|
||||||
spisok TODO na predmet izvestnyh oshibok, otsutstvuyuschih
|
spisok TODO na predmet izvestnyh oshibok, otsutstvuyuschih
|
||||||
osobennostyah i buduschih planov.
|
vozmozhnostej i buduschih planov.
|
||||||
|
|
||||||
1.10) Kak mne nauchit'sya SQL?
|
1.10) Kak mne nauchit'sya SQL?
|
||||||
|
|
||||||
@ -325,7 +331,7 @@
|
|||||||
|
|
||||||
1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
|
1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
|
||||||
|
|
||||||
Da, my legko manipuliruem datami posle 2000 goda i pered 2000 godom.
|
Da, my legko rabotaem s datami posle 2000 goda i pered 2000 godom.
|
||||||
|
|
||||||
1.12) Kak prisoedinitsya k komande razrabotchikov?
|
1.12) Kak prisoedinitsya k komande razrabotchikov?
|
||||||
|
|
||||||
@ -342,7 +348,7 @@
|
|||||||
previlegii vnosit' izmeneniya, i my uvereny, chto te ispravleniya,
|
previlegii vnosit' izmeneniya, i my uvereny, chto te ispravleniya,
|
||||||
kotorye oni vnesut budut vysokogo kachestva.
|
kotorye oni vnesut budut vysokogo kachestva.
|
||||||
|
|
||||||
1.13) Kak otravit' soobschenie ob oshibke??
|
1.13) Kak otpravit' soobschenie ob oshibke??
|
||||||
|
|
||||||
Pozhalujsta posetite stranichku PostgreSQL BugTool na
|
Pozhalujsta posetite stranichku PostgreSQL BugTool na
|
||||||
http://www.PostgreSQL.org/bugs/bugs.php, na kotoroj predostavleny
|
http://www.PostgreSQL.org/bugs/bugs.php, na kotoroj predostavleny
|
||||||
@ -703,6 +709,7 @@
|
|||||||
Smotrite opisanie na stranicah rukovodstva posvyaschennym DECLARE.
|
Smotrite opisanie na stranicah rukovodstva posvyaschennym DECLARE.
|
||||||
|
|
||||||
4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek zaprosa?
|
4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek zaprosa?
|
||||||
|
Proizvol'noj stroki?
|
||||||
|
|
||||||
Smotrite stanicu rukovodstva posvyaschennuyu FETCH ili ispol'zujte
|
Smotrite stanicu rukovodstva posvyaschennuyu FETCH ili ispol'zujte
|
||||||
SELECT ... LIMIT....
|
SELECT ... LIMIT....
|
||||||
@ -713,6 +720,12 @@
|
|||||||
mozhet vydat' tol'ko neskol'ko pervyh zaproshennyh zapisej ili mozhet
|
mozhet vydat' tol'ko neskol'ko pervyh zaproshennyh zapisej ili mozhet
|
||||||
vypolnyat' zapros poka ne budut vydany zhelaemye zapisi.
|
vypolnyat' zapros poka ne budut vydany zhelaemye zapisi.
|
||||||
|
|
||||||
|
To SELECT a random row, use:
|
||||||
|
SELECT col
|
||||||
|
FROM tab
|
||||||
|
ORDER BY random()
|
||||||
|
LIMIT 1;
|
||||||
|
|
||||||
4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
|
4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
|
||||||
|
|
||||||
Vy mozhete posmotret' ishodnyj kod psql v fajle
|
Vy mozhete posmotret' ishodnyj kod psql v fajle
|
||||||
@ -722,10 +735,10 @@
|
|||||||
chtoby `eta programma vydavala zaprosy, kotorye ona ispol'zuet dlya
|
chtoby `eta programma vydavala zaprosy, kotorye ona ispol'zuet dlya
|
||||||
vypolneniya zadannyh vami komand.
|
vypolneniya zadannyh vami komand.
|
||||||
|
|
||||||
4.4) Kak udalit' kolonku iz tablicy?
|
4.4) Kak udalit' kolonku iz tablicy ili izmenit' ioio tip dannyh?
|
||||||
|
|
||||||
`Eta funkcional'nost' byla dobavlena v vypusk 7.3 s operatorom ALTER
|
DROP COLUMN funkcional'nost' byla dobavlena v vypusk 7.3 s operatorom
|
||||||
TABLE DROP COLUMN. V rannih versiyah, mozhno sdelat' tak:
|
ALTER TABLE DROP COLUMN. V rannih versiyah, mozhno sdelat' tak:
|
||||||
BEGIN;
|
BEGIN;
|
||||||
LOCK TABLE old_table;
|
LOCK TABLE old_table;
|
||||||
SELECT ... -- vyborka vseh kolonok za isklyucheniem toj, kotoruyu hotite u
|
SELECT ... -- vyborka vseh kolonok za isklyucheniem toj, kotoruyu hotite u
|
||||||
@ -736,11 +749,18 @@ dalit'
|
|||||||
ALTER TABLE new_table RENAME TO old_table;
|
ALTER TABLE new_table RENAME TO old_table;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
|
Dlya izmeneniya tipa dannyh kolonki, sdelajte tak:
|
||||||
|
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 DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
|
4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
|
||||||
|
|
||||||
Suschestvuyut sleduyuschie ogranicheniya:
|
Suschestvuyut sleduyuschie ogranicheniya:
|
||||||
Maksimal'nyj razmer bazy? neogranichen (suschestvuyut bazy na
|
Maksimal'nyj razmer bazy? neogranichen (suschestvuyut bazy na
|
||||||
1 TB)
|
4 TB)
|
||||||
Maksimal'nyj razmer tablicy? 16 TB
|
Maksimal'nyj razmer tablicy? 16 TB
|
||||||
Maksimal'nyj razmer zapisi? 1.6 TB
|
Maksimal'nyj razmer zapisi? 1.6 TB
|
||||||
Maksimal'nyj razmer polya? 1 GB
|
Maksimal'nyj razmer polya? 1 GB
|
||||||
@ -931,14 +951,14 @@ iya
|
|||||||
CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny
|
CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny
|
||||||
TEXT text net zadavaemogo verhnego ogranicheniya ili dlin
|
TEXT text net zadavaemogo verhnego ogranicheniya ili dlin
|
||||||
y
|
y
|
||||||
"char" char odin simvol
|
|
||||||
BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zova
|
BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zova
|
||||||
t' null-bajt bez opaski)
|
t' null-bajt bez opaski)
|
||||||
|
"char" char odin simvol
|
||||||
|
|
||||||
Vnutrennee imya vy mozhete uvidet', kogda smotrite sistemnye katalogi
|
Vnutrennee imya vy mozhete uvidet', kogda smotrite sistemnye katalogi
|
||||||
i v nekotoryh soobscheniyah ob oshibkah.
|
i v nekotoryh soobscheniyah ob oshibkah.
|
||||||
|
|
||||||
Poslednie chetyre tipa yavlyayutsya "varlena" tipami (t.e., pervye
|
Pervye chetyre tipa yavlyayutsya "varlena" tipami (t.e., pervye
|
||||||
chetyre bajta na diske yavlyayutsya dlinnoj, za kotoroj sleduyut
|
chetyre bajta na diske yavlyayutsya dlinnoj, za kotoroj sleduyut
|
||||||
dannye). Takim obrazom, fakticheski ispol'zuemoe prostranstvo bol'she,
|
dannye). Takim obrazom, fakticheski ispol'zuemoe prostranstvo bol'she,
|
||||||
chem oboznachennyj razmer. Odnako, `eti tipy dannyh takzhe poddayutsya
|
chem oboznachennyj razmer. Odnako, `eti tipy dannyh takzhe poddayutsya
|
||||||
@ -954,8 +974,8 @@ t' null-bajt bez opaski)
|
|||||||
imeyut odinakovuyu dlinu. CHAR(n) zapolnyaetsya pustotoj do zadannoj
|
imeyut odinakovuyu dlinu. CHAR(n) zapolnyaetsya pustotoj do zadannoj
|
||||||
dliny, v to vremya kak VARCHAR(n) hranit tol'ko simvoly, iz kotoryh
|
dliny, v to vremya kak VARCHAR(n) hranit tol'ko simvoly, iz kotoryh
|
||||||
sostoit stroka. BYTEA ispol'zuetsya dlya hraneniya binarnyh dannyh,
|
sostoit stroka. BYTEA ispol'zuetsya dlya hraneniya binarnyh dannyh,
|
||||||
znacheniya kotoryh mogut vklyuchat' NULL bajty. `Eti tipy imeyut
|
znacheniya kotoryh mogut vklyuchat' NULL bajty. Vse tipy opisannye
|
||||||
shodnye harakteristiki proizvoditel'nosti.
|
zdes', imeyut shodnye harakteristiki proizvoditel'nosti.
|
||||||
|
|
||||||
4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
|
4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
|
||||||
|
|
||||||
@ -1194,10 +1214,10 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
|
|||||||
|
|
||||||
4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
|
4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
|
||||||
|
|
||||||
Vy mozhete vozvraschat' iz funkcij PL/pgSQL spiski rezul'tatov,
|
V versii 7.3, vy mozhete legko vernut' neskol'ko zapisej ili kolonok
|
||||||
ispol'zuya refcursors. Smotrite
|
iz kakoj-libo funkcii,
|
||||||
http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html,
|
http://techdocs.postgresql.org/guides/SetReturningFunctions
|
||||||
sekciyu 23.7.3.3.
|
.
|
||||||
|
|
||||||
4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy v
|
4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy v
|
||||||
funkciyah PL/PgSQL?
|
funkciyah PL/PgSQL?
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
alink="#0000ff">
|
alink="#0000ff">
|
||||||
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
|
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
|
||||||
|
|
||||||
<P>Last updated: Fri Feb 14 09:03:00 EST 2003</P>
|
<P>Last updated: Wed Jul 23 00:11:07 EDT 2003</P>
|
||||||
|
|
||||||
<P>Current maintainer: Bruce Momjian (<A href=
|
<P>Current maintainer: Bruce Momjian (<A href=
|
||||||
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||||
@ -18,10 +18,10 @@
|
|||||||
|
|
||||||
<P>The most recent version of this document can be viewed at <A
|
<P>The most recent version of this document can be viewed at <A
|
||||||
href=
|
href=
|
||||||
"http://www.ca.PostgreSQL.org/docs/faq-english.html">http://www.ca.PostgreSQL.org/docs/faq-english.html</A>.</P>
|
"http://www.PostgreSQL.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>.</P>
|
||||||
|
|
||||||
<P>Platform-specific questions are answered at <A href=
|
<P>Platform-specific questions are answered at <A href=
|
||||||
"http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html">http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html</A>.</P>
|
"http://www.PostgreSQL.org/docs/index.html">http://www.PostgreSQL.org/docs/index.html</A>.</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<H2 align="center">General Questions</H2>
|
<H2 align="center">General Questions</H2>
|
||||||
@ -83,11 +83,11 @@
|
|||||||
<A href="#4.1">4.1</A>) What is the difference between binary
|
<A href="#4.1">4.1</A>) What is the difference between binary
|
||||||
cursors and normal cursors?<BR>
|
cursors and normal cursors?<BR>
|
||||||
<A href="#4.2">4.2</A>) How do I <SMALL>SELECT</SMALL> only the
|
<A href="#4.2">4.2</A>) How do I <SMALL>SELECT</SMALL> only the
|
||||||
first few rows of a query?<BR>
|
first few rows of a query? A random row?<BR>
|
||||||
<A href="#4.3">4.3</A>) How do I get a list of tables or other
|
<A href="#4.3">4.3</A>) How do I get a list of tables or other
|
||||||
things I can see in <I>psql</I>?<BR>
|
things I can see in <I>psql</I>?<BR>
|
||||||
<A href="#4.4">4.4</A>) How do you remove a column from a
|
<A href="#4.4">4.4</A>) How do you remove a column from a
|
||||||
table?<BR>
|
table, or change it's data type?<BR>
|
||||||
<A href="#4.5">4.5</A>) What is the maximum size for a row, a
|
<A href="#4.5">4.5</A>) What is the maximum size for a row, a
|
||||||
table, and a database?<BR>
|
table, and a database?<BR>
|
||||||
<A href="#4.6">4.6</A>) How much database disk space is required
|
<A href="#4.6">4.6</A>) How much database disk space is required
|
||||||
@ -245,11 +245,16 @@
|
|||||||
<P>The database server can run on Windows NT and Win2k using
|
<P>The database server can run on Windows NT and Win2k using
|
||||||
Cygwin, the Cygnus Unix/NT porting library. See
|
Cygwin, the Cygnus Unix/NT porting library. See
|
||||||
<I>pgsql/doc/FAQ_MSWIN</I> in the distribution or the MS Windows FAQ
|
<I>pgsql/doc/FAQ_MSWIN</I> in the distribution or the MS Windows FAQ
|
||||||
at <A href="http://www.PostgreSQL.org/docs/faq-mswin.html">
|
at <A href="http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN">
|
||||||
http://www.PostgreSQL.org/docs/faq-mswin.html</A>.</P>
|
http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN</A>.</P>
|
||||||
|
|
||||||
<p>A native port to MS Win NT/2000/XP is currently being worked
|
<p>A native port to MS Win NT/2000/XP is currently being worked
|
||||||
on.</p>
|
on. For more details on the current status of PostgreSQL on Windows see
|
||||||
|
<a href="http://techdocs.postgresql.org/guides/Windows">
|
||||||
|
http://techdocs.postgresql.org/guides/Windows</a>.</p>
|
||||||
|
|
||||||
|
<p>There is also a Novell Netware 6 port at
|
||||||
|
<a href="http://forge.novell.com">http://forge.novell.com</a>.</p>
|
||||||
|
|
||||||
<H4><A name="1.5">1.5</A>) Where can I get PostgreSQL?</H4>
|
<H4><A name="1.5">1.5</A>) Where can I get PostgreSQL?</H4>
|
||||||
|
|
||||||
@ -309,12 +314,12 @@
|
|||||||
<A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
<A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<P>There is also an IRC channel on EFNet, channel
|
<P>There is also an IRC channel on EFNet and OpenProjects,
|
||||||
<I>#PostgreSQL</I>. I use the Unix command <CODE>irc -c
|
channel <I>#PostgreSQL</I>. I use the Unix command <CODE>irc -c
|
||||||
'#PostgreSQL' "$USER" irc.phoenix.net.</CODE></P>
|
'#PostgreSQL' "$USER" irc.phoenix.net.</CODE></P>
|
||||||
|
|
||||||
<P>A list of commercial support companies is available at <A href=
|
<P>A list of commercial support companies is available at <A href=
|
||||||
"http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html">http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html</A>.</P>
|
"http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</A>.</P>
|
||||||
|
|
||||||
<H4><A name="1.7">1.7</A>) What is the latest release?</H4>
|
<H4><A name="1.7">1.7</A>) What is the latest release?</H4>
|
||||||
|
|
||||||
@ -326,8 +331,8 @@
|
|||||||
|
|
||||||
<P>Several manuals, manual pages, and some small test examples are
|
<P>Several manuals, manual pages, and some small test examples are
|
||||||
included in the distribution. See the <I>/doc</I> directory. You
|
included in the distribution. See the <I>/doc</I> directory. You
|
||||||
can also browse the manual online at <A href=
|
can also browse the manuals online at <A href=
|
||||||
"http://www.ca.PostgreSQL.org/users-lounge/docs/">http://www.ca.PostgreSQL.org/users-lounge/docs/</A>.</P>
|
"http://www.PostgreSQL.org/docs">http://www.PostgreSQL.org/docs</A>.</P>
|
||||||
|
|
||||||
<P>There are two PostgreSQL books available online at <A href=
|
<P>There are two PostgreSQL books available online at <A href=
|
||||||
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
|
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
|
||||||
@ -335,7 +340,7 @@
|
|||||||
"http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</A>.
|
"http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</A>.
|
||||||
There is a list of PostgreSQL books available for purchase at <A
|
There is a list of PostgreSQL books available for purchase at <A
|
||||||
href=
|
href=
|
||||||
"http://www.ca.PostgreSQL.org/books/">http://www.ca.PostgreSQL.org/books/</A>.
|
"http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</A>.
|
||||||
There is also a collection of PostgreSQL technical articles at <A
|
There is also a collection of PostgreSQL technical articles at <A
|
||||||
href=
|
href=
|
||||||
"http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</A>.</P>
|
"http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</A>.</P>
|
||||||
@ -498,6 +503,11 @@
|
|||||||
send a check to the contact address.</P>
|
send a check to the contact address.</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
<P>Also, if you have a success story about PostgreSQL, please submit
|
||||||
|
it to our advocacy site at <a href="http://advocacy.postgresql.org">
|
||||||
|
http://advocacy.postgresql.org</a>.</P>
|
||||||
|
|
||||||
|
|
||||||
<H2 align="center">User Client Questions</H2>
|
<H2 align="center">User Client Questions</H2>
|
||||||
|
|
||||||
<H4><A name="2.1">2.1</A>) Are there <SMALL>ODBC</SMALL> drivers
|
<H4><A name="2.1">2.1</A>) Are there <SMALL>ODBC</SMALL> drivers
|
||||||
@ -535,7 +545,7 @@
|
|||||||
<H4><A name="2.3">2.3</A>) Does PostgreSQL have a graphical user
|
<H4><A name="2.3">2.3</A>) Does PostgreSQL have a graphical user
|
||||||
interface?</H4>
|
interface?</H4>
|
||||||
|
|
||||||
Yes, there are several graphical interfaces to PostgreSQL available.
|
<P>Yes, there are several graphical interfaces to PostgreSQL available.
|
||||||
These include PgAccess <a href="http://www.pgaccess.org">
|
These include PgAccess <a href="http://www.pgaccess.org">
|
||||||
http://www.pgaccess.org</a>), PgAdmin II (<a
|
http://www.pgaccess.org</a>), PgAdmin II (<a
|
||||||
href="http://www.pgadmin.org">http://www.pgadmin.org</a>,
|
href="http://www.pgadmin.org">http://www.pgadmin.org</a>,
|
||||||
@ -545,7 +555,9 @@
|
|||||||
http://www.thekompany.com/products/rekall/</a>, proprietary). There is
|
http://www.thekompany.com/products/rekall/</a>, proprietary). There is
|
||||||
also PHPPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
|
also PHPPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
|
||||||
http://phppgadmin.sourceforge.net/ </a>), a web-based interface to
|
http://phppgadmin.sourceforge.net/ </a>), a web-based interface to
|
||||||
PostgreSQL.
|
PostgreSQL.</P>
|
||||||
|
|
||||||
|
<P>See <a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a> for a more detailed list.</P>
|
||||||
|
|
||||||
<H4><A name="2.4">2.4</A>) What languages are able to communicate with
|
<H4><A name="2.4">2.4</A>) What languages are able to communicate with
|
||||||
PostgreSQL?</H4>
|
PostgreSQL?</H4>
|
||||||
@ -600,7 +612,7 @@
|
|||||||
<I>postmaster</I>. For most systems, with default numbers of
|
<I>postmaster</I>. For most systems, with default numbers of
|
||||||
buffers and processes, you need a minimum of ~1 MB. See the <A
|
buffers and processes, you need a minimum of ~1 MB. See the <A
|
||||||
href=
|
href=
|
||||||
"http://www.postgresql.org/idocs/index.php?kernel-resources.html">PostgreSQL
|
"http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html">PostgreSQL
|
||||||
Administrator's Guide</A> for more detailed information about
|
Administrator's Guide</A> for more detailed information about
|
||||||
shared memory and semaphores.</P>
|
shared memory and semaphores.</P>
|
||||||
|
|
||||||
@ -792,7 +804,7 @@
|
|||||||
description.</P>
|
description.</P>
|
||||||
|
|
||||||
<H4><A name="4.2">4.2</A>) How do I <SMALL>SELECT</SMALL> only the
|
<H4><A name="4.2">4.2</A>) How do I <SMALL>SELECT</SMALL> only the
|
||||||
first few rows of a query?</H4>
|
first few rows of a query? A random row?</H4>
|
||||||
|
|
||||||
<P>See the <SMALL>FETCH</SMALL> manual page, or use
|
<P>See the <SMALL>FETCH</SMALL> manual page, or use
|
||||||
<SMALL>SELECT</SMALL> ... <SMALL>LIMIT</SMALL>....</P>
|
<SMALL>SELECT</SMALL> ... <SMALL>LIMIT</SMALL>....</P>
|
||||||
@ -804,6 +816,14 @@
|
|||||||
records requested, or the entire query may have to be evaluated
|
records requested, or the entire query may have to be evaluated
|
||||||
until the desired rows have been generated.</P>
|
until the desired rows have been generated.</P>
|
||||||
|
|
||||||
|
<P>To <SMALL>SELECT</SMALL> a random row, use:
|
||||||
|
<PRE>
|
||||||
|
SELECT col
|
||||||
|
FROM tab
|
||||||
|
ORDER BY random()
|
||||||
|
LIMIT 1;
|
||||||
|
</PRE>
|
||||||
|
|
||||||
<H4><A name="4.3">4.3</A>) How do I get a list of tables or other
|
<H4><A name="4.3">4.3</A>) How do I get a list of tables or other
|
||||||
things I can see in <I>psql</I>?</H4>
|
things I can see in <I>psql</I>?</H4>
|
||||||
|
|
||||||
@ -815,9 +835,9 @@
|
|||||||
execute the commands you give.</P>
|
execute the commands you give.</P>
|
||||||
|
|
||||||
<H4><A name="4.4">4.4</A>) How do you remove a column from a
|
<H4><A name="4.4">4.4</A>) How do you remove a column from a
|
||||||
table?</H4>
|
table, or change its data type?</H4>
|
||||||
|
|
||||||
<P>This functionality was added in release 7.3 with
|
<P><SMALL>DROP COLUMN</SMALL> functionality was added in release 7.3 with
|
||||||
<SMALL>ALTER TABLE DROP COLUMN</SMALL>. In earlier versions,
|
<SMALL>ALTER TABLE DROP COLUMN</SMALL>. In earlier versions,
|
||||||
you can do this:</P>
|
you can do this:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
@ -831,12 +851,23 @@
|
|||||||
COMMIT;
|
COMMIT;
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
|
<P>To change the data type of a column, do this:</P>
|
||||||
|
<PRE>
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
|
||||||
|
UPDATE tab SET new_col = CAST(old_col AS <i>new_data_type</i>);
|
||||||
|
ALTER TABLE tab DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
</PRE>
|
||||||
|
<P>You might then want to do <I>VACUUM FULL tab</I> to reclaim the
|
||||||
|
disk space used by the expired rows.</P>
|
||||||
|
|
||||||
<H4><A name="4.5">4.5</A>) What is the maximum size for a row, a
|
<H4><A name="4.5">4.5</A>) What is the maximum size for a row, a
|
||||||
table, and a database?</H4>
|
table, and a database?</H4>
|
||||||
|
|
||||||
<P>These are the limits:</P>
|
<P>These are the limits:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
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 table? 16 TB
|
||||||
Maximum size for a row? 1.6TB
|
Maximum size for a row? 1.6TB
|
||||||
Maximum size for a field? 1 GB
|
Maximum size for a field? 1 GB
|
||||||
@ -1037,14 +1068,14 @@ Type Internal Name Notes
|
|||||||
VARCHAR(n) varchar size specifies maximum length, no padding
|
VARCHAR(n) varchar size specifies maximum length, no padding
|
||||||
CHAR(n) bpchar blank padded to the specified fixed length
|
CHAR(n) bpchar blank padded to the specified fixed length
|
||||||
TEXT text no specific upper limit on length
|
TEXT text no specific upper limit on length
|
||||||
"char" char one character
|
|
||||||
BYTEA bytea variable-length byte array (null-byte safe)
|
BYTEA bytea variable-length byte array (null-byte safe)
|
||||||
|
"char" char one character
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<P>You will see the internal name when examining system catalogs
|
<P>You will see the internal name when examining system catalogs
|
||||||
and in some error messages.</P>
|
and in some error messages.</P>
|
||||||
|
|
||||||
<P>The last four types above are "varlena" types (i.e., the first
|
<P>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
|
four bytes on disk are the length, followed by the data). Thus the
|
||||||
actual space used is slightly greater than the declared size.
|
actual space used is slightly greater than the declared size.
|
||||||
However, these data types are also subject to compression or being
|
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. <SMALL>CHAR(n)</SMALL> pads with blanks to the specified
|
same length. <SMALL>CHAR(n)</SMALL> pads with blanks to the specified
|
||||||
length, while <SMALL>VARCHAR(n)</SMALL> only stores the characters
|
length, while <SMALL>VARCHAR(n)</SMALL> only stores the characters
|
||||||
supplied. <SMALL>BYTEA</SMALL> is for storing binary data,
|
supplied. <SMALL>BYTEA</SMALL> is for storing binary data,
|
||||||
particularly values that include <SMALL>NULL</SMALL> bytes. These
|
particularly values that include <SMALL>NULL</SMALL> bytes. All the
|
||||||
types have similar performance characteristics.</P>
|
types described here have similar performance characteristics.</P>
|
||||||
|
|
||||||
<H4><A name="4.15.1">4.15.1</A>) How do I create a
|
<H4><A name="4.15.1">4.15.1</A>) How do I create a
|
||||||
serial/auto-incrementing field?</H4>
|
serial/auto-incrementing field?</H4>
|
||||||
@ -1340,11 +1371,10 @@ BYTEA bytea variable-length byte array (null-byte safe)
|
|||||||
<H4><A name="4.25">4.25</A>) How do I return multiple rows or
|
<H4><A name="4.25">4.25</A>) How do I return multiple rows or
|
||||||
columns from a function?</H4>
|
columns from a function?</H4>
|
||||||
|
|
||||||
<P>You can return result sets from PL/pgSQL functions using
|
<P>In 7.3, you can easily return multiple rows or columns from a
|
||||||
<I>refcursors</I>. See <A href=
|
function,
|
||||||
"http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html">
|
<a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">
|
||||||
http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</A>,
|
http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.
|
||||||
section 23.7.3.3.</P>
|
|
||||||
|
|
||||||
<H4><A name="4.26">4.26</A>) Why can't I reliably create/drop
|
<H4><A name="4.26">4.26</A>) Why can't I reliably create/drop
|
||||||
temporary tables in PL/PgSQL functions?</H4>
|
temporary tables in PL/PgSQL functions?</H4>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<H1>Developer's Frequently Asked Questions (FAQ) for
|
<H1>Developer's Frequently Asked Questions (FAQ) for
|
||||||
PostgreSQL</H1>
|
PostgreSQL</H1>
|
||||||
|
|
||||||
<P>Last updated: Fri Feb 14 08:59:10 EST 2003</P>
|
<P>Last updated: Mon Jun 2 00:34:39 EDT 2003</P>
|
||||||
|
|
||||||
<P>Current maintainer: Bruce Momjian (<A href=
|
<P>Current maintainer: Bruce Momjian (<A href=
|
||||||
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||||
@ -281,21 +281,28 @@
|
|||||||
less -x4
|
less -x4
|
||||||
emacs:
|
emacs:
|
||||||
M-x set-variable tab-width
|
M-x set-variable tab-width
|
||||||
|
|
||||||
or
|
or
|
||||||
; Cmd to set tab stops & indenting for working with PostgreSQL code
|
|
||||||
(c-add-style "pgsql"
|
(c-add-style "pgsql"
|
||||||
'("bsd"
|
'("bsd"
|
||||||
(indent-tabs-mode . t)
|
(indent-tabs-mode . t)
|
||||||
(c-basic-offset . 4)
|
(c-basic-offset . 4)
|
||||||
(tab-width . 4)
|
(tab-width . 4)
|
||||||
(c-offsets-alist .
|
(c-offsets-alist .
|
||||||
((case-label . +))))
|
((case-label . +)))
|
||||||
t) ; t = set this mode on
|
)
|
||||||
|
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):
|
and add this to your autoload list (modify file path in macro):
|
||||||
|
|
||||||
(setq auto-mode-alist
|
(setq auto-mode-alist
|
||||||
(cons '("\\`/usr/local/src/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode)
|
(cons '("\\`/home/andrew/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode)
|
||||||
auto-mode-alist))
|
auto-mode-alist))
|
||||||
or
|
or
|
||||||
/*
|
/*
|
||||||
@ -605,7 +612,9 @@
|
|||||||
href="http://webstore.ansi.org/ansidocstore/default.asp">
|
href="http://webstore.ansi.org/ansidocstore/default.asp">
|
||||||
http://webstore.ansi.org/ansidocstore/default.asp</a>. The main
|
http://webstore.ansi.org/ansidocstore/default.asp</a>. The main
|
||||||
standards documents are ANSI X3.135-1992 for SQL92 and ANSI/ISO/IEC
|
standards documents are ANSI X3.135-1992 for SQL92 and ANSI/ISO/IEC
|
||||||
9075-2-1999 for SQL99.</P>
|
9075-2-1999 for SQL99. The SQL 200X standards are at <a href=
|
||||||
|
"ftp://sqlstandards.org/SC32/WG3/Progression_Documents/FCD">
|
||||||
|
ftp://sqlstandards.org/SC32/WG3/Progression_Documents/FCD</A></P>
|
||||||
|
|
||||||
<P>A summary of these standards is at <a
|
<P>A summary of these standards is at <a
|
||||||
href="http://dbs.uni-leipzig.de/en/lokal/standards.pdf">
|
href="http://dbs.uni-leipzig.de/en/lokal/standards.pdf">
|
||||||
|
@ -14,16 +14,16 @@ 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: So., den 15.12.2002, 18:00 CET</p>
|
<p>Letzte Aktualisierung der deutschen Übersetzung: Mo., den 02.06.2003, 22:00 CET</p>
|
||||||
|
|
||||||
<p>Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website:</p>
|
<p>Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://www.PostgreSQL.org/docs/faq-english.html">http://www.PostgreSQL.org/docs/faq-english.html</a> (engl.)</li>
|
<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/faq-german.html">http://www.PostgreSQL.org/docs/faq-german.html</a> (dt.)</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>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Übersetzungen dieses Dokuments in andere Sprachen sowie plattform-
|
<p>Übersetzungen dieses Dokuments in andere Sprachen sowie plattform-
|
||||||
spezifische FAQs können unter
|
spezifische FAQs können unter
|
||||||
<a href="http://www.PostgreSQL.org/users-lounge/docs/faq.html">http://www.PostgreSQL.org/users-lounge/docs/faq.html</a>
|
<a href="http://www.PostgreSQL.org/docs/index.html#faqs">http://www.PostgreSQL.org/docs/index.html#faqs</a>
|
||||||
eingesehen werden.</p>
|
eingesehen werden.</p>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
@ -72,9 +72,10 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
|
|
||||||
<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.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 in einer Abfrage aus?<br />
|
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.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?<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.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.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 Indizes oder Operationen in der Datenbank definiert sind?<br />
|
<a href="#4.7">4.7</a>) Wie finde ich heraus, welche Indizes oder Operationen in der Datenbank definiert sind?<br />
|
||||||
@ -213,10 +214,15 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
(Unix/NT-Portierungsbibliotheken) auf Windows NT/2000 zum Laufen
|
(Unix/NT-Portierungsbibliotheken) auf Windows NT/2000 zum Laufen
|
||||||
gebracht werden. Hierzu bitte lesen Sie die in der Distribution
|
gebracht werden. Hierzu bitte lesen Sie die in der Distribution
|
||||||
enthaltene Datei <em>pgsql/doc/FAQ_MSWIN</em> oder die MS-Windows-FAQ unter
|
enthaltene Datei <em>pgsql/doc/FAQ_MSWIN</em> oder die MS-Windows-FAQ unter
|
||||||
<a href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</a>.</p>
|
<a href="http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN">http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN</a>.</p>
|
||||||
|
|
||||||
<p>Eine eigenständige Portierung auf MS Win NT/2000/XP befindet sich
|
<p>Eine eigenständige Portierung auf MS Win NT/2000/XP befindet sich
|
||||||
in Vorbereitung.</p>
|
in der Vorbereitung.</p>
|
||||||
|
|
||||||
|
<p>Weitere Informationen zum Status von PostgreSQL auf der Microsoft-Plattform
|
||||||
|
befinden sich unter <a href="http://techdocs.postgresql.org/guides/Windows">http://techdocs.postgresql.org/guides/Windows</a> (en.).</p>
|
||||||
|
|
||||||
|
<p>Eine Portierung für Novell Netware 6 gibt es unter <a href="http://forge.novell.com">http://forge.novell.com</a>.</p>
|
||||||
|
|
||||||
<h4><a name="1.5">1.5</a>) Woher bekomme ich PostgreSQL?</h4>
|
<h4><a name="1.5">1.5</a>) Woher bekomme ich PostgreSQL?</h4>
|
||||||
|
|
||||||
@ -238,7 +244,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
</pre>
|
</pre>
|
||||||
<p>Es gibt auch eine Digest-Liste (eine Liste, die Mails zusammengefasst
|
<p>Es gibt auch eine Digest-Liste (eine Liste, die Mails zusammengefasst
|
||||||
sendet). Um sich an dieser Digest-Liste anzumelden, senden Sie eine Email
|
sendet). Um sich an dieser Digest-Liste anzumelden, senden Sie eine Email
|
||||||
an <a href="pgsql-general-digest-request@PostgreSQL.org">pgsql-general-digest-request@PostgreSQL.org</a> mit folgendem Text:</p>
|
an <a href="mailto:pgsql-general-digest-request@PostgreSQL.org">pgsql-general-digest-request@PostgreSQL.org</a> mit folgendem Text:</p>
|
||||||
<pre>
|
<pre>
|
||||||
subscribe
|
subscribe
|
||||||
end
|
end
|
||||||
@ -252,30 +258,33 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>Die Entwickler-Mailingliste kann mit einer Email an
|
<p>Die Entwickler-Mailingliste kann mit einer Email an
|
||||||
<a href="mailto:">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>
|
<pre>
|
||||||
subscribe
|
subscribe
|
||||||
end
|
end
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<p>Eine deutschsprachige Mailing-Liste gibt es bei Yahoo Groups:
|
||||||
|
<a href="http://de.groups.yahoo.com/group/postgres/">http://de.groups.yahoo.com/group/postgres/</a>;
|
||||||
|
die Liste kann mit einer leeren E-Mail an <a href="mailto:postgres-subscribe@yahoogroups.de">postgres-subscribe@yahoogroups.de</a>
|
||||||
|
abonniert werden.</p>
|
||||||
|
|
||||||
<p>Weitere Mailinglisten und Informationen zu PostgreSQL befinden sich auf der PostgreSQL-Homepage:</p>
|
<p>Weitere Mailinglisten und Informationen zu PostgreSQL befinden sich auf der PostgreSQL-Homepage:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<a href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</a>
|
<a href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</a>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p>Es gibt außerdem einen IRC-Channel im EFNet, Channel <em>#PostgreSQL</em>. Der
|
<p>Es gibt außerdem einen IRC-Channel bei EFNet und bei OpenProjects, Channel
|
||||||
FAQ-Autor Bruce Momjian nutzt den Unix-Befehl:
|
<em>#PostgreSQL</em>. Der FAQ-Autor Bruce Momjian nutzt den Unix-Befehl:
|
||||||
<small>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</small>
|
<small>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</small> um daran teilzunehmen.</p>
|
||||||
um daran teilzunehmen.</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
|
Basis leisten, kann unter
|
||||||
<a href="http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</a>
|
<a href="http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html">http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html</a>
|
||||||
eingesehen werden.</p>
|
eingesehen werden.</p>
|
||||||
|
|
||||||
<h4><a name="1.7">1.7</a>) Was ist die neueste Version von PostgreSQL?</h4>
|
<h4><a name="1.7">1.7</a>) Was ist die neueste Version von PostgreSQL?</h4>
|
||||||
|
|
||||||
<p>Die neueste Version von PostgreSQL ist 7.3.</p>
|
<p>Die neueste Version von PostgreSQL ist 7.3.3 .</p>
|
||||||
|
|
||||||
<p>Wir planen alle 4 Monate eine neue Version herauszugeben.</p>
|
<p>Wir planen alle 4 Monate eine neue Version herauszugeben.</p>
|
||||||
|
|
||||||
@ -283,7 +292,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
|
|
||||||
<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
|
der Distribution enthalten. Siehe das <em>/doc</em>-Verzeichnis. Ausserdem sind
|
||||||
alle Handbücher online unter <a href="http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</a>
|
alle Handbücher online unter <a href="http://www.PostgreSQL.org/docs/">http://www.PostgreSQL.org/docs/</a>
|
||||||
verfügbar.</p>
|
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
|
||||||
@ -291,7 +300,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
<a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> .</p>
|
<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://www.ca.PostgreSQL.org/books/">http://www.ca.PostgreSQL.org/books/</a>
|
<a href="http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</a>
|
||||||
Diverse technische Artikel befinden sich unter
|
Diverse technische Artikel befinden sich unter
|
||||||
<a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a> .</p>
|
<a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a> .</p>
|
||||||
|
|
||||||
@ -428,6 +437,11 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
einer bestimmten Firma. Sie können auch gerne einen finanziellen Beitrag
|
einer bestimmten Firma. Sie können auch gerne einen finanziellen Beitrag
|
||||||
an die Kontaktadresse verschicken.</p>
|
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
|
||||||
|
Unternehmen oder Organisation bereitzustellen.</p>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<h2 align="center">Fragen zu Benutzerprogrammen</h2>
|
<h2 align="center">Fragen zu Benutzerprogrammen</h2>
|
||||||
@ -519,7 +533,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
ab, die Sie für <em>postmaster</em> konfiguriert haben. Bei den voreingestellten
|
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
|
Werten für Puffer und Prozesse benötigen Sie bei den meisten Systemen
|
||||||
ein Minimum von ca. 1 MB. Der "PostgreSQL Administrator's Guide"
|
ein Minimum von ca. 1 MB. Der "PostgreSQL Administrator's Guide"
|
||||||
(<a href="http://www.PostgreSQL.org/idocs/index.php?kernel-resources.html">http://www.PostgreSQL.org/idocs/index.php?kernel-resources.html</a>)
|
(<a href="http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html">http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html</a>)
|
||||||
enthält weitere Informationen zu Shared Memory und Semaphores.</p>
|
enthält weitere Informationen zu Shared Memory und Semaphores.</p>
|
||||||
|
|
||||||
|
|
||||||
@ -665,11 +679,6 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
erlaubter Backend-Prozesse wird verhindert, dass System-Ressourcen
|
erlaubter Backend-Prozesse wird verhindert, dass System-Ressourcen
|
||||||
durch PostgreSQL aufgebraucht werden.</p>
|
durch PostgreSQL aufgebraucht werden.</p>
|
||||||
|
|
||||||
<p>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 <em>MaxBackendId</em> in <em>include/storage/sinvaladt.h</em>
|
|
||||||
entsprechend angepasst werden mußte.
|
|
||||||
|
|
||||||
<h4><a name="3.9">3.9</a>) Was befindet sich im Verzeichnis <em>pgsql_tmp/</em>?</h4>
|
<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>
|
<p>Dieses Verzeichnis enthält temporäre Dateien, die durch den <em>query executor</em>
|
||||||
@ -712,7 +721,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
<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 in einer Abfrage aus?</h4>
|
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>Vgl. die <small>FETCH</small> Man-Page, oder benutzen Sie <small>SELECT ... LIMIT...</small> .
|
||||||
|
|
||||||
@ -726,6 +735,13 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
<p>Bitte beachten Sie, dass mit PostgreSQL 7.3 die Syntax <small>LIMIT <em>n</em>, <em>m</em></small>
|
<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>
|
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>
|
||||||
|
<pre>
|
||||||
|
SELECT spalte
|
||||||
|
FROM tabelle
|
||||||
|
ORDER BY random()
|
||||||
|
LIMIT 1;
|
||||||
|
</pre>
|
||||||
|
|
||||||
<h4><a name="4.3">4.3</a>) Wie bekomme ich eine Liste der Tabellen oder anderen Dinge, die ich
|
<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>
|
in <em>psql</em> sehen kann?</h4>
|
||||||
@ -736,9 +752,10 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
Option starten. Danach gibt <em>psql</em> die Abfragen aus, die es bei der Ausführung der Befehle
|
Option starten. Danach gibt <em>psql</em> die Abfragen aus, die es bei der Ausführung der Befehle
|
||||||
benutzt.</p>
|
benutzt.</p>
|
||||||
|
|
||||||
<h4><a name="4.4">4.4</a>) Wie entferne ich eine Spalte aus einer Tabelle?</h4>
|
<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 erst 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>
|
<pre>
|
||||||
@ -751,13 +768,23 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
ALTER TABLE new_table RENAME TO old_table;
|
ALTER TABLE new_table RENAME TO old_table;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
</pre>
|
</pre>
|
||||||
|
<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>;
|
||||||
|
UPDATE <em>tabelle</em> SET <em>neue_spalte</em> = CAST(<em>alte_spalte</em> AS <em>neuer_datentyp</em>);
|
||||||
|
ALTER TABLE <em>tabelle</em> DROP COLUMN <em>alte_spalte</em>;
|
||||||
|
COMMIT;
|
||||||
|
</pre>
|
||||||
|
<p>Um den Platz zu reklamieren, 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>
|
<p>Es bestehen folgende Obergrenzen:</p>
|
||||||
<pre>
|
<pre>
|
||||||
Maximale Größe eine Datenbank? unbeschränkt (es existieren
|
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 Tabelle? 16 TB
|
||||||
Maximale Größe einer Zeile? 1,6 TB
|
Maximale Größe einer Zeile? 1,6 TB
|
||||||
Maximale Größe einer Spalte? 1 GB
|
Maximale Größe einer Spalte? 1 GB
|
||||||
@ -861,6 +888,10 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</p>
|
|||||||
</pre>
|
</pre>
|
||||||
<p>(Die Aggregatfunktionen MIN() und MAX() verwenden keine Indizes). </p>
|
<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
|
||||||
|
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
|
<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>
|
Indizes nur unter bestimmten Umständen verwendet werden:</p>
|
||||||
<ul>
|
<ul>
|
||||||
@ -946,30 +977,36 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>).</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.14">4.14</a>) Was ist der Unterschied zwischen den verschiedenen <small>CHAR</small>-Typen?</h4><pre>
|
||||||
Typ interner Name Bemerkungen
|
Typ interner Name Bemerkungen
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
"char" char 1 Zeichen
|
|
||||||
CHAR(n) bpchar mit Leerzeichen gefüllt bis zur angegebenen Länge
|
|
||||||
VARCHAR(n) varchar die Größe legt die Maximallänge fest; kein
|
VARCHAR(n) varchar die Größe legt die Maximallänge fest; kein
|
||||||
Ausfüllen mit Leerzeichen
|
Ausfüllen mit Leerzeichen
|
||||||
|
CHAR(n) bpchar mit Leerzeichen gefüllt bis zur angegebenen Länge
|
||||||
TEXT text Die Länge wird nur durch die maximale Zeilenlänge
|
TEXT text Die Länge wird nur durch die maximale Zeilenlänge
|
||||||
beschränkt
|
beschränkt
|
||||||
BYTEA bytea Bytearray mit variabler Länge
|
BYTEA bytea Bytearray mit variabler Länge
|
||||||
|
"char" char 1 Zeichen
|
||||||
</pre>
|
</pre>
|
||||||
<p>Der <em>interne Name</em> kommt vor allem in den Systemkatalogen und in manchen
|
<p>Der <em>interne Name</em> kommt vor allem in den Systemkatalogen und in manchen
|
||||||
Fehlermeldungen vor.</p>
|
Fehlermeldungen vor.</p>
|
||||||
|
|
||||||
<p>Die letzten vier Typen sind "<em>varlena</em>"-Typen (d.h. die ersten vier
|
<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
|
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
|
belegte Platz immer etwas mehr als die deklarierte Feldgröße. Allerdings
|
||||||
wird unter Umständen auf diese Datentypen Datenkompression durch das <small>TOAST</small>-
|
wird unter Umständen auf diese Datentypen Datenkompression durch das <small>TOAST</small>-
|
||||||
Verfahren angewendet, womit der tatsächlich belegte Platz auch geringer
|
Verfahren angewendet, womit der tatsächlich belegte Platz auch geringer
|
||||||
als erwartet ausfallen kann.</p>
|
als erwartet ausfallen kann.</p>
|
||||||
|
|
||||||
<p><small>CHAR(n)</small> ist geeignet für die Speicherung von Zeichenketten ähnlicher Länge.
|
<p>Für die Speicherung von Zeichenketten variabler Länge empfiehlt sich <small>VARCHAR(n)</small>.
|
||||||
VARCHAR(n) ist geeignet für Zeichenketten abweichender Längen, setzt jedoch
|
Die maximale Länge eines <small>VARCHAR(n)</small>-Felds wird bei der Tabellendefinition
|
||||||
eine maximale Länge. <small>TEXT</small> setzt keine Längengrenze, allerdings gibt es
|
festgelegt. <small>TEXT</small> setzt keine Längengrenze, allerdings gibt es
|
||||||
eine systembedingte Obergrenze von 1 GB. <small>BYTEA</small> ist für binäre Daten,
|
eine systembedingte Obergrenze von 1 GB. </p>
|
||||||
besonders für Werte, die <small>NULL</small>-Bytes haben. Die erwähnten Typen weisen
|
|
||||||
ähnliche Performanzeigenschaften auf.</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>Die 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.15.1">4.15.1</a>) Wie erzeuge ich ein serielles Feld mit automatischer Erhöhung des
|
||||||
Werts?</h4>
|
Werts?</h4>
|
||||||
@ -1043,7 +1080,7 @@ BYTEA bytea Bytearray mit variabler L
|
|||||||
Lücken in der Sequenznummerierung verursacht.</p>
|
Lücken in der Sequenznummerierung verursacht.</p>
|
||||||
|
|
||||||
|
|
||||||
<h4><a name="4.17">4.16</a>) Was ist ein <small>OID</small>? Was ist ein <small>TID</small>?</h4>
|
<h4><a name="4.16">4.16</a>) Was ist ein <small>OID</small>? Was ist ein <small>TID</small>?</h4>
|
||||||
|
|
||||||
<p>OIDs sind PostgreSQLs Antwort auf eindeutige Zeilen-IDs. Jede Zeile,
|
<p>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
|
||||||
@ -1156,7 +1193,7 @@ BYTEA bytea Bytearray mit variabler L
|
|||||||
</pre>
|
</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. Die Einschränkung von Abfragen mit <small>IN</small>
|
ein Index angelegt worden sein. Die Einschränkung von Abfragen mit <small>IN</small>
|
||||||
soll in einer künftigen PotsgreSQL-Version behoben werden.</p>
|
wird in der nächsten PostgreSQL-Version (7.4) behoben werden.</p>
|
||||||
|
|
||||||
<h4><a name="4.23">4.23</a>) Wie führe ich einen <small>OUTER JOIN</small> durch?</h4>
|
<h4><a name="4.23">4.23</a>) Wie führe ich einen <small>OUTER JOIN</small> durch?</h4>
|
||||||
|
|
||||||
@ -1202,18 +1239,21 @@ BYTEA bytea Bytearray mit variabler L
|
|||||||
zuzugreifen. Da PostgreSQL datenbank-spezifische Systemkataloge lädt, ist
|
zuzugreifen. Da PostgreSQL datenbank-spezifische Systemkataloge lädt, ist
|
||||||
eine datenbankübergreifende Abfrage nicht möglich.</p>
|
eine datenbankübergreifende Abfrage nicht möglich.</p>
|
||||||
|
|
||||||
<p><em>contrib/dblink</em> ermöglicht datenbankübergreifende Abfragen.</p>
|
<p><em>contrib/dblink</em> ist eine Erweiterung, die datenbankübergreifende Abfragen
|
||||||
|
ermöglicht.</p>
|
||||||
|
|
||||||
<p>Es ist natürlich möglich, dass eine Client-Anwendung gleichzeitige Verbindungen
|
<p>Es ist natürlich möglich, dass eine Client-Anwendung gleichzeitige Verbindungen
|
||||||
zu verschiedenen Datenbanken aufbaut und selber Datensätze zusammenfügt.</p>
|
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 dies
|
||||||
|
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
|
<h4><a name="4.25">4.25</a>) Wie kann ich mehrere Zeilen bzw. Spalten von einer Funktion
|
||||||
zurückgeben lassen?</h4>
|
zurückgeben lassen?</h4>
|
||||||
|
|
||||||
<p>"<em>Result sets</em>" können mittels <em>refcursors</em> von <small>PL/PgSQL</small>-Funktionen zurückgegeben
|
<p>Ab 7.3 können Funktionen mehrere Zeilen und Spalten zurückgeben, vgl.:
|
||||||
werden. Vgl.:
|
<a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.</p>
|
||||||
<a href="http://www.postgresql.org/idocs/index.php?plpgsql-cursors.html">http://www.postgresql.org/idocs/index.php?plpgsql-cursors.html</a>
|
|
||||||
(Abschnitt 23.7.3.3).</p>
|
|
||||||
|
|
||||||
<h4><a name="4.26">4.26</a>) Warum kann ich temporäre Tabellen in <small>PL/PgSQL</small>-Funktionen nicht
|
<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>
|
zuverlässig erstellen bzw. löschen?</h4>
|
||||||
@ -1291,7 +1331,7 @@ BYTEA bytea Bytearray mit variabler L
|
|||||||
<h4>Anmerkungen des Übersetzers</h4>
|
<h4>Anmerkungen des Übersetzers</h4>
|
||||||
|
|
||||||
<p>Die englische Vorlage dieser FAQ wird ständig überarbeitet. Daher liegt
|
<p>Die englische Vorlage dieser FAQ wird ständig überarbeitet. Daher liegt
|
||||||
die Übersetzung nicht immer auf dem aktuellsten Stand.
|
die Übersetzung nicht immer auf dem aktuellsten Stand.</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
|
zum Inhalt der FAQ freue ich mich. Ich nehme auch allgemeine Fragen zu PostgreSQL gerne
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<TITLE>PostgreSQL FAQ in Japanese</TITLE>
|
<TITLE>PostgreSQL FAQ in Japanese</TITLE>
|
||||||
@ -7,22 +8,22 @@
|
|||||||
<H1>
|
<H1>
|
||||||
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</H1>
|
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</H1>
|
||||||
<P>
|
<P>
|
||||||
原文最終更新日: Sun Oct 13 23:15:09 EDT 2002
|
原文最終更新日: Mon May 30 22:24:56 EST 2003</P>
|
||||||
<P>
|
<P>
|
||||||
現在の維持管理者: Bruce Momjian (<A
|
現在の維持管理者: Bruce Momjian (<A
|
||||||
HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||||
Maintainer of Japanese Translation: Jun Kuwamura (<A
|
Maintainer of Japanese Translation: Jun Kuwamura (<A
|
||||||
HREF="mailto:juk@PostgreSQL.jp">juk@PostgreSQL.jp</A>)<BR><P>
|
HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)<BR><P>
|
||||||
<P>
|
<P>
|
||||||
この文書の最新版は
|
この文書の最新版は
|
||||||
<A HREF="http://www.PostgreSQL.org/docs/faq-english.html">
|
<A HREF="http://www.PostgreSQL.org/docs/faqs/FAQ.html">
|
||||||
http://www.PostgreSQL.org/docs/faq-english.html</A>
|
http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>
|
||||||
で見ることができます。
|
で見ることができます。
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
プラットホームに特有の質問については:
|
プラットホームに特有の質問については:
|
||||||
<A HREF="http://www.PostgreSQL.org/docs/">
|
<A HREF="http://www.PostgreSQL.org/docs/index.html">
|
||||||
http://www.PostgreSQL.org/users-lounge/docs/faq.html</A>
|
http://www.PostgreSQL.org/docs/index.html</A>
|
||||||
<BR>に回答があります。
|
<BR>に回答があります。
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
@ -32,16 +33,16 @@ http://www.PostgreSQL.org/docs/faq-english.html</A>
|
|||||||
[訳注:
|
[訳注:
|
||||||
日本語版製作についてのメモは最後尾へ移動しました。
|
日本語版製作についてのメモは最後尾へ移動しました。
|
||||||
|
|
||||||
日本語版のこの文書は 本家 "User's Lounge" の "Collection of FAQs" の
|
日本語版のこの文書は <a HREF="http://www.PostgreSQL.org/docs/index.html">本家 "Docs" </a> の "Frequently Asked Questions" の
|
||||||
"Japanese" という見出しのところにあります。また、以下のサイトにも
|
ところに "Japanese FAQ" という見出であります。また、以下のサイトにも
|
||||||
あります。
|
あります。
|
||||||
<A HREF="http://www.PostgreSQL.jp/subcommittee/jpugdoc/">http://www.PostgreSQL.jp/subcommittee/jpugdoc/</A>
|
<A HREF="http://www.PostgreSQL.jp/subcommittee/jpugdoc/">http://www.PostgreSQL.jp/subcommittee/jpugdoc/</A>
|
||||||
<A HREF="http://www.rccm.co.jp/~juk/pgsql/">http://www.rccm.co.jp/~juk/pgsql/</A>
|
<A HREF="http://www.rccm.co.jp/~juk/pgsql/">http://www.rccm.co.jp/~juk/pgsql/</A>
|
||||||
<A HREF="http://www.linux.or.jp/JF/">http://www.linux.or.jp/JF/</A>
|
<A HREF="http://www.linux.or.jp/JF/">http://www.linux.or.jp/JF/</A>
|
||||||
|
|
||||||
この和訳についてお気づきの点は(<A HREF="mailto:juk@PostgreSQL.jp">juk@PostgreSQL.jp</A>)までメールでお寄せ下さい。
|
この和訳についてお気づきの点は(<A HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)までメールでお寄せ下さい。
|
||||||
|
|
||||||
2002年10月16日 桑村 潤
|
2003年06月30日 桑村 潤
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
|
||||||
@ -72,8 +73,7 @@ http://www.PostgreSQL.org/docs/faq-english.html</A>
|
|||||||
|
|
||||||
<A HREF="#2.1">2.1</A>) PostgreSQL の <SMALL>ODBC</SMALL> ドライバーはありますか?<BR>
|
<A HREF="#2.1">2.1</A>) PostgreSQL の <SMALL>ODBC</SMALL> ドライバーはありますか?<BR>
|
||||||
<A HREF="#2.2">2.2</A>) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?<BR>
|
<A HREF="#2.2">2.2</A>) PostgreSQL を Web ページと連携させるにはどんなツールがありますか?<BR>
|
||||||
<A HREF="#2.3">2.3</A>) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?
|
<A HREF="#2.3">2.3</A>) PostgreSQL にグラフィカル・ユーザインターフェイスはありますか?<BR>
|
||||||
レポートジェネレータや埋め込み問い合わせ言語インターフェースはありますか?<BR>
|
|
||||||
<A HREF="#2.4">2.4</A>) どのような言語で PostgreSQL と通信できすか?<BR>
|
<A HREF="#2.4">2.4</A>) どのような言語で PostgreSQL と通信できすか?<BR>
|
||||||
|
|
||||||
|
|
||||||
@ -98,9 +98,9 @@ http://www.PostgreSQL.org/docs/faq-english.html</A>
|
|||||||
<H2 align="center">操作上の質問</H2>
|
<H2 align="center">操作上の質問</H2>
|
||||||
|
|
||||||
<A HREF="#4.1">4.1</A>) バイナリ・カーソルと通常カーソルとの違いは何ですか?<BR>
|
<A HREF="#4.1">4.1</A>) バイナリ・カーソルと通常カーソルとの違いは何ですか?<BR>
|
||||||
<A HREF="#4.2">4.2</A>) 最初の数ロウのみを <SMALL>select</SMALL> するにはどうしますか?<BR>
|
<A HREF="#4.2">4.2</A>) 最初の数ロウのみを <SMALL>select</SMALL> するにはどうしますか? ランダムな行? <BR>
|
||||||
<A HREF="#4.3">4.3</A>) テーブルやその他の情報のリストを <I>psql</I> で見るにはどうしますか?<BR>
|
<A HREF="#4.3">4.3</A>) テーブルやその他の情報のリストを <I>psql</I> で見るにはどうしますか?<BR>
|
||||||
<A HREF="#4.4">4.4</A>) テーブルからカラムの削除はどのようにしますか?<BR>
|
<A HREF="#4.4">4.4</A>) テーブルからカラムの削除、あるいは、データ型を変更するにはどうしますか?<BR>
|
||||||
<A HREF="#4.5">4.5</A>) ロウ、テーブル、データベースの最大サイズは?<BR>
|
<A HREF="#4.5">4.5</A>) ロウ、テーブル、データベースの最大サイズは?<BR>
|
||||||
<A HREF="#4.6">4.6</A>) 一般的なテキストファイルからデータを保存するには、データベースのディスク容量はどのくらい必要ですか?<BR>
|
<A HREF="#4.6">4.6</A>) 一般的なテキストファイルからデータを保存するには、データベースのディスク容量はどのくらい必要ですか?<BR>
|
||||||
<A HREF="#4.7">4.7</A>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?<BR>
|
<A HREF="#4.7">4.7</A>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?<BR>
|
||||||
@ -228,12 +228,14 @@ MODIFICATIONS.</P>
|
|||||||
|
|
||||||
<P><STRONG>クライアント</STRONG></P>
|
<P><STRONG>クライアント</STRONG></P>
|
||||||
|
|
||||||
<P> MS Windows プラットホーム上で走せるために、<I>libpq</I> C ライブラリ、psql、その他のインターフェース、および、クライアントアプリケーションをコンパイルすることは可能です。この場合、クライアントを MS Windows 上で走らせて、TCP/IP 経由でサポートされている Unix プラットホーム上で走るサーバと通信します。</P>
|
<P> MS Windows プラットホーム上で走せるために、<I>libpq</I> C ライブラリ、psql、その他のインターフェイス、および、クライアントアプリケーションをコンパイルすることは可能です。この場合、クライアントを MS Windows 上で走らせて、TCP/IP 経由でサポートされている Unix プラットホーム上で走るサーバと通信します。</P>
|
||||||
<P> Win32 <I>libpq</I> ライブラリと psql を作るために、<I>win32.mak</I> が配布に含まれてます。PostgreSQLは <SMALL>ODBC</SMALL> クライアントとも通信できます。</P>
|
<P> Win32 <I>libpq</I> ライブラリと psql を作るために、<I>win32.mak</I> が配布に含まれてます。PostgreSQLは <SMALL>ODBC</SMALL> クライアントとも通信できます。</P>
|
||||||
|
|
||||||
<P><STRONG>サーバ</STRONG></P>
|
<P><STRONG>サーバ</STRONG></P>
|
||||||
<P> 現在、Cygnus Unix/NT 移植ライブラリの Cygwin を使って、PostgreSQL データベースサーバは Windows NT と Win2k 上で稼働しています。配布に含まれる<I>pgsql/doc/FAQ_MSWIN</I>、あるいは、<A href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</A>にある MS Windows FAQ をご覧下さい。</P>
|
<P> 現在、Cygnus Unix/NT 移植ライブラリの Cygwin を使って、PostgreSQL データベースサーバは Windows NT と Win2k 上で稼働しています。配布に含まれる<I>pgsql/doc/FAQ_MSWIN</I>、あるいは、
|
||||||
<P>MS Win NT/2000/XP ネイティブ版への移植が現在進行中です。</P>
|
<A href="http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN">http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN</A>にある MS Windows FAQ をご覧下さい。</P>
|
||||||
|
<P>MS Win NT/2000/XP ネイティブ版への移植が現在進行中です。もっと詳しいWindows版PostgreSQLの近況は、<a href="http://techdocs.postgresql.org/guides/Windows">http://techdocs.postgresql.org/guides/Windows</a>を見てください。
|
||||||
|
</p>
|
||||||
|
|
||||||
<BR>
|
<BR>
|
||||||
[訳注:
|
[訳注:
|
||||||
@ -320,13 +322,14 @@ HREF="mailto:bugs-request@PostgreSQL.org">bugs-request@PostgreSQL.org</A>
|
|||||||
<A HREF="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
<A HREF="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
</P>
|
</P>
|
||||||
<P>EFNet に <I>#PostgreSQL</I> という IRC チャンネルもあります。
|
<P>EFNet と OpenProjects に <I>#PostgreSQL</I> という IRC チャンネルもあります。
|
||||||
UNIX コマンドで<tt>irc -c '#PostgreSQL' "$USER" <A HREF="http://irc.phoenix.net">irc.phoenix.net</A> を使います。</P>
|
UNIX コマンドで<tt>irc -c '#PostgreSQL' "$USER" <A HREF="http://irc.phoenix.net">irc.phoenix.net</A> を使っています。</P>
|
||||||
<P>
|
<P>
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
1999年7月23日、日本PostgreSQLユーザー会(にほん ぽすとぐれす ゆーざー かい)、略称JPUGが設立されました。
|
1999年7月23日、日本PostgreSQLユーザー会(にほん ぽすとぐれす ゆーざー かい)、略称JPUG
|
||||||
JPUG は非営利組織で、PostgreSQLを利用する人達の相互協力の場です。
|
が設立されました。JPUG は非営利組織で、PostgreSQLを利用する人達の相互協力の場となっています。
|
||||||
|
2003年5月17日の総会を以って、「日本PostgreSQLユーザ会」に名称を改めました。
|
||||||
正会員の会費は無料ですが、協賛会員の会費と会員の積極的な貢献が会の運営を助けています。
|
正会員の会費は無料ですが、協賛会員の会費と会員の積極的な貢献が会の運営を助けています。
|
||||||
詳しくは、JPUG のWeb サイト:
|
詳しくは、JPUG のWeb サイト:
|
||||||
<A HREF="http://www.PostgreSQL.jp/">http://www.PostgreSQL.jp/</A>
|
<A HREF="http://www.PostgreSQL.jp/">http://www.PostgreSQL.jp/</A>
|
||||||
@ -340,7 +343,7 @@ UNIX
|
|||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
|
||||||
|
|
||||||
<P>商用サポート会社のリストは<a href="http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</a>にあります。</P>
|
<P>商用サポート会社のリストは<a href="http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html">http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html</a>にあります。</P>
|
||||||
<P>
|
<P>
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
@ -353,21 +356,18 @@ UNIX
|
|||||||
|
|
||||||
<H4><A NAME="1.7">1.7</A>) 最新版はどれですか</H4>
|
<H4><A NAME="1.7">1.7</A>) 最新版はどれですか</H4>
|
||||||
<P>
|
<P>
|
||||||
PostgreSQL の最新版はバージョン 7.2.3 です。</P>
|
PostgreSQL の最新版はバージョン 7.3.2 です。</P>
|
||||||
<P>
|
<P>
|
||||||
我々は、4カ月毎にメジャーリリースを行なうことを計画しています。</P>
|
我々は、4カ月毎にメジャーリリースを行なうことを計画しています。</P>
|
||||||
|
|
||||||
|
|
||||||
<H4><A NAME="1.8">1.8</A>) どのような文書がありますか?</H4>
|
<H4><A NAME="1.8">1.8</A>) どのような文書がありますか?</H4>
|
||||||
|
|
||||||
<P> 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュアル・ページ)およびいくつかの小さなテスト例題が含まれます。<I>/doc</I> ディレクトリをご覧下さい。また、マニュアルは、<A
|
<P> 配付の中に、いくつかのマニュアルとオンライン・マニュアル(マニュアル・ページ)およびいくつかの小さなテスト例題が含まれます。<I>/doc</I> ディレクトリをご覧下さい。また、マニュアルは、<A HREF="http://www.ca.PostgreSQL.org/docs/">http://www.ca.PostgreSQL.org/docs/</A>でオンラインでも閲覧できます。</P>
|
||||||
HREF="http://www.PostgreSQL.org/users-lounge/docs/">
|
|
||||||
http://www.PostgreSQL.org/users-lounge/docs/</A>
|
|
||||||
でオンラインでも閲覧できます。</P>
|
|
||||||
|
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
(株)SRAと日本ポストグレスユーザー会で翻訳され、
|
(株)SRAと日本PostgreSQLユーザ会で翻訳され、
|
||||||
<A HREF="http://osb.sra.co.jp/PostgreSQL/Manual/">「PostgreSQL オフィシャルマニュアル」</A>
|
<A HREF="http://osb.sra.co.jp/PostgreSQL/Manual/">「PostgreSQL オフィシャルマニュアル」</A>
|
||||||
として出版されています。
|
として出版されています。
|
||||||
]
|
]
|
||||||
@ -512,7 +512,7 @@ href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bu
|
|||||||
|
|
||||||
<DT> <B>性能(Performance)</B></DT>
|
<DT> <B>性能(Performance)</B></DT>
|
||||||
<DD>
|
<DD>
|
||||||
PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性能も持ちます。ある面ではより早かったり、ほかの面ではより遅かったりします。MySQLなどの特化型データベース・システムにくらべて、PostgreSQLの挿入/更新が遅いのは、トランザクションによるオーバーヘッドがあるからです。もちろん、MySQLには上記の<I>Features</I>の節に示すような機能はまったくありません。我々は、PostgreSQLに柔軟性と機能性を組み込みながらも、絶えず、プロファイラーに掛けたりソースコードを解析したりして、性能の改善を続けています。PostgreSQL と MySQL とを比較している面白い Web ページが<A href="http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</A>にあります。
|
PostgreSQLは他の商用あるいはオープンソースのデータベースと互角の性能も持ちます。ある面ではより早かったり、ほかの面ではより遅かったりします。MySQLなどの特化型データベース・システムにくらべて、PostgreSQLの挿入/更新が遅いのは、トランザクションによるオーバーヘッドがあるからです。もちろん、MySQLには上記の<I>Features</I>の節に示すような機能はまったくありません。我々は、PostgreSQLに柔軟性と機能性を組み込みながらも、絶えず、プロファイラーに掛けたりソースコードを解析したりして、性能の改善を続けています。PostgreSQL と MySQL とを比較している面白い Web ページが<A href="http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html</A>にあります。
|
||||||
<BR>
|
<BR>
|
||||||
PostgreSQLは、Unixプロセスを起動することによりユーザー接続を操作します。複数のバックエンド・プロセスが情報をロックしながらデータ・バッファーを共有します。マルチCPUでは、簡単に複数のバックエンドをそれぞれのCPUで走らせることができます。<BR>
|
PostgreSQLは、Unixプロセスを起動することによりユーザー接続を操作します。複数のバックエンド・プロセスが情報をロックしながらデータ・バッファーを共有します。マルチCPUでは、簡単に複数のバックエンドをそれぞれのCPUで走らせることができます。<BR>
|
||||||
</DD>
|
</DD>
|
||||||
@ -548,23 +548,25 @@ href="https://store.pgsql.com/shopping/">https://store.pgsql.com/shopping/</A>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
<P>さらに、もし、PostgreSQLでの成功例をお持ちであれば、ぜひ、われわれの事例サイト <a href="http://advocacy.postgresql.org">http://advocacy.postgresql.org</a>へお送りください。
|
||||||
|
|
||||||
<H2 align="center">ユーザー・クライアントの質問</H2>
|
<H2 align="center">ユーザー・クライアントの質問</H2>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<H4><A NAME="2.1">2.1</A>) PostgreSQL のための <SMALL>ODBC</SMALL> ドライバーはありますか?
|
<H4><A NAME="2.1">2.1</A>) PostgreSQL のための <SMALL>ODBC</SMALL> ドライバーはありますか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> PsqlODBC と OpenLink <SMALL>ODBC</SMALL> の二つの <SMALL>ODBC</SMALL> ドライバーが利用可能です。
|
<P> PsqlODBC と OpenLink <SMALL>ODBC</SMALL> の二つの <SMALL>ODBC</SMALL> ドライバーが利用可能です。</P>
|
||||||
|
|
||||||
<P> PsqlODBC は PostgreSQL の配布に含まれています。それについてのさらに詳細な情報は
|
<P> PsqlODBC は次の場所からダウンロードできます。
|
||||||
<A HREF="ftp://ftp.PostgreSQL.org/pub/odbc/">ftp://ftp.PostgreSQL.org/pub/odbc/</A>
|
<A href=
|
||||||
から取得できます。<P>
|
"http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">
|
||||||
|
http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</A>
|
||||||
|
</P>
|
||||||
|
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
PsqlODBC の 日本語パッチを片岡裕生さん(kataoka@interwiz.koganei.tokyo.jp)が作られました:
|
最新版は井上博司さんのサイトにあります。
|
||||||
●<A HREF="http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html">http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html</A>
|
|
||||||
現在、最新版は井上博司さんのサイトにあります。
|
|
||||||
●<A HREF="http://w2422.nsk.ne.jp/~inoue/indexj.html">http://w2422.nsk.ne.jp/~inoue/indexj.html</A>
|
●<A HREF="http://w2422.nsk.ne.jp/~inoue/indexj.html">http://w2422.nsk.ne.jp/~inoue/indexj.html</A>
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
@ -587,7 +589,7 @@ Programmer's Guide</A>
|
|||||||
|
|
||||||
<P> データベースを裏に持つ Web ページについての素晴らしい紹介が、<BR>
|
<P> データベースを裏に持つ Web ページについての素晴らしい紹介が、<BR>
|
||||||
<A href="http://www.webreview.com">http://www.webreview.com</A>にあります。</P>
|
<A href="http://www.webreview.com">http://www.webreview.com</A>にあります。</P>
|
||||||
<P> Web への拡張のためには、PHP が卓越したインターフェースとなっています。<A HREF="http://www.php.net">http://www.php.net/</A>にあります。
|
<P> Web への拡張のためには、PHP が卓越したインターフェイスとなっています。<A HREF="http://www.php.net">http://www.php.net/</A>にあります。
|
||||||
|
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
@ -596,19 +598,10 @@ Programmer's Guide</A>
|
|||||||
あるいは、廣川 類さんのサイト
|
あるいは、廣川 類さんのサイト
|
||||||
<A HREF="http://www.geocities.jp/rui_hirokawa/php/">http://www.geocities.jp/rui_hirokawa/php/</A>
|
<A HREF="http://www.geocities.jp/rui_hirokawa/php/">http://www.geocities.jp/rui_hirokawa/php/</A>
|
||||||
にかなりまとめられています。
|
にかなりまとめられています。
|
||||||
前田 充宏さんにより作られた<A HREF="http://pg.cni.co.jp/">PHP/FIの日本語パッチ</A>が様々な人の手を経てPHP3.0.7に適用されました。
|
|
||||||
現在はPHPJ-DEVにて、
|
|
||||||
<A HREF="http://php.jpnnet.com/">http://php.jpnnet.com/</A>
|
|
||||||
佐藤さんを中心にマルチバイト拡張として作り直され、最新版はPHP-3.0.18に対応しています。
|
|
||||||
塚田 卓也さんは、PHP4 用の日本語関係の拡張モジュール
|
|
||||||
<A HREF="ftp://night.fminn.nagano.nagano.jp/php4/">ftp://night.fminn.nagano.nagano.jp/php4/</A>
|
|
||||||
を用意して下さってます。
|
|
||||||
本家の方で国際化のMLも立ち上がっています。
|
|
||||||
PHP-4.2 からマルチバイト拡張文字列として採り入れられました。
|
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
|
||||||
<P> 処理が複雑な場合、多くの人は Perl インターフェースと CGI.pm か mod_perl を使います。
|
<P> 処理が複雑な場合、多くの人は Perl インターフェイスと CGI.pm か mod_perl を使います。
|
||||||
|
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
@ -623,48 +616,55 @@ Programmer's Guide</A>
|
|||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="2.3">2.3</A>) PostgreSQL にグラフィカル・ユーザインターフェースはありますか?
|
<H4><A NAME="2.3">2.3</A>) PostgreSQL にグラフィカル・ユーザインターフェイスはありますか?
|
||||||
レポートジェネレータや埋め込み問い合わせ言語インターフェースはありますか?
|
|
||||||
</H4>
|
</H4>
|
||||||
|
<p>もちろん、PostgreSQL へのグラフィカルインターフェイスがいくつかあります。
|
||||||
|
その中にPgAccess <a
|
||||||
|
href="http://www.pgaccess.com">http://www.pgaccess.com</a>
|
||||||
|
も含まれます。
|
||||||
|
PgAdmin II (<a
|
||||||
|
href="http://www.pgadmin.org">http://www.pgadmin.org</a> Win32-only)もあります。
|
||||||
|
RHDB Admin (<a
|
||||||
|
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
|
||||||
|
</a>)と Rekall (<a href="http://www.thekompany.com/products/rekall/">
|
||||||
|
http://www.thekompany.com/products/rekall/</a>, proprietary)もありま
|
||||||
|
す。
|
||||||
|
PHPPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
|
||||||
|
http://phppgadmin.sourceforge.net/ </a>) はPostgreSQLへのWebベースの
|
||||||
|
インターフェイスを提供します。
|
||||||
|
|
||||||
<P> PgAccess と呼ばれる素晴らしいグラフィカル・ユーザ・インターフェースがあり、この配布と共に出荷されます。PgAccess にはレポート・ジェネレータもあります。Web ページは<A HREF="http://www.pgaccess.org/">http://www.pgaccess.org/</A>です。
|
<P> PgAccess と呼ばれる素晴らしいグラフィカル・ユーザ・インターフェイスがあり、この配布と共に出荷されます。PgAccess にはレポート・ジェネレータもあります。Web ページは<A HREF="http://www.pgaccess.org/">http://www.pgaccess.org/</A>です。
|
||||||
|
|
||||||
<P> <I>ecpg</I> という C 言語のための埋め込み <SMALL>SQL</SMALL> 問い合わせ言語インターフェースもあります。
|
<P>より詳細なリストについては、<a
|
||||||
|
href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a>
|
||||||
|
をご覧ください。</P>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="2.4">2.4</A>) どのような言語で PostgreSQL と通信できすか?
|
<H4><A NAME="2.4">2.4</A>) どのような言語で PostgreSQL と通信できすか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P>以下のものがあります:
|
<P>人気のあるほとんどの言語はPostgreSQLへのインターフェイスを持っています。
|
||||||
|
あなたが使うプログラミング言語の拡張モジュールのリストを覗いてみてください。
|
||||||
|
</P>
|
||||||
|
|
||||||
|
<P>以下のインターフェイスはPostgreSQLの配布に含まれています。
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI>C (libpq, libpgeasy)
|
<LI>C (libpq, libpgeasy)
|
||||||
<LI>C++ (libpq++)
|
|
||||||
<LI>埋め込みC (ecpg)
|
<LI>埋め込みC (ecpg)
|
||||||
<LI>Java (jdbc)
|
<LI>Java (jdbc)
|
||||||
<LI>Perl (DBD::Pg and perl5)
|
|
||||||
<LI>ODBC (odbc)
|
|
||||||
<LI>Python (<A HREF="http://www.druid.net/pygresql/">PyGreSQL</A>)
|
<LI>Python (<A HREF="http://www.druid.net/pygresql/">PyGreSQL</A>)
|
||||||
<LI>TCL (libpgtcl)
|
<LI>TCL (libpgtcl)
|
||||||
<LI>C Easy API (libpgeasy)
|
|
||||||
<LI>PHP ('pg_' 関数群、 Pear::DB)
|
|
||||||
</UL>
|
</UL>
|
||||||
<P>その他の利用可能なインターフェースは <a
|
<P>その他の利用可能なインターフェイスは <a
|
||||||
href="http://www.PostgreSQL.org/interfaces.html">
|
href="http://www.PostgreSQL.org/interfaces.html">http://www.PostgreSQL.org/interfaces.html</a>
|
||||||
http://www.PostgreSQL.org/interfaces.html</A>
|
および、
|
||||||
にあります。
|
<a href="http://gborg.postgresql.org">http://gborg.postgresql.org</A>
|
||||||
|
の<I>Drivers/Interfaces</I>のセクションにあります。
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<SMALL><PRE>
|
<SMALL><PRE>
|
||||||
[訳注:
|
[訳注:
|
||||||
<A HREF="http://www.ruby-lang.org/">ruby</A>の作者であるまつもと ゆきひろ(matz@ZetaBITS.COM)さんと、まつもと えいじ(ematsu@pfu.co.jp)さんが
|
|
||||||
ruby の PostgreSQL インターフェースを作りました。現在の維持管理は斉藤 登さんがしています。
|
|
||||||
<A HREF="http://www.postgresql.jp/interfaces/ruby/">http://www.postgresql.jp/interfaces/ruby/</A>
|
|
||||||
PgBash は 境田 雅明 さんが作った bash の PostgreSQL インターフェースです。
|
|
||||||
<A HREF="http://www.psn.co.jp/PostgreSQL/pgbash/">http://www.psn.co.jp/PostgreSQL/pgbash/</A>
|
|
||||||
Bashコマンドラインでpostgres に問い合わせできます。
|
|
||||||
Perl のモジュールは古くからある Pg と DBI ドライバの DBD::Pg とがあり、
|
|
||||||
いずれも Edmund Mergl 氏によるもので <A HREF="http://www.cpan.org/">CPAN サイト</A>にあります。
|
|
||||||
永安悟史さんは Palm 版の libpq を開発されました。
|
永安悟史さんは Palm 版の libpq を開発されました。
|
||||||
<a href="http://www.snaga.org/libpq/">http://www.snaga.org/libpq/</a>
|
<a href="http://www.snaga.org/libpq/">http://www.snaga.org/libpq/</a>
|
||||||
]
|
]
|
||||||
@ -690,7 +690,8 @@ Programmer's Guide</A>
|
|||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> カーネルが共有メモリーを持つ設定になっていなかったか、でなければ、カーネルに対して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは、使っているアーキテクチャと<I>postmaster</I> を走らせるときに設定するバッファの数とバックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズのままで、少なくとも約1MBが必要です。
|
<P> カーネルが共有メモリーを持つ設定になっていなかったか、でなければ、カーネルに対して使える共有メモリーの大きさを大きく設定する必要があります。具体的な大きさは、使っているアーキテクチャと<I>postmaster</I> を走らせるときに設定するバッファの数とバックエンドプロセスに依存します。ほとんどのシステムでは、既定値のバッファサイズのままで、少なくとも約1MBが必要です。
|
||||||
PostgreSQL Administrator's Gide に共有メモリーとセマフォについての情報の詳細があります。</P>
|
<A ref=http://www.PostgreSQL.org/docs/view.php?version=current&idoc=1&file=kernel-resources.html">PostgreSQL Administrator's Gide</a>に共有メモリーとセマフォについての情報の詳細がありますのでご覧ください。</P>
|
||||||
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="3.4">3.4</A>) <I>postmasterを</I>走らせようとすると、<I>IpcSemaphoreCreate</I> エラーが出ます。なぜですか?
|
<H4><A NAME="3.4">3.4</A>) <I>postmasterを</I>走らせようとすると、<I>IpcSemaphoreCreate</I> エラーが出ます。なぜですか?
|
||||||
@ -780,13 +781,12 @@ PostgreSQL Administrator's Gide
|
|||||||
PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
|
PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
|
||||||
システムのリソースを使い果してしまうことを避けるためです。
|
システムのリソースを使い果してしまうことを避けるためです。
|
||||||
|
|
||||||
<P>6.5より前のバージョンのPostgreSQLではバックエンドの最大数は64でしたが、変更するには、<I>include/storage/sinvaladt.h</I>の中のMaxBackendId定数を修正した後に再構築が必要でした。
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="3.9">3.9</A>) pgsql_tmp</I> ディレクトリの中には何がありますか?
|
<H4><A NAME="3.9">3.9</A>) pgsql_tmp</I> ディレクトリの中には何がありますか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> 問い合わせ実行モジュールによって生成された一時的なファイルです。例えば、もし <SMALL>ORDER BY</SMALL> 句を満たすためにバックエンドの <I>-S</I> パラメータで許可した値よりも大きなスペースがソートの際に必要だとすると、溢れたデータを保持するために一時的なファイルがいくつか生成されます。
|
<P> 問い合わせ実行モジュールによって生成された一時的なファイルが、このディ
|
||||||
|
レクトリに含まれます。例えば、もし <SMALL>ORDER BY</SMALL> 句を満たすためにバックエンドの <I>-S</I> パラメータで許可した値よりも大きなスペースがソートの際に必要だとすると、溢れたデータを保持するために一時的なファイルがいくつかここに生成されます。
|
||||||
<P>
|
<P>
|
||||||
一時的なファイルは自動的に消し去られるはずですが、もし、ソートの途中でバックエンドがクラッシュしてしまうとそうはなりません。<I>postmaster</I>の停止とリスタートでこれらのファイルはディレクトリから消しさられます。
|
一時的なファイルは自動的に消し去られるはずですが、もし、ソートの途中でバックエンドがクラッシュしてしまうとそうはなりません。<I>postmaster</I>の停止とリスタートでこれらのファイルはディレクトリから消しさられます。
|
||||||
|
|
||||||
@ -794,7 +794,7 @@ PostgreSQL
|
|||||||
[訳注:
|
[訳注:
|
||||||
SYSLOGD 経由でログを出力するには、まず、configure を --enable-syslog
|
SYSLOGD 経由でログを出力するには、まず、configure を --enable-syslog
|
||||||
付きで走らせた後、コンパイルとインストールを行ないます。
|
付きで走らせた後、コンパイルとインストールを行ないます。
|
||||||
次に、syslog.conf に local0.* の 出力先を指定し(環境変数で変更可能)、
|
次に、syslog.conf に local?.* の 出力先を指定し(環境変数で変更可能)、
|
||||||
syslogd に HUP シグナルを送って初期化しておきます。そして、
|
syslogd に HUP シグナルを送って初期化しておきます。そして、
|
||||||
$PGDATA/pg_options に syslog=2 を加えて、 postmaster を -S
|
$PGDATA/pg_options に syslog=2 を加えて、 postmaster を -S
|
||||||
オプション付きにてサーバモードで起動します。(バージョン 7.1 からは
|
オプション付きにてサーバモードで起動します。(バージョン 7.1 からは
|
||||||
@ -819,7 +819,7 @@ PostgreSQL
|
|||||||
<P> 詳述は、オンラインマニュアルで <SMALL>DECLARE</SMALL> を見て下さい。
|
<P> 詳述は、オンラインマニュアルで <SMALL>DECLARE</SMALL> を見て下さい。
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="4.2">4.2</A>) 最初の数ロウのみを <SMALL>SELECT</SMALL> するにはどうしますか?
|
<H4><A NAME="4.2">4.2</A>) 最初の数ロウのみを <SMALL>SELECT</SMALL>するにはどうしますか?ランダムな行?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> オンラインマニュアルで<SMALL>FETCH</SMALL>を見てください。あるいは、SELECT ... LIMIT....を使ってみて下さい。
|
<P> オンラインマニュアルで<SMALL>FETCH</SMALL>を見てください。あるいは、SELECT ... LIMIT....を使ってみて下さい。
|
||||||
@ -827,6 +827,14 @@ PostgreSQL
|
|||||||
<P>たとえ、欲しいのは最初の数ロウだけでも、すべての問い合わせを評価しなくてはならないかもしれません。<SMALL>ORDER BY</SMALL> を持った問い合わせを使うことを考えてみて下さい。
|
<P>たとえ、欲しいのは最初の数ロウだけでも、すべての問い合わせを評価しなくてはならないかもしれません。<SMALL>ORDER BY</SMALL> を持った問い合わせを使うことを考えてみて下さい。
|
||||||
もし、<SMALL>ORDER BY</SMALL>に合ったインデックスがあるとすると PostgreSQLは要求された最初の数ロウだけで評価できるかもしれませんが、でなれば、PostgreSQL は意図したロウが生成されるまですべてのロウを評価しなければならないかもしれません。
|
もし、<SMALL>ORDER BY</SMALL>に合ったインデックスがあるとすると PostgreSQLは要求された最初の数ロウだけで評価できるかもしれませんが、でなれば、PostgreSQL は意図したロウが生成されるまですべてのロウを評価しなければならないかもしれません。
|
||||||
|
|
||||||
|
<P>ランダムな行を<SMALL>SELECT</SMALL>するには、次の文を使います:
|
||||||
|
<PRE>
|
||||||
|
SELECT col
|
||||||
|
FROM tab
|
||||||
|
ORDER BY random()
|
||||||
|
LIMIT 1;
|
||||||
|
</PRE>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="4.3">4.3</A>) テーブルやその他の情報のリストを <I>psql</I> で見るにはどうしますか?
|
<H4><A NAME="4.3">4.3</A>) テーブルやその他の情報のリストを <I>psql</I> で見るにはどうしますか?
|
||||||
</H4>
|
</H4>
|
||||||
@ -837,11 +845,11 @@ PostgreSQL
|
|||||||
<P>
|
<P>
|
||||||
|
|
||||||
|
|
||||||
<H4><A NAME="4.4">4.4</A>) テーブルからカラムの削除はどのようにしますか?
|
<H4><A NAME="4.4">4.4</A>) テーブルからカラムの削除、あるいは、データ型を変更するにはどうしますか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> この機能は、<SMALL>ALTER TABLE DROP COLUMN</SMALL> としてリリース7.3
|
<P> <SMALL>DROP COLUMN</SMALL>機能が、<SMALL>ALTER TABLE DROP COLUMN</SMALL> としてリリース7.3
|
||||||
から加えられました。それまでのバージョンでは、その代わりにこうします:
|
に加えられました。それまでのバージョンでは、その代わりにこうします:
|
||||||
|
|
||||||
<PRE>
|
<PRE>
|
||||||
BEGIN;
|
BEGIN;
|
||||||
@ -854,8 +862,17 @@ PostgreSQL
|
|||||||
COMMIT;
|
COMMIT;
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
[訳注:カラムの追加は ALTER TABLE ADD COLUMN で行えます。]
|
<P>カラムのデータタイプは次の文で変えられます:
|
||||||
|
|
||||||
|
<PRE>
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
|
||||||
|
UPDATE tab SET new_col = CAST(old_col AS <i>new_data_type</i>);
|
||||||
|
ALTER TABLE DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
</PRE>
|
||||||
|
|
||||||
|
<P>これを行なったときは、抹消された行が使っているディスク空間を回収するために<I>VACUUM FULL tab</I>をしたほうが良いかもしれません。
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="4.5">4.5</A>) ロウ、テーブル、データベースの最大サイズは?
|
<H4><A NAME="4.5">4.5</A>) ロウ、テーブル、データベースの最大サイズは?
|
||||||
@ -863,7 +880,7 @@ PostgreSQL
|
|||||||
|
|
||||||
<P> 制限は以下のとおりです。
|
<P> 制限は以下のとおりです。
|
||||||
<PRE>
|
<PRE>
|
||||||
データベースの最大サイズ? 制限無し (1 TB のデータベースも存在します)
|
データベースの最大サイズ? 制限無し (4 TB のデータベースも存在します)
|
||||||
テーブルの最大サイズ? 16TB
|
テーブルの最大サイズ? 16TB
|
||||||
ロウの最大サイズ? 1.6TB
|
ロウの最大サイズ? 1.6TB
|
||||||
フィールドの最大サイズ? 1GB
|
フィールドの最大サイズ? 1GB
|
||||||
@ -955,13 +972,15 @@ ORDER BY
|
|||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
|
<P>もし、オプティマイザが間違ってシーケンシャルスキャンを選択したことに疑いがなければ、<CODE>SET enable_seqscan TO 'off'</CODE>を使ってインデクススキャンでまちがいなく速くなっているかをテストをしてみてください。</P>
|
||||||
|
|
||||||
<P> <SMALL>LIKE</SMALL> あるいは <I>~</I> のようなワイルドカード演算
|
<P> <SMALL>LIKE</SMALL> あるいは <I>~</I> のようなワイルドカード演算
|
||||||
子は特別な環境でしか使えません:
|
子は特別な環境でしか使えません:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>検索文字列が文字列の最初にききます。たとえば:</LI>
|
<LI>検索文字列が文字列の最初にききます。たとえば:</LI>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><SMALL>LIKE</SMALL> パターンが<I>%.</I>で始まらない</LI>
|
<LI><SMALL>LIKE</SMALL> パターンが<I>%</I>で始まらない</LI>
|
||||||
<LI><I>~</I> (正規表現) パターンは<I>^.</I>で始まらなければならない</LI>
|
<LI><I>~</I> (正規表現) パターンは<I>^</I>で始まらなければならない</LI>
|
||||||
</UL>
|
</UL>
|
||||||
<LI>検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。</LI>
|
<LI>検索文字列を文字クラスから始めることはできません。たとえば、[a-e]。</LI>
|
||||||
<LI><SMALL>ILIKE</SMALL> や <I>~*</I> のような大文字と小文字を区別し
|
<LI><SMALL>ILIKE</SMALL> や <I>~*</I> のような大文字と小文字を区別し
|
||||||
@ -1067,8 +1086,8 @@ Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
|
|||||||
<PRE>
|
<PRE>
|
||||||
Type Internal Name Notes
|
Type Internal Name Notes
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
"char" char 1 character
|
|
||||||
CHAR(n) bpchar 指定された固定長となるように空白が詰められる
|
CHAR(n) bpchar 指定された固定長となるように空白が詰められる
|
||||||
|
"char" char 1文字
|
||||||
VARCHAR(n) varchar 最大長のサイズを指定する、詰め物無し
|
VARCHAR(n) varchar 最大長のサイズを指定する、詰め物無し
|
||||||
TEXT text 長さに上限の無いテキスト
|
TEXT text 長さに上限の無いテキスト
|
||||||
BYTEA bytea 可変長のバイト配列(null-byte safe)
|
BYTEA bytea 可変長のバイト配列(null-byte safe)
|
||||||
@ -1077,15 +1096,9 @@ BYTEA bytea
|
|||||||
<P> 内部名にお目にかかるのは、システム・カタログを調べるときや、エラーメッセージを受け取るときです。
|
<P> 内部名にお目にかかるのは、システム・カタログを調べるときや、エラーメッセージを受け取るときです。
|
||||||
|
|
||||||
|
|
||||||
<P> 上記の型のうち後の4つの型は "varlena" 型です(すなわち、ディスクの最初の4バイトがデータ長で、それの後に実際のデータが続きます)。このように実際の空間は宣言された大きさよりも少し大きくなります。しかし、これらのデータ型は<SMALL>TOAST</SMALL>により圧縮されたり複数ロウに渡って保存されたりして、ディスク上の空間は思ったより小さくなります。
|
<P> 上記の型のうち最初の4つの型は "varlena" 型です(すなわち、ディスクの最初の4バイトがデータ長で、それの後に実際のデータが続きます)。このように実際の空間は宣言された大きさよりも少し大きくなります。しかし、これらのデータ型は<SMALL>TOAST</SMALL>により圧縮されたり複数ロウに渡って保存されたりして、ディスク上の空間は思ったより小さくなります。
|
||||||
|
|
||||||
<P><SMALL>CHAR(n)</SMALL>はいつも長さが同じ文字列を保存するのに最適で
|
|
||||||
す。<SMALL>VARCHAR(n)</SMALL> は可変長の文字列を保存するのに最適ですが、
|
|
||||||
保存できる文字列の長さに制限があります。<SMALL>TEXT</SMALL> は長さに制限
|
|
||||||
の無い文字列の保存ためのもので、最大1ギガバイトです。
|
|
||||||
<SMALL>BYTEA</SMALL>は、部分的に<SMALL>NULL</SMALL> のバイトを含むバイナ
|
|
||||||
リデータを保存するためのものです。</P>
|
|
||||||
|
|
||||||
|
<P><SMALL>VARCHAR(n)</SMALL> は可変長の文字列を保存するのに最適ですが、保存できる文字列の長さに制限があります。<SMALL>TEXT</SMALL> は長さに制限の無い文字列の保存ためのもので、最大で 1ギガバイトです。 <SMALL>CHAR(n)</SMALL>は、<SMALL>VARCHAR(n)</SMALL>が与えられた文字だけを保存するのに対し、ブランクを詰め込んでいつも同じ長さで文字列を保存するのに最適です。<SMALL>BYTEA</SMALL>は、部分的に<SMALL>NULL</SMALL> のバイトを含むバイナリデータを保存するためのものです。これらのタイプは同じくらいの性能特性ををもちます。</P>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="4.15.1">4.15.1</A>) 通番(serial)/自動増分フィールドはどのようにつくりますか?
|
<H4><A NAME="4.15.1">4.15.1</A>) 通番(serial)/自動増分フィールドはどのようにつくりますか?
|
||||||
@ -1107,9 +1120,15 @@ BYTEA bytea
|
|||||||
name TEXT
|
name TEXT
|
||||||
);
|
);
|
||||||
CREATE UNIQUE INDEX person_id_key ON person ( id );
|
CREATE UNIQUE INDEX person_id_key ON person ( id );
|
||||||
|
|
||||||
|
[訳注:
|
||||||
|
CREATE UNIQUE INDEX person_id_key ON person ( id );
|
||||||
|
は、 7.3 からは自動的には行なわれなくなりました。
|
||||||
|
]
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
通番についてのもっと詳しい情報は、オンラインマニュアルで <I>create_sequence</I> をご覧下さい。
|
通番についてのもっと詳しい情報は、オンラインマニュアルで <I>create_sequence</I> をご覧下さい。
|
||||||
<P> また、各ロウの<I>OID</I>フィールドを一意値として使うこともできます。しかしながら、もしもデータベースをダンプしてりロードする必要がある場合は、<SMALL>OID</SMALL>を温存するために<I>pg_dump</I> で <I>-o</I>オプションを使うか、または、<SMALL>COPY WITH OIDS</I>オプションを使う必要があります。
|
<P> また、各ロウの<I>OID</I>フィールドを一意値として使うこともできます。しかしながら、もしもデータベースをダンプしてりロードする必要がある場合は、<SMALL>OID</SMALL>を温存するために<I>pg_dump</I> で <I>-o</I>オプションを使うか、または、<SMALL>COPY WITH OIDS</small>オプションを使う必要があります。
|
||||||
|
|
||||||
Bruce Momjian の<A HREF="http://www.PostgreSQL.org/docs/aw_pgsql_book">(http://www.PostgreSQL.org/docs/aw_pgsql_book)の Numbering Rows</A>の章にありあます。
|
Bruce Momjian の<A HREF="http://www.PostgreSQL.org/docs/aw_pgsql_book">(http://www.PostgreSQL.org/docs/aw_pgsql_book)の Numbering Rows</A>の章にありあます。
|
||||||
|
|
||||||
@ -1142,14 +1161,10 @@ BYTEA bytea
|
|||||||
<P>それはありません。<I>currval()</I> は、すべてのユーザではありませんが、あなたのバックエンドに与えられた現在の値を返します。
|
<P>それはありません。<I>currval()</I> は、すべてのユーザではありませんが、あなたのバックエンドに与えられた現在の値を返します。
|
||||||
|
|
||||||
|
|
||||||
<H4><A name="4.15.4">4.15.4</A>) トランザクションが中断したときにもうい
|
<H4><A name="4.15.4">4.15.4</A>) トランザクションが中断したときにもういちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに空きがあるのはなぜですか?
|
||||||
ちどシーケンス番号が使われないのはなぜですか?シーケンス/SERIALカラムに
|
|
||||||
空きがあるのはなぜですか?
|
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P>同時性を改善するために、実行中のトランザクションに、必要でト
|
<P>同時性を改善するために、実行中のトランザクションに、必要でトランザクションが終了するまでロックされないシーケンス値を与えています。このためトランザクションが中断されると番号割り当てにギャップを生じます。
|
||||||
ランザクションが終了するまでロックされないシーケンス値を与えています。
|
|
||||||
このためトランザクションが中断されると番号割り当てにギャップを生じます。
|
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
@ -1231,7 +1246,7 @@ href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glo
|
|||||||
|
|
||||||
<P>現在は、PostgreSQLのトランザクションのコミット時にラージ・オブジェクト・ハンドルを閉じることにより、<I>lo_open</I>コマンドが完了した直後に強制的にルールを実行します。このため、最初にハンドルに対して何かをしようとすると、<I>invalid large obj descriptor(ラージ・オブジェクトの記述子が不正)</I>となります。それで、もし、トランザクションを使うのを忘れると、(少なくともほとんどの時間)働いていたコードがエラーメッセージを出すのです。
|
<P>現在は、PostgreSQLのトランザクションのコミット時にラージ・オブジェクト・ハンドルを閉じることにより、<I>lo_open</I>コマンドが完了した直後に強制的にルールを実行します。このため、最初にハンドルに対して何かをしようとすると、<I>invalid large obj descriptor(ラージ・オブジェクトの記述子が不正)</I>となります。それで、もし、トランザクションを使うのを忘れると、(少なくともほとんどの時間)働いていたコードがエラーメッセージを出すのです。
|
||||||
|
|
||||||
<P>もし、<SMALL>ODBC</SMALL>のようなクライアントインターフェースをお使いなら、<tt>auto-commit off</tt>を設定する必要があるかもしれません。
|
<P>もし、<SMALL>ODBC</SMALL>のようなクライアントインターフェイスをお使いなら、<tt>auto-commit off</tt>を設定する必要があるかもしれません。
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
|
|
||||||
@ -1247,10 +1262,7 @@ href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glo
|
|||||||
<H4><A NAME="4.22">4.22</A>) なぜ、<SMALL>IN</SMALL>を使う副問い合わせがとても遅いのですか?
|
<H4><A NAME="4.22">4.22</A>) なぜ、<SMALL>IN</SMALL>を使う副問い合わせがとても遅いのですか?
|
||||||
</H4>
|
</H4>
|
||||||
<P>
|
<P>
|
||||||
現在、外部問い合わせの各ロウについて副問い合わせの結果を順番にスキャンす
|
現在、外部問い合わせの各ロウについて副問い合わせの結果を順番にスキャンすることにより、副問い合わせを外部問い合わせに結合しています。もし、副問い合わせが数行しか返さず、外部問い合わせが沢山の行を返すなら、当面は<CODE>IN</CODE>を<CODE>EXISTS</CODE>で置き換えることです:
|
||||||
ることにより、副問い合わせを外部問い合わせに結合しています。
|
|
||||||
もし、副問い合わせが数行しか返さず、外部問い合わせが沢山の行を返すなら、
|
|
||||||
当面は<CODE>IN</CODE>を<CODE>EXISTS</CODE>で置き換えることです:
|
|
||||||
<PRE>
|
<PRE>
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
@ -1264,7 +1276,7 @@ href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glo
|
|||||||
</PRE>
|
</PRE>
|
||||||
とします。
|
とします。
|
||||||
これが手っ取り早いですが、<CODE>subcol</CODE>は索引付きカラムであるべきです。
|
これが手っ取り早いですが、<CODE>subcol</CODE>は索引付きカラムであるべきです。
|
||||||
この制限は将来のリリースで直したいと思っています。
|
ここで示した問題は7.4で修正されます。
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<H4><A NAME="4.23">4.23</A>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<BR></H4>
|
<H4><A NAME="4.23">4.23</A>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<BR></H4>
|
||||||
@ -1303,16 +1315,14 @@ PostgreSQL
|
|||||||
<P>
|
<P>
|
||||||
現行のデータベース以外への問い合わせ方法はありません。というのもPostgreSQLがデータベース仕様のシステムカタログを読み込むためで、そこには、たとえそのふりをするだけにしろ、データベースを越えて問い合わせをするすべがありません。
|
現行のデータベース以外への問い合わせ方法はありません。というのもPostgreSQLがデータベース仕様のシステムカタログを読み込むためで、そこには、たとえそのふりをするだけにしろ、データベースを越えて問い合わせをするすべがありません。
|
||||||
<P>
|
<P>
|
||||||
<I>/contrib/dblink</I> はデータベース間(cross-database)の問い合わせを関数呼出しにより許します。もちろん、クライアントは同時に接続を別のデータベースへも張らなくてはならず、結果をクライアント側でマージしなくてはなりません。</P>
|
<I>contrib/dblink</I> はデータベース間(cross-database)の問い合わせを関数呼出しにより許します。もちろん、クライアントは同時に接続を別のデータベースへも張らなくてはならず、結果をクライアント側でマージしなくてはなりません。</P>
|
||||||
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H4><A NAME="4.25">4.25</A>) 関数で複数のロウまたはカラムを返すにはどうしますか?<BR></H4>
|
<H4><A NAME="4.25">4.25</A>) 関数で複数のロウまたはカラムを返すにはどうしますか?<BR></H4>
|
||||||
|
|
||||||
<P>もし、PL/pgSQL 関数で<i>refcursors</i>を使うと結果の組を返すことができます。<A
|
<P>7.3では関数から、複数行のや複数カラムを簡単に返せます。
|
||||||
href="http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html">
|
<a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a>。
|
||||||
http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</A> の
|
|
||||||
23.7.3.3 節をご覧下さい。</P>
|
|
||||||
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
@ -1334,28 +1344,26 @@ http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>
|
|||||||
にて作業が進められています。
|
にて作業が進められています。
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<SMALL><PRE>
|
|
||||||
[訳注
|
[訳注
|
||||||
JPUG 分散トランザクション開発分科会では、永安悟史さんを中心に2相
|
JPUG 分散トランザクション開発分科会では、永安悟史さんを中心に2相
|
||||||
コミットの実装を行なっています。
|
コミットの実装を行なっています。
|
||||||
<A href="http://www.postgresql.jp/subcommittee/dt/index.html">http://www.postgresql.jp/subcommittee/dt/index.html</A>
|
http://www.postgresql.jp/subcommittee/dt/index.html
|
||||||
<A href="http://www.snaga.org/jpug-dt/">http://www.snaga.org/jpug-dt/</A>
|
http://www.snaga.org/jpug-dt/
|
||||||
|
|
||||||
三谷篤さんによる双方向リプリケーションPGReplicate
|
三谷篤さんによる双方向リプリケーションPGReplicate
|
||||||
<A href="http://www.csra.co.jp/~mitani/jpug/pgreplicate/">http://www.csra.co.jp/~mitani/jpug/pgreplicate/</A>
|
http://www.csra.co.jp/~mitani/jpug/pgreplicate/
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
|
||||||
|
|
||||||
<H4><A name="4.28">4.28</A>) どのような暗号化オプションを利用できますか?
|
<H4><A name="4.28">4.28</A>) どのような暗号化オプションを利用できますか?
|
||||||
</H4>
|
</H4>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><I>/contrib/pgcrypto</I>
|
<LI><I>contrib/pgcrypto</I>
|
||||||
<SMALL>SQL</SMALL>問い合わせの中で使うための沢山の暗号化を含みます。
|
<SMALL>SQL</SMALL>問い合わせの中で使うための沢山の暗号化を含みます。
|
||||||
</LI>
|
</LI>
|
||||||
<LI>
|
<LI>
|
||||||
クライアントからサーバーへの転送をを暗号化する唯一の方法は<I>pg_hba.conf</I>の中で<I>hostssl</I>を使うことによります。
|
クライアントからサーバーへの転送をを暗号化する唯一の方法は<I>pg_hba.conf</I>の中で<I>hostssl</I>を使うことによります。
|
||||||
</LI>
|
</LI>
|
||||||
<LI>バージョン7.3 ではデータベースユーザのパスワードは保存される時に自動的に暗号化されます。 それより前のバージョンでは<i>postgresql.conf</i>中で<i>PASSWORD_ENCRYPTION</i>を有効にする必要があります。
|
<LI>バージョン7.3 ではデータベースユーザのパスワードは保存される時に自動的に暗号化されます。 それより前のバージョンでは<I>postgresql.conf</I>中で<I>PASSWORD_ENCRYPTION</I>を有効にする必要があります。
|
||||||
</LI>
|
</LI>
|
||||||
<LI></LI>サーバーは暗号化ファイルシステムを使って走ることもできます。
|
<LI></LI>サーバーは暗号化ファイルシステムを使って走ることもできます。
|
||||||
</UL>
|
</UL>
|
||||||
@ -1382,7 +1390,8 @@ http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>
|
|||||||
<H4><A NAME="5.3">5.3</A>) タプルを返す C言語の関数はどのように書きますか?
|
<H4><A NAME="5.3">5.3</A>) タプルを返す C言語の関数はどのように書きますか?
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P> 原理的には可能ですが、これには究極の妙技を要しますので、著者のまわりでは未だ誰もやったことがありません。
|
<P>バージョン7.3以降のPostgreSQLでは、テーブルを返す関数を C, PL/PgSQL、そして SQL にて完全にサポートします。詳しくはプログラマガイドの情報を見てください。Cで定義された表を返す関数の例題が<I>contrib/tablefunc</I>の中にあります。
|
||||||
|
|
||||||
|
|
||||||
<P><H4><A NAME="5.4">5.4</A>) ソース・ファイルを変更しました。再コンパイルしても変化が見られないのはなぜですか?
|
<P><H4><A NAME="5.4">5.4</A>) ソース・ファイルを変更しました。再コンパイルしても変化が見られないのはなぜですか?
|
||||||
</H4>
|
</H4>
|
||||||
@ -1396,8 +1405,8 @@ http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>
|
|||||||
[訳注:
|
[訳注:
|
||||||
日本語版の製作については以下の通りです。
|
日本語版の製作については以下の通りです。
|
||||||
|
|
||||||
最終更新日: 2002年10月18日
|
最終更新日: 2003年06月30日
|
||||||
翻訳者: 桑村 潤 (<A HREF="mailto:juk@PostgreSQL.jp">Jun Kuwamura <juk@PostgreSQL.jp></A>)
|
翻訳者: 桑村 潤 (<A HREF="mailto:juk at PostgreSQL.jp">Jun Kuwamura <juk at PostgreSQL.jp></A>)
|
||||||
|
|
||||||
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):
|
||||||
|
|
||||||
@ -1414,21 +1423,19 @@ http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>
|
|||||||
本田 茂広(<A HREF="mailto:fwif0083 at mb.infoweb.ne.jp">Shigehiro HONDA <fwif0083 at mb.infoweb.ne.jp></A>)
|
本田 茂広(<A HREF="mailto:fwif0083 at mb.infoweb.ne.jp">Shigehiro HONDA <fwif0083 at mb.infoweb.ne.jp></A>)
|
||||||
せせ じゅん(<A HREF="mailto:sesejun at linet.gr.jp">Jun SESE <sesejun at linet.gr.jp></A>)
|
せせ じゅん(<A HREF="mailto:sesejun at linet.gr.jp">Jun SESE <sesejun at linet.gr.jp></A>)
|
||||||
神谷 英孝(<A HREF="mailto:hkamiya at catvmics.ne.jp">Hidetaka KAMIYA <hkamiya at catvmics.ne.jp></A>)
|
神谷 英孝(<A HREF="mailto:hkamiya at catvmics.ne.jp">Hidetaka KAMIYA <hkamiya at catvmics.ne.jp></A>)
|
||||||
菅原 敦(<A HREF="mailto:asugawar at f3.dion.ne.jp">
|
菅原 敦(<A HREF="mailto:asugawar at f3.dion.ne.jp">Atsushi SUGAWARA <asugawar at f3.dion.ne.jp></A>)
|
||||||
Atsushi SUGAWARA <asugawar at f3.dion.ne.jp></A>)
|
稲葉 香理(<A HREF="mailto:i-kaori at sra.co.jp">Kaori Inaba <i-kaori at sra.co.jp></A>)
|
||||||
|
|
||||||
をはじめ、ポストグレスに関する話題豊富な<A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/ML/info.html">日本語ポストグレス・メーリングリスト</A>、
|
をはじめ、ポストグレスに関する話題豊富な<A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/ML/info.html">日本語ポストグレス・メーリングリスト</A>、
|
||||||
和訳のきっかけを作ってくれた <A HREF="http://jf.linux.or.jp/">JF(Linux Japanese FAQ Mailing List)プロジェクト</A>、その他、
|
和訳のきっかけを作ってくれた <A HREF="http://jf.linux.or.jp/">JF(Linux Japanese FAQ Mailing List)プロジェクト</A>、その他、
|
||||||
直接あるいは間接的にかかわっているすべてのオープンソースコミュニティーの
|
直接あるいは間接的にかかわっているすべてのオープンソースコミュニティーの皆さんに感謝します。
|
||||||
皆さんに感謝します。
|
|
||||||
|
|
||||||
日本語版のこの文書は、以下からもたどれます。
|
日本語版のこの文書は、以下からもたどれます。
|
||||||
<A HREF="http://www.rccm.co.jp/~juk/pgsql/">http://www.rccm.co.jp/~juk/pgsql/</A>(FAQ和訳 PostgreSQL についてよくある質問)
|
<A HREF="http://www.rccm.co.jp/~juk/pgsql/">http://www.rccm.co.jp/~juk/pgsql/</A>(FAQ和訳 PostgreSQL についてよくある質問)
|
||||||
<A HREF="http://www.PostgreSQL.jp/subcommittee/jpugdoc/">http://www.PostgreSQL.jp/subcommittee/jpugdoc/</A>JPUG文書・書籍関連分科会
|
<A HREF="http://www.PostgreSQL.jp/subcommittee/jpugdoc/">http://www.PostgreSQL.jp/subcommittee/jpugdoc/</A>JPUG文書・書籍関連分科会
|
||||||
<A HREF="http://www.linux.or.jp/JF/">http://www.linux.or.jp/JF/</A>Linux JFプロジェクト
|
<A HREF="http://www.linux.or.jp/JF/">http://www.linux.or.jp/JF/</A>Linux JFプロジェクト
|
||||||
<A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/">http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/</A>
|
|
||||||
|
|
||||||
なお、この和訳に関するご意見は(<A HREF="mailto:juk@PostgreSQL.jp">juk@PostgreSQL.jp</A>)までお寄せ下さい。
|
なお、この和訳に関するご意見は(<A HREF="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</A>)までお寄せ下さい。
|
||||||
]
|
]
|
||||||
</PRE></SMALL>
|
</PRE></SMALL>
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
alink="#0000ff">
|
alink="#0000ff">
|
||||||
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
|
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
|
||||||
|
|
||||||
<P>Дата последнего обновления: Четверг 13 Февраля 23:07:35 EDT 2002</P>
|
<P>Дата последнего обновления: Пятница 30 Мая 22:24:56 EDT 2003</P>
|
||||||
|
|
||||||
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
|
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
|
||||||
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||||
@ -22,12 +22,11 @@
|
|||||||
"mailto:pgman@candle.pha.pa.us">victor_v@permonline.ru</A>)<BR>
|
"mailto:pgman@candle.pha.pa.us">victor_v@permonline.ru</A>)<BR>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<P>Самую свежую английскую версию документа можно найти на <A
|
<P>Самую свежую английскую версию документа можно найти на
|
||||||
href=
|
<A href="http://www.postgresql.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>.</P>
|
||||||
"http://www.postgresql.org/docs/faq-english.html">http://www.PostgreSQL.org/docs/faq-english.html</A>.</P>
|
|
||||||
|
|
||||||
<P>Ответы на вопросы специфичные для конкретных платформ можно найти на <A href=
|
<P>Ответы на вопросы специфичные для конкретных платформ можно найти на
|
||||||
"http://www.postgresql.org/users-lounge/docs/faq.html">http://www.PostgreSQL.org/users-lounge/docs/faq.html</A>.</P>
|
<A href="http://www.postgresql.org/docs/index.html">http://www.PostgreSQL.org/docs/index.html</A>.</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<H2 align="center">Общие вопросы</H2>
|
<H2 align="center">Общие вопросы</H2>
|
||||||
@ -44,7 +43,7 @@
|
|||||||
<A href="#1.10">1.10</A>) Как научиться <SMALL>SQL</SMALL>?<BR>
|
<A href="#1.10">1.10</A>) Как научиться <SMALL>SQL</SMALL>?<BR>
|
||||||
<A href="#1.11">1.11</A>) Решена ли в PostgreSQL проблема 2000-го года (Y2K)?<BR>
|
<A href="#1.11">1.11</A>) Решена ли в PostgreSQL проблема 2000-го года (Y2K)?<BR>
|
||||||
<A href="#1.12">1.12</A>) Как присоединится к команде разработчиков?<BR>
|
<A href="#1.12">1.12</A>) Как присоединится к команде разработчиков?<BR>
|
||||||
<A href="#1.13">1.13</A>) Как отравить сообщение об ошибке?<BR>
|
<A href="#1.13">1.13</A>) Как отправить сообщение об ошибке?<BR>
|
||||||
<A href="#1.14">1.14</A>) Как сравнивать PostgreSQL с другими
|
<A href="#1.14">1.14</A>) Как сравнивать PostgreSQL с другими
|
||||||
<SMALL>СУБД</SMALL>?<BR>
|
<SMALL>СУБД</SMALL>?<BR>
|
||||||
<A href="#1.15">1.15</A>) Как оказать финансовую помощь PostgreSQL?<BR>
|
<A href="#1.15">1.15</A>) Как оказать финансовую помощь PostgreSQL?<BR>
|
||||||
@ -86,10 +85,11 @@
|
|||||||
<A href="#4.1">4.1</A>) В чем отличие между бинарным и нормальным
|
<A href="#4.1">4.1</A>) В чем отличие между бинарным и нормальным
|
||||||
курсором?<BR>
|
курсором?<BR>
|
||||||
<A href="#4.2">4.2</A>) Как выполнить <SMALL>SELECT</SMALL> только
|
<A href="#4.2">4.2</A>) Как выполнить <SMALL>SELECT</SMALL> только
|
||||||
для нескольких первых строчек запроса?<BR>
|
для нескольких первых строчек запроса? Для произвольной строки?<BR>
|
||||||
<A href="#4.3">4.3</A>) Как получить список таблиц или других
|
<A href="#4.3">4.3</A>) Как получить список таблиц или других
|
||||||
компонентов в <I>psql</I>?<BR>
|
компонентов в <I>psql</I>?<BR>
|
||||||
<A href="#4.4">4.4</A>) Как удалить колонку из таблицы?<BR>
|
<A href="#4.4">4.4</A>) Как удалить колонку из таблицы или изменить
|
||||||
|
её тип данных?<BR>
|
||||||
<A href="#4.5">4.5</A>) Каковы максимальные размеры для записей,
|
<A href="#4.5">4.5</A>) Каковы максимальные размеры для записей,
|
||||||
таблиц и базы данных?<BR>
|
таблиц и базы данных?<BR>
|
||||||
<A href="#4.6">4.6</A>) Как много дискового пространства в базе данных
|
<A href="#4.6">4.6</A>) Как много дискового пространства в базе данных
|
||||||
@ -247,13 +247,18 @@
|
|||||||
<P><STRONG>Сервер</STRONG></P>
|
<P><STRONG>Сервер</STRONG></P>
|
||||||
|
|
||||||
<P>Сервер БД может быть запущен на Windows NT и Win2k, используя
|
<P>Сервер БД может быть запущен на Windows NT и Win2k, используя
|
||||||
библиотеку Cygwin, разработанную для переноса программного обеспечения Unix
|
библиотеку Cygwin, разработанную компанией Cygnus для переноса программного
|
||||||
в NT. Смотрите <I>pgsql/doc/FAQ_MSWIN</I> в дистрибутиве или
|
обеспечения Unix в NT. Смотрите <I>pgsql/doc/FAQ_MSWIN</I> в дистрибутиве
|
||||||
MS Windows FAQ на <A href="http://www.postgresql.org/docs/faq-mswin.html">
|
или MS Windows FAQ на <A href="http://www.postgresql.org/docs/faqs/text/FAQ_MSWIN">
|
||||||
http://www.PostgreSQL.org/docs/faq-mswin.html</A>.</P>
|
http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN</A>.</P>
|
||||||
|
|
||||||
<P>PostgreSQL, спортированный специально для MS Win NT/2000/XP в
|
<P>PostgreSQL, спортированный специально для MS Win NT/2000/XP в
|
||||||
настоящий момент начал работать.</P>
|
настоящий момент начал работать. Подробности текущего состояния PostgreSQL
|
||||||
|
для Windows смотрите на <a href="http://techdocs.postgresql.org/guides/Windows">
|
||||||
|
http://techdocs.postgresql.org/guides/Windows</a>.</P>
|
||||||
|
|
||||||
|
<P>Также существует версия спортированная под Novell Netware 6 на
|
||||||
|
<a href="http://forge.novell.com/">http://forge.novell.com</a>.</P>
|
||||||
|
|
||||||
<H4><A name="1.5">1.5</A>) Где можно взять PostgreSQL?</H4>
|
<H4><A name="1.5">1.5</A>) Где можно взять PostgreSQL?</H4>
|
||||||
|
|
||||||
@ -313,17 +318,16 @@
|
|||||||
<A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
<A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<P>Еще существует IRC канал на EFNet, с названием
|
<P>Еще существует IRC канал на EFNet и OpenProjects, с названием
|
||||||
<I>#PostgreSQL</I>. Я использую для подключения к этому каналу команду Unix
|
<I>#PostgreSQL</I>. Я использую для подключения к этому каналу команду Unix
|
||||||
<CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE></P>
|
<CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE></P>
|
||||||
|
|
||||||
<P>Список коммерческой поддержки компаний доступен на
|
<P>Список коммерческой поддержки компаний доступен на
|
||||||
<A href=
|
<A href="http://www.ca.postgresql.org/users-lounge/commercial-support.html">http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html</A>.</P>
|
||||||
"http://www.postgresql.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</A>.</P>
|
|
||||||
|
|
||||||
<H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
|
<H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
|
||||||
|
|
||||||
<P>Последний выпуск PostgreSQL - это версия 7.3.1.</P>
|
<P>Последний выпуск PostgreSQL - это версия 7.3.2.</P>
|
||||||
|
|
||||||
<P>Мы планируем выпускать новые версии каждые четыре месяца.</P>
|
<P>Мы планируем выпускать новые версии каждые четыре месяца.</P>
|
||||||
|
|
||||||
@ -332,8 +336,8 @@
|
|||||||
<P>В дистрибутив включаются различные руководства, страницы
|
<P>В дистрибутив включаются различные руководства, страницы
|
||||||
электронного руководства man и некоторые маленькие тестовые примеры.
|
электронного руководства man и некоторые маленькие тестовые примеры.
|
||||||
Смотрите в каталог <I>/doc</I>. Вы также можете просматривать
|
Смотрите в каталог <I>/doc</I>. Вы также можете просматривать
|
||||||
документацию в Интернет по адресу <A href=
|
документацию в Интернет по адресу
|
||||||
"http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</A>.</P>
|
<A href="http://www.postgresql.org/docs">http://www.PostgreSQL.org/docs</A>.</P>
|
||||||
|
|
||||||
<P>Существует две книги по PostgreSQL доступные по адресам <A href=
|
<P>Существует две книги по PostgreSQL доступные по адресам <A href=
|
||||||
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
|
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
|
||||||
@ -354,7 +358,7 @@
|
|||||||
|
|
||||||
<P>PostgreSQL поддерживает расширенный подкласс <SMALL>SQL</SMALL>-92.
|
<P>PostgreSQL поддерживает расширенный подкласс <SMALL>SQL</SMALL>-92.
|
||||||
Смотрите наш список <A href="http://developer.postgresql.org/todo.php">TODO</A>
|
Смотрите наш список <A href="http://developer.postgresql.org/todo.php">TODO</A>
|
||||||
на предмет известных ошибок, отсутствующих особенностях и будущих
|
на предмет известных ошибок, отсутствующих возможностей и будущих
|
||||||
планов.</P>
|
планов.</P>
|
||||||
|
|
||||||
<H4><A name="1.10">1.10</A>) Как мне научиться <SMALL>SQL</SMALL>?</H4>
|
<H4><A name="1.10">1.10</A>) Как мне научиться <SMALL>SQL</SMALL>?</H4>
|
||||||
@ -384,7 +388,7 @@
|
|||||||
|
|
||||||
<H4><A name="1.11">1.11</A>) Решена ли в PostgreSQL проблема 2000-го года (Y2K)?</H4>
|
<H4><A name="1.11">1.11</A>) Решена ли в PostgreSQL проблема 2000-го года (Y2K)?</H4>
|
||||||
|
|
||||||
<P>Да, мы легко манипулируем датами после 2000 года и перед 2000 годом.</P>
|
<P>Да, мы легко работаем с датами после 2000 года и перед 2000 годом.</P>
|
||||||
|
|
||||||
<H4><A name="1.12">1.12</A>) Как присоединится к команде разработчиков?</H4>
|
<H4><A name="1.12">1.12</A>) Как присоединится к команде разработчиков?</H4>
|
||||||
|
|
||||||
@ -401,7 +405,7 @@
|
|||||||
превилегии вносить изменения, и мы уверены, что те исправления, которые
|
превилегии вносить изменения, и мы уверены, что те исправления, которые
|
||||||
они внесут будут высокого качества.</P>
|
они внесут будут высокого качества.</P>
|
||||||
|
|
||||||
<H4><A name="1.13">1.13</A>) Как отравить сообщение об ошибке??</H4>
|
<H4><A name="1.13">1.13</A>) Как отправить сообщение об ошибке??</H4>
|
||||||
|
|
||||||
<P>Пожалуйста посетите страничку PostgreSQL BugTool на <A href=
|
<P>Пожалуйста посетите страничку PostgreSQL BugTool на <A href=
|
||||||
"http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>,
|
"http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>,
|
||||||
@ -558,7 +562,7 @@
|
|||||||
http://www.thekompany.com/products/rekall/</A>, коммерческий). Также есть
|
http://www.thekompany.com/products/rekall/</A>, коммерческий). Также есть
|
||||||
PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
|
PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
|
||||||
http://phppgadmin.sourceforge.net/</A>) - интерфейс к PostgreSQL, основанный
|
http://phppgadmin.sourceforge.net/</A>) - интерфейс к PostgreSQL, основанный
|
||||||
на Web.</p>
|
на Web.</P>
|
||||||
|
|
||||||
<H4><A name="2.4">2.4</A>) Какие языки могут взаимодействовать с PostgreSQL?</H4>
|
<H4><A name="2.4">2.4</A>) Какие языки могут взаимодействовать с PostgreSQL?</H4>
|
||||||
|
|
||||||
@ -611,7 +615,7 @@
|
|||||||
с количеством буферов и процессов по умолчанию, необходимый минимум -
|
с количеством буферов и процессов по умолчанию, необходимый минимум -
|
||||||
это около 1 мегабайта. Подробности о разделяемой памяти и семафорах
|
это около 1 мегабайта. Подробности о разделяемой памяти и семафорах
|
||||||
смотрите в <A href=
|
смотрите в <A href=
|
||||||
"http://www.postgresql.org/idocs/index.php?kernel-resources.html">Руководстве
|
"http://www.postgresql.org/docs/viev.php?version=current&idoc=1&file=kernel-resources.html">Руководстве
|
||||||
администратора PostgreSQL</A>.</P>
|
администратора PostgreSQL</A>.</P>
|
||||||
|
|
||||||
<H4><A name="3.4">3.4</A>) Когда я пытаюсь запустить <I>postmaster</I>, я
|
<H4><A name="3.4">3.4</A>) Когда я пытаюсь запустить <I>postmaster</I>, я
|
||||||
@ -808,7 +812,7 @@
|
|||||||
<SMALL>DECLARE</SMALL>.</P>
|
<SMALL>DECLARE</SMALL>.</P>
|
||||||
|
|
||||||
<H4><A name="4.2">4.2</A>) Как выполнить <SMALL>SELECT</SMALL> только
|
<H4><A name="4.2">4.2</A>) Как выполнить <SMALL>SELECT</SMALL> только
|
||||||
для нескольких первых строчек запроса?</H4>
|
для нескольких первых строчек запроса? Произвольной строки?</H4>
|
||||||
|
|
||||||
<P>Смотрите станицу руководства посвященную <SMALL>FETCH</SMALL>
|
<P>Смотрите станицу руководства посвященную <SMALL>FETCH</SMALL>
|
||||||
или используйте <SMALL>SELECT</SMALL> ... <SMALL>LIMIT</SMALL>....</P>
|
или используйте <SMALL>SELECT</SMALL> ... <SMALL>LIMIT</SMALL>....</P>
|
||||||
@ -820,6 +824,14 @@
|
|||||||
выдать только несколько первых запрошенных записей или может
|
выдать только несколько первых запрошенных записей или может
|
||||||
выполнять запрос пока не будут выданы желаемые записи.</P>
|
выполнять запрос пока не будут выданы желаемые записи.</P>
|
||||||
|
|
||||||
|
<p>To <small>SELECT</small> a random row, use:
|
||||||
|
</p><pre> SELECT col
|
||||||
|
FROM tab
|
||||||
|
ORDER BY random()
|
||||||
|
LIMIT 1;
|
||||||
|
</pre>
|
||||||
|
</p>
|
||||||
|
|
||||||
<H4><A name="4.3">4.3</A>) Как получить список таблиц или других
|
<H4><A name="4.3">4.3</A>) Как получить список таблиц или других
|
||||||
компонентов в <I>psql</I>?</H4>
|
компонентов в <I>psql</I>?</H4>
|
||||||
|
|
||||||
@ -831,10 +843,11 @@
|
|||||||
запросы, которые она использует для выполнения заданных вами
|
запросы, которые она использует для выполнения заданных вами
|
||||||
команд.</P>
|
команд.</P>
|
||||||
|
|
||||||
<H4><A name="4.4">4.4</A>) Как удалить колонку из таблицы?</H4>
|
<H4><A name="4.4">4.4</A>) Как удалить колонку из таблицы или
|
||||||
|
изменить ёё тип данных?</H4>
|
||||||
|
|
||||||
<P>Эта функциональность была добавлена в выпуск 7.3 с оператором
|
<P><small>DROP COLUMN</small> функциональность была добавлена в выпуск
|
||||||
<small>ALTER TABLE DROP COLUMN</small>. В ранних версиях,
|
7.3 с оператором <small>ALTER TABLE DROP COLUMN</small>. В ранних версиях,
|
||||||
можно сделать так:</P>
|
можно сделать так:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
BEGIN;
|
BEGIN;
|
||||||
@ -847,12 +860,21 @@
|
|||||||
COMMIT;
|
COMMIT;
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
|
<P>Для изменения типа данных колонки, сделайте так:</P>
|
||||||
|
<PRE>
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
|
||||||
|
UPDATE tab SET new_col = CAST(old_col AS <i>new_data_type</i>);
|
||||||
|
ALTER TABLE DROP COLUMN old_col;
|
||||||
|
COMMIT;
|
||||||
|
</PRE>
|
||||||
|
|
||||||
<H4><A name="4.5">4.5</A>) Каковы максимальные размеры для записей,
|
<H4><A name="4.5">4.5</A>) Каковы максимальные размеры для записей,
|
||||||
таблиц и базы данных?</H4>
|
таблиц и базы данных?</H4>
|
||||||
|
|
||||||
<P>Существуют следующие ограничения:</P>
|
<P>Существуют следующие ограничения:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
Максимальный размер базы? неограничен (существуют базы на 1 TB)
|
Максимальный размер базы? неограничен (существуют базы на 4 TB)
|
||||||
Максимальный размер таблицы? 16 TB
|
Максимальный размер таблицы? 16 TB
|
||||||
Максимальный размер записи? 1.6 TB
|
Максимальный размер записи? 1.6 TB
|
||||||
Максимальный размер поля? 1 GB
|
Максимальный размер поля? 1 GB
|
||||||
@ -1058,14 +1080,14 @@
|
|||||||
VARCHAR(n) varchar размер задает максимальную длину, нет заполнения
|
VARCHAR(n) varchar размер задает максимальную длину, нет заполнения
|
||||||
CHAR(n) bpchar заполняется пустотой до фиксированной длины
|
CHAR(n) bpchar заполняется пустотой до фиксированной длины
|
||||||
TEXT text нет задаваемого верхнего ограничения или длины
|
TEXT text нет задаваемого верхнего ограничения или длины
|
||||||
"char" char один символ
|
|
||||||
BYTEA bytea массив байт переменной длины (можно использовать null-байт без опаски)
|
BYTEA bytea массив байт переменной длины (можно использовать null-байт без опаски)
|
||||||
|
"char" char один символ
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<P>Внутреннее имя вы можете увидеть, когда смотрите системные каталоги
|
<P>Внутреннее имя вы можете увидеть, когда смотрите системные каталоги
|
||||||
и в некоторых сообщениях об ошибках.</P>
|
и в некоторых сообщениях об ошибках.</P>
|
||||||
|
|
||||||
<P>Последние четыре типа являются "varlena" типами (т.е., первые
|
<P>Первые четыре типа являются "varlena" типами (т.е., первые
|
||||||
четыре байта на диске являются длинной, за которой следуют данные).
|
четыре байта на диске являются длинной, за которой следуют данные).
|
||||||
Таким образом, фактически используемое пространство больше, чем
|
Таким образом, фактически используемое пространство больше, чем
|
||||||
обозначенный размер. Однако, эти типы данных также поддаются сжатию
|
обозначенный размер. Однако, эти типы данных также поддаются сжатию
|
||||||
@ -1082,8 +1104,8 @@ BYTEA bytea
|
|||||||
пустотой до заданной длины, в то время как <SMALL>VARCHAR(n)</SMALL>
|
пустотой до заданной длины, в то время как <SMALL>VARCHAR(n)</SMALL>
|
||||||
хранит только символы, из которых состоит строка.
|
хранит только символы, из которых состоит строка.
|
||||||
<SMALL>BYTEA</SMALL> используется для хранения бинарных данных, значения
|
<SMALL>BYTEA</SMALL> используется для хранения бинарных данных, значения
|
||||||
которых могут включать <SMALL>NULL</SMALL> байты. Эти типы имеют сходные
|
которых могут включать <SMALL>NULL</SMALL> байты. Все типы описанные
|
||||||
характеристики производительности.</P>
|
здесь, имеют сходные характеристики производительности.</P>
|
||||||
|
|
||||||
<H4><A name="4.15.1">4.15.1</A>) Как мне создать поле
|
<H4><A name="4.15.1">4.15.1</A>) Как мне создать поле
|
||||||
serial/с-авто-увеличением?</H4>
|
serial/с-авто-увеличением?</H4>
|
||||||
@ -1379,11 +1401,10 @@ BYTEA bytea
|
|||||||
|
|
||||||
<H4><A name="4.25">4.25</A>) Как мне вернуть из функции несколько записей?</H4>
|
<H4><A name="4.25">4.25</A>) Как мне вернуть из функции несколько записей?</H4>
|
||||||
|
|
||||||
<P>Вы можете возвращать из функций PL/pgSQL списки результатов, используя
|
<P>В версии 7.3, вы можете легко вернуть несколько записей или колонок из
|
||||||
<i>refcursors</i>. Смотрите <A
|
какой-либо функции,
|
||||||
href="http://www.postgresql.org/idocs/index.php?plpgsql-cursors.html">
|
<href="http://techdocs.postgresql.org/guides/SetReturningFunctions">
|
||||||
http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</a>,
|
http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.</P>
|
||||||
секцию 23.7.3.3.</P>
|
|
||||||
|
|
||||||
<H4><A name="4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
<H4><A name="4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
||||||
временные таблицы в функциях PL/PgSQL?</H4>
|
временные таблицы в функциях PL/PgSQL?</H4>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user