
每天分享技术栈,开发工具等
PostgreSQL的主配置文件通常是 postgresql.conf。但它在哪取决于你的安装方式:
如果你用Docker Compose部署(推荐!)
:
配置文件在容器内部!但别慌,我们通过数据卷把它映射到宿主机了。
回忆你的docker-compose.yml(参考):
volumes:
- /data/postgresql:/var/lib/postgresql/data # 重点在这行!
关键路径:
- 宿主机:/data/postgresql/postgresql.co nf(以你的Compose文件为准)
- 容器内:/var/lib/postgresql/data/postgresql.co nf
咸鱼提示:用docker exec进容器也能找,但直接改宿主机文件更方便!
/var/lib/pgsql/[版本号]/data/postgresql.co nf
例如:/var/lib/pgsql/15/data/postgresql.co nf(AlmaLinux常见路径)如何100%确认路径?
连上数据库(用DataGrip或psql),执行这条SQL:
SHOW config_file;-- 显示主配置文件绝对路径
DataGrip执行截图:

/data/postgresql/postgresql.conf*别怕!记住这几个键,就能改文件了:
操作 | 按键 | 说明 |
|---|---|---|
打开文件 | 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回车搜索。
你会看到类似这行:
#max_connections = 100 # 默认被注释了!注意开头的#
Step 2: 修改配置
i进入编辑模式。#(取消注释)ESC退出编辑模式。
修改前后对比截图:

:wq回车!文件保存成功。改完文件≠生效!数据库需要重新加载配置。
方法1:SQL命令(推荐!不停服务)
在DataGrip里执行:
SELECT pg_reload_conf();-- 动态重载配置文件
DataGrip执行截图:

t表示成功!*方法2:命令行重启(会断连,慎用)
如果上面无效(极少情况),进容器或服务器执行:
# Docker容器内:
pg_ctl reload -D$PGDATA
# 原生安装(AlmaLinux):
sudo systemctl reload postgresql-15 # 版本号换成你的!
验证是否生效: 执行SQL查当前值:
SHOW max_connections;-- 应该返回200!
DataGrip验证截图: [SHOW max_connections返回200]

cp postgresql.conf postgresql.conf.bak,改残了还能救回来。#:
带 #的行是注释,不生效!想启用必须删掉它。shared_buffers旧版叫shared_buffers)。postgres:13和 postgres:16的默认配置值可能不同 。
咸鱼建议:用SHOW 参数名;查当前值最准!pg_reload_conf()ESC再按 :q!强行退出,重新打开文件。实测环境: