timescaledb 时序库备份还原 遇到的问题与解决
timescaledb 是 postgres数据库的插件,所以备份还原仍然用postgres数据库pg_dump,pg_restore命令。
一 测试过程
timescaledb 时序库备份还原时 , 我对时序库采用以下命令进行全库备份
/usr/pgsql-11/bin/pg_dump --file "/u01/pgsql.backup" --host "0.0.0.0" --port "5432" --username "postgres" --dbname "原数据库名" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"
还原命令如下
cs=# SELECT timescaledb_pre_restore();
pg_restore --username "postgres" --host "10.10.2.116" --port "5432" --role "postgres" --dbname "原数据库名" --verbose /u01/pgsql.backup
cs=# SELECT timescaledb_post_restore();
还原结束后,原库的数据全部还原成功,如果原库是超表,新库也是超表,子分区跟原库一模一样,原库有压缩分区,新库也自动是压缩分区,新库查询时没有任何问题。