PostgreSQL DBA(156) - pgAdmin(Rollback setting)

PostgreSQL中的一个细节问题:参数设置与事务相关,如希望参数“永久”生效,不要在事务中设置参数。

如下例所示,启动事务,设置参数,修改写入到pg_setting中,回滚事务,相关的配置也会回滚。

[local:/data/run/pg12]:5120 pg12@testdb=# begin;
BEGIN
[local:/data/run/pg12]:5120 pg12@testdb=#* show enable_seqscan;
 enable_seqscan 
----------------
 on
(1 row)
[local:/data/run/pg12]:5120 pg12@testdb=#* set enable_seqscan=off;
SET
[local:/data/run/pg12]:5120 pg12@testdb=#* select name,setting from pg_settings where name = 'enable_seqscan';
      name      | setting 
----------------+---------
 enable_seqscan | off
(1 row)
[local:/data/run/pg12]:5120 pg12@testdb=#* rollback;
ROLLBACK
[local:/data/run/pg12]:5120 pg12@testdb=# select name,setting from pg_settings where name = 'enable_seqscan';
      name      | setting 
----------------+---------
 enable_seqscan | on
(1 row)
[local:/data/run/pg12]:5120 pg12@testdb=#

这是个细节问题,使用中注意即可。

参考文档
Setting Postgres’s Configuration Parameters

请使用浏览器的分享功能分享到微信等