0

我正在尝试在 timescaledb 的多节点设置上创建分布式超表。我可以轻松地创建表,然后使用“create_distributed_hypertable”命令将其转换为分布式超表。这适用于“公共”模式,但如果我在自己创建的模式上创建表,则会创建常规 postgresql 表,但转换不起作用,并且出现以下错误:

ERROR:  [multinode-timescaledb-data-1]: schema "myschema" does not exist
SQL state: 3F000

常规表的 SQL:

CREATE TABLE myschema.stocks_intraday (
"time" timestamp NOT NULL,
symbol text NULL,
price_open double precision NULL,
price_close double precision NULL,
price_low double precision NULL,
price_high double precision NULL,
trading_volume int NULL
);

用于转换的 SQL:

SELECT create_distributed_hypertable('myschema.stocks_intraday', 'time');
4

1 回答 1

0

错误发生在 data node 上multinode-timescaledb-data-1,因为我猜你还没有myschema在 data node 上创建。

TimescaleDB 不负责在数据节点上创建模式,在那里创建超表时。

您需要通过登录每个数据节点或使用Distributed_exec在每个数据节点上创建架构:

CALL distributed_exec($$ CREATE SCHEMA myschema $$);
于 2021-10-06T13:07:10.533 回答