如何在全局级别设置psql 8.4中的自动提交关闭?是否有一种配置属性可以更改,以引入此行为以使集群上的所有数据库在启动数据库会话时都关闭自动提交?
如何在全局级别设置psql 8.4中的自动提交关闭?是否有一种配置属性可以更改,以引入此行为以使集群上的所有数据库在启动数据库会话时都关闭自动提交?
只需将以下内容添加到~/.psqlrc
中:
\set AUTOCOMMIT off
请注意,这仅适用于使用psql
shell时!我假设这就是你所说的?
如果你想要一个(开放的)事务,请使用事务:
BEGIN;
INSERT ...;
UPDATE ...;
COMMIT; -- when you're done
正如exhuma所说,你可以在个人的~/.psqlrc文件中将其设置为关闭状态。
\set AUTOCOMMIT off
但是既然您要求全局级别,Ubuntu上正确的文件是/etc/postgresql-common/中没有前导点的psqlrc。
要评估您系统上的正确目录,您可以使用:
pg_config --sysconfdir
在这里有一个样例psqlrc文件:
/usr/share/postgresql/12/psqlrc.sample
(显然是版本12)但它不包含进一步的信息。
使用以下方法在您的系统中找到它
locate psqlrc
BEGIN
来开启一个事务。请注意PostgreSQL的版本。 - Craig Ringer