IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> PostgreSQL 配置文件 postgresql.conf 及 postgresql.auto.conf -> 正文阅读

[系统运维]PostgreSQL 配置文件 postgresql.conf 及 postgresql.auto.conf

本文我们学习 PostgreSQL 配置文件 ,了解配置文件为什么要有两个、如何修改配置等内容以及修改配置文件缺省位置。

两个配置文件

我们对 postgresql.conf 不陌生,但PostgreSQL在 9.4及以上版本还提供了 postgresql.auto.conf 配置文件。那么为什么要两个配置文件呢?

当我们打开 postgresql.conf 查看内容,会看到非常多的参数。其他大多数被注释了,意味着自动被赋予缺省值。我们可以去掉注释编辑特定值,但这样比较难以跟踪变化。

为此,PostgreSQL提供了类似Oracle的命令 ALTER SYSTEM 修改服务器参数并被持久化,这样最新的修改即使在下次重启也会生效。

postgresql.conf位置迁移

首先通过下面命令查找配置文件位置:

$ psql -c "show config_file"
config_file
----------------------------------------
/var/lib/pgsql/13/data/postgresql.conf

默认配置文件和数据文件位置一致,但在不同操作系统上有差异。有时我们希望修改默认位置,可能是因为下面几个原因:

  • 保持目录的一致性(相对于不同OS或环境)
  • 团队约定
  • 配置文件或脚本为了方便备份

下面介绍如何修改配置文件的位置,但要提醒的是:配置文件要和数据文件一起备份。

  1. 停止PostgreSQL服务

    pg_ctl -D $PGDATA stop -mf
    
  2. 创建新的配置文件目录并赋权限

$ sudo mkdir -p /pgconfigs
$ sudo chown postgres:postgres /pgconfigs
$ sudo chmod -R 700 /pgconfigs
  1. 移动配置文件
mv $PGDATA/postgresql.conf /pgconfigs/postgresql.conf
  1. 使用新的配置启动数据库
$ pg_ctl -D $PGDATA -o '--config-file=/pgconfigs/postgresql.conf' start
  1. 验证配置文件
$ psql -c "show config_file"
config_file
----------------------------
/pgconfigs/postgresql.conf
(1 row)

postgresql.auto.conf

该文件保存最新的配置,当数据库服务重启时,postgresql.auto.conf 配置优先。当手动修改 postgresql.conf 文件时要非常小心,因为当在两个文件中都存在相同参数,前者修改无效。

当执行 ALTER SYSTEM … 命令时,改变会被自动写入 postgresql.auto.conf 文件,而不是 postgresql.conf文件。通过这种方法,即使几个月或几年之后,也能看到参数修改变化。

下面示例修改 work_mem 并加载:

$ psql -c "ALTER SYSTEM SET work_mem TO '8MB'"
$ pg_ctl -D $PGDATA reload
-- 或者
$ psql -c "select pg_reload_conf()"

为了判断参数修改后是否要重启服务,请看下面示例:

修改参数:

$ psql -c "ALTER SYSTEM SET shared_buffers TO '512MB'"

加载参数:

$ pg_ctl -D $PGDATA reload

查询 pg_setting 判断是否要重启:

$ psql -c "select name, setting, pending_restart from pg_settings
where name = 'shared_buffers'"
name | setting | pending_restart
----------------+---------+-----------------
shared_buffers | 16384 | t
(1 row)

我们看到 shared_buffers 参数正在等待重启,这意味着执行修改需要修改。最后执行重启命令:

$ pg_ctl -D $PGDATA restart -mf

总结

本文我们学习了 PostgreSQL 两个配置文件 postgresql.conf 及 postgresql.auto.conf ,一般修改参数尽可能通过postgresql.auto.conf 文件进行修改。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 15:13:35  更:2021-10-02 15:15:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:29:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码