조합 변경

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그리고PostgreSQLGNU C 라이브러리로 빌드되었으며 C 라이브러리 버전이 대조 버전으로 사용됩니다. 데이터 정렬 정의는 일반적으로 GNU C 라이브러리 릴리스에서만 변경되므로 이는 손상에 대한 어느 정도 방어 기능을 제공하지만 완전히 신뢰할 수는 없습니다.

현재 데이터베이스 기본 데이터 정렬에 대한 버전 추적이 없습니다.

다음 쿼리를 사용하여 현재 데이터베이스에서 새로 고쳐야 하는 모든 데이터 정렬과 이에 의존하는 개체를 식별할 수 있습니다:

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 표준의 문입니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.