enums

Модуль перечислений OID (Object Identifier) типов данных PostgreSQL/Greenplum и их соответствия типам данных.

PGOid

class PGOid

Перечисление OID идентификаторов типов данных PostgreSQL.

Описание:

Содержит числовые идентификаторы (OID) для всех поддерживаемых типов данных PostgreSQL/Greenplum, включая как скалярные типы, так и их массивы (с префиксом _).

Примеры OID:

  • bool16

  • int423

  • text25

  • _int41007

  • _text1009

Особенности:

  • OID уникальны для каждого типа данных в PostgreSQL/Greenplum

  • Массивы имеют свои собственные OID

  • Используются в заголовке бинарного формата COPY

ArrayOidToOid

ArrayOidToOid
Type:

dict[PGOid, PGOid]

Словарь соответствия OID массива к OID его базового типа.

Назначение:

Преобразование OID массива в OID элемента для определения типа данных при чтении массивов.

Пример:

  • PGOid._int4 (1007) → PGOid.int4 (23)

  • PGOid._text (1009) → PGOid.text (25)

PGOidToDType

PGOidToDType
Type:

dict[PGOid, PostgreSQLDtype]

Словарь соответствия OID типов данных PostgreSQL/Greenplum к объектам PostgreSQLDtype.

Назначение:

Определение функций чтения/записи по OID типа данных из заголовка бинарного файла.

Особенности:

  • Все массивы мапятся на PostgreSQLDtype.Array

  • Скалярные типы мапятся на соответствующие типы данных

  • Для текстовых типов (bpchar, char, varchar, xml) используется PostgreSQLDtype.Text

  • Для битовых типов (bit, varbit) используется PostgreSQLDtype.Bit

Использование:

Для диспетчеризации функций чтения/записи при парсинге бинарного формата PGCOPY.