我正在使用postgres数据库和PostGIS以及PGAdmin。我有很多不同大小的.sql文件,如300MB,280MB等,可以插入到数据库中。什么是最好的方法,即通过Java代码或一些psql命令。我也是java和postgres数据库的新手。请给我一些建议。
答案 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
$ cd ~/sql/
$ psql -h <host> -U <user> <database>
<database> =>
<database> => \i 'run.sql'
完成