Системный каталог pg_largeobject содержит данные, формирующие
«большие объекты». Большой объект идентифицируется по OID, присваиваемому при его создании. Каждый большой объект разбивается на
сегменты или «страницы,» размер которых позволяет удобно хранить их в виде строк
в pg_largeobject.
Объем данных в одной странице определяется параметром LOBLKSIZE (значение которого в настоящее время равно
BLCKSZ/4, что обычно составляет 2 КБ).
До версии Digital Q.DataBase 9.0 для больших объектов отсутствовала структура разрешений. В результате чего
pg_largeobject была доступна для чтения всем пользователям и могла использоваться для получения OID (и содержимого) всех больших объектов в системе. В настоящее время это не так; для получения списка OID больших объектов используйте
pg_largeobject_metadata
to obtain a list of large object OIDs.
Таблица 7.2.30. pg_largeobject Столбцы
Тип столбца Описание |
|---|
Идентификатор большого объекта, содержащего данную страницу |
Номер данной страницы в рамках соответствующего большого объекта (отсчёт ведётся от нуля) |
Фактические данные, хранящиеся в большом объекте.
Это значение никогда не будет превышать |
Каждая строка pg_largeobject содержит данные
для одной страницы большого объекта, начиная с
байтового смещения (pageno * LOBLKSIZE) внутри объекта. Реализация
допускает разреженное хранение: страницы могут отсутствовать или быть короче
LOBLKSIZE байт, даже если они не являются последней страницей объекта.
Отсутствующие области внутри большого объекта при чтении заполняются нулями.