ich postgreSQL bin neu und ich habe eine einfache Frage:postgreSQL - psql i: wie Skript in einem bestimmten Pfad auszuführen
Ich versuche, ein einfaches Skript zu erstellen, die eine DB schafft so kann ich später nennen es wie folgt aus:
psql -f createDB.sql
ich möchte das Skript andere Skripte aufrufen (getrennte diejenigen Tabellen zum Erstellen, Hinzufügen von Einschränkungen, Funktionen usw.), wie folgt aus:
\i script1.sql
\i script2.sql
es funktioniert gut, vorausgesetzt, dass createD B.sql ist in der gleichen dir.
Aber wenn ich script2 in ein Verzeichnis unter dem mit createDB bewegen, und ändern Sie die createDB so sieht es wie folgt aus:
\i script1.sql
\i somedir\script2.sql
ich einen Fehler:
psql:createDB.sql:2: somedir: Permission denied
Ich bin Verwenden von Postgres Plus 8.3 für Windows, Standard Postgres-Benutzer.
EDIT:
Dumme mich, Unix löste das Problem zerschneidet.
Umkehren der Schrägstriche war ausreichend, Escape war nicht notwendig. –
Beachten Sie, dass Forward-Schrägstriche in Windows einwandfrei und nativ unterstützt werden. So können Sie fast überall in Windows Forward Slashes verwenden (mit Ausnahme von schlecht geschriebenen Anwendungen). Da der Backslash häufig als Escape-Zeichen verwendet wird, ist sein Verhalten zwischen Anwendungen inkonsistent und wird sogar innerhalb einer einzelnen Anwendung verwendet. – Kat