Timescaledb - Как отобразить фрагменты гипертаблицы в определенной схеме - PullRequest
0 голосов
/ 10 июля 2019

У меня есть таблица с именем conditions в схеме с именем test. Я создал hypertable и вставил сотни строк.

Когда я запускаю команду select show_chunks(), она работает и отображает куски, но я не могу использовать имя таблицы в качестве параметра, как предлагается в руководстве. Это не работает:

SELECT show_chunks("test"."conditions");

Как я могу это исправить?

Ps: я хочу запросить сам чанк по его имени? Как я могу это сделать?

1 Ответ

2 голосов
/ 10 июля 2019

show_chunks ожидает regclass, что в зависимости от вашего текущего пути поиска означает, что вам нужно определить схему таблицы.

Должно работать следующее:

SELECT public.show_chunks('test.conditions');

Двойные кавычкинеобходимы, только если ваша таблица delimited identifier, например, если ваше имя таблицы содержит пробел, вам необходимо добавить двойные кавычки для идентификатора.Вам все равно нужно будет заключить его в одинарные кавычки:

SELECT public.show_chunks('test."equipment conditions"');
SELECT public.show_chunks('"test schema"."equipment conditions"');

Для получения дополнительной информации о цитировании идентификатора: https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

Редактировать: Обращение к PS:

Я хочу запросить сам чанк по его имени?Как я могу это сделать?

feike=# SELECT public.show_chunks('test.conditions');
                show_chunks                 
--------------------------------------------
 _timescaledb_internal._hyper_28_1176_chunk
 _timescaledb_internal._hyper_28_1177_chunk
[...]

SELECT * FROM _timescaledb_internal._hyper_28_1176_chunk;
...