在Windows上的PostgreSQL的单个事务中运行多个SQL文件

时间:2017-12-16 07:01:46

标签: windows postgresql batch-file

我试图在PostgreSQL的单个事务中运行多个SQL文件。在Linux环境中,实际上可以通过使用here-document as来实现:

psql -U postgres -h localhost -d mydatabase << files
BEGIN;
\i file1.sql
\i file2.sql
commit;
files

但我无法在Windows环境中实现相同目标。

1 个答案:

答案 0 :(得分:2)

将所有内容放在一个文件中,例如

\i file1.sql
\i file2.sql

然后使用-f参数调用psql。要强制执行单个事务,请使用--single-transaction

psql -U postgres -h localhost -d mydatabase --single-transaction -f the_script.sql