programing

Postgres의 JSON 필드에 인덱스를 작성하는 방법

muds 2023. 3. 2. 22:42
반응형

Postgres의 JSON 필드에 인덱스를 작성하는 방법

포스트그레SQL 9.3 베타 2(?), JSON 필드에 인덱스를 작성하려면 어떻게 해야 합니까?이 기능을 사용하여->에 사용되는 연산자hstore단, 다음 오류가 발생하였습니다.

 CREATE TABLE publishers(id INT, info JSON);
 CREATE INDEX ON publishers((info->'name'));

오류: 데이터 형식 json에 액세스 메서드 "btree" HINT에 대한 기본 연산자 클래스가 없습니다. 인덱스에 연산자 클래스를 지정하거나 데이터 형식에 대한 기본 연산자 클래스를 정의해야 합니다.

발견:

CREATE TABLE publishers(id INT, info JSON); 
CREATE INDEX ON publishers((info->>'name'));

댓글에 적혀있듯이 여기서 미묘한 차이는->>대신->. 전자는 값을 텍스트로 반환하고 후자는 JSON 개체로 반환합니다.

언급URL : https://stackoverflow.com/questions/17807030/how-to-create-index-on-json-field-in-postgres

반응형