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
  • 如果表已建立二级分区,则为 YES。
  • 如果表未建立二级分区,则为 NO。
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 表示第二列,以此类推。