第三章 数据库配置(Configuration)
最优的设置在某些情况下,可能会随着时间而变化,本章主要内容:when, where and how
参考:《PostgreSQL 9 Administration Cookbook,Second Edition》
------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 在程序运行过程中配置设置参数:
先有个概念,不做展开
SET work_mem='16MB'
2. 当前配置设定(Current Configuration Settings)
一个会话期间,setting有可能是动态变化的,可能初始setting值与postgresql.conf设定值一致,但每一个参数的设定是缓存在每个会话里的(为了可以快速获得参数设定),他的设定在会话期间仍有可能变化。
改变参数设定的方式:
- 会话或者事务期间设定:SET/SET LOCAL
- 通过配置文件设定postgresql.conf(如果系统存在两个该文件,则可能出现读取错误)
- Alter SYSTEM ,类似于修改postgresql.conf,但并非真正修改
- 通过默认值设定覆盖全局设定(postgresql.conf): ALTER DATABASE / ALTER USER
获取某个时刻的参数设定的方法:
mydb=# SHOW work_mem --SHOW命令获得
mydb=# SELECT * FROM pg_settings WHERE name = 'work_mem'; --从pg_settings获得
显示配置文件位置的方法:
mydb=# SHOW config_file -- /etc/postgresql/9.5/main/postgresql.conf
3. pg_settings是什么?
该视图提供了对服务器运行时参数的访问。