Timescale Cloud:性能、扩展、企业级
自托管产品
MST
覆盖用于在超表的整数 `time` 列中设置当前时间的 `now()` 日期/时间函数。许多策略仅适用于特定年龄的 数据块。`integer_now_func` 决定每个数据块的年龄。
您设置为 `integer_now_func` 的函数没有参数。它必须是以下之一:
IMMUTABLE
:当您每次执行查询而不是预准备查询时使用。`integer_now_func` 的值在计划生成之前计算。这会生成一个显著更小的计划,尤其是当您有大量数据块时。STABLE
:`integer_now_func` 在查询执行开始前进行评估。数据块剪枝在运行时执行。这会生成正确的结果,但可能会增加规划时间。
`set_integer_now_func` 不适用于 `time` 列类型为 `TIMESTAMP`、`TIMESTAMPTZ` 或 `DATE` 的表。
名称 | 类型 | 描述 |
---|---|---|
main_table | REGCLASS | `integer_now_func` 使用的超表。 |
integer_now_func | REGPROC | 一个函数,返回 `main_table` 中 `time` 列每行设置的当前时间。 |
名称 | 类型 | 描述 |
---|---|---|
replace_if_exists | BOOLEAN | 设置为 `true` 可在您之前已设置自定义函数时覆盖 `integer_now_func`。默认为 `false`。 |
为具有 Unix 时间 时间列的超表设置整数 `now` 函数。
IMMUTABLE
:当您每次执行查询时CREATE OR REPLACE FUNCTION unix_now_immutable() returns BIGINT LANGUAGE SQL IMMUTABLE as $$ SELECT extract (epoch from now())::BIGINT $$;SELECT set_integer_now_func('hypertable_name', 'unix_now_immutable');STABLE
:用于预准备语句CREATE OR REPLACE FUNCTION unix_now_stable() returns BIGINT LANGUAGE SQL STABLE AS $$ SELECT extract(epoch from now())::BIGINT $$;SELECT set_integer_now_func('hypertable_name', 'unix_now_stable');
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面
。