是否可以在没有超表插入的情况下从Timescale转储?

时间:2018-09-17 16:37:43

标签: postgresql pg-dump timescaledb

我在https://docs.timescale.com/v1.0/using-timescaledb/backup

上遵循了手册

当我将其转储到二进制文件中时,一切都会按预期进行(可以轻松还原)。

但是,当我将其转储到纯文本SQL中时,将创建对超级表的插入。可以为表格本身创建INSERTION吗?

说我有一个“自动”表,其中包含ID,品牌,速度列 并且只有一行:1,Opel,170

转入SQL的结果如下:

INSERT INTO _timescaledb_catalog.hypertable VALUES ...
INSERT INTO _timescaledb_internal._hyper_382_8930_chunk VALUES (1, 'Opel',170);

我需要的是这个(让TS在后台执行):

INSERT INTO Auto VALUES (1,'Opel',170);

有可能吗? (我知道我可以从pg_dump中排除表,但这不会创建所需的插入内容)

1 个答案:

答案 0 :(得分:0)

Beatrice。不幸的是,pg_dump将转储反映Timescale底层实现的命令。例如,_hyper_382_8930_chunk是您拥有的auto超表的基础块。

我可能会问,为什么您不希望pg_dump如此行事? Postgres在转储上创建的SQL文件供pg_restore使用。因此,只要您转储并还原并看到正确的状态,转储/还原就不会有问题。

也许您在问一个不同的问题?