52.20. pg_enum
В каталоге pg_enum
содержатся записи, определяющие значения и метки для всех типов-перечислений. Внутренним представлением значения перечисления на самом деле является OID соответствующей строки в pg_enum
.
Таблица 52.20. Столбцы pg_enum
Идентификаторы OID в строках pg_enum
подчиняются особому правилу: чётные OID гарантированно упорядочиваются по порядку сортировки их типа перечисления. То есть, если к одному перечислению относятся два чётных OID, меньшему OID должно соответствовать меньшее значение enumsortorder
. Нечётные значения OID могут быть не связаны с этим порядком сортировки. Это правило позволяет во многих случаях сравнивать значения перечислений, не обращаясь к каталогам. Процедуры, создающие и изменяющие перечисления, пытаются присваивать значениям перечислений чётные OID, если это возможно.
Когда создаётся тип перечисления, его членам назначаются позиции по порядку сортировки 1..n
. Но у членов, добавляемых позже, могут оказаться отрицательные или дробные значения enumsortorder
. Единственное, что требуется — чтобы эти значения были правильно упорядочены и уникальны в рамках перечисления.
50.92. pg_timezone_names
The view pg_timezone_names
provides a list of time zone names that are recognized by SET TIMEZONE
, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, Postgres Pro does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs
, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP
.
Table 50.93. pg_timezone_names
Columns
Column Type Description |
---|
Time zone name |
Time zone abbreviation |
Offset from UTC (positive means east of Greenwich) |
True if currently observing daylight savings |