7

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

4

3 回答 3

16

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

\set AUTOCOMMIT off 

请注意,这仅在使用psqlshell 时有效!我想这就是你在说什么?

于 2013-10-18T09:27:28.523 回答
9

如果您想要一个(打开的)事务,请使用事务:

BEGIN;
  INSERT ...;
  UPDATE ...;
COMMIT; -- when you're done
于 2012-12-12T11:21:43.863 回答
1

就像 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 文件是有效的。

于 2021-07-01T22:41:33.010 回答