2

他の誰かが作成したTimescaleデータベースがあります。

  1. create_hypertableがテーブルで呼び出されたかどうかを判断するにはどうすればよいですか?

今のところこれを使用していますが、もっと良い方法があるはずです:

SELECT * FROM hypertable_relation_size('public.data');
  1. がテーブルで呼び出された場合create_hypertable、呼び出し時に使用されたパラメーター (chunk_time_interval を含む) はcreate_hypertable?

(場合によっては、from_date と to_date があります)

4

2 に答える 2

5

TimescaleDB は、ハイパーテーブルに関するメタデータを維持し、メタデータをクエリするためのビューを提供します。ビューはスキーマにtimescaledb_informationあり、ハイパーテーブルに関する情報は から取得できますtimescaledb_information.hypertable

例えば:

SELECT * FROM timescaledb_information.hypertable WHERE table_name = 'data';

この API ドキュメントには、より多くの情報と例が含まれています。

時間チャンク間隔は時間の経過とともに変更される可能性があるため、ビューはそれに関する情報を提供しないことに注意してください。そのため、すべてのチャンクを検査してその間隔を確認する必要があります。chunk_relation_size_prettyこれは、ドキュメントhere で説明されている関数を呼び出すことで実行できます。例えば:

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');

于 2019-10-16T12:02:36.447 に答える