Обработка нескольких булевых элементов в одной строке в 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
) для динамического (без схемы) роста с более явным хранением ключа и значения.