51.7. pg_attribute#
51.7. pg_attribute
Каталог pg_attribute
хранит информацию о столбцах таблицы. Для каждого столбца в каждой таблице базы данных будет ровно одна строка pg_attribute
. (Также будут созданы записи атрибутов для индексов и, на самом деле, для всех объектов, у которых есть записи pg_class
).
Термин attribute эквивалентен столбцу и используется по историческим причинам.
Таблица 51.7. pg_attribute
Колонки
Тип столбца Описание |
---|
Таблица, к которой относится этот столбец |
Имя столбца |
Тип данных этого столбца (ноль для удаленного столбца) |
|
Копия |
Номер столбца. Обычные столбцы нумеруются с 1 и выше. Системные столбцы, такие как |
Количество измерений, если столбец является массивным типом; в противном случае 0. (В настоящее время количество измерений массива не контролируется, поэтому любое ненулевое значение фактически означает, что “это массив”). |
Всегда -1 в хранилище, но при загрузке в дескриптор строки в памяти это может быть обновлено для кеширования смещения атрибута внутри строки |
|
Копия значения |
Копия значения |
Обычно это копия |
Способ сжатия текущего столбца. Обычно это |
Это представляет собой ограничение NOT NULL. |
Этот столбец имеет выражение по умолчанию или выражение генерации, в таком случае будет соответствующая запись в каталоге |
Этот столбец имеет значение, которое используется, когда столбец полностью отсутствует в строке, что происходит, когда столбец добавляется со значением |
Если это нулевой байт ( |
Если это нулевой байт ( |
Этот столбец был удален и больше не является действительным. Удаленный столбец все еще физически присутствует в таблице, но игнорируется парсером и, следовательно, не может быть доступен через SQL. |
Этот столбец определен локально в отношении. Обратите внимание, что столбец может быть определен локально и одновременно унаследован. |
Количество прямых предков этого столбца. Столбец с ненулевым количеством предков не может быть удален или переименован. |
Определенное правило сортировки столбца или ноль, если столбец не является сортируемым типом данных |
Привилегии доступа на уровне столбцов, если они были явно предоставлены для этого столбца |
Опции на уровне атрибутов, как строки “ключевое_слово=значение” |
Опции внешнего обработчика данных на уровне атрибута, в виде строк “ключевое_слово=значение” |
Этот столбец имеет массив из одного элемента, содержащий значение, используемое, когда столбец полностью отсутствует в строке, что происходит, когда столбец добавляется со значением |
В записи pg_attribute
удаленного столбца, atttypid
сбрасывается на ноль, но attlen
и другие поля, скопированные из pg_type
, остаются действительными. Это устройство необходимо для справки с ситуацией, когда тип данных удаленного столбца был позже удален, и поэтому больше нет строки pg_type
. attlen
и другие поля могут использоваться для интерпретации содержимого строки таблицы.