Collation Alter 토토 베이 - Collation의 정의 변경
Alter 토토 베이이름
새로 고침 버전 Alter 토토 베이이름
이름 바꾸기new_name
Alter 토토 베이이름
소유자에게New_owner
| current_role | current_user | Session_USER이름
스키마 설정new_schema
Alter 토토 베이
토토 베이의 정의를 변경합니다.
사용하려면 토토 베이을 소유해야합니다Alter 토토 베이
. 소유자를 변경하려면역할 설정
새로운 소유 역할에 대한, 그 역할은Create
토토 베이의 스키마의 특권. (이러한 제한은 소유자를 변경하는 것이 콜레이션을 삭제하고 재현하여 할 수없는 일을하지 않는다는 것을 강요합니다. 그러나 슈퍼업자는 어쨌든 모든 콜레이션의 소유권을 바꿀 수 있습니다.).
이름
기존 콜레이션의 이름 (선택적으로 스키마 자격).
new_name
Collation의 새 이름.
New_owner
토토 베이의 새로운 소유자.
new_schema
토토 베이의 새로운 스키마.
새로 고침 버전
토토 베이의 버전을 업데이트하십시오. 보다노트아래.
토토 베이 객체가 생성되면 시스템 카탈로그에 공급자 별 버전이 기록됩니다. 토토 베이을 사용하면 현재 버전이 녹음 된 버전에 대해 확인되며 불일치가있을 때 경고가 발행됩니다.
경고 : Collation "XX-X-ICU"에는 버전 불일치가 있습니다 세부 사항 : 데이터베이스의 Collation은 버전 1.2.3.4를 사용하여 작성되었지만 운영 체제는 버전 2.3.4.5를 제공합니다. 힌트 :이 Collation의 영향을받는 모든 객체를 재구성하고 Alter 토토 베이 PG_CATALOG를 실행하십시오. "XX-X-ICU"새로 고침 버전 또는 올바른 라이브러리 버전으로 PostgreSQL을 구축하십시오..
데이터베이스 시스템이 특정 정렬 순서를 갖는 저장된 개체에 의존하기 때문에 콜라이트 정의의 변경은 손상된 인덱스 및 기타 문제로 이어질 수 있습니다. 일반적으로 이것은 피해야하지만 운영 체제를 새로운 주요 버전으로 업그레이드 할 때 또는 사용할 때와 같은 합법적 인 상황에서 발생할 수 있습니다.pg_upgrade
최신 버전의 ICU와 연결된 서버 바이너리로 업그레이드하려면. 이런 일이 발생하면 콜레이션에 따라 모든 객체를 다시 작성해야합니다. 예를 들어Reindex
. 완료되면 토토 베이 버전은 명령을 사용하여 새로 고칠 수 있습니다Alter 토토 베이 ... 새로 고침 버전
. 이렇게하면 시스템 카탈로그가 업데이트되어 현재 토토 베이 버전을 기록하고 경고가 사라집니다. 이것은 실제로 영향을받는 모든 객체가 올바르게 재건되었는지 확인하지는 않습니다.
토토 베이s에 의해 제공된 콜라이트를 사용할 때LIBC
, 버전 정보는 GNU C 라이브러리 (대부분의 Linux Systems), FreeBSD 및 Windows를 사용하여 시스템에 기록됩니다. ICU에서 제공하는 콜라이트를 사용하는 경우 버전 정보는 ICU 라이브러리에서 제공되며 모든 플랫폼에서 제공됩니다.
토토 베이s 용 GNU C 라이브러리를 사용할 때 C 라이브러리의 버전은 토토 베이 버전의 프록시로 사용됩니다. 많은 Linux 배포판은 C 라이브러리를 업그레이드 할 때만 토토 베이 정의를 변경하지만 관리자가 이전 C 라이브러리 릴리스에 최신 토토 베이 정의를 자유롭게 포트 할 수 있으므로이 접근 방식이 불완전합니다..
토토 베이s에 Windows를 사용할 때 버전 정보는 BCP 47 언어 태그로 정의 된 콜로레이션에만 사용할 수 있습니다en-us
.
Database Default 토토 베이의 경우 유사한 명령이 있습니다Alter Database ... 토토 베이 버전 새로 고침
.
다음 쿼리를 사용하여 새로 고침 해야하는 현재 데이터베이스의 모든 콜라이트와 그에 의존하는 객체를 식별 할 수 있습니다.
"토토 베이"으로 PG_DESCRIBE_OBJECT (RefClassId, refoBjid, refobjsubid)를 선택하십시오. pg_describe_object (classid, objid, objsubid)로 "object" pg_depend d에서 pg_토토 베이 c refclassid = 'pg_토토 베이':: regclass and refobjid = c.oid 여기서 c.collversion < pg_토토 베이_actual_version (c.oid) 1, 2로 주문하십시오.
Collation의 이름을 바꾸려면de_de
to독일어
:
Alter 토토 베이 "de_de"독일어로 이름 바꾸기;
토토 베이의 소유자를 변경하려면en_us
toJoe
:
Alter 토토 베이 "en_us"소유자에게 Joe;
There is noAlter 토토 베이
SQL 표준의 명령문.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면