首页 > 数据库 >PG入门(2)postgreSQL重要配置文件及参数设置

PG入门(2)postgreSQL重要配置文件及参数设置

时间:2022-10-22 22:32:48浏览次数:42  
标签:log 配置文件 数据库 pg 参数设置 shared 服务器 buffers PG

pg_hba.conf

作用

哪些主机可以连接数据库实例
哪个数据库用户可以使用它
允许这个用户使用哪些数据库
客户端使用什么连接方式和认证方式


postgresql.conf

listen_addresses = '*'  #(关联配置文件pg_hba.conf)
#指定服务器在哪些 TCP/IP 地址上监听客户端连接。
值的形式是一个逗号分隔的主机名和/或数字 IP 地址列表。
特殊项*对应监听所有可用 IP 接口
0.0.0.0允许监听所有 IPv4 地址
并且::允许监听所有 IPv6 地址
如果列表为空,服务器将根本不会监听任何 IP 接口,在这种情况中只能使用 Unix 域套接字来连接它。
默认值是localhost,它只允许建立本地 TCP/IP "环回"连接。
这能帮助在不安全网络接口上阻止重复的恶意连接请求。
这个参数只能在服务器启动时设置。

port = 5866
#服务器监听的 TCP 端口;默认是 5866 。

max_connections = 100
#决定数据库的最大并发连接数。
这个参数只能在服务器启动时设置。(cpu 1核 50个链接)

shared_buffers
#它表示数据缓冲区中的数据块的个数,每个数据块的大小是8KB。
数据缓冲区位于数据库的共享内存中,它越大越好,不能小于128KB。
这个参数只有在启动数据库时,才能被设置。
默认值是128MB。
推荐值:1/4 主机物理内存

wal_buffers
#用于还未写入磁盘的 WAL 数据的共享内存量。
默认值 -1 表示将该参数值设置为 shared_buffers 的 1/32 的大小 ( 大约 3%),
但是不小于64kB 也不大于一个WAL段的大小(通常为 16MB)。
如果自动的选择太大或太小可以手工设置该值,但是任何小于 32kB 的正值都将被当作 32kB。
这个参数只能在服务器启动时设置。
事务日志缓冲区位于数据库的共享内存中。
推荐值:min( 2047MB, shared_buffers/32 ) = 512MB

work_mem
#指定在写到临时磁盘文件之前用于内部排序操作和哈希表的内存量。
ORDER BY, DISTINCT 和合并连接( merge joins) 都会用到排序操作。
默认值为 4 兆字节( 4MB)。
推荐值:work_mem = (输入内存数量- shared_buffers)/(连接数 * 3)* 1024 (单位是 KB);

maintenance_work_mem
#它决定数据库的维护操作使用的内存空间的大小。
数据库的维护操作包括VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY等操作。
值如果比较大,通常可以缩短VACUUM数据库和从dump文件中恢复数据库需要的时间。
maintenance_work_mem存放在每个数据库进程的私有内存中,而不是存放在数据库的共享内存中。这个参数可以在任何时候被设置。

开启日志采集
logging_collector = on

日志目录
log_directory = 'log'

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' 日志文件名字
log_truncate_on_rotation = off 是否覆盖
log_rotation_age = 1d 每天生成
log_rotation_size = 10MB 每个日志大小


优化建议

andom_page_cost = 2.5
规划器对一次非顺序获取磁盘页面的代价估计。 默认值是 4.0。 高端存储或者ssd可以适当调小该参数。

autovacuum_max_workers = 10
指定能同时运行的autovacuum进程的最大数量, 适当调大, 避免vacuum不及时导致表膨胀

checkpoint_completion_target = 0.7
增加checkpoint_completion_target来降低检查点的I/O负载, 默认0.5

archive_timeout =1800
强制服务器来周期性地切换到一个新的 WAL 段文件

archive_command = 'test ! -f /paic/dba/pgbackup/${PGNAME}/archlog/%f && pxz -2 < %p >
/paic/dba/pgbackup/${PGNAME}/archlog/%f'
pxz压缩归档日志, 64M的归档, 压缩时间可以在0.5s内, 压缩比一般可在1:3左右


配置参数级别

系统级别 /集群服务级别/实例级别(全局)
用户/角色级别
用户/角色 + 数据库级别
会话级别

参数设置级别

参数存储位置

cluster

postgresql.conf or postgresql.auto.conf

db

pg_db_role_setting

role

pg_db_role_setting

db 和 role的组合

pg_db_role_setting

使配置生效的几种方法

使配置生效的几种方法
1)用超级用户运行
SELECT pg_reload_conf();
2)使用pg_ctl命令触发SIGHUP信号
pg_ctl reload
3)用UNIX的kill手动发起HUP信号
ps -ef|grep -i postmaster|grep -v grep|xargs kill -HUP
4)重启数据库服务


查看配置

show all;                       #查看所有数据库参数的值
show shared_buffers; #查看某个参数的当前值(可查看当前会话值)
select current_setting('shared_buffers');


配置生效级别

sihup

给服务器发送HUP信号会使服务器重新加载postgresql.conf配置,可以立即生效

postmaster

只有服务重启才能生效

internal

编译期间的设置,只有重新编译才能生效。

backend

与sighup类似,但是不影响正在运行的会话,只在新会话中生效

superuser

使用superuser(如postgres)才能更改,不用重新加载所有配置即可生效

user

单个会话用户可以在任意时间做修改,只会影响该会话


标签:log,配置文件,数据库,pg,参数设置,shared,服务器,buffers,PG
From: https://blog.51cto.com/u_13874232/5786163

相关文章

  • mybaits配置文件 给类起名字
    <typeAliases><!--typeAlias:设置某个类型的别名属性:type:设置需要设置别名的类型alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小......
  • Nagios配置文件nagios.cfg详解
    这里开始要讲一些Nagios的配置。首先要看看目前Nagios的主配置路径下有哪些文件。[root@nagiosetc]#ll总用量152-rwxrwxr-x.1nagiosnagios18259月2414:40cgi.cf......
  • 第二章 ansible配置文件
    第二章ansible配置文件一、/etc/ansible有以下三个文件或者目录生成1、Hosts主机清单配置文件2、ansible.cfgAnsible配置文件3、Roles角色定义目录二、ansible配......
  • ansible配置文件
    Ansible配置文件目录Ansible配置文件一、ansible配置文件1.配置ansible2.配置文件优先级3.管理配置文件中的设置4.配置连接4.1连接设置4.2升级特权5.配置文件注释二、构建......
  • ini配置文件与ConfigParser对象
    ini配置文件与ConfigParser对象目录结构​​ini配置文件与ConfigParser对象​​​​ini配置文件简介​​​​configparser模块中的ConfigParser类​​​​常用方法​​​​......
  • centos 7 安装mysql 5.7失败 出现 Retrieving key from file:///etc/pki/rpm-gpg/RPM-
    Publickeyformysql-community-common-5.7.40-1.el7.x86_64.rpmisnotinstalled(1/5):mysql-community-common-5.7.40-1.el7.x86_64.rpm|311kB00:01......
  • 关于IDEA中Spring配置文件中的提示:File is included in 4 contexts.
    关于IDEA中Spring配置文件中的提示:Fileisincludedin4contexts.今天在学习SpringMVC框架的时候,由于web.xml中需要绑定Spring的配置文件,在配好Spring的配置文件并运行T......
  • PgSQL外连接分页时出现重复数据
    今天工作中遇到的问题。SELECT*FROMaLEFTJOINb ONa.c=b.d LIMIT20OFFSET0;SELECT*FROMaLEFTJOINb ONa.c=b.d LIMIT20OFFSET20;上面两条......
  • IOC 操作 Bean 管理(配置文件)
    1、基于xml方式创建对象(1)在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建(2)在bean标签有很多属性,介绍常用的属性*id属性:唯一标识*c......
  • 例程清单之 Altera-FPGA
    XilinxS6型例程【Verilog版|VHDL版】(0)工程创建例程【Verilog版|VHDL版】(1)xx例程【Verilog版|VHDL版】(2)xx例程【Verilog版|VHDL版】(3)xx例程【Verilog版......