Wie führe ich eine .sql-Datei in PostgreSQL 9.2.6 + CentOs aus?

18

Ich möchte wissen, wie man eine .sql-Datei in PostgreSQL ausführt. Ich verwende CentOs 6.4.

Ich habe eine Datenbank erstellt und muss nur ein mir übergebenes Skript ausführen, um Tabellen zu erstellen.

Danke im Voraus.

Linux NewB
quelle

Antworten:

30

Verwendung psql:

psql -f thefile.sql targetdatabase

Möglicherweise müssen Sie zusätzliche Parameter angeben, z. B. Benutzername zum Herstellen einer Verbindung, Host zum Herstellen einer Verbindung usw.

Craig Ringer
quelle
1
Hallo Craig, ich konnte das Skript mit folgendem Befehl erfolgreich ausführen: psql -U Benutzername -d Datenbank -a -f Verzeichnis / Dateiname Danke,
Linux NewB
18

Wenn Sie sich bereits in der Datenbank angemeldet haben, können Sie Metabefehle wie verwenden

db=# \i or \include filename

Weitere Informationen finden Sie in der Dokumentation

Shiva
quelle
Diese Antwort war im Internet überraschend schwer zu finden!
Joel Cross
4

Ich füge dies hinzu, es könnte nützlich sein, wer versucht, * .sql auszuführen, wo sich der PostgreSQL-Server an einem anderen Ort befindet.

   psql -h localhost -d userstoreis -U admin -p 5432 -a -q -f /home/jobs/Desktop/resources/postgresql.sql

Dies ist die Verwendung jedes Parameters

-h PostgreSQL server IP address
-d database name
-U user name
-p port which PostgreSQL server is listening on
-f path to SQL script

Anschließend werden Sie aufgefordert, das Kennwort des Benutzers einzugeben.

GPrathap
quelle
0

Meine Lösung auf dem Mac: Ich muss ""mit psql verwenden. Ich habe dies mit Vscode-Terminal ausgeführt

Ich habe das von den PostgreSQLs gelernt runpsql.sh

"/Library/PostgreSQL/11/bin/psql" -h "localhost" -p "9000" -U "username" "database" -f data.sql
Jixuan Cheng
quelle