二、安装、部署与配置
本章讲清从安装、初始化数据目录,到连接认证(pg_hba.conf)与参数配置(postgresql.conf)的完整链路。配置变更需要同时确认来源、作用范围和生效时机:参数能在会话中修改,不代表配置文件一经写入就会自动生效。
知识结构
HBA(Host-Based Authentication,基于主机的认证)负责连接认证,库表访问还受角色权限控制。pg_hba_file_rules 用于检查当前文件内容和语法,不能单凭该视图证明规则已经重载;应结合日志和新连接验证。
本章目录
学习目标
- 完成安装并用
initdb初始化一个数据目录(cluster) - 理解
pg_hba.conf的匹配规则与认证方式,排查“连不上” - 区分参数生效方式(动态/Reload/Restart),并用
pg_settings验证
学习检查
| 阶段 | 应掌握的验证方法 |
|---|---|
| 初始化 | 在隔离环境中初始化新目录,核对服务端版本、编码、排序规则与 data_checksums |
| 连接 | 区分本地套接字与网络连接,逐层检查监听、认证规则、角色与目标数据库 |
| 配置 | 查询 pg_settings 的 context、source、pending_restart,解释“文件已改、当前值未变”的原因 |
命令路径与服务管理方式取决于安装方式。包管理器、容器和手工部署应分别沿用自己的启停流程;initdb 只用于初始化新的集簇,不能用来修复已有数据目录。
依赖与前置
- 前置:一、PostgreSQL 概览与版本。
- 下一章:三、架构与进程(进程/内存参数)。
- 后续深入:六、WAL 与恢复(WAL 相关参数)。
