Добрый день, стоит задача валидировать данные в поле jsonb на уровне базы. Шаблон для данных:
{"en": "value", "ru": "значение"}
Вот что написал:
CREATE DOMAIN json_localized AS jsonb CHECK (VALUE->'ru' IS NOT NULL AND VALUE->'en' IS NOT NULL);
И это уже даже работает, но не получается добавить сюда проверку на лишние ключи, так же на пустые строки и на тип данных в ключах (должна быть строка). Т.е. такие варианты хочу исключить:
{"en": 6, "ru": "значение"}
{"en": "", "ru": "значение",}
{"en": "value", "ru": "значение", fr: "de valuje"}
Помогите модифицировать CHECK