1.备份 源文件pg_dump "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=postgres password=pass dbname=ztimedb" -f ztimedb.sql --verbose --role "postgres" --format=c --blobs --encoding "UTF8"
pg_dump "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=postgres password=pass dbname=ztimedb" -f ztimedb.sql --verbose --role "postgres" --format=c --blobs --encoding "UTF8"
pg_dump --file "/mnt/d/temp/ztimedb.backup" --host "127.0.0.1" --port "5432" --username "postgres" --dbname "ztimedb" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"2.把备份文件上传到新的时序库位置这里可以用 scp,也可以使用ftp传输,看具体情况3.查询 timescaledb 的版本是否一致查看pg所安装插件信息:select name from pg_available_extensions;4.开始timescaledb还原:创建数据库CREATE DATABASE tutorial;进入数据库,创建模式\c tutorial --(这步一定要有,没有就会报错)
pg_dump --file "/mnt/d/temp/ztimedb.backup" --host "127.0.0.1" --port "5432" --username "postgres" --dbname "ztimedb" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"
select name from pg_available_extensions;
CREATE DATABASE tutorial;
\c tutorial --(这步一定要有,没有就会报错)
CREATE EXTENSION timescaledb;开启备份模式SELECT timescaledb_pre_restore();进行还原\! pg_restore -Fc -d tutorial tutorial.bak还原完毕结束备份模式SELECT timescaledb_post_restore();或者SQL:
CREATE EXTENSION timescaledb;
SELECT timescaledb_pre_restore();
\! pg_restore -Fc -d tutorial tutorial.bak
SELECT timescaledb_post_restore();
SET timescaledb.restoring TO 'off';这几步一定要在一个窗口内执行。经过测试发现超表能插入数据了,这样也就成功还原了timescaledb 时序库,这个问题也解决了。
SET timescaledb.restoring TO 'off';
Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2 联系我们