Обработка нескольких булевых элементов в одной строке в postgres?

У меня есть таблица с более чем 12 столбцами, в которых только булевы элементы! Как управлять этим с помощью одного столбца?

И как часть требования, это должно быть динамическим (в смысле, столбец может увеличиться в будущем), так что это должно действовать без изменения таблицы!

Каким способом лучше всего этого добиться?

Table Users:
     married: False
     profession_provided: False
     location_provided: True
     certificates_provided: False
     exams_provided: True

Как и выше, у меня более 12 колонок, и в ближайшем будущем это количество может увеличиться - так есть ли способ справиться с этим - например, используя Json или массив или bitwse и т.д.

Я читал статью, в которой говорилось, что побитовые данные можно хранить следующим образом,

0010101

Так что если 0, то false, иначе true! Можно ли этому доверять или есть какой-нибудь эффективный способ справиться с этим?

Вот несколько компактных решений:

Массив boolean (bool[]) был бы другим, все еще относительно компактным вариантом.

Если хранение данных не вызывает беспокойства, можно просто добавить столбец типа документа (json, jsonb или hstore) для динамического (без схемы) роста с более явным хранением ключа и значения.

Вернуться на верх