PostgreSQL-快速构造测试数据库

近日;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

原文地址:https://www.cnblogs.com/lottu/p/13820336.html