Шифрование и секретность в Linux

         

Записи



Записи

Записи в двоичном файле начинаются с 16-разрядного целого количества полей (одинакового для каждой записи). Затем следует 16-разрядное целое поле typlen, после чего — поля данных. Допустимые значения поля typlen перечислены ниже.

  • 0. NULL; поле не содержит данных.
  • >0. Тип данных фиксированной длины. За словом typlen следует указанное количество байтов данных.
  • -1. Тип данных varlena. Следующие четыре байта составляют заголовок varlena, определяющий общую длину значения (вместе с длиной заголовка).
  • <—1. Зарезервировано для использования в будущем.

Чтобы приложение, читающее этот формат, могло легко проверить целостность двоичных данных, со всеми полями, отличными от NULL, ассоциируется значение typlen, которое может сравниваться с полем typlen приемного поля перед попытками вставки или обновления данных в PostgreSQL.

Некоторые параметры форматирования остались нереализованными; такое решение было принято для лучшей переносимости двоичных файлов. Следует упомянуть о невозможности хранения дополнительных данных между полями (например, посредством дополнения при выравнивании), а также об отсутствии различий между типами данных по способу передачи (по ссылке и по значению).

Если в двоичный файл PostgreSQL включаются идентификаторы объектов (OID), они следуют сразу же после поля-счетчика. При подсчете полей значения OID не учитываются.



Содержание раздела