Ну, поведение вполне стабильно и естественно, но явным образом не описано в документации, или я не нашел — вот только есть тут (искать typalign) и в вики немного.
ZSON — идея неплоха, но, к сожалению, работает только с JSONB-столбцами, а еще мне показалось, что 16 битов маловато.
Сжатие TOAST в постгресе практически никакое, в погоне за процессорными тактами был выбран алгоритм, эффективно сжимающий только совсем однообразные данные. Основная надежда тут — что появится сжатие на уровне страниц, да еще желательно с pluggable алгоритмами
В синтетическом примере в статье автор выигрывает на выравнивании 12%, а не 1-2.
Итого — это неплохая прибавка к пенсии, когда остальные варианты оптимизации уже применены.
Статья несколько сумбурная, но мне показался важным и неожиданным сам факт, на который указывает автор — что в дисковом формате данных используется data alignment.
Как паковать — как правило, пересозданием таблицы. Есть текст https://wiki.postgresql.org/wiki/Alter_column_position, в котором также упоминается, что physical layout can be optimized by putting fixed size columns at the start of the table, но без подробностей.
Сжатие TOAST в постгресе практически никакое, в погоне за процессорными тактами был выбран алгоритм, эффективно сжимающий только совсем однообразные данные. Основная надежда тут — что появится сжатие на уровне страниц, да еще желательно с pluggable алгоритмами
В синтетическом примере в статье автор выигрывает на выравнивании 12%, а не 1-2.
Итого — это неплохая прибавка к пенсии, когда остальные варианты оптимизации уже применены.
Как паковать — как правило, пересозданием таблицы. Есть текст https://wiki.postgresql.org/wiki/Alter_column_position, в котором также упоминается, что physical layout can be optimized by putting fixed size columns at the start of the table, но без подробностей.