kho*_*vat 24 postgresql json jsonschema postgresql-json
我在PostgreSQL中找不到有关JSON模式验证的任何信息,有没有办法在PostgreSQL JSON数据类型上实现JSON模式验证?
小智 11
有一个PostgreSQL扩展,在PL/PgSQL中实现JSON Schema验证.
它是这样使用的(取自项目README文件):
CREATE TABLE example (id serial PRIMARY KEY, data jsonb);
ALTER TABLE example ADD CONSTRAINT data_is_valid CHECK (validate_json_schema('{"type": "object"}', data));
INSERT INTO example (data) VALUES ('{}');
-- INSERT 0 1
INSERT INTO example (data) VALUES ('1');
-- ERROR: new row for relation "example" violates check constraint "data_is_valid"
-- DETAIL: Failing row contains (2, 1).
Run Code Online (Sandbox Code Playgroud)
Gab*_*eim 10
还有另一个PostgreSQL扩展实现了json验证.用法与"Postgres-JSON-schema"几乎相同
CREATE TABLE example (id serial PRIMARY KEY, data jsonb);
-- do is_jsonb_valid instead of validate_json_schema
ALTER TABLE example ADD CONSTRAINT data_is_valid CHECK (is_jsonb_valid('{"type": "object"}', data));
INSERT INTO example (data) VALUES ('{}');
-- INSERT 0 1
INSERT INTO example (data) VALUES ('1');
-- ERROR: new row for relation "example" violates check constraint "data_is_valid"
-- DETAIL: Failing row contains (2, 1).
Run Code Online (Sandbox Code Playgroud)
我已经完成了一些基准测试验证推文,它比"Postgres-JSON-schema"快20倍,主要是因为它是用C而不是SQL编写的.
免责声明,我已经写了这个扩展名.
归档时间: |
|
查看次数: |
7782 次 |
最近记录: |