RDS PostgreSQL的一键上云功能支持将部署在ECS或IDC的自建PostgreSQL迁移到RDS PostgreSQL。本文介绍上云前,自建PostgreSQL数据库postgresql.conf文件中的参数配置。
操作步骤
说明 本文以CentOS 7系统安装PostgreSQL 13为例进行配置。
- 连接自建PostgreSQL,分别查看listen_addresses和wal_keep_segments/wal_keep_size的参数值。
参数 |
作用 |
查询命令 |
期望值 |
listen_addresses |
查看自建PostgreSQL是否允许被远程连接。 |
SHOW listen_addresses;
|
* |
wal_keep_segments |
查看pg_wal目录下所能保留的过去日志文件段的最小数目,建议设置大于等于4096,防止全量备份完成之后由于源实例wal日志被移除导致需要重新备份。
说明 适用于PostgreSQL 10、11、12。
|
SHOW wal_keep_segments;
|
4096 |
wal_keep_size |
查看pg_wal目录下所能保留的过去日志文件段的最小大小,建议设置大于等于64 GB,防止全量备份完成之后由于源实例wal日志被移除导致需要重新备份。
说明 适用于PostgreSQL 13、14和15。
|
SHOW wal_keep_size;
|
65536 |
- 如果查询结果满足期望,则无需配置postgresql.conf文件,执行创建迁移账号。
- 如果查询结果不满足期望,则执行步骤2。
- 停止PostgreSQL数据库服务。
说明 该命令需要使用su - postgres
命令,切换至postgres用户执行。
/usr/pgsql-13/bin/pg_ctl stop -m fast
- 获取postgresql.conf文件位置。
说明 该命令需要使用su - root
命令,切换至root用户执行。
find / -name postgresql.conf
结果示例:
/var/lib/pgsql/13/data/postgresql.conf
- 进入postgresql.conf文件目录。
cd /var/lib/pgsql/13/data/
- 使用
vim postgresql.conf
命令,编辑postgresql.conf文件,分别修改listen_addresses和wal_keep_segments/wal_keep_size的参数值。listen_addresses = '*'
# PostgreSQL 10、11、12修改
wal_keep_segments = 4096
# PostgreSQL 13、14修改
wal_keep_size = 65536
说明 参数可能默认被注释,修改后注意删除行首的#
。
- 按ECS,然后输入
:wq
保存修改并退出。
- 启动PostgreSQL数据库服务。
说明 该命令需要使用su - postgres
命令,切换至postgres用户执行。
/usr/pgsql-13/bin/pg_ctl start