Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
确定数据库服务器在执行一条 COMMIT 后何时将控制返回应用程序。
On、Off
Off(这种情况符合 ISO COMMIT 行为)
可以为单个连接或 PUBLIC 设置此选项。您必须具有 SET ANY PUBLIC OPTION 系统特权才能为 PUBLIC 或者其他用户或角色设置此选项。设置立即生效。
此选项设置为 On 时,数据库服务器会立即响应 COMMIT 语句,而不是一直等到 COMMIT 的事务日志条目写入磁盘。此选项设置为 Off 时,应用程序必须等到 COMMIT 写入磁盘。
当此选项设置为 On 时,日志会在日志页已满时写入磁盘,或根据 delayed_commit_timeout 选项设置写入磁盘,无论哪个条件先满足。即使事务已提交,但如果系统故障发生在数据库服务器响应 COMMIT 之后,但在页写入磁盘之前,也有可能发生事务丢失。将 delayed_commits 设置为 On 并将 delayed_commit_timeout 选项设置为高值,会加快响应时间,但在恢复期间稍有丢失已提交事务的风险。
如果 cooperative_commits 和 delayed_commits 选项都设置为 On,并且在 cooperative_commit_timeout 这段时间间隔内没有页面写入,则应用程序会继续执行(如同提交已经生效),并且会使用剩余的间隔 (delayed_commit_timeout - cooperative_commit_timeout) 作为 delayed_commits 间隔,在此间隔之后,即使页未满,也会将页写入。