지원되는 버전:현재 (18) / 17 / 16 / 15 / 14 / 13
개발 버전:개발
지원되지 않는 버전:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.13. 스포츠 토토 사이트

이 모듈은 데이터 유형을 구현합니다.스포츠 토토 사이트(키,값) 쌍 세트를 저장하기 위해 싱글포스트그레SQL데이터 필드. 이는 많은 행이 포함된 행과 같은 다양한 시나리오에서 유용할 수 있습니다. 거의 검사되지 않는 속성 또는 반구조화된 데이터입니다.

현재 구현에서는 키도 값도 아닙니다 문자열 길이는 65535바이트를 초과할 수 있습니다. 오류가 발생합니다 이 한도를 초과하는 경우. 이러한 최대 길이는 다음과 같이 변경될 수 있습니다. 향후 릴리스.

F.13.1.h스토어외부 대표

의 텍스트 표현h스토어값에 0 이상이 포함됨 = 항목, 쉼표로 구분. 에 대한 예:

k = v
    foo = 바, baz = 뭐든지
    "1-a" = "아무거나"

항목의 순서는 중요한 것으로 간주되지 않습니다(그리고 출력 시 재생산되지 않을 수 있습니다.) 항목 사이의 공백 또는 주위에=기호는 무시됩니다. 사용 키 또는 값에 공백, 쉼표가 포함된 경우 큰따옴표=또는. 받는 사람 키 또는 값에 큰따옴표나 백슬래시를 포함합니다. 그 앞에 또 다른 백슬래시가 옵니다. (상황에 따라 주의하세요. 설정에 대해standard_conforming_strings, 다음이 필요할 수 있습니다. SQL 리터럴 문자열의 이중 백슬래시.)

값(키는 제외)은 SQL NULL일 수 있습니다. 이것은 다음과 같이 표현됨

키 = NULL

NULL키워드는 다음과 같습니다. 대소문자를 구분합니다. 다시 한 번 문자열을 원하면 큰따옴표를 사용하세요.일반 데이터로 취급됨 값.

현재 큰따옴표는 항상 키와 키를 둘러싸는 데 사용됩니다. 출력 시 값 문자열(엄격하게는 그렇지 않은 경우에도) 필요합니다.

F.13.2.h스토어연산자와 함수

표 F-5.스포츠 토토 사이트연산자

운영자 설명 결과
스포츠 토토 사이트 - 텍스트 키 값 가져오기(없으면 null) 'a=x, b=y'::스포츠 토토 사이트 - '아' x
텍스트 = 텍스트 단일 항목 만들기스포츠 토토 사이트 'a' = 'b' "a"="b"
스포츠 토토 사이트 || 스포츠 토토 사이트 연결 'a=b, c=d'::스포츠 토토 사이트 || 'c=x, d=q'::스포츠 토토 사이트 "a"="b", "c"="x", "d"="q"
스포츠 토토 사이트 ? 텍스트 그렇습니다스포츠 토토 사이트키를 포함하고 있나요? 'a=1'::스포츠 토토 사이트 ? 'a' t
스포츠 토토 사이트 @ 스포츠 토토 사이트 왼쪽 피연산자에 오른쪽이 포함되어 있습니까? 'a=b, b=1, c=NULL'::스포츠 토토 사이트 @ 'b=1' t
스포츠 토토 사이트 <@ h스토어 왼쪽 피연산자가 오른쪽에 포함되어 있습니까? 'a=c'::스포츠 토토 사이트 <@ 'a=b, b=1, c=NULL' f

(PostgreSQL 8.2 이전에는 포함 연산자 @ 및 <@는 각각 @, ~라고 불렀습니다. 이 이름들은 아직도 사용할 수 있지만 더 이상 사용되지 않으며 결국 폐기될 예정입니다. 이전 이름은 규칙과 반대입니다. 이전에는 핵심 기하학적 데이터 유형이 뒤따랐습니다!)

참고:=연산자 더 이상 사용되지 않으며 향후 릴리스에서 제거될 수 있습니다. 사용스포츠 토토 사이트(텍스트, 텍스트)함수 대신.

표 F-6.h스토어기능

기능 반환 유형 설명 결과
스포츠 토토 사이트(텍스트, 텍스트) 스포츠 토토 사이트 단일 항목 만들기스포츠 토토 사이트 스포츠 토토 사이트('a', 'b') "a"="b"
akeys(스포츠 토토 사이트) 텍스트[] 얻기스포츠 토토 사이트의 키 배열 akeys('a=1,b=2') a,b
스키(스포츠 토토 사이트) 텍스트 집합 얻기스포츠 토토 사이트의 키는 설정된 대로 스키('a=1,b=2')
a
비
avals(스포츠 토토 사이트) 텍스트[] 얻기스포츠 토토 사이트의 값은 다음과 같습니다. 배열 avals('a=1,b=2') {1,2}
svals(스포츠 토토 사이트) 텍스트 집합 얻기스포츠 토토 사이트의 값은 다음과 같습니다. 설정 svals('a=1,b=2')
1
2
각(스포츠 토토 사이트) setof(키 텍스트, 값 텍스트) 얻기스포츠 토토 사이트의 키와 값 설정된대로 다음에서 * 선택 각각('a=1,b=2')
키 | 가치
------+-------
 | 1
 비 | 2
존재(스포츠 토토 사이트,text) 부울 그렇습니다h스토어키를 포함하고 있나요? 존재('a=1','a') t
정의됨(스포츠 토토 사이트,text) 부울 그렇습니다스포츠 토토 사이트null이 아닌 포함 키 값은? 정의('a=NULL','a') f
삭제(스포츠 토토 사이트,text) h스토어 키와 일치하는 항목 삭제 삭제('a=1,b=2','b') "a"="1"

F.13.3. 인덱스

스포츠 토토 사이트다음에 대한 색인 지원 있음@?연산자. GiST 또는 GIN 인덱스 유형을 사용할 수 있습니다. 에 대한 예:

GIST(h)를 사용하여 test스포츠 토토 사이트에서 hidx 인덱스 생성;

GIN(h)을 사용하여 test스포츠 토토 사이트에서 인덱스 hidx를 생성합니다.

F.13.4. 예

키를 추가하거나 기존 키를 새 값으로 업데이트하세요:

업데이트 탭 SET h = h || ('c' = '3');

키 삭제:

UPDATE 탭 SET h = 삭제(h, 'k1');

F.13.5. 통계

스포츠 토토 사이트유형 때문에 본질적인 자유로움에는 다양한 키가 포함될 수 있습니다. 유효한 키를 확인하는 것은 애플리케이션의 작업입니다. 아래 예는 키를 확인하는 몇 가지 기술을 보여줍니다. 통계를 얻는 중입니다.

간단한 예:

SELECT * FROM Each('aaa=bq, b=NULL, ""=1');

테이블 사용:

SELECT (각(h)).key, (각(h)).value INTO stat FROM test스포츠 토토 사이트;

온라인 통계:

SELECT 키, 개수(*) FROM
  (SELECT (각(h)).key FROM test스포츠 토토 사이트) AS stat
  그룹별 키
  ORDER BY 카운트 DESC, 키;
    키 | 카운트
---------+-------
 라인 |   883
 쿼리 |   207
 위치 |   203
 노드 |   202
 공간 |   197
 상태 |   195
 공개 |   194
 제목 |   190
 조직 |   189
....................

F.13.6. 저자

올렉 바르투노프, 모스크바, 모스크바 대학교, 러시아

테오도르 시가예프, 모스크바, Delta-Soft Ltd., 러시아