一、配置参数所在文件、类型与查看方式

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 配置参数的更多相关文章

  1. PostgreSQL服务器参数配置

    服务器配置1 设置参数1.1 参数名称和值所有参数名都是大小写不敏感的.每个参数都可以接受五种类型之一的值: 布尔.字符串.整数. 浮点数或枚举.布尔: 值可以被写成 on, off, true, f ...

  2. PostgreSQL 配置内存参数

    对于任何数据库软件,内存配置项都是很重要的配置项.在 PostgreSQL 主要有以下几个内存配置参数. shared_buffers: integer 类型,设置数据库服务器将使用的共享内存缓冲区数 ...

  3. php源码安装常用配置参数和说明

    常用的配置参数1. --prefix=/usr/local/php 指定 php 安装目录 install architecture-independent files in PREFIX 默认/us ...

  4. PHP 源码安装常用配置参数和说明

    常用的配置参数1. --prefix=/usr/local/php指定 php 安装目录install architecture-independent files in PREFIX 默认/usr/ ...

  5. [转载]fullPage.js中文api 配置参数~

    fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...

  6. kafka配置参数

    Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的.本文列出了一些重要的配置参数. 官方的文档 Configu ...

  7. MySQL Cluster 7.3.5 集群配置参数优化(优化篇)

    按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...

  8. mha配置参数详解

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  9. 微信公众号网页开发-jssdk config配置参数生成(Java版)

    一.配置参数 参考官方文档:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&la ...

随机推荐

  1. centos7安装php7.3的redis扩展(不是redis服务!)

    PHP其他扩展加装扩展也是一样的步骤~ PHP官网下载redis扩展: http://pecl.php.net/package/redis 稳定版吧: [root@wf ~]# wget http:/ ...

  2. python内置模块介绍(一)

     本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd()                    ...

  3. 数据结构-单链表-类定义C++

    原理可访问https://www.cnblogs.com/yang901112/p/11674333.html 头文件 #ifndef RLIST_H #define RLIST_H #include ...

  4. 史上最全最新java面试题合集二(附答案)

    下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 51.类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断 ...

  5. O(1) gcd 板子

    const int N = 2e5+10; const int M = 500; int cnt, p[N], _gcd[M][M]; int v[N][3],vis[N]; int gcd(int ...

  6. Spring BeanFactory 与 FactoryBean 的区别

    BeanFactory 和 FactoryBean 都是Spring Beans模块下的接口 BeanFactory是spring简单工厂模式的接口类,spring IOC特性核心类,提供从工厂类中获 ...

  7. 洛谷 P1217 回文质数

    洛谷 P1217 回文质数 链接 https://www.luogu.org/problem/P1217 题目 题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 ...

  8. GoAccess 视图化access.log 日志

    1.安装GoAccess 工具可以直接使用 apt-get install goaccess 2.使用goaccess命令将日志生成html文件 goaccess 日志路径 -o 输出HTML的路径 ...

  9. 前端知识总结--ES6新特性

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 ...

  10. python之迭代器、生成器及列表推导式

    一.迭代器 迭代器就是迭代的工具,迭代是一个重复的过程,每次重复都是一次迭代并且每次迭代的结果都是下次迭代的初始值. lst=[1,2,3,4,5] count=0 while count<le ...