我正在尝试使用psql
执行.sql文件。我在里面运行.sql文件,我写了以下查询\copy table name from .dumb
。因此,如果命令失败,它将默认处理提交/回滚。或者我们需要照顾它。
答案 0 :(得分:0)
如果\copy
失败,交易将被中止,例如:
t=# \! cat s07
create table trans(i int);
copy s07 from '/no such file';
t=# begin;
BEGIN
t=# \i s07
CREATE TABLE
psql:s07:2: ERROR: could not open file "/no such file" for reading: No such file or directory
t=# select * from trans;
ERROR: current transaction is aborted, commands ignored until end of transaction block
t=# end;
ROLLBACK
答案 1 :(得分:0)
全部取决于您正在运行的PG版本。因为psql的默认值是自动提交。在较新的版本中,您无法将其设置为关闭。因此,每次成功手动发出的COPY或\ copy命令都会立即提交。