Проверьте CONSTRAINT, чтобы проверить поле JSON с помощью регулярного выражения - PullRequest
0 голосов
/ 21 марта 2020

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

CONSTRAINT foo CHECK (column ~* 'regex')

Я знаю, что могу сделать это даже для столбца json, так как могу получить указанные c атрибутов, таких как

CONSTRAINT bar CHECK ((column->>'attribute')...

Но есть ли способ гарантировать, что данные json в целом соответствуют указанному шаблону c? Я имею в виду, если у меня есть поле, в котором, допустим, разрешен только объект пар ключ-значение, я имею в виду:

{"key1": "value1", "key2": "value2"}

(ключи с произвольными именами) Могу ли я проверить это с помощью ограничения?

...