PostgreSQL Verzeichnisse ( /usr/local/pgsql/data/ usw. )

Hallo,

ich bräuchte mal eine Anleitung oder Erläuterung wo sich Pfade wie
/data/pgsql
oder ähnliches befinden.

wenn ich psql.exe starte, mich auf eine Datenback verbinde und den Befehl

COPY test TO ‘/data/pgsql’ WITH DELIMITER ‘;’;

ausführe, bekomme ich die Meldung
“konnte Datei … nicht nicht zum Schreiben öffnen: No Such file or directory”

Ich hab schon danach gesucht, konnte aber leider nichts finden.
Oder gibt es ein gutes Schlüsselwort wonach ich suchen kann?

Ist ‘/data/pgsql’ = ‘c:\programme\postgresql\8.4’ ??? nein, oder?

wo ist ‘/usr/…’ oder ‘/var/…’ ?

sorry…

COPY arbeitet auf dem Server, mittels \copy kannst Du aber auch mit Datenströmen auf dem Client arbeiten. Wo sich z.B. /var befindet, hängt von der Konfiguration Deines rechners ab, bei mit z.B. auf /dev/sda1.

Vermutlich wird Dir diese Antwort aber ned viel helfen, weil das Begriffe aus der *NIX-Welt.

Gegenfrage an Dich: warum willst das wissen?


Andreas

ich muss über den befehl
\i ‘datei.sql’

ein script ausführen und ich weis nicht wo ich ‘datei.sql’ ablegen muss, damit ich das script so ausführen kann.

im moment sagt psql mir immer ‘konnte datei nicht finden’…

Ich bin windows-nutzer.

Mein Beileid :wink:

Okay, hier geht es so:

kretschmer@tux:~$ echo "select version();" > version.sql
kretschmer@tux:~$ psql test -c "\i version.sql"
                                               version
------------------------------------------------------------------------------------------------------
 PostgreSQL 8.4.2 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2, 32-bit
(1 Zeile)

Wenn Du nur ein Script einlesen willst, ist das alles kein Problem. Warum hast Du vorhin mit COPY gespielt?


Andreas

Danke schonmal für deine Hilfe!

\c “select version();” > version.sql

konnte Hostname >>version.sql<< nicht in Adresse übersetzen: Unknown host

Um

\i ‘Datei.sql’

oder

\i ‘/data/pgsql/Datei.sql’

ausführen zu können, muss ich ja erstmal wissen, wo ich das vorgefertigte Script ‘Datei.sql’ ablegen muss, um nicht wieder die Fehlermeldung ‘Konnte Datei nicht finden’ zu bekommen.

Über

COPY test TO '> /data/pgsql> ’ WITH DELIMITER ‘;’;

wollte ich herausfinden, wo sich der Pfad ‘/data/pgsql’ auf dem PC befindet (indem ich dann auf dem PC nach ‘test’ suche …)


MfG

ok ich habe es herausgefunden:

COPY test2 TO ‘D:/test.txt’;

…ist die richtige Syntax. Warum ich es nicht gleich geschaftt hab: ich wusste nicht das man
/ statt \ verwenden muss (slash statt backslash)!