近日;novel 项目需要搭建一个测试数据库;并且需要测试数据。如何快速打造模拟生产环境的测试数据库?下面揭晓。
一、准备环境
- 安装PostgreSQL软件
- 安装线上环境PostgreSQL数据所需的扩展
- 创建所需要的目录;并分配权限
二、拷贝数据库
你使用 “pg_start_backup+scp/rsync的方式+pg_stop_backup” 也可以;最好从线上环境的备份去拷贝;这里要求快速;则使用 pg_basebackup 命令
若需要自定义表空间更换目录使用-T
pg_basebackup -F p --progress -T /data/pg_data/lottu=/data1/pg_data/lottu -D $PGDATA -h 192.168.1.221 -p 1921 -U replica
三、启动测试库
启动之前需要先恢复数据库;恢复需要归档日志;则可以从线上环境去拷贝;既然要求快速我们采用下面一种方式;
配置ssh互信:
要求测试库连生产库免密码登录;可以使用ssh命令测试;这个步骤是为接下来的作铺垫。
配置recovery.conf
备库若没有归档日志;可以从 wal 日志复制
restore_command = 'scp postgres@192.168.1.221:/data/postgres/data/pg_xlog/%f %p'
recovery_target_time = '2020-10-15 12:55:31.448431+08'
启动数据库
接下来启动就好;pg_ctl start