35.17. columns#
35.17. columns
Представление columns
содержит информацию о всех столбцах таблицы (или столбцах представления) в базе данных. Системные столбцы (ctid
и т. д.) не включены. Показываются только те столбцы, к которым текущий пользователь имеет доступ (как владелец или имеющий некоторые привилегии).
Таблица 35.15. columns
Колонки
Тип столбца Описание |
---|
Имя базы данных, содержащей таблицу (всегда текущая база данных) |
Имя схемы, содержащей таблицу |
Имя таблицы |
Имя столбца |
Порядковый номер столбца в таблице (счет начинается с 1) |
Выражение по умолчанию для столбца |
|
Тип данных столбца, если это встроенный тип, или
|
Если |
Если |
Если |
Если |
Если |
Если |
Если |
Применяется к функциональности, недоступной в Tantor SE
(см. |
Применяется к функциональности, недоступной в Tantor SE |
Применяется к функциональности, недоступной в Tantor SE |
Применяется к функциональности, недоступной в Tantor SE |
Имя базы данных, содержащей сортировку столбца (всегда текущая база данных), null, если используется значение по умолчанию или тип данных столбца не может быть сортирован |
Имя схемы, содержащей упорядочение столбца, null, если у столбца используется значение по умолчанию или тип данных столбца не может быть упорядочен |
Имя правила сортировки столбца, null, если используется значение по умолчанию или тип данных столбца не может быть упорядочен |
Если столбец имеет тип домена, то это имя базы данных, в которой определен этот домен (всегда текущая база данных), в противном случае null. |
Если столбец имеет тип домена, то это имя схемы, в которой определен этот домен, в противном случае - null. |
Если столбец имеет тип домена, то это будет имя домена, в противном случае - null. |
Имя базы данных, в которой определен тип данных столбца (базовый тип домена, если применимо) (всегда текущая база данных) |
Имя схемы, в которой определен тип данных столбца (базовый тип домена, если применимо) |
Имя типа данных столбца (базовый тип домена, если применимо) |
Применяется к функциональности, недоступной в Tantor SE |
Применяется к функциональности, недоступной в Tantor SE |
Применяется к функциональности, недоступной в Tantor SE |
Всегда null, потому что массивы всегда имеют неограниченную максимальную кардинальность в Tantor SE |
Идентификатор дескриптора типа данных столбца, уникальный среди дескрипторов типов данных, относящихся к таблице. Это особенно полезно для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определен и не гарантируется, что он останется таким же в будущих версиях). |
Применяется к функциональности, недоступной в Tantor SE |
Если столбец является столбцом идентификатора, то |
Если столбец является столбцом идентификатора, то |
Если столбец является столбцом идентификатора, то это начальное значение внутренней последовательности, иначе null. |
Если столбец является столбцом идентификатора, то это увеличение внутренней последовательности, иначе null. |
Если столбец является столбцом идентификатора, то максимальное значение внутренней последовательности, иначе null. |
Если столбец является столбцом идентификатора, то это минимальное значение внутренней последовательности, иначе null. |
Если столбец является столбцом идентификатора, то |
Если столбец является вычисляемым столбцом, то |
Если столбец является вычисляемым столбцом, то выражение генерации, иначе null. |
|
Поскольку типы данных могут быть определены различными способами в SQL, а Tantor SE содержит дополнительные способы определения типов данных, их представление в информационной схеме может быть несколько сложным. Столбец data_type
должен идентифицировать базовый встроенный тип столбца. В Tantor SE это означает, что тип определен в схеме системного каталога pg_catalog
. Этот столбец может быть полезен, если приложение может обрабатывать известные встроенные типы особым образом (например, форматировать числовые типы по-разному или использовать данные в столбцах точности). Столбцы udt_name
, udt_schema
и udt_catalog
всегда идентифицируют базовый тип данных столбца, даже если столбец основан на домене. (Поскольку Tantor SE обрабатывает встроенные типы как пользовательские типы, встроенные типы также отображаются здесь. Это расширение стандарта SQL). Эти столбцы следует использовать, если приложение хочет обрабатывать данные по-разному в зависимости от типа, потому что в этом случае не имеет значения, основан ли столбец на домене. Если столбец основан на домене, идентификатор домена хранится в столбцах domain_name
, domain_schema
и domain_catalog
. Если вы хотите сопоставить столбцы с соответствующими типами данных и обрабатывать домены как отдельные типы, вы можете написать coalesce(domain_name, udt_name)
и т.д.