微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql全局系统表pg_db_role_setting

postgresql全局系统表pg_db_role_setting记录不同用户,在不同的数据库中配置run-time configuration variables(运行时参数)。比较常用情况是,跟进某一个用户,在某个库的行为时,可以设置日志水平为mod,而全局的日志水平是DDL,具体用法:(超级用户设置)

postgres=#alterrolemy_uindatabasepostgressetlog_statement='mod';
ALTERROLE

再以这个用户登录

[postgres@vm1_210_3~]$psql-Umy_u-dpostgres
psql(9.4.1)
Type"help"forhelp.

postgres=>\c
YouareNowconnectedtodatabase"postgres"asuser"my_u".
postgres=>showlog_statement;
log_statement
---------------
mod
(1row)

postgres=>\cmy_db
YouareNowconnectedtodatabase"my_db"asuser"my_u".
my_db=>showlog_statement;
log_statement
---------------
ddl
(1row)

可以看到,同一个用户,在不同的数据库中,日志水平是不同的。

查询pg_db_role_setting

my_db=>select*frompg_db_role_setting;
setdatabase|setrole|setconfig
-------------+---------+---------------------
13003|16384|{log_statement=mod}
(1row)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐