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

Postgresql 如何在postgres数据库中执行.sql文件,postgresql,psql,Postgresql,Psql,我正在使用postgres数据库与PostGIS和PGAdmin。我有许多不同大小的.sql文件,比如300MB、280MB等,要插入数据库。最好的方法是什么,即通过java代码或一些psql命令。我对java和postgres数据库也很陌生。请给我一些建议。只需将它放在命令行的psql后面: psql example.sql psql将获取文件并将每一行运行到服务器 如果服务器未在您的计算机上运行,则需要指定计算机的主机名和登录服务器时使用的用户名: psql -h server.postg

我正在使用postgres数据库与PostGIS和PGAdmin。我有许多不同大小的.sql文件,比如300MB、280MB等,要插入数据库。最好的方法是什么,即通过java代码或一些psql命令。我对java和postgres数据库也很陌生。请给我一些建议。

只需将它放在命令行的
psql
后面:

psql example.sql
psql
将获取文件并将每一行运行到服务器

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

psql -h server.postgres.com -U username example.sql
要发送多个文件,只需列出所有文件:

psql example1.sql example2.sql example3.sql

使用
psql
命令行工具:

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

psql --single-transaction -f file_with_sql.sql
有关更多选项:

psql --help

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

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

$ cd ~/sql/

$ psql -h <host> -U <user> <database>
$cd~/sql/
$psql-h-U
=>
=>\i“run.sql”

完成

看,我有非常大的文件,需要发送到另一台服务器。因此,通过psql需要很长时间。是否有直接从pgadmin执行的操作?请看下面的链接,这是在一个事务中执行整个sql文件,还是在文件中的每一行使用一个新事务?
<database> => 

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