Postgresql-psql取消语句

Postgresql-psql取消语句,postgresql,psql,Postgresql,Psql,当我在psql提示符中发出一个“delete”语句,然后在运行时取消它(按Ctrl-C),这由“ERROR:canceling statement due to user request”确认时,我是否可以确保没有删除任何行,或者我是否应该假设某些行可能已被删除 非常感谢您的回答 问候,, JacekDELETE[…WHERE…]语句作为单个事务执行,因此只有两种可能的结果: 数据库未更改(未删除任何行) 所有行都已删除 如果事务通过取消而中止,则结果为#1-无更改 #2只有在取消太晚而无法中止

当我在psql提示符中发出一个“delete”语句,然后在运行时取消它(按Ctrl-C),这由“ERROR:canceling statement due to user request”确认时,我是否可以确保没有删除任何行,或者我是否应该假设某些行可能已被删除

非常感谢您的回答

问候,,
Jacek

DELETE[…WHERE…]语句作为单个事务执行,因此只有两种可能的结果:

  • 数据库未更改(未删除任何行)

  • 所有行都已删除

  • 如果事务通过取消而中止,则结果为#1-无更改

    #2只有在取消太晚而无法中止事务时才会出现。

    为避免出现第2种情况,
    自动提交
    可以关闭(
    \set AUTOCOMMIT off
    ,可以添加到
    .psqlrc
    作为默认设置),并且需要显式的
    提交
    ,以使删除永久化。