Postgres设置全局自动提交

时间:2012-12-12 09:57:28

标签: postgresql transactions autocommit

如何在全局级别的psql 8.4中设置autocommit?是否有一个配置属性,我可以更改,将为群集上的所有dbs引入此行为,以启动自动提交关闭的数据库会话?

3 个答案:

答案 0 :(得分:14)

只需将以下内容添加到~/.psqlrc

即可
\set AUTOCOMMIT off 

请注意,这仅在使用psql shell时有效!我认为这就是你在说什么?

答案 1 :(得分:8)

如果您想要(开放)交易,请使用交易:

BEGIN;
  INSERT ...;
  UPDATE ...;
COMMIT; -- when you're done

答案 2 :(得分:0)

就像 exhuma 所说的,您可以在您的个人 ~/.psqlrc 文件中将其设置为关闭。

\set AUTOCOMMIT off 

但是由于您要求全局级别,因此 Ubuntu 上的正确文件是 /etc/postgresql-common/

中的 psqlrc(不带前导点)

要评估系统上的正确目录,您可以使用:

pg_config --sysconfdir 

中有一个示例 psqlrc 文件
/usr/share/postgresql/12/psqlrc.sample

(对于版本 12,显然)但它不包含更多信息。

使用

在您的系统上找到它
locate psqlrc 

我不能说这些信息是否适用于 12 之前的旧版本,但根据我的记忆,至少对于个人 rc 文件是有效的。