PolarDB-PostgreSQL单机文件系统部署指南
概述
PolarDB-PostgreSQL(简称PolarDB-PG)是阿里云开源的一款云原生数据库,兼容PostgreSQL生态。本文将详细介绍如何在单机文件系统(如ext4)上部署PolarDB-PG数据库,提供三种不同的部署方式:基于安装包、基于Docker镜像以及基于Docker镜像+守护脚本的部署方法。
环境准备
在开始部署前,请确保您的系统满足以下基本要求:
- Linux操作系统(推荐CentOS 7+或Ubuntu 18.04+)
- 足够的磁盘空间(建议至少10GB)
- 内存建议4GB以上
- 已安装必要的依赖库
方法一:基于安装包部署
1. 获取安装包
首先需要获取与您CPU架构和Linux发行版匹配的PolarDB-PG安装包。安装包通常包含完整的二进制文件和必要的工具。
2. 初始化数据库
创建数据目录并初始化数据库:
# 创建数据目录
mkdir -p /var/lib/polardb/data
# 初始化数据库
/usr/local/polardb_pg/bin/initdb -k -A trust -D /var/lib/polardb/data
参数说明:
-k:启用数据校验-A trust:设置本地连接认证方式为trust-D:指定数据目录
3. 配置数据库
编辑配置文件/var/lib/polardb/data/postgresql.conf,根据需求调整以下参数:
listen_addresses = '*' # 允许所有IP连接
port = 5432 # 监听端口
max_connections = 100 # 最大连接数
shared_buffers = 1GB # 共享缓冲区大小
4. 启动数据库
/usr/local/polardb_pg/bin/pg_ctl -D /var/lib/polardb/data -l /var/log/polardb.log start
方法二:基于Docker镜像部署
1. 拉取镜像
docker pull polardb/polardb_pg_binary:15
2. 准备数据目录
mkdir -p /data/polardb
3. 启动容器
docker run -d \
--cap-add=SYS_PTRACE --privileged=true \
--name polardb -p 5432:5432 \
-v /data/polardb:/var/polardb \
polardb/polardb_pg_binary:15 \
sleep infinity
4. 初始化数据库
进入容器并初始化:
docker exec -it polardb bash
/u01/polardb_pg/bin/initdb -k -A trust -D /var/polardb/
5. 启动数据库服务
/u01/polardb_pg/bin/pg_ctl -D /var/polardb/ -l /var/polardb/logfile start
方法三:基于Docker镜像+守护脚本部署
1. 拉取专用镜像
docker pull polardb/polardb_pg_local_instance:15
2. 初始化数据库
mkdir -p /data/polardb
docker run -it --rm \
--cap-add=SYS_PTRACE --privileged=true \
--env POLARDB_PORT=5432 \
--env POLARDB_USER=admin \
--env POLARDB_PASSWORD=your_secure_password \
-v /data/polardb:/var/polardb \
polardb/polardb_pg_local_instance:15 \
echo 'done'
3. 启动服务
docker run -d \
--cap-add=SYS_PTRACE --privileged=true \
-p 5432:5432 \
-v /data/polardb:/var/polardb \
polardb/polardb_pg_local_instance:15
验证部署
无论采用哪种部署方式,都可以通过以下命令验证数据库是否正常运行:
psql -h 127.0.0.1 -U postgres -p 5432 -c "SELECT version();"
常见问题解决
-
端口冲突:如果5432端口已被占用,可以修改配置文件中的
port参数或使用-p参数映射其他端口。 -
权限问题:确保数据目录对数据库进程有读写权限。
-
内存不足:如果启动失败,尝试减少
shared_buffers的值。 -
连接问题:检查
pg_hba.conf文件中的认证配置。
最佳实践
- 生产环境建议使用专用的数据盘,而非系统盘。
- 定期备份数据目录。
- 根据服务器配置调整数据库参数,特别是内存相关参数。
- 考虑使用进程管理工具管理数据库进程。
通过以上步骤,您应该已经成功在单机文件系统上部署了PolarDB-PostgreSQL数据库。根据您的具体需求选择最适合的部署方式,并记得在生产环境中做好安全配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



