RDS PostgreSQL的一键上云功能支持将部署在ECS或IDC的自建PostgreSQL迁移到RDS PostgreSQL。本文介绍上云前,自建PostgreSQL数据库postgresql.conf文件中的参数配置。

操作步骤

说明 本文以CentOS 7系统安装PostgreSQL 13为例进行配置。
  1. 连接自建PostgreSQL,分别查看listen_addresseswal_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。
    SHOW wal_keep_size;
    65536
    • 如果查询结果满足期望,则无需配置postgresql.conf文件,执行创建迁移账号
    • 如果查询结果不满足期望,则执行步骤2
  2. 停止PostgreSQL数据库服务。
    说明 该命令需要使用su - postgres命令,切换至postgres用户执行。
    /usr/pgsql-13/bin/pg_ctl stop -m fast
  3. 获取postgresql.conf文件位置。
    说明 该命令需要使用su - root命令,切换至root用户执行。
    find / -name postgresql.conf
    结果示例:
    /var/lib/pgsql/13/data/postgresql.conf
  4. 进入postgresql.conf文件目录。
    cd /var/lib/pgsql/13/data/
  5. 使用vim postgresql.conf命令,编辑postgresql.conf文件,分别修改listen_addresseswal_keep_segments/wal_keep_size的参数值。
    listen_addresses = '*'
    
    # PostgreSQL 10、11、12修改
    wal_keep_segments = 4096
    
    # PostgreSQL 13、14修改
    wal_keep_size = 65536
    说明 参数可能默认被注释,修改后注意删除行首的#
  6. ECS,然后输入:wq保存修改并退出。
  7. 启动PostgreSQL数据库服务。
    说明 该命令需要使用su - postgres命令,切换至postgres用户执行。
    /usr/pgsql-13/bin/pg_ctl start

后续步骤

创建迁移账号