51.37. pg_partitioned_table #

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

Таблица 51.37. Столбцы 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, если все части ключа секционирования являются простыми указаниями столбцов.