最近更新时间:2024-03-01 14:52:19
当您使用DTS服务进行公网迁移时;需要将DTS外网IP段添加至安全组,以保障DTS服务能顺利访问到源实例。
120.92.198.249/32、120.92.128.244/32
此外,将上述IP地址加入至PostgreSQL的配置文件(pg_hba.conf)中,关于该配置文件的设置请参见pg_hba.conf文件。如果您已将地址配置为0.0.0.0/0,可跳过本步骤。
添加方式例如:
host replication admin 120.92.198.249/32 trust
注意:如果源端是金山云RDS实例,修改pg_hba.conf文件请联系相关运维人员。
源端:
如需进行增量迁移,执行:
alter role $username with superuser;
否则执行:
grant connect on database $databasename to $username;
grant usage on schema $schemaname to $username;
目标端:
alter role $username with createdb;
(如需迁移postgrs库,需另外执行:grant create on database postgres to $username;)
或alter role $username with superuser;
获取wal2json.so。
将wal2json.so复制至PostgreSQL安装路径下lib目录中:
例如:
cp wal2json.so /usr/lib/postgresql/lib/
使用具有superuser权限的账号登录自建PostgreSQL数据库,修改以下参数:
ALTER SYSTEM set max_replication_slots = 'XX';
ALTER SYSTEM SET wal_level = logical;
ALTER SYSTEM SET max_wal_senders = 'XX ';
其中max_replication_slots和max_wal_senders需大于待迁移数据库个数。
执行以下命令重启PostgreSQL服务:
service postgresql restart
重新登录自建PostgreSQL数据库,执行以下命令查看是否能正常创建复制槽:
SELECT * FROM pg_create_logical_replication_slot('logical_slot_test', 'wal2json');
如果源端是金山云RDS实例,步骤a、b可以省略。
纯净模式