postgresql.conf与postgresql.auto.conf区别

news/2024/11/22 1:55:05/

1. 简介

PostgreSQL 9.4版本开始引入postgresql.auto.conf 配置文件,作为postgresql.conf文件的补充,在配置文件格式上,它和postgresql.conf保持一致

postgresqlconf_3">1.1 postgresql.conf

这是一个静态的参数文件,包含了数据库服务器的基本配置信息。

该文件中的配置参数可以直接在文本编辑器中修改,并且这些修改会立即生效,无需重启数据库服务器。

一些常见的配置选项包括监听地址 (listen_addresses)、日志级别 (log_level)、备份相关设置 (archive_command, archive_cleanup_command) 等。

postgresqlautoconf_11">1.2 postgresql.auto.conf

1.2.1 创建原理

对于postgresql.conf、postgresql.auto.conf两个配置文件,他们均位于src/bin/initdb/initdb.c文件中的setup_config()函数内部完成。首先创建postres.conf文件,创建成功之后,再创建postgresql.auto.conf文件。
在这里插入图片描述

这是一个动态的参数文件,其内容在数据库运行过程中由 PostgreSQL 自动生成和修改。

该文件主要用于存储那些在postgresql.conf 中没有显式设置,但数据库运行时又需要的参数。

postgresql.auto.conf 文件的优先级高于 postgresql.conf,即如果两个文件中存在相同的配置项,系统会优先使用 postgresql.auto.conf 中的值。

由于 postgresql.auto.conf 的内容是动态生成的,因此不能直接使用文本编辑器修改,而必须通过 ALTER SYSTEM 命令在 psql 中进行修改。

2. 差异

2.1 文件默认内容不同

postgresql.conf文件创建成功之后,里面有PostgreSQL依赖的默认配置文件参数,比如“最大连接数、共享缓存区、时区等等”

max_connections = 100
shared_buffers = 128MB	
temp_buffers = 8MB	

postgresql.auto.conf 配置文件,一开始除了两行文本注释说明之外,没有其他配置参数

# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
authentication_timeout = '80'
default_transaction_isolation = 'repeatable read'

2.2 文件修改方式不同

postgresql.auto.conf配置文件中初始化时的文本字符串提示一样:
不要手动修改该文件,它会被ALTER SYSTEM 命令给覆盖
该文件主要存储ALTER SYSTEM 命令设置的参数值。

2.2.1 ALTER SYSTEM 语句

ALTER SYSTEM语句是PG库的一个扩展,它用于在PostgreSQL数据库集群中修改服务器的配置参数。然后修改后的参数将保存在postgresql.auto.conf配置文件中。

ALTER SYSTEM的使用格式如下:

ALTER SYSTEM SET configuration_parameter {TO|=} {value|'value'|default}
ALTER SYSTEM RESET configuration_parameter
ALTER SYSTEM RESET ALL

覆盖参数值,postgresql.conf参数值不变。因为postgresql.auto.conf 文件的优先级高于 postgresql.conf

2.2.2 实验
template1=# show port;port
------5432
(1 行记录)template1=# alter system set port=5435;
ALTER SYSTEM

postgresql.auto.conf
新增一条记录

port = 5435
template1=# show port;port
------5432
(1 行记录)template1=# select pg_reload_conf();pg_reload_conf
----------------t
(1 行记录)template1=# show port;port
------5432
(1 行记录)template1=# alter system reset port;
ALTER SYSTEM

postgresql.auto.conf 清除port记录


http://www.ppmy.cn/news/1548905.html

相关文章

2024年11月19日随笔

又是将近一个月没有写博客了,最近是真的很忙啊,11月9号去考了软考,是真的难啊,当时报名的自己是真不知道天高地厚啊,九月份报名,学了俩月,而且还是课余时间学的,根本没学多少东西&am…

从0开始学习Linux教程目录

从0开始学习Linux教程旨在帮助大家从0开始入手学习Linux,该教程将会一直更新。 Linux教程目录 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 从0开始学习Linux——Yum工具 从0开始学习Linux—…

element ui 搜索框中搜索关键字标红展示

示例如图 el-select上绑定remote-method属性 <el-select v-model"checkForm.type" filterable remote reserve-keyword :remote-method"remoteMethod" :loading"loading"><el-option v-for"item in options" :key"ite…

VRT: 关于视频修复的模型

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;编程探索专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月15日14点34分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文链接 点击开启你的论文编程之旅…

用 Python 与 Turtle 创作属于你的“冰墩墩”!

用 Python 与 Turtle 创作属于你的“冰墩墩”&#xff01; &#x1f980; 前言 &#x1f980;&#x1f41e;往期绘画&#x1f41e;&#x1f40b; 效果图 &#x1f40b;&#x1f409; 代码 &#x1f409; &#x1f980; 前言 &#x1f980; 冰墩墩是2022年北京冬季奥林匹克运动会…

微店商品详情 API 接口如何获取

要获取微店商品详情API接口&#xff0c;你需要遵循以下步骤&#xff1a; 注册与认证&#xff1a;首先&#xff0c;你需要在微店平台完成注册&#xff0c;并进行必要的认证流程&#xff0c;以确保具备获取API接口的资格。 深入研究政策&#xff1a;仔细阅读并理解微店关于API使…

Angular中的ngOnchange()的汇总

ngOnChanges() 是 Angular 中的一个生命周期钩子函数&#xff0c;它在组件或指令的 输入属性&#xff08;Input()&#xff09;发生变化时被调用。这个钩子可以帮助你检测输入数据的变化&#xff0c;并对数据变化做出反应。 1.监听的对象 ngOnChanges() 监听的是 通过 Input() …

BERT--公认的里程碑

前言 如果说&#xff0c;让我选Transformer架构的哪个模型最深入人心&#xff0c;我将毫不犹豫的选择BERT&#xff01; BERT 的意义在于&#xff0c;从大量无标记的数据集中训练得到的深度模型&#xff0c;可以限制提高各项自然语言处理任务的准确率。 BERT 在当时&#xff0…