ALTER 스포츠 토토 베트맨 — 데이터 정렬 정의 변경
조합 변경이름버전 새로고침 스포츠 토토 베트맨 정렬 변경이름다음으로 이름 바꾸기new_name조합 변경이름소유자:new_owner| 현재_역할 | CURRENT_USER | SESSION_USER이름스키마 설정new_schema
조합 변경콜레이션의 정의를 변경합니다.
사용하려면 스포츠 토토 베트맨 정렬을 소유해야 합니다.조합 변경. 소유자를 변경하려면 새 소유 역할의 직접 또는 간접 구성원이어야 하며 해당 역할에는 다음이 있어야 합니다.만들기스포츠 토토 베트맨 정렬 스키마에 대한 권한. (이러한 제한 사항은 소유자를 변경해도 스포츠 토토 베트맨 정렬을 삭제하고 다시 생성하여 수행할 수 없는 작업을 수행하지 않도록 강제합니다. 그러나 슈퍼유저는 어쨌든 모든 스포츠 토토 베트맨 정렬의 소유권을 변경할 수 있습니다.)
이름기존 대조의 이름(선택적으로 스키마 한정).
new_name컬레이션의 새 이름입니다.
new_owner컬레이션의 새로운 소유자.
new_schema콜레이션을 위한 새로운 스키마.
버전 새로고침콜레이션 버전을 업데이트하세요. 참조참고아래.
ICU 라이브러리에서 제공하는 데이터 정렬을 사용할 때 데이터 정렬 개체가 생성될 때 ICU 특정 버전의 데이터 정렬자가 시스템 카탈로그에 기록됩니다. 데이터 정렬을 사용하면 기록된 버전과 비교하여 현재 버전을 확인하고 불일치가 있으면 경고가 표시됩니다. 예를 들면 다음과 같습니다.
경고: 데이터 정렬 "xx-x-icu"에 버전 불일치가 있습니다 DETAIL: 데이터베이스의 데이터 정렬은 버전 1.2.3.4를 사용하여 생성되었지만 운영 체제에서는 버전 2.3.4.5를 제공합니다. 힌트: 이 데이터 정렬의 영향을 받는 모든 개체를 다시 빌드하고 ALTER 스포츠 토토 베트맨 pg_catalog."xx-x-icu" REFRESH VERSION을 실행하거나 올바른 라이브러리 버전으로 PostgreSQL을 빌드하세요.
데이터 정렬 정의가 변경되면 데이터베이스 시스템이 특정 정렬 순서를 가진 저장된 객체에 의존하기 때문에 색인 손상 및 기타 문제가 발생할 수 있습니다. 일반적으로 이는 피해야 하지만 다음과 같은 합법적인 상황에서 발생할 수 있습니다.pg_upgrade최신 버전의 ICU와 연결된 서버 바이너리로 업그레이드합니다. 이런 일이 발생하면 데이터 정렬에 따른 모든 개체를 다시 작성해야 합니다. 예를 들어 다음을 사용합니다.REINDEX. 완료되면 다음 명령을 사용하여 대조 버전을 새로 고칠 수 있습니다.조합 변경...버전 새로 고침. 그러면 현재 대조기 버전을 기록하도록 시스템 카탈로그가 업데이트되고 경고가 사라집니다. 실제로 영향을 받은 모든 객체가 올바르게 재구축되었는지 여부는 확인하지 않습니다.
다음에서 제공하는 데이터 정렬을 사용할 때libc, 버전 정보는 GNU C 라이브러리(대부분의 Linux 시스템), FreeBSD 및 Windows를 사용하는 시스템에 기록됩니다.
데이터 정렬을 위해 GNU C 라이브러리를 사용할 때 C 라이브러리 버전은 데이터 정렬 버전의 프록시로 사용됩니다. 많은 Linux 배포판에서는 C 라이브러리를 업그레이드할 때만 데이터 정렬 정의를 변경하지만, 유지 관리 담당자가 최신 데이터 정렬 정의를 이전 C 라이브러리 릴리스로 자유롭게 백포트할 수 있으므로 이 접근 방식은 불완전합니다.
데이터 정렬을 위해 Windows를 사용하는 경우 버전 정보는 다음과 같은 BCP 47 언어 태그로 정의된 데이터 정렬에만 사용할 수 있습니다.en-US.
현재 데이터베이스 기본 대조에 대한 버전 추적이 없습니다.
다음 쿼리를 사용하면 현재 데이터베이스에서 새로 고쳐야 하는 모든 데이터 정렬과 이에 의존하는 개체를 식별할 수 있습니다.
SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "조합",
       pg_describe_object(classid, objid, objsubid) AS "객체"
  pg_dependent d에서 JOIN pg_스포츠 토토 베트맨 c
       ON refclassid = 'pg_스포츠 토토 베트맨'::regclass AND refobjid = c.oid
  WHERE c.collversion < pg_스포츠 토토 베트맨_actual_version(c.oid)
  1, 2로 주문;
  조합 이름을 바꾸려면de_DE에독일어:
ALTER COLLATION "de_DE" 이름을 독일어로 변경;
조합의 소유자를 변경하려면en_US에조:
컬렉션 "en_US" 소유자를 joe로 변경;
없습니다콜레이션 변경SQL 표준의 문입니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.