PostgreSQL配置文件--资源使用(除WAL外)

本文详细介绍了PostgreSQL配置文件中关于资源使用的各项参数,包括内存管理(shared_buffers、huge_pages等)、硬盘使用(temp_file_limit)、内核资源限制(max_files_per_process等)、Cost-Based Vacuum Delay策略、Background Writer设置以及异步行为配置,旨在优化数据库的性能和资源利用率。
摘要由CSDN通过智能技术生成

2 资源使用(除WAL外) RESOURCE USAGE (except for WAL)

2.1 内存 Memory

2.1.1 shared_buffers

数字型
默认: shared_buffers = 128MB ,最小值128KB
重启数据库生效
影响postgresql性能的重要参数之一
共享缓冲区大小。postgresql对数据操作时都要先将数据从磁盘读取到内存中,然后进行更新,最后再将数据写回磁盘。
shared_buffers的功能就是用于存放从磁盘读取的数据。
根据文档参数的设置范围一般在25%~40%之间。
windows与linux对内存的管理方式不同,在linux中需要注意共享段大小的设置(/etc/sysctl.conf中的kernel.shmmax)。
kernel.shmmax决定了进程可调用的最大共享内存数量。
简单的计算方法是kernel.shmmax=postgres shared_buffers + 32 MB

2.1.2 huge_pages

字符型
默认: huge_pages = try ,on(使用)、off(不使用)、try(尽量使用)三选一。
重启数据库生效
数据库是否使用大页
需要OS的支持,配置vm.nr_hugepages*2MB大于shared_buffers.

2.1.3 temp_buffers

数字型
默认: temp_buffers = 8MB ,最小值800KB
称之为临时缓冲区,用于存放数据库会话访问临时表数据
可以在单独的session中对该参数进行设置,尤其是需要访问比较大的临时表时,将会有显著的性能提升。
临时表缓冲区存放在每个数据库进程的私有内存中,而不是存放在数据库的共享内存中。

2.1.4 max_prepared_transactions

数字型
默认: max_prepared_transactions = 0
重启数据库生效
它决定能够同时处于prepared状态的事务的最大数目(参考PREPARE TRANSACTION命令)。
值为0,则将数据库将关闭prepared事务的特性。
通常应该和max_connections的值一样大。
每个事务消耗600字节共享内存。
注意:设置为非0值不可取,除非知道你在做什么。it is not advisable to set max_prepared_transactions nonzero ,unless you actively intend to use prepared transactions.

2.1.5 maintenance_work_mem


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值