2016-12-23 73 views
6

我使用的Postgres 9.5。我如何检查自动提交是否开启或关闭?我试图SHOW AUTOCOMMIT在那里我得到ERROR: unrecognized configuration parameter "autocommit"然后我做了\set autocommit off然后SHOW AUTOCOMMIT给我空白输出。如何识别自动提交是否开启或关闭?我也可以将它设置为在我的sql文件中创建数据库时/之后关闭?如何检查是否是自动提交或不Postgres的PSQL

+1

好问题。自动提交似乎一直处于开启状态,并且在尝试查看设置时也收到了相同的消息。 PG 9.4至少显示文本,autocommit不能设置为OFF。但是9.5和9.6给出了这个错误,尽管文档仍然包含set和show autocommit命令。 – JosMac

+1

是在postgres自动提交默认情况下。我们可以使用'\ set AUTOCOMMIT off'关闭它。 – aaj

回答

9

根据this达斯汀马克思的文章,你可以使用:

\echo :AUTOCOMMIT 

如果它需要“永远”都自动提交残疾人,\设置 AUTOCOMMIT关元命令可被添加到一个本地〜/ .psqlrc 文件。为了更全局设置,该元命令可以在数据库的系统config目录放置在 apsqlrc文件(可以 使用PostgreSQL的操作系统级别的命令pg_config --sysconfdir定位)。

+0

谢谢。什么是永久性关闭的最佳地点?在我的应用程序中,我有一个创建数据库的sql文件。我应该把它放在那里吗? – aaj

+0

我得到了'你需要安装PostgreSQL服务器-DEV-XY为构建服务器端扩展或libpq的-dev的,当我做了'建立一个客户端application.' pg_config --sysconfdir' – aaj

+0

@ love2code:把在回答 –

相关问题