이 모듈은 데이터 유형을 구현합니다.스포츠 토토 사이트(키,값) 쌍 세트를 저장하기 위해 싱글포스트그레SQL데이터 필드. 이는 많은 행이 포함된 행과 같은 다양한 시나리오에서 유용할 수 있습니다. 거의 검사되지 않는 속성 또는 반구조화된 데이터입니다.
현재 구현에서는 키도 값도 아닙니다 문자열 길이는 65535바이트를 초과할 수 있습니다. 오류가 발생합니다 이 한도를 초과하는 경우. 이러한 최대 길이는 다음과 같이 변경될 수 있습니다. 향후 릴리스.
의 텍스트 표현h스토어값에 0 이상이 포함됨키 = 값항목, 쉼표로 구분. 에 대한 예:
k = v
foo = 바, baz = 뭐든지
"1-a" = "아무거나"
항목의 순서는 중요한 것으로 간주되지 않습니다(그리고 출력 시 재생산되지 않을 수 있습니다.) 항목 사이의 공백 또는 주위에=기호는 무시됩니다. 사용 키 또는 값에 공백, 쉼표가 포함된 경우 큰따옴표=또는. 받는 사람 키 또는 값에 큰따옴표나 백슬래시를 포함합니다. 그 앞에 또 다른 백슬래시가 옵니다. (상황에 따라 주의하세요. 설정에 대해standard_conforming_strings, 다음이 필요할 수 있습니다. SQL 리터럴 문자열의 이중 백슬래시.)
값(키는 제외)은 SQL NULL일 수 있습니다. 이것은 다음과 같이 표현됨
키 = NULL
그NULL키워드는 다음과 같습니다. 대소문자를 구분합니다. 다시 한 번 문자열을 원하면 큰따옴표를 사용하세요.널일반 데이터로 취급됨 값.
현재 큰따옴표는 항상 키와 키를 둘러싸는 데 사용됩니다. 출력 시 값 문자열(엄격하게는 그렇지 않은 경우에도) 필요합니다.
표 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" |
스포츠 토토 사이트다음에 대한 색인 지원 있음@및?연산자. GiST 또는 GIN 인덱스 유형을 사용할 수 있습니다. 에 대한 예:
GIST(h)를 사용하여 test스포츠 토토 사이트에서 hidx 인덱스 생성; GIN(h)을 사용하여 test스포츠 토토 사이트에서 인덱스 hidx를 생성합니다.
키를 추가하거나 기존 키를 새 값으로 업데이트하세요:
업데이트 탭 SET h = h || ('c' = '3');
키 삭제:
UPDATE 탭 SET h = 삭제(h, 'k1');
그스포츠 토토 사이트유형 때문에 본질적인 자유로움에는 다양한 키가 포함될 수 있습니다. 유효한 키를 확인하는 것은 애플리케이션의 작업입니다. 아래 예는 키를 확인하는 몇 가지 기술을 보여줍니다. 통계를 얻는 중입니다.
간단한 예:
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
....................
올렉 바르투노프<oleg@sai.msu.su,
모스크바, 모스크바 대학교, 러시아
테오도르 시가예프<teodor@sigaev.ru,
모스크바, Delta-Soft Ltd., 러시아