2015-11-26 7 views
7

Ich benutze Postgres-Datenbank mit PostGIS und PGAdmin. Ich habe viele .sql Dateien mit verschiedenen Größen wie 300MB, 280MB usw., die in Datenbank eingefügt werden. Was ist der beste Weg, dies zu tun, d. H. Durch Java-Code oder einige psql-Befehle. Ich bin auch sehr neu in Java und Postgres-Datenbank. Bitte geben Sie mir einen Vorschlag.wie sql-Dateien in Postgres-Datenbank ausführen

Antwort

5

Setzen Sie ihn einfach auf der Kommandozeile nach psql:

psql example.sql 

psql die Datei nehmen und jede Zeile in dem Server ausgeführt werden.

Wenn der Server nicht auf Ihrem Computer ausgeführt wird, müssen Sie den Hostnamen an den Computer und einen Benutzernamen angeben, in den Server einloggen mit:

psql -h server.postgres.com -U username example.sql 

mehrere Dateien zu versenden, nur sie alle aufzuzählen :

psql example1.sql example2.sql example3.sql 
+1

[PSQL Dokumentation] (siehe http://www.postgresql.org/docs/9.1/static/app -psql.html) –

+0

Ich habe sehr große Dateien und diese müssen an einen anderen Server gesendet werden. es dauert also lange durch psql. Gibt es da eh direkt von pgadmin zu tun? – sasikala

+0

Besserer Blick unter http://stackoverflow.com/questions/3204274/importing-sql-file-on-windows-to-postgresql – charan

14

Verwenden psql Befehlszeilenprogramm:

psql -f file_with_sql.sql 

Dieser Befehl führt alle Befehle Zeile für Zeile aus (außer wenn die Datei BEGIN ... END Blöcke enthält. In diesem Fall werden Befehle in Blöcken in Transaktion ausgeführt). Wickeln alle Befehle in der Transaktion Verwendung --single-transaction Schalter:

psql --single-transaction -f file_with_sql.sql 

Weitere Optionen:

psql --help 
+0

Führt dies die gesamte SQL-Datei in einer Transaktion oder verwendet es eine neue Transaktion für jede Zeile in der Datei? – Ben

+0

@Ben Blick auf meine Bearbeitung. –