Skip to content

Commit c2b9643

Browse files
committed
Readme
1 parent 5974a68 commit c2b9643

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# postgres-json-schema
2+
3+
postgres-json-schema allows validation of [JSON
4+
schemas](http://json-schema.org/) in PostgreSQL. It is implemented as a
5+
PL/pgSQL function and you can use it as a check constraint to validate the
6+
format of your JSON columns.
7+
8+
postgres-json-schema supports the entire JSON schema draft v4 spec, except for
9+
remote (http) references. It's tested against the official
10+
[JSON-Schema-Test-Suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite).
11+
12+
# Installation
13+
14+
postgres-json-schema is packaged as an PGXS extension. To install, just run
15+
`make install` as root, then `CREATE EXTENSION "postgres-json-schema";` as the
16+
database superuser.
17+
18+
# Example
19+
20+
CREATE TABLE example (id serial PRIMARY KEY, data jsonb);
21+
ALTER TABLE example ADD CONSTRAINT data_is_valid CHECK (validate_json_schema('{"type": "object"}', data));
22+
23+
INSERT INTO example (data) VALUES ('{}');
24+
-- INSERT 0 1
25+
26+
INSERT INTO example (data) VALUES ('1');
27+
-- ERROR: new row for relation "example" violates check constraint "data_is_valid"
28+
-- DETAIL: Failing row contains (2, 1).

0 commit comments

Comments
 (0)