检索有关分区表的信息
POLARDB for Oracle 提供了五个系统目录视图,可供您用来查看有关分区表结构的信息。
查询分区视图
你可以查询以下各视图来检索有关分区表和二级分区表的信息:
- ALL_PART_TABLES
- ALL_TAB_PARTITIONS
- ALL_TAB_SUBPARTITIONS
- ALL_PART_KEY_COLUMNS
- ALL_SUBPART_KEY_COLUMNS
每个视图的结构将在表分区视图中进行说明。如果使用的是 POLARDB-PSQL 客户端,您还可以通过输入以命令来了解视图的结构:
\d view_name
其中,view_name 指定表分区视图的名称。
通过查询视图,可提供有关分区表或二级分区表结构的信息。例如,以下代码片段显示了二级分区表的名称。
acctg=# SELECT subpartition_name, partition_name FROM ALL_TAB_SUBPARTITIONS;
subpartition_name | partition_name
-------------------+----------------
EUROPE_2011 | EUROPE
EUROPE_2012 | EUROPE
ASIA_2011 | ASIA
ASIA_2012 | ASIA
AMERICAS_2011 | AMERICAS
AMERICAS_2012 | AMERICAS
(6 rows)
表分区视图
查询与 Oracle 数据库兼容的以下各目录视图,可了解有关分区表的详细信息。
列 | 类型 | 说明 |
---|---|---|
owner | name | 表的所有者。 |
schema_name | name | 表所在的 schema。 |
table_name | name | 表的名称。 |
partitioning_type | text | RANGE、LIST 或 HASH |
subpartitioning_type | text | RANGE、LIST、HASH 或 NONE |
partition_count | bigint | 分区的数量。 |
def_subpartition_count | integer | 默认二级分区计数 - 它将始终为 0。 |
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 |
列 | 类型 | 说明 |
---|---|---|
table_owner | name | 表的所有者。 |
schema_name | name | 表所在的 schema。 |
table_name | name | 表的名称。 |
composite | text | 如果表有二级分区,则为 YES;如果表没有二级分区,则为 NO。 |
partition_name | name | 分区的名称。 |
subpartition_count | bigint | 此分区的二级分区的数量。 |
high_value | text | RANGE 分区的分区限制,或 LIST 分区的分区值。 |
high_value_length | integer | high_value 的长度。 |
partition_position | integer | 此列将始终为 NULL。 |
tablespace_name | name | 此分区所在的表空间的名称。 |
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 | 此分区中的大约行数。 |
blocks | integer | 此分区中的大约块数。 |
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 | 此分区的支持表的 OID。 |
列 | 类型 | 说明 |
---|---|---|
table_owner | name | 表的所有者的名称。 |
schema_name | name | 表所在 schema 的名称。 |
table_name | name | 表的名称。 |
partition_name | name | 分区的名称。 |
subpartition_name | name | 二级分区的名称。 |
high_value | text | RANGE 二级分区的二级分区限制,或 LIST 二级分区的二级分区值。 |
high_value_length | integer | high_value 的长度。 |
subpartition_position | integer | 此列将始终为 NULL。 |
tablespace_name | name | 此二级分区所在的表空间。 |
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 | 此二级分区中的大约行数。 |
blocks | integer | 此二级分区中的大约块数。 |
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 | 此二级分区的支持表的 OID。 |
列 | 类型 | 说明 |
---|---|---|
owner | name | 表所有者的名称。 |
schema_name | name | 表所在的 schema 的名称。 |
name | name | 表的名称。 |
object_type | character(5) | 此列将始终为 TABLE。 |
column_name | name | 分区键列的名称。 |
column_position | integer | 此列在分区键中的位置(第一列的列位置为 1,第二列的列位置为 2...) |
列 | 类型 | 说明 |
---|---|---|
owner | name | 表所有者的名称。 |
schema_name | name | 表所在的 schema 的名称。 |
name | name | 表的名称。 |
object_type | character(5) | 此列将始终为 TABLE。 |
column_name | name | 分区键列的名称。 |
column_position | integer | 此列在分区键中的位置(第一列的列位置为 1,第二列的列位置为 2...) |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论