首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >编辑PostgreSQL配置文件.so easy!》 (vim操作+pg配置截图)

编辑PostgreSQL配置文件.so easy!》 (vim操作+pg配置截图)

作者头像
IT咸鱼
发布2025-08-01 13:50:17
发布2025-08-01 13:50:17
32700
代码可运行
举报
运行总次数:0
代码可运行

每天分享技术栈,开发工具等

一、先搞清楚:配置文件在哪儿?

PostgreSQL的主配置文件通常是 postgresql.conf。但它在哪取决于你的安装方式:

如果你用Docker Compose部署(推荐!)

: 配置文件在容器内部!但别慌,我们通过数据卷把它映射到宿主机了。 回忆你的docker-compose.yml(参考):

代码语言:javascript
代码运行次数:0
运行
复制

volumes:
- /data/postgresql:/var/lib/postgresql/data  # 重点在这行!

关键路径: - 宿主机/data/postgresql/postgresql.co nf(以你的Compose文件为准) - 容器内/var/lib/postgresql/data/postgresql.co nf 咸鱼提示:用docker exec进容器也能找,但直接改宿主机文件更方便!

  1. 如果你是原生安装(rpm/yum): 通常在 /var/lib/pgsql/[版本号]/data/postgresql.co nf 例如:/var/lib/pgsql/15/data/postgresql.co nf(AlmaLinux常见路径)

如何100%确认路径? 连上数据库(用DataGrip或psql),执行这条SQL:

代码语言:javascript
代码运行次数:0
运行
复制

SHOW config_file;-- 显示主配置文件绝对路径 

DataGrip执行截图

  • 图中清晰显示文件路径,比如/data/postgresql/postgresql.conf*

二、Vim基础操作速成(3分钟上手)

别怕!记住这几个键,就能改文件了:

操作

按键

说明

打开文件

vim 文件名

例:vim /data/postgresql/postgresql.co nf

进入编辑模式

按 i

左下角显示 -- INSERT --才能打字!

退出编辑模式

按 ESC

回到命令模式

保存并退出

按 :wq回车

Write(保存) + Quit(退出)

不保存退出

按 :q!回车

强制退出,改残了就用这招!

搜索关键词

按 /+ 单词

例:/max_connections回车

跳转到行首

按 0(数字零)

光标蹦到行首

显示行号

按 :set nu

左边显示行号,找配置超方便!

Vim操作界面截图

图中标注了:set nu行号、INSERT模式位置、搜索高亮效果


三、实战!修改一个常用配置(以max_connections为例)

目标:把最大连接数从默认100改成200。

Step 1: 找到配置项 用Vim打开文件,按 /max_connections回车搜索。 你会看到类似这行:

代码语言:javascript
代码运行次数:0
运行
复制

#max_connections = 100         # 默认被注释了!注意开头的#

Step 2: 修改配置

  • 光标移到这行,按 i进入编辑模式。
  • 删掉开头的 #(取消注释)
  • 修改数字为 200
  • 改完按 ESC退出编辑模式。 修改前后对比截图
  • 红框标出删掉的#和修改的数字*
  1. Step 3: 保存并退出:wq回车!文件保存成功。

四、让新配置生效!(两种方法)

改完文件≠生效!数据库需要重新加载配置。

方法1:SQL命令(推荐!不停服务)

在DataGrip里执行:

代码语言:javascript
代码运行次数:0
运行
复制

SELECT pg_reload_conf();-- 动态重载配置文件 

DataGrip执行截图

  • 返回 t表示成功!*

方法2:命令行重启(会断连,慎用)

如果上面无效(极少情况),进容器或服务器执行:

代码语言:javascript
代码运行次数:0
运行
复制

# Docker容器内:
pg_ctl reload -D$PGDATA

# 原生安装(AlmaLinux):
sudo systemctl reload postgresql-15  # 版本号换成你的!

验证是否生效: 执行SQL查当前值:

代码语言:javascript
代码运行次数:0
运行
复制

SHOW max_connections;-- 应该返回200!

DataGrip验证截图: [SHOW max_connections返回200]

  • 成功!*

五、避坑指南
  1. 改前备份! 执行 cp postgresql.conf postgresql.conf.bak,改残了还能救回来。
  2. 注意注释符 #: 带 #的行是注释,不生效!想启用必须删掉它。
  3. 版本差异提醒
    • PostgreSQL 9.4以前:部分参数名不同(如shared_buffers旧版叫shared_buffers)。
    • Docker镜像版本postgres:13postgres:16的默认配置值可能不同 。 咸鱼建议:用SHOW 参数名;查当前值最准!
  4. 改完不生效?
    • 检查是否保存了文件
    • 检查是否执行了pg_reload_conf()
    • 检查配置项拼写是否正确(大小写敏感!)
  5. Vim卡住了? 狂按 ESC再按 :q!强行退出,重新打开文件。

实测环境

  • OS: AlmaLinux 8.8
  • PostgreSQL: 9.6 (Docker Compose部署)
  • 工具: DataGrip 2023.3, Vim 8.0
代码语言:javascript
代码运行次数:0
运行
复制
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT咸鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、先搞清楚:配置文件在哪儿?
  • 二、Vim基础操作速成(3分钟上手)
  • 三、实战!修改一个常用配置(以max_connections为例)
  • 四、让新配置生效!(两种方法)
  • 五、避坑指南
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档