PostgreSQL学习(二)—— 参数简介篇

PostgreSQL常见参数

listen_addresses = '172.16.3.57'  #监听的地址
max_connections = 1024  #最大连接数
port = 5432   #监听的端口

shared_buffers = 4G  #类似Oracle SGA
work_mem = 1G  #类似Oracle PGA,增加可以提高排序的效率
huge_pages = try  #尝试使用Huge Page管理内存


动态设置参数:
Alter Database 允许在单个数据库级别修改参数来覆盖全局参数.
Alter Role 允许数据库使用用户特定参数覆盖全局和单个数据库级别参数.

1) 查看参数:
查看某个参数:

mydb=# show shared_buffers;
 shared_buffers 
----------------
 128MB
(1 row)


查看全部参数:
mydb=# show all;
** pg_setting视图可以用来查看和修改会话级别的参数. **

2) 变更参数:

SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }

SESSION: 对当前会话生效,如果不写Session或者Local,默认就是Session.
LOCAL: 仅仅对当前Transaction有效,在ROLLBACK或者COMMIT之后则无效.

修改pg_settings和使用SET的效果相同, 但是pg_setting可以提供更加详细的参数信息.

mydb=# select name ,setting
mydb-# from pg_settings
mydb-# where name = 'shared_buffers';
      name      | setting 
----------------+---------
 shared_buffers | 16384       ==> 128MB
(1 row)


update pg_settings set settings=value where name='parameter_name';

需要重新启动生效的参数:
mydb=# set session shared_buffers = 20000;
ERROR:  parameter "shared_buffers" cannot be changed without restarting the server


3) 启动DB时指定参数

postgres -c para_name1='' -c para_name2=''


4) 参数文件管理

include_dir 'conf.d'
在$PGDATA/conf.d/下的文件应该有优先级顺序,数字越大优先级越高,会覆盖之前相同的参数设置.
00shared.conf
01memory.conf
02server.conf ==> 最后读取并覆盖之前相同的参数. 

include_file 'memory.conf'  在$PGDATA文件下.


5) 其他文件管理
数据文件位置: data_directory指定了数据文件的存放位置.
参数文件位置: 使用postgres命令时可以使用该参数-c config_file,用于指定参数文件的位置,方便参数文件的管理.
其他三种文件查看PostgreSQL 9.6 Chapter 19.2

注意: 如果指定参数文件路径, 请设置hba_file和ident_file参数, 否则找不到这两个文件(默认到$PGDATA找)

修改后的启动语句:
postgres -c config_file=/home/postgres/postgresql.conf -D /opt/postgresql-9.6.9/data > ~/pg_start_log/start_`date +%Y-%m-%d-%H:%M:%S`.log 2>&1  &


参考参数文件(后期继续补充):

listen_addresses = '172.16.3.57'
port = 5432
max_connections = 1024
shared_buffers = 4GB
work_mem = 1GB
huge_pages = try
dynamic_shared_memory_type = posix
logging_collector = on
log_directory = '/home/postgres/pg_error_log'
log_filename = 'pg-Port5432-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_timezone = 'PRC'
datestyle = 'iso, mdy'
timezone = 'PRC'
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
default_text_search_config = 'pg_catalog.english'
constraint_exclusion = 'partition'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值