반응형
PostgreSQL의 JSON 스키마 검증
Postgre에서 JSON 스키마 검증에 대한 정보를 찾을 수 없습니다.SQL, Postgre에서 JSON Schema 검증을 구현하는 방법이 있습니까?SQL JSON 데이터 유형
다른 포스트그레가 있습니다.json 검증을 구현하는 SQL 확장입니다.사용법은 "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).
트윗을 검증하는 벤치마킹을 몇 가지 실시했습니다만, 「Postgres-JSON-schema」보다 20배 빠릅니다.주로 SQL이 아닌 C로 쓰여져 있기 때문입니다.
면책 사항, 이 확장자는 제가 작성했습니다.
포스트그레가 있다PL/PgSQL에서 JSON 스키마 검증을 구현하는 SQL 확장입니다.
이것은 다음과 같이 사용됩니다(프로젝트 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).
필요한 것은 JSON Schema의 제약을 Postgre로 변환하는 것입니다.SQL의 예:
{
"properties": {
"age": {"minimum": 21}
},
"required": ["age"]
}
대상:
SELECT FROM ...
WHERE (elem->>'age' >= 21)
기존 툴에 대해서는 잘 모릅니다.MySQL과 비슷한 것을 알고 있습니다.자신의 글을 쓸 때는 도움이 될 수 있지만, Postgre에서는 JSON 타입을 사용할 때는 아무것도 없습니다.SQL.
언급URL : https://stackoverflow.com/questions/22228525/json-schema-validation-in-postgresql
반응형
'programing' 카테고리의 다른 글
치명적인 오류: 1610행의 C:\xampp\htdocs\wordpress\wp-includes\class-http.php에서 최대 실행 시간이 30초를 초과했습니다. (0) | 2023.03.27 |
---|---|
Angular JS는 렌더링 중입니다.Angular JS는 렌더링 중입니다.줄바꿈이 아닌 텍스트로줄바꿈이 아닌 텍스트로 (0) | 2023.03.27 |
WordPress에서 추가 게시물 로드 Ajax 버튼 (0) | 2023.03.27 |
봄철에 쿼츠 일에 콩 레퍼런스를 주입할 수 있나요? (0) | 2023.03.27 |
Wordpress 플러그인:사용자 지정 URL에 연결 (0) | 2023.03.27 |