PolarDB for PostgreSQL (Oracle 互換) は、パーティションとサブパーティションのメタデータをクエリするための 5 つのシステムカタログビューを提供します。
| ビュー | スコープ |
|---|---|
ALL_PART_TABLES | 現在のデータベースでアクセス可能なパーティションテーブル |
ALL_TAB_PARTITIONS | 現在のデータベース内のパーティション |
ALL_TAB_SUBPARTITIONS | 現在のデータベース内のサブパーティション |
ALL_PART_KEY_COLUMNS | 現在のデータベース内のパーティションキー列 |
ALL_SUBPART_KEY_COLUMNS | 現在のデータベース内のサブパーティションキー列 |
ビューのクエリ
これらのビューをクエリするには、次のいずれかの方法を使用します。 <viewname> を実際のビュー名に置き換えてください。
SQL
SELECT * FROM <viewname>;たとえば、すべてのパーティションテーブルをそのパーティションタイプと数とともにリスト表示するには、次のようにします。
SELECT owner, table_name, partitioning_type, partition_count FROM ALL_PART_TABLES;psql
\d <viewname>ALL_PART_TABLES
ALL_PART_TABLES は、現在のデータベースでアクセス可能なパーティションテーブルごとに 1 行を返します。
| 列 | 型 | 説明 |
|---|---|---|
owner | TEXT | パーティションテーブルのオーナー。 |
schema_name | TEXT | テーブルを含むスキーマ。 |
table_name | TEXT | テーブルの名前。 |
partitioning_type | TEXT | テーブルパーティションの定義に使用されるパーティションタイプ。 |
subpartitioning_type | TEXT | テーブルサブパーティションの定義に使用されるサブパーティションタイプ。 |
partition_count | BIGINT | パーティション数。 |
def_subpartition_count | INTEGER | テーブル内のサブパーティション数。 |
partitioning_key_count | INTEGER | パーティションキー列数。 |
subpartitioning_key_count | INTEGER | サブパーティションキー列数。 |
status | CHARACTER VARYING(8) | 互換性のためにのみ含まれており、常に VALID です。 |
def_tablespace_name | CHARACTER VARYING(30) | 互換性のためにのみ含まれており、常に NULL です。 |
def_pct_free | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
def_pct_used | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
def_ini_trans | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
def_max_trans | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
def_initial_extent | CHARACTER VARYING(40) | 互換性のためにのみ含まれており、常に NULL です。 |
def_next_extent | CHARACTER VARYING(40) | 互換性のためにのみ含まれており、常に NULL です。 |
def_min_extents | CHARACTER VARYING(40) | 互換性のためにのみ含まれており、常に NULL です。 |
def_max_extents | CHARACTER VARYING(40) | 互換性のためにのみ含まれており、常に NULL です。 |
def_pct_increase | CHARACTER VARYING(40) | 互換性のためにのみ含まれており、常に NULL です。 |
def_freelists | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
def_freelist_groups | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
def_logging | CHARACTER VARYING(7) | 互換性のためにのみ含まれており、常に YES です。 |
def_compression | CHARACTER VARYING(8) | 互換性のためにのみ含まれており、常に NONE です。 |
def_buffer_pool | CHARACTER VARYING(7) | 互換性のためにのみ含まれており、常に DEFAULT です。 |
ref_ptn_constraint_name | CHARACTER VARYING(30) | 互換性のためにのみ含まれており、常に NULL です。 |
interval | CHARACTER VARYING(1000) | 互換性のためにのみ含まれており、常に NULL です。 |
ALL_TAB_PARTITIONS
ALL_TAB_PARTITIONS は、現在のデータベース内のパーティションごとに 1 行を返します。
| 列 | 型 | 説明 |
|---|---|---|
table_owner | TEXT | テーブルのオーナー。 |
schema_name | TEXT | テーブルを含むスキーマ。 |
table_name | TEXT | テーブルの名前。 |
composite | TEXT | テーブルがサブパーティション化されているかどうかを示します。 YES はサブパーティション化されていること、NO はサブパーティション化されていないことを意味します。 |
partition_name | TEXT | パーティションの名前。 |
subpartition_count | BIGINT | このパーティション内のサブパーティション数。 |
high_value | TEXT | CREATE TABLE 文で指定されたパーティションの上限値。 |
high_value_length | INTEGER | high_value の長さ。 |
partition_position | INTEGER | 互換性のためにのみ含まれており、常に NULL です。 |
tablespace_name | TEXT | パーティションを含む表領域。 |
pct_free | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
pct_used | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
ini_trans | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
max_trans | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
initial_extent | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
next_extent | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
min_extent | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
max_extent | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
pct_increase | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
freelists | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
freelist_groups | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
logging | CHARACTER VARYING(7) | 互換性のためにのみ含まれており、常に YES です。 |
compression | CHARACTER VARYING(8) | 互換性のためにのみ含まれており、常に NONE です。 |
num_rows | NUMERIC | 推定行数。 pg_class.reltuples と同じです。 |
blocks | INTEGER | ディスクページ数。 pg_class.relpages と同じです。 |
empty_blocks | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
avg_space | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
chain_cnt | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
avg_row_len | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
sample_size | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
last_analyzed | TIMESTAMP WITHOUT TIME ZONE | 互換性のためにのみ含まれており、常に NULL です。 |
buffer_pool | CHARACTER VARYING(7) | 互換性のためにのみ含まれており、常に NULL です。 |
global_stats | CHARACTER VARYING(3) | 互換性のためにのみ含まれており、常に YES です。 |
user_stats | CHARACTER VARYING(3) | 互換性のためにのみ含まれており、常に NO です。 |
backing_table | REGCLASS | パーティションのバッキングテーブルの名前。 |
ALL_TAB_SUBPARTITIONS
ALL_TAB_SUBPARTITIONS は、現在のデータベース内のサブパーティションごとに 1 行を返します。
| 列 | 型 | 説明 |
|---|---|---|
table_owner | TEXT | テーブルのオーナー。 |
schema_name | TEXT | テーブルを含むスキーマ。 |
table_name | TEXT | テーブルの名前。 |
partition_name | TEXT | 親パーティションの名前。 |
subpartition_name | TEXT | サブパーティションの名前。 |
high_value | TEXT | CREATE TABLE 文で指定されたサブパーティションの上限値。 |
high_value_length | INTEGER | high_value の長さ。 |
subpartition_position | INTEGER | 互換性のためにのみ含まれており、常に NULL です。 |
tablespace_name | TEXT | サブパーティションを含む表領域。 |
pct_free | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
pct_used | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
ini_trans | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
max_trans | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
initial_extent | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
next_extent | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
min_extent | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
max_extent | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
pct_increase | NUMERIC | 互換性のためにのみ含まれており、常に 0 です。 |
freelists | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
freelist_groups | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
logging | CHARACTER VARYING(7) | 互換性のためにのみ含まれており、常に YES です。 |
compression | CHARACTER VARYING(8) | 互換性のためにのみ含まれており、常に NONE です。 |
num_rows | NUMERIC | 推定行数。 pg_class.reltuples と同じです。 |
blocks | INTEGER | ディスクページ数。 pg_class.relpages と同じです。 |
empty_blocks | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
avg_space | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
chain_cnt | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
avg_row_len | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
sample_size | NUMERIC | 互換性のためにのみ含まれており、常に NULL です。 |
last_analyzed | TIMESTAMP WITHOUT TIME ZONE | 互換性のためにのみ含まれており、常に NULL です。 |
buffer_pool | CHARACTER VARYING(7) | 互換性のためにのみ含まれており、常に NULL です。 |
global_stats | CHARACTER VARYING(3) | 互換性のためにのみ含まれており、常に YES です。 |
user_stats | CHARACTER VARYING(3) | 互換性のためにのみ含まれており、常に NO です。 |
backing_table | REGCLASS | サブパーティションのバッキングテーブルの名前。 |
ALL_PART_KEY_COLUMNS
ALL_PART_KEY_COLUMNS は、現在のデータベース内のパーティションキー列ごとに 1 行を返します。
| 列 | 型 | 説明 |
|---|---|---|
owner | TEXT | パーティションテーブルのオーナー。 |
schema_name | TEXT | テーブルを含むスキーマ。 |
name | TEXT | パーティションテーブルの名前。 |
object_type | CHARACTER(5) | 互換性のためにのみ含まれており、常に TABLE です。 |
column_name | TEXT | パーティションキー列の名前。 |
column_position | INTEGER | パーティションキー内での列の序数位置。 1 は最初のキー列、2 は 2 番目のキー列、というようになります。 |
ALL_SUBPART_KEY_COLUMNS
ALL_SUBPART_KEY_COLUMNS は、現在のデータベース内のサブパーティションキー列ごとに 1 行を返します。
| 列 | 型 | 説明 |
|---|---|---|
owner | TEXT | パーティションテーブルのオーナー。 |
schema_name | TEXT | テーブルを含むスキーマ。 |
name | TEXT | パーティションテーブルの名前。 |
object_type | CHARACTER(5) | 互換性のためにのみ含まれており、常に TABLE です。 |
column_name | TEXT | サブパーティションキー列の名前。 |
column_position | INTEGER | サブパーティションキー内での列の序数位置。 1 は最初のキー列、2 は 2 番目のキー列、というようになります。 |