54.20. pg_enum #

В каталоге pg_enum содержатся записи, определяющие значения и метки для всех типов-перечислений. Внутренним представлением значения перечисления на самом деле является OID соответствующей строки в pg_enum.

Таблица 54.20. Столбцы pg_enum

Тип столбца

Описание

oid oid

Идентификатор строки

enumtypid oid (ссылается на pg_type.oid)

OID записи в pg_type, к которой относится данное значение перечисления

enumsortorder float4

Порядок сортировки этого значения внутри перечисления

enumlabel name

Текстовая метка данного значения перечисления


Идентификаторы OID в строках pg_enum подчиняются особому правилу: чётные OID гарантированно упорядочиваются по порядку сортировки их типа перечисления. То есть, если к одному перечислению относятся два чётных OID, меньшему OID должно соответствовать меньшее значение enumsortorder. Нечётные значения OID могут быть не связаны с этим порядком сортировки. Это правило позволяет во многих случаях сравнивать значения перечислений, не обращаясь к каталогам. Процедуры, создающие и изменяющие перечисления, пытаются присваивать значениям перечислений чётные OID, если это возможно.

Когда создаётся тип перечисления, его членам назначаются позиции по порядку сортировки 1..n. Но у членов, добавляемых позже, могут оказаться отрицательные или дробные значения enumsortorder. Единственное, что требуется — чтобы эти значения были правильно упорядочены и уникальны в рамках перечисления.

Q.1. recovery.conf file merged into postgresql.conf

Postgres Pro 11 and below used a configuration file named recovery.conf to manage replicas and standbys. Support for this file was removed in Postgres Pro 12. See the release notes for PostgreSQL 12 for details on this change.

On Postgres Pro 12 and above, archive recovery, streaming replication, and PITR are configured using normal server configuration parameters. These are set in postgresql.conf or via ALTER SYSTEM like any other parameter.

The server will not start if a recovery.conf exists.

The trigger_file setting has been renamed to promote_trigger_file.

The standby_mode setting has been removed. A standby.signal file in the data directory is used instead. See Standby Server Operation for details.