前提,使用pg_dump导入一个纯文本文件即 参数F设置未p或者不设置。
根据需求可以修改文本文件的内容,比如删除 create EXTENSION......(一般情况下插件需要某些依赖 会执行失败)
在文本文件的开头添加 begin;结尾添加end;(事务)
使用psql命令执行,执行命令如下:
psql -U postgres -d postgres -p 5432 -c"\i f:/test/testsql.sql"
注意:文件的路径的分隔符必须时反斜杠,否则会报错
psql的其他参数的意义请参考api。
pg_restore虽然有回滚的参数,但是不能恢复纯文本文件。