PostgreSql 参数配置

一、访问控制参数配置

https://xiaosonggong.blog.csdn.net/article/details/124264877

二、数据库参数配置

2.1 概述

  PostgreSQL 的参数配置参数是在 postgresql.conf 文件中集中管理的,类似于 Oracle 的 pfile 文件,除此之外,PostgreSQL 还有一个 postgresql.auto.conf 文件,这个文件保存了通过 alter system 命令修改的设置,类似与 Oracle 的 spfile 文件,区别如下:

postgresql.confpfilepostgresql.auto.confspfile
ASCII文本文件ASCII文本文件ASCII文本文件二进制文件
手动编辑手动编辑手动编辑、alter system 修改alter system 修改
重启库或重载配置文件生效用 pfile 重启库生效重启库或重载配置文件生效立即生效或重启库生效

2.2 定义规则说明

示例如下

--postgresql.conf 部分示例
# - Memory -shared_buffers = 128MB                  # min 128kB# (change requires restart)
#huge_pages = try                       # on, off, or try# (change requires restart)
#temp_buffers = 8MB                     # min 800kB
#max_prepared_transactions = 0          # zero disables the feature# (change requires restart)--postgresql.auto.conf 部分示例
listen_addresses = '*'
max_connections = '200'
superuser_reserved_connections = '10'
shared_buffers = '500MB'
log_destination = 'csvlog'
logging_collector = 'on'
log_directory = 'logs'
  • 每一行指定一个参数。
  • 名称和值之间的等号是可选的,shared_buffers = 128MB 等效于 shared_buffers 128MB。
  • 空白是无意义的(除了在一个引号引用的参数值内)并且空行被忽略。
  • 井号(#)代表注释。
  • 所有配置项的参数名都是大小写不敏感的,shared_buffers = 128MB 等效于 SHARED_BUFFERS = 128MB。
  • 如果文件包含相同参数的多个条目,则忽略除最后一个之外的所有条目。
  • postgresql.auto.conf 文件会覆盖 postgresql.conf 文件中的同名配置。
  • 所有相对路径信息均相对数据库 data 目录而言,如上述日志目录 logs,全路径为 $PGDATA/logs。
  • 参数后的注释信息为该参数说明,如上述 # min 128kB,表示 shared_buffers 最小值为 128kB,# (change requires restart),表示 shared_buffers 参数修改需重启数据库生效。注释未注明需重启数据库生效的,一般重载配置文件即可生效。
pg_ctl reload -D 数据目录

等效于连入数据库执行

select pg_reload_conf();
  • 参数值有以下5种数据类型:

布尔:布尔值都是大小写无关的,可以是 on、off、true、false、yes、no、1、0。
整数:数值可以指定单位,如一些内存配置的参数可以指定 KB、MB、GB 等单位。
浮点数:可以指定小数的数值,如 “1.0”。
字符串:单引号包起来的字符串,如 ‘csvlog’。
枚举:不需要单引号引起来的字符串。

2.3 配置技巧

1) 支持 include 调用外部文件

管理大批量服务器时,模块化的管理配置往往是高效的。

--调用外部配置文件
include '/home/postgres/conf.d/shared.conf'
include '/home/postgres/conf.d/memory.conf'
include '/home/postgres/conf.d/server.conf'--调用外部目录
include_dir '/home/postgres/conf.d'--目录中配置文件可以按如下方式命令
00shared.conf
01memory.conf
02server.conf

调用外部目录时,存在如下限制

  • 只有.conf 结尾的非目录文件才会被包括。
  • 以 . 字符开头的文件名会被忽略。
  • 数据库将按照命名方式顺序调用,当存在重复参数时,最后调用的配置会覆盖之前的配置。

2)参数配置相关信息查询

--show 参数名可查看当前生效参数配置
postgres=# show log_statement;log_statement
---------------ddl
--上述效果等同于
postgres=# select setting from pg_settings where name = 'log_statement';setting
---------ddl--枚举类型可选参数值查询
postgres=# select enumvals from pg_settings where name = 'log_statement';enumvals
--------------------{none,ddl,mod,all}--参数描述查询
postgres=# select short_desc,extra_desc from pg_settings where name = 'log_statement';short_desc              | extra_desc
-------------------------------------+------------Sets the type of statements logged. |--查询参数默认单位
postgres=# select unit from pg_settings where name = 'autovacuum_vacuum_cost_delay';unit
------ms--查询参数如何生效
postgres=# select context from pg_settings where name  = 'log_statement';context
-----------superuser

context 字段值说明

internal:这类参数是只读参数,其中,有些参数是 postgres 程序写死的,或者是用不同的编辑选项确定的;有些参数是数据库实例初使化时就确定了的,比如创建实例时运行 initdb,可以使用一些命令行参数选项来确定某些参数的值,如可以在 initdb 中使用 -k 把参数 “data_checksums” 初使化为
“on”,之后就不能再改变此参数值了。这类参数值不能在 postgresql.conf 中配置,因为它们是由postgres 程序或在初始化实例时写死的。
postmaster:改变这类参数的值需要重启 PostgreSQL 实例。在 postgresql.onf 文件中可改变这些参数后,需要重启 PostgreSQL 实例修改才能生效。
sighup:在 postgresql.conf 文件中改变这类参数的值不需要重启数据库,只需要向postmaster 进程发送 SIGHUP 信号,让其重启装载配置新的参数值就可以了。当然 postmaster 进程接收到 SIGHUP 信号后,也会向它的子进程发送 SIGHUP 信号,让新的参数值在所有的进程中生效。
backend:在 postgresql.conf 文件中更改这类设置无须重新启动服务器,只需要向 postmaster 发送一个 SIGHUP 信号,让它重新读取 postgresql.conf 文件中新的配置值,但新的配置值只会出现在修改之后的新连接中,已有的连接中该参数的值不会改变。这类参数的值也可以在新建连接时由连接的一些参数改变。例如,通过 libpq 的 PGOPTIONS 环境变量可以改变本连接的配置值。
superuser:这类参数可以由超级用户使用 SET 命令来改变,如检测死锁的超时时间的参数 “deadlock_timeout”。而超级用户改变此参数值时只会影响自身的 sesssion 配置,不会影响其他用户关于此参数的配置。向 Postmaster 进程发送 SIGHUP 信号也只会影响后续创建的连接,不会影响已有的连接。
user:这类参数可以由普通用户使用 SET 命令来改变本连接中的配置值。除了普通用户也可以改变外,这类参数与 superuser 类参数没有区别。

3)postgresql.conf 参数配置

https://xiaosonggong.blog.csdn.net/article/details/121038380

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/28392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HBZ分享】ES中的Reindex重建索引

Reindex如何实现索引重建? 滚动索引 批量复制 Reindex存在的问题 如果新的索引没有提前创建好,并指定字段类型,那么重建后的新索引类型极有可能会和旧的索引不一致,因为ES他会推断类型,而推断错误率从实战来说那是…

Nginx反向代理服务配置和负载均衡配置

nginx反向代理服务配置 node1:128 node2:135 node3:130 node4:132 node2、node3、node4已安装nginx nginx安装可查看https://blog.csdn.net/HealerCCX/article/details/132089836?spm1001.2014.3001.5502 [rootnode3 ~]# yum i…

初次使用GPU云服务器

前言: 在体验了GPU云服务器(GPU Cloud Computing,GPU)后,我认为这是一个非常强大的弹性计算服务。它为深度学习、科学计算、图形可视化、视频处理等多种应用场景提供了强大的GPU算力,能够满足各类用户的计算…

机器人静力学与刚度模型学习笔记

总算进行到刚度模型了。。。 ❤ 2023.8.6 ❤ 机器人静力学 学习资料 →→→【4-10机器人的静力分析】 机器人末端广义力 F [ f m ] [ f x f y f z m x m y m z ] F\left[\begin{matrix}f\\m\\\end{matrix}\right]\left[\begin{matrix}f_x\\f_y\\f_z\\m_x\\m_y\\m_z\\\end{…

【动态规划】数字三角形

算法提高课课堂笔记。 文章目录 摘花生题意思路代码 最低通行费题意思路代码 方格取数题意思路代码 摘花生 题目链接 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道…

UML—浅谈常用九种图

目录 概述: 1.用例图 2.静态图 3.行为图: 4.交互图: 5.实现图: 概述: UML的视图是由九种视图组成的,分别是用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、实施图。我们可以根据这9种图的功能和实现的目的…

go 函数

go 语言函数 go 函数函数定义Go函数的特点如下函数作为参数可变参数相同类型可变参数不同类型可变参数 return语句作用概述空的return语句空白标识符多个返回值命名返回值 defer 语句作用引申出来的面试题for defer下面是一个使用defer的示例代码输出结果 匿名函数定义匿名函数…

RocketMQ发送消息超时异常

说明:在使用RocketMQ发送消息时,出现下面这个异常(org.springframework.messging.MessgingException:sendDefaultImpl call timeout……); 解决:修改RocketMQ中broke.conf配置,添加下…

**文件操作:C语言中的数据持久化之道**

开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 也把我学习过程中搜集的资料分享给大家,希望可以帮助大家少走弯路,链接:h…

磁盘检测+循环删除

磁盘检测+循环删除 检测磁盘空间是否超过80%,循环删除5个文件和5也条数据库表中内容; 头文件 #ifndef DISK_SPACE_CHECK_H #define DISK_SPACE_CHECK_H#include <QDebug> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #inc…

枫叶时代:打造中国特色的传统文化IP

近年来&#xff0c;取材于传统文化的影视作品在文化产业市场受到前所未有的关注。作为一种兼具辨识度、影响力和流量变现能力的文化符号&#xff0c;影视IP既是文化产业的一个重要环节&#xff0c;也是国家文化软实力的直接体现。优秀的影视IP可以超越文字、语言、民族的障碍&a…

【MFC】06.MFC第二大机制:窗口创建机制-笔记

接上文【MFC】05.MFC第一大机制&#xff1a;程序启动机制-笔记,这一篇文章来带领大家逆向分析MFC第二大机制&#xff1a;窗口创建机制的源码。 我们知道&#xff0c;在Win32编程中&#xff0c;如果我们要创建一个窗口&#xff0c;基本步骤为&#xff1a; 注册窗口创建一个窗口…

C#中的yield return详细解释

C# 中的 yield return 是一个强大的关键字&#xff0c;它可以帮助我们在不创建临时集合的情况下&#xff0c;实现可枚举的值的生成。yield return 可以实现延迟执行&#xff08;Lazy Evaluation&#xff09;, 更具可读性和优化内存的使用。 yield return 的工作原理 在 C# 中…

滑动窗口(全面清晰/Java)

数组模拟单调队列 分析 以k3举例&#xff1a; (1)利用单调队列的性质&#xff1a; <1>最小值&#xff1a;确保队列单调递增&#xff0c;处理后&#xff0c;队头即是最小值。 <2>最大值&#xff1a;确保队列单调递减&#xff0c;处理后&#xff0c;队头即是最大值…

线程魔法:用Spring Boot的@Async注解开启异步世界

在现代的应用程序开发中&#xff0c;异步调用已成为提高性能和响应性的重要策略之一。通过使用Spring Boot框架&#xff0c;我们可以轻松地实现异步调用&#xff0c;从而在处理请求时能够同时执行耗时的操作&#xff0c;如发送电子邮件、处理文件等&#xff0c;而不会阻塞主线程…

做接口测试如何上次文件

在日常工作中&#xff0c;经常有上传文件功能的测试场景&#xff0c;因此&#xff0c;本文介绍两种主流编写上传文件接口测试脚本的方法。 首先&#xff0c;要知道文件上传的一般原理&#xff1a;客户端根据文件路径读取文件内容&#xff0c;将文件内容转换成二进制文件流的格式…

在HTML页面中引入vue组件

1. 什么是组件化开发&#xff1f; 组件化开发是一种软件开发的方法论&#xff0c;旨在通过将复杂的系统分解为独立的、可重用的组件来提高开发效率和代码的可维护性。组件化开发将系统按照功能、模块或界面的不同部分进行拆分&#xff0c;每个部分都对应一个独立的组件&#x…

小程序如何使用防抖和节流?

防抖&#xff08;Debounce&#xff09;和节流&#xff08;Throttle&#xff09;都是用来优化函数执行频率的技术&#xff0c;特别在处理用户输入、滚动等频繁触发的情况下&#xff0c;它们可以有效减少函数的执行次数&#xff0c;从而提升性能和用户体验。但它们的工作方式和应…

yolov2检测网数据集标注_labelme使用_json2txt格式转换

yolov2检测网数据集标注_labelme使用_json2txt格式转换 一、安装Anaconda二、创建labelme虚拟环境三、使用labelme标注健康非健康猫狗数据3.1 打开数据集所在文件夹3.2 进行标注数据集3.3 json2txt3.4 按文件目录和训练测试数据集重分配 四、数据喂给服务器网络参考链接 一、安…

Clion开发STM32之HAL库SPI封装(基础库)

前言 引用参考: Clion开发STM32之HAL库GPIO宏定义封装(最新版) 头文件 /******************************************************************************** Copyright (c) [scl]。保留所有权利。* 本文仅供个人学习和研究使用&#xff0c;禁止用于商业用途。******…