如何在postgres数据库中执行.sql文件

时间:2015-11-26 17:07:11

标签: postgresql psql

我正在使用postgres数据库和PostGIS以及PGAdmin。我有很多不同大小的.sql文件,如300MB,280MB等,可以插入到数据库中。什么是最好的方法,即通过Java代码或一些psql命令。我也是java和postgres数据库的新手。请给我一些建议。

3 个答案:

答案 0 :(得分:19)

使用psql命令行工具:

psql -f file_with_sql.sql

此命令逐行执行所有命令(当文件包含BEGIN ... END块时除外。在这种情况下,块中的命令在事务中执行)。要在事务中包装所有命令,请使用--single-transaction开关:

psql --single-transaction -f file_with_sql.sql

更多选择:

psql --help

答案 1 :(得分:5)

只需在psql之后将其放在命令行上:

psql example.sql

psql将获取该文件并将每一行运行到服务器。

如果您的计算机上没有运行服务器,则需要指定计算机的主机名和用户登录服务器的用户名:

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

要发送多个文件,只需将它们全部列出:

psql example1.sql example2.sql example3.sql

答案 2 :(得分:2)

另一种方法是使用psql命令 \ i 。例如,

假设我们在路径~/sql/run.sql

中有文件 run.sql
$ cd ~/sql/

$ psql -h <host> -U <user> <database>
<database> => 

<database> => \i 'run.sql'

完成