51.36. pg_partitioned_table

В каталоге pg_partitioned_table хранится информация о секционировании таблиц.

Таблица 51.36. Столбцы pg_partitioned_table

Тип столбца

Описание

partrelid oid (ссылается на pg_class.oid)

OID записи в pg_class для этой секционированной таблицы

partstrat char

Стратегия секционирования; h = секционирование по хешу (Hash), l = секционирование по спискам (List), r = секционирование по диапазонам (Range)

partnatts int2

Число столбцов в ключе секционирования

partdefid oid (ссылается на pg_class.oid)

OID записи в pg_class для секции по умолчанию в данной секционированной таблице или ноль, если в этой секционированной таблице нет секции по умолчанию

partattrs int2vector (ссылается на pg_attribute.attnum)

Это массив из partnatts значений, указывающих, какие столбцы таблицы входят в ключ секционирования. Например, значения 1 3 будут означать, что ключ секционирования составляют первый и третий столбцы таблицы. Ноль в этом массиве означает, что соответствующей частью ключа секционирования является выражение, а не ссылка на отдельный столбец.

partclass oidvector (ссылается на pg_opclass.oid)

Для каждого столбца в ключе секционирования этот массив содержит OID применяемых классов операторов. Подробнее это рассматривается в описании pg_opclass.

partcollation oidvector (ссылается на pg_collation.oid)

Для каждого столбца в ключе секционирования этот массив содержит OID правила сортировки для секционирования либо 0, если тип данных этого столбца не сортируемый.

partexprs pg_node_tree

Деревья выражений (в представлении nodeToString()) для частей ключа секционирования, не являющихся простыми ссылками на столбцы. Этот список содержит один элемент для каждого нулевого значения в partattrs. Значением может быть NULL, если все части ключа секционирования являются простыми указаниями столбцов.


51.36. pg_partitioned_table

The catalog pg_partitioned_table stores information about how tables are partitioned.

Table 51.36. pg_partitioned_table Columns

Column Type

Description

partrelid oid (references pg_class.oid)

The OID of the pg_class entry for this partitioned table

partstrat char

Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table

partnatts int2

The number of columns in the partition key

partdefid oid (references pg_class.oid)

The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition

partattrs int2vector (references pg_attribute.attnum)

This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.

partclass oidvector (references pg_opclass.oid)

For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.

partcollation oidvector (references pg_collation.oid)

For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.

partexprs pg_node_tree

Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.


FAQ