PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

18.2. 创建数据库集群 #

18.2.1. 文件系统挂载点注意事项
18.2.2. 文件系统选型与特性

在开展任何业务操作之前,必须首先在物理磁盘上初始化数据库的底层存储空间。我们称之为数据库集群(database cluster)。一个数据库集群是指由单个运行中的数据库后台主进程统一纳管的所有数据库的物理集合。在初始化完成后,集群会自动包含一个名为 postgres 的默认业务库,以及两个系统模板库 template1 与 template0。

在文件系统层面,一个数据库集群表现为一个集中存放所有物理文件的单一目录。我们称之为数据目录(data directory)。常用的路径包括 /usr/local/pgsql/data 或 /var/lib/pgsql/data。数据目录必须使用随官方安装的 initdb 工具进行初始化:

$ initdb -D /usr/local/pgsql/data

请注意:必须切换到前述的专有非特权操作系统账户(如 postgres)下执行初始化,严禁以 root 身份运行该命令。

在执行 initdb 时,可以指定若干核心参数:

--data-checksums

在集群级别开启数据页面校验和,在每次读取磁盘块时核验完整性,极大防范静默硬件故障。

--encoding 与 --locale

为集群预设默认字符集编码(强烈推荐 UTF8)与区域语言规则。

18.2.1. 文件系统挂载点注意事项 #

如果数据目录位于挂载的分区上,请确保文件系统在操作系统启动时已就绪,并具备正确的读写权限。

18.2.2. 文件系统选型与特性 #

推荐使用可靠的本地 POSIX 文件系统(如 ext4 或 XFS)。

18.2.2.1. NFS 网络文件系统使用建议 #

若必须在 NFS 上运行数据库,必须使用具备可靠锁语义与强制缓存一致性的挂载选项,否则断电时极易导致数据损坏。