天天看点

PostgreSQL学习(3) - 数据库配置第三章 数据库配置(Configuration)

第三章 数据库配置(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是什么?

  该视图提供了对服务器运行时参数的访问。