Ich entwickle ein sehr langes Skript. Ich möchte das Skript in kleinere, besser verwaltbare Skripte aufteilen und jede SQL-Datei in eine Master-Datei aufnehmen und dann einfach die Master-Datei ausführen.
Beispiel: master.sql
Inhalt (Ich kenne die zu verwendende Syntax nicht):
file1.sql
file2.sql
file3.sql
Ich habe mehrere Tutorials zur Verwendung psql -f
in der Befehlszeile und \i
zum Einschließen dieser Dateien gefunden. Hier wird jedoch bevorzugt, das Terminal zu meiden und eine GUI zu verwenden, um meine Datenbank zu verwalten und das master.sql
Skript auszuführen .
Ist dies in einer Postgres-Admin-GUI möglich? Vermutlich ist es nicht in pgAdmin.
postgresql
psql
jbits
quelle
quelle
psql -f master.sql
).Antworten:
Ein
psql
SkriptEin psql-Skript kann mehrere Dateien indizieren. Nehmen wir an
01_mydb.psql
, es befindet sich im aktuellen Arbeitsverzeichnis, und Sie haben ein Verzeichnis01
mit den Dateien01_schema.sql
und02_types.sql
.01_mydb.psql
kann so aussehen.Oder wie auch immer Sie es strukturieren möchten. Wenn die Dinge komplexer werden und mehr Ordnung benötigen, fügen Sie weitere Unterverzeichnisse hinzu
Dann würdest du einfach entweder ..
01
, so etwas wie./01/10_tables.psql
01_mydb.sql
Ich werde die zweite Methode mit zeigen
find
,Verwenden Sie
find
, um ein Master-Load-Skript zu generieren.Lassen Sie uns fortfahren und diese Struktur erstellen.
Hier sind die Befehle, mit denen wir es erstellen.
Jetzt können Sie
find
ein Ladeskript generierenJetzt lauf einfach
master.psql
;quelle