2015-11-26 11 views
7

Używam bazy danych postgres z PostGIS i PGAdmin. Mam wiele plików .sql o różnych rozmiarach, takich jak 300 MB, 280 MB itp., Które należy wstawić do bazy danych. Jaki jest najlepszy sposób to zrobić, np. Za pomocą kodu Java lub niektórych poleceń psql. Jestem również bardzo nowy w bazie danych java i postgres. Proszę, daj mi jakąś sugestię.jak wykonać pliki .sql w bazie danych Postgresów

Odpowiedz

5

Wystarczy umieścić go w wierszu poleceń po psql:

psql example.sql 

psql odbędzie plik i uruchomić każdą linię do serwera.

Jeśli serwer nie jest uruchomiony na komputerze, trzeba będzie podać nazwę hosta do komputera i nazwę użytkownika, aby zalogować się do serwera z:

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

Aby wysłać wiele plików, po prostu wymienić je wszystkie :

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

patrz [psql Dokumentacja] (http://www.postgresql.org/docs/9.1/static/app -psql.html) –

+0

Mam bardzo duże pliki i te muszą być wysłane na inny serwer. więc przez długi czas zajmuje psql. czy jest tak do zrobienia bezpośrednio z pgadmin? – sasikala

+0

Lepiej spójrz pod link http://stackoverflow.com/questions/3204274/importing-sql-file-on-windows-to-postgresql – charan

14

Zastosowanie psql narzędzie wiersza polecenia:

psql -f file_with_sql.sql 

To polecenie wykonuje wszystkie polecenia wiersz po wierszu (z wyjątkiem sytuacji, gdy plik zawiera bloki BEGIN ... END. W tym przypadku komendy w blokach są wykonywane w transakcji). Zawijać wszystkie polecenia w użyciu transakcji --single-transaction przełącznik:

psql --single-transaction -f file_with_sql.sql 

Więcej opcji:

psql --help 
+0

Czy to wykonać cały plik sql w jednej transakcji lub czy używa nowej transakcji dla każdego linia w pliku? – Ben

+0

@Ben spójrz na moją edycję. –

Powiązane problemy