PostgreSQL 配置参数
一、配置参数所在文件、类型与查看方式
1、配置参数所在文件
postgresql.conf
2、配置参数类型
1)internal只读参数
这些参数不配置在postgresql.conf中,他们由postgres程序和在初始化实例时写死
2)postmaster
这些参数的值需要重启PostgreSQL实例。在postgresql.conf文件中改变这些参数后,
需要重启PostgreSQL实例才能生效。
3)sigup
在postgresql.conf中改变参数值,不需要重启数据库;只需要向数据库postmaster
进程发送SIGHUP信号。
4)backend
在postgresql.conf中改变参数值,不需要重启数据库;只需要向数据库postmaster
进程发送SIGHUP信号
但是新的配置值只会在之后新的连接中有效,在已有的连接中不生效。
5)superuser
需要超级用户使用set来改变;
超级用户改变此参数数值时,只会影响自身的session配置,不会影响其他用户。
向postmaster进程发送SIGHUP信号,也只会影响后续建的连接。
6)user
普通用户可以使用set命令来改变;
3、查看方式
1)所有配置参数都在系统试图pg_settings中
select enumvals from pg_settings where name='client_min_messages';
2)通过pg_settings表中的context字段来查看参数类型
select name,context from pg_settings where name like 'wal_buffers';

二、配置参数
1、连接配置项
1)listen_addresses
声明服务器监听客户端连接的TCP/IP地址,改变这个参数需要重启数据库服务。
如果主机有多个IP,用逗号隔开,PostgreSQL服务在多个IP地址上监听。
当配置为0.0.0.0或*,表示监听本机的所有IP
默认值是localhost,表示只允许本地使用loopback连接到数据库,其他机器无法连接到
如果值为空,只有UNIX域套接字可以连接到
2)port
指定服务器监听的TCP端口,默认为5432
改变这个参数需要重启服务器
同一个端口用于服务器监听的所有IP地址
3)max_connections
允许数据库连接的最大并发连接数,改变此参数需要重启数据库服务
默认100
4)superuser_reserved_connections
为PostgreSQL超级用户连接而保留的连接数,默认值为3。
改变此参数需要重启。
这个值必须小于max_connections
max_connections-superuser_reserved_connections=普通用户最大连接数
5)unix_socket_group
6)unix_socket_permissions
7)
2、内存配置项
1)shared_buffers
数据库服务器共享内存缓冲区的数量,缓存数据块使用。
默认4000个块,4000*8K=32MB
此值必须大于16,并且至少是max_connections的两倍
2)temp_buffer
设置每个数据库会话使用临时缓冲区的最大数目。
只用于访问临时表。
临时缓冲区是在某个连接会话的服务进程中分配的,属于本地内存。
默认1000,对于8K的数据块大小为8MB
每个会话可以使用SET命令设置,必须在会话第一次使用临时表前设置,一旦使用临时表之后,在改变此参数将是无效的
并不是一启动会话就分配,需要时才分配
3)work_mem
内部排序操作、Hash表开始使用临时磁盘文件之前可使用的内存数目
这个内存是本地内存,数值以千字节为单位,默认是1024千字节(1MB)
4)maintenance_work_mem
生命在维性护操中使用的最大内存数,比如:VACUUM、CREATE INDEX、ALter table add foreign key
默认为16MB
把这个设置的比work_mem大一些,可以提高操作速度
在配置autovacuum后,若时间达到了autovacuum_max_workers数值,将分配这个内存
因此也不要将这个数值设置太大,若需要手工操作,可使用set命令把此参数设置大一些
5)max_stack_depth
声明服务器执行堆栈内核限制值
默认为2MB,如果发现不能运行复杂函数,可以适当调高此值,通常保持默认即可
3、预写日志的配置项
1)wal_level
可选择值为minimal、archive、hot_standby
minimal即只写入数据库崩溃或突然关机后进行恢复时需要的信息
archive即会添加WAL归档需要的记录
hot_standby会添加一些备库只读查询需要的信息
当执行create table as、create index、cluster、copy into tables 等批量操作时,如果wal_level
设置为minimal,则会产生很少的日志,原因是批量操作的具体过程可以安全跳过,并不影响恢复
2)fsync
是否使用
3)synchronous_commit
声明提交一个事务是否需要等待其把WAL日志写入磁盘后再返回,默认是“on”
4)wal_sync_method
用来指定向磁盘强制更新WAL日志数据的方法
5)full_page_writes
6)wal_buffers
wal缓冲区,默认为-1,大小为1/32的shared_buffer,最小不少于64k,最大不大于一个wal_segment(默认16M大小),一般保持默认即可,因为过了wal_writer_delay(默认200ms)总会刷新清空此缓存,设置太大了也用不上.
7)wal_writer_day
指定wal writer process把WAL
8)commit_delay
9)commit_siblings
4、错误报告和日志项
logging_collector = on
PostgreSQL 配置参数的更多相关文章
- PostgreSQL服务器参数配置
服务器配置1 设置参数1.1 参数名称和值所有参数名都是大小写不敏感的.每个参数都可以接受五种类型之一的值: 布尔.字符串.整数. 浮点数或枚举.布尔: 值可以被写成 on, off, true, f ...
- PostgreSQL 配置内存参数
对于任何数据库软件,内存配置项都是很重要的配置项.在 PostgreSQL 主要有以下几个内存配置参数. shared_buffers: integer 类型,设置数据库服务器将使用的共享内存缓冲区数 ...
- php源码安装常用配置参数和说明
常用的配置参数1. --prefix=/usr/local/php 指定 php 安装目录 install architecture-independent files in PREFIX 默认/us ...
- PHP 源码安装常用配置参数和说明
常用的配置参数1. --prefix=/usr/local/php指定 php 安装目录install architecture-independent files in PREFIX 默认/usr/ ...
- [转载]fullPage.js中文api 配置参数~
fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...
- kafka配置参数
Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的.本文列出了一些重要的配置参数. 官方的文档 Configu ...
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- 微信公众号网页开发-jssdk config配置参数生成(Java版)
一.配置参数 参考官方文档:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&la ...
随机推荐
- Java两整数相除保留两位小数
int num1 = 7; int num2 = 9; // 创建一个数值格式化对象 NumberFormat numberFormat = NumberFormat.getInstance(); / ...
- 解决VS2017中使用scanf函数报错的问题
我们在VS2017中如果使用C语言的scanf输入函数,编译的时候编译器会报error C4996: 'scanf': This function or variable may be unsafe. ...
- python3快速安装升级pip3
一.下载地址: 获取get-pip.py安装文件: 官网链接:https://bootstrap.pypa.io/get-pip.py 百度云链接:https://pan.baidu.com/s/14 ...
- SAS学习笔记56 ODS ESCAPECHAR
这种内嵌格式独立于style型和table型,它既可以结合二者使用,也可以独立使用.它主要通过下列语句的格式形式来进行调用: ODS ESCAPECHAR ‘^’; 上述符号’^’表示触发条件,如果碰 ...
- Arm-Linux 移植 alsa
ref : https://www.cnblogs.com/yutingliuyl/p/6718875.html https://blog.csdn.net/yuanxinfei920/article ...
- 在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值)
原文:在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. sql循环取差值,该怎 ...
- 《程序是怎样跑起来的》读书笔记——第一章 对程序员来说CPU是什么
1 程序的运行流程 2 CPU的组成 3 寄存器的主要种类和功能 "程序计数器"--决定程序流程的 4 条件分支和循环机制 4.1 顺序执行 4.2 选择分支 5 函数的调用机制 ...
- vue混入 (mixin)的使用
混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能.一个混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项. 使用示 ...
- 如果只有1小时学Python,看这篇就够了
大家好,我是大鹏,城市数据团联合发起人,致力于Python数据分析.数据可视化的应用与教学. 和很多同学接触过程中,我发现自学Python数据分析的一个难点是资料繁多,过于复杂.大部分网上的资料总是从 ...
- Hibernate更新、删除后数据库无变化
转自:https://ask.csdn.net/questions/756109 !-- 配置事务管理器 --> <tx:advice id="advice" tran ...