PolarDB PostgreSQL版(相容Oracle)提供五個系統目錄檢視,您可以使用這五個系統目錄檢視來查看分區表的具體資訊。
查詢分區表視圖
PolarDB PostgreSQL版(相容Oracle)提供了如下兩種方式查詢分區表視圖:
- 使用SELECT命令
查詢方式如下:
SELECT * FROM viewname; - 使用PSQL用戶端
查詢命令如下:
\d viewname
其中viwename為視圖名稱,您可以通過以下視圖查詢分區和子分區資訊:
ALL_PART_TABLES
ALL_PART_TABLES視圖提供當前資料庫中的所有分區表的資訊。
| 名稱 | 類型 | 說明 |
| owner | TEXT | 分區表的所有者。 |
| schema_name | TEXT | 表所在 schema 的名稱。 |
| 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視圖提供當前資料庫中的所有分區的資訊。
| 名稱 | 類型 | 說明 |
| table_owner | TEXT | 分區所在表的所有者。 |
| schema_name | TEXT | 表所在 schema 的名稱。 |
| table_name | TEXT | 表的名稱。 |
| composite | TEXT |
|
| partition_name | TEXT | 分區的名稱。 |
| subpartition_count | BIGINT | 分區中二級分區的數量。 |
| high_value | TEXT | CREATE TABLE 語句中指定的高分區值。 |
| high_value_length | INTEGER | 分區值的長度。 |
| 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視圖提供當前資料庫中的所有子分區的資訊。
| 名稱 | 類型 | 說明 |
| table_owner | TEXT | 二級分區所在表的所有者。 |
| schema_name | TEXT | 表所在 schema 的名稱。 |
| table_name | TEXT | 表的名稱。 |
| partition_name | TEXT | 分區的名稱。 |
| subpartition_name | TEXT | 二級分區的名稱。 |
| high_value | TEXT | CREATE TABLE 語句中指定的高二級分區值。 |
| high_value_length | INTEGER | 二級分區值的長度。 |
| 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視圖提供當前資料庫中分區鍵列的資訊。
| 名稱 | 類型 | 說明 |
| owner | TEXT | 表的所有者。 |
| schema_name | TEXT | 表所在 schema 的名稱。 |
| name | TEXT | 列所在表的名稱。 |
| object_type | CHARACTER(5) | 僅為了實現相容性;始終為 TABLE。 |
| column_name | TEXT | 定義鍵的列的名稱。 |
| column_position | INTEGER | 1 表示第一列;2 表示第二列,以此類推。 |
ALL_SUBPART_KEY_COLUMNS
ALL_SUBPART_KEY_COLUMNS視圖提供當前資料庫中子分區鍵列的資訊。
| 名稱 | 類型 | 說明 |
| owner | TEXT | 表的所有者。 |
| schema_name | TEXT | 表所在 schema 的名稱。 |
| name | TEXT | 列所在表的名稱。 |
| object_type | CHARACTER(5) | 僅為了實現相容性;始終為 TABLE。 |
| column_name | TEXT | 定義鍵的列的名稱。 |
| column_position | INTEGER | 1 表示第一列;2 表示第二列,以此類推。 |