如何将区分大小写的视图名称传递给add_continuous_aggregate_policy()



我有一个大写的hyper_table名称。在这种情况下,对add_continuous_aggregate_policy的调用失败,并错误地说关系不存在。请注意,当hyper_table名称为小写时,此操作效果良好:

SELECT add_continuous_aggregate_policy('iDU8boGyFcvWwfz6KhMSdg', start_offset => INTERVAL '1 months', end_offset => INTERVAL '1 hour', schedule_interval => INTERVAL '1 hours'); 
ERROR:  relation "idu8bogyfcvwwfz6khmsdg" does not exist

引用它最终会将其视为一列:

SELECT add_continuous_aggregate_policy("iDU8boGyFcvWwfz6KhMSdg", start_offset => INTERVAL '1 months', end_offset => INTERVAL '1 hour', schedule_interval => INTERVAL '1 hours')
ERROR:  column "iDU8boGyFcvWwfz6KhMSdg" does not exist

有没有办法将区分大小写的视图名称传递给

add_continuous_aggregate_policy

PostgreSQL会将任何表名规范化为小写,除非它被引用。如果将字符串同时包含在"one_answers"中;那么它会为你工作。为了避免出现问题,最好只使用小写,但如果你有需要,这就是如何做到的

SELECT add_continuous_aggregate_policy('"iDU8boGyFcvWwfz6KhMSdg"', 

外部"是因为它是文本文本,而内部"是";就是标记它,这样它就不会被降低。这同样适用于任何想要强制大小写的函数。它也适用于PostgreSQL,而不仅仅是TimescaleDB。

透明度:我为Timescale工作

最新更新