Я знаю, что могу использовать регулярное выражение в ограничении для проверки содержимого поля, такого как
CONSTRAINT foo CHECK (column ~* 'regex')
Я знаю, что могу сделать это даже для столбца json, так как могу получить указанные c атрибутов, таких как
CONSTRAINT bar CHECK ((column->>'attribute')...
Но есть ли способ гарантировать, что данные json в целом соответствуют указанному шаблону c? Я имею в виду, если у меня есть поле, в котором, допустим, разрешен только объект пар ключ-значение, я имею в виду:
{"key1": "value1", "key2": "value2"}
(ключи с произвольными именами) Могу ли я проверить это с помощью ограничения?