如何确定 table 是否启用了时间刻度以及在哪些列上启用?
How to determine if a table has Timescale enabled and on which columns?
我有一个 Timescale 别人创建的数据库。
- 如何确定是否在 table 上调用了
create_hypertable
?
现在我用这个,但一定有更好的方法:
SELECT * FROM hypertable_relation_size('public.data');
- 如果在 table 上调用了
create_hypertable
,调用 create_hypertable
时使用了哪些参数(包括 chunk_time_interval)?
(在某些情况下有 from_date 和 to_date)
TimescaleDB 维护有关超表的元数据并提供视图以查询元数据。视图位于架构 timescaledb_information
中,有关超表的信息可以从 timescaledb_information.hypertable
.
中检索
例如:
SELECT * FROM timescaledb_information.hypertable WHERE table_name = 'data';
This API doc 包含更多信息和示例。
请注意,时间块间隔可以随时间改变,因此视图不提供有关它的信息。因此有必要检查每个块以查看其间隔。这可以通过调用文档 here 中描述的函数 chunk_relation_size_pretty
来完成。例如:
SELECT chunk_table, partitioning_columns, ranges
FROM chunk_relation_size_pretty('data');
如果您在另一个模式中,则有必要指定超表的完全限定名称,因为它需要一个标识符:
SET SCHEMA 'test';
SELECT chunk_table, partitioning_columns, ranges
FROM public.chunk_relation_size_pretty('public.data');
更新语法(版本 >2.0)以获取有关超表的元数据:
SELECT * FROM timescaledb_information.hypertables WHERE hypertable_name = 'data';
见
我有一个 Timescale 别人创建的数据库。
- 如何确定是否在 table 上调用了
create_hypertable
?
现在我用这个,但一定有更好的方法:
SELECT * FROM hypertable_relation_size('public.data');
- 如果在 table 上调用了
create_hypertable
,调用create_hypertable
时使用了哪些参数(包括 chunk_time_interval)?
(在某些情况下有 from_date 和 to_date)
TimescaleDB 维护有关超表的元数据并提供视图以查询元数据。视图位于架构 timescaledb_information
中,有关超表的信息可以从 timescaledb_information.hypertable
.
例如:
SELECT * FROM timescaledb_information.hypertable WHERE table_name = 'data';
This API doc 包含更多信息和示例。
请注意,时间块间隔可以随时间改变,因此视图不提供有关它的信息。因此有必要检查每个块以查看其间隔。这可以通过调用文档 here 中描述的函数 chunk_relation_size_pretty
来完成。例如:
SELECT chunk_table, partitioning_columns, ranges
FROM chunk_relation_size_pretty('data');
如果您在另一个模式中,则有必要指定超表的完全限定名称,因为它需要一个标识符:
SET SCHEMA 'test';
SELECT chunk_table, partitioning_columns, ranges
FROM public.chunk_relation_size_pretty('public.data');
更新语法(版本 >2.0)以获取有关超表的元数据:
SELECT * FROM timescaledb_information.hypertables WHERE hypertable_name = 'data';
见