PostgreSQL教程(2)PostgreSQL配置文件

tanglu Other 2020-08-27 3729 0

一、PostgreSQL配置文件介绍

按照https://www.linuxe.cn/post-611.html的方法安装好PGSQL以后服务虽然已经可以启动,但并不符合生产要求,所以还需要通过配置文件来进行一些参数设置。PGSQL配置文件默认存放于data路径下,主要有几下几个需要关注:

· postgresql.conf:主配置文件,用于设置服务端口、日志、内存等
· pg_hba.conf:权限认证文件,也可以理解为访问控制列表

· postgresql.auto.conf:辅配置文件,优先级高于postgrelsql.conf,该文件由服务自动创建,不应该手动修改

· pg_ident.conf:自定义认证方式,然后在hba.conf中进行使用


二、postgresql.conf

listen_addresses = '192.168.0.103' 
port = 5432   #端口
max_connections = 1000  #并发数
superuser_reserved_connections = 3 #为管理员保留的连接数,防止最大连接达到后管理员也无法登录的情况

#日志参数
logging_collector = on  #打开日志,会记录各种error信息、慢查询、服务启停等信息
log_directory = 'logs'  #日志存放相对路径,在postgresql/data目录下
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'  #日志命名格式
log_rotation_age = 1d  #每天生成一个文件
# log_rotation_size = 500M  #也可以按照日志大小来切割文件
log_truncate_on_rotation = off  #日志是否覆盖,进行循环使用
max_wal_size = 1GB
min_wal_size = 80MB  #wal日志最小占用的硬盘空间,只要不超过这个值,WAL日志都不会被删除而是复写。推荐设置为shared buffer的一半

#内存参数
shared_buffers = 512MB  #PGSQ共享内存缓存空间,建议系统内存的25%左右即可
work_mem =4M #排序操作可用内存,比如group by、order by等,每个客户端连接都会申请一块内存空间
aintenance_work_mem = 64MB  #维护性操作可用内存,如alter table、VACUUM


三、pg_hba.conf主要配置项

配置方式有点visudo,method中trust代表无需密码,md5则是需要输入用户密码。该配置文件中如果出现了冲突情况,第一个匹配到的规则优先生效,不再匹配后面的规则

#TYPE    DATABASE      USER          ADDRESS            METHOD
host      all           all          0.0.0.0/0          trust
host      linuxe       tanglu        0.0.0.0/0          md5


四、重启服务让配置生效

对于一些配置项可以通过reload重新加载,比如pg_hba.conf里的配置,通过一条SQL语句可以查出修改的配置是否需要重启服务

/usr/local/postgresql/bin/pg_ctl -D /data/postgresql/data/ restart
select name,context from pg_settings where name like '%wal_buffers%'   #如果context为postmaster代表需要重启服务才能生效


pgsql_conf.jpg

版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!

评论