it-swarm.com.de

Quelle mehrere Dateien gleichzeitig mit psql

Ich möchte mehrere SQL-Skripte nacheinander mit psql als einzelne Transaktion ausführen, um mein Datenbankschema einzurichten. Was ist der beste Weg, dies zu tun? In der Vergangenheit wusste ich, dass ich ein Master-Skript hatte, für das ich psql ausgeführt habe, das die anderen Dateien enthielt, aber ich erinnere mich nicht an die Syntax dieses Skripts.

27
xenoterracide

Ihr Skript könnte folgendermaßen aussehen:

BEGIN;
\i file1.sql
\i file2.sql
COMMIT;

Oder Sie könnten so etwas tun:

cat file1.sql file2.sql | psql -1 -f -
32

Ich habe es mit find in unix/linux mit dem Pfad zur Datei sql past mit dem Parameter rep_sql mit der Anweisung "read" gemacht:

find -P ${rep_sql} -type f -name *.sql -execdir psql -d "mabase" -f {} +

Es heißt: Finde keine folgenden Linkdateien, egal wie der Name lautet, mit ext als ".sql" und führe sie im Verzeichnis der Datei psql aus, die mit mabase arbeitet, und führe die gefundene Datei aus.

0
Deun