2016-12-20 45 views
0

我試圖用psql執行.sql文件。我運行.sql文件裏面我寫了以下查詢\copy table name from .dumb。所以如果命令失敗,它會默認處理提交/回滾。或者我們需要照顧這一點。做「 copy」命令處理提交和回滾在postgres?

+0

請編輯您問:你想運行SQL文件或從file'?.. –

回答

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 
+0

'\複製表謝謝,,,所以無需手動處理。 – Shashi

+0

你如何手動處理提交?.. –

+0

那麼什麼是提交行爲。 – Shashi

0

一切都取決於你正在運行PG的版本。因爲psql的默認是自動提交。而在更新的版本中,您無法將其關閉。所以每個成功的手動發佈的COPY或\ copy命令都會立即提交。