Collation Alter 토토 베이 - Collation의 정의 변경
토토 베이 변경이름
새로 고침 버전 Alter 토토 베이이름
이름 바꾸기new_name
Alter 토토 베이이름
소유자에게New_owner
| current_user | Session_USER이름
스키마 설정new_schema
Alter 토토 베이
토토 베이의 정의를 변경합니다.
사용하려면 토토 베이을 소유해야합니다Alter 토토 베이
. 소유자를 변경하려면 새로운 소유 역할의 직간접 또는 간접 구성원이어야하며 해당 역할이 있어야합니다.Create
토토 베이의 스키마의 권한. (이러한 제한은 소유자를 변경하는 것이 콜레이션을 삭제하고 재현하여 할 수없는 일을하지 않는다는 것을 강요합니다. 그러나 슈퍼업자는 어쨌든 모든 콜레이션의 소유권을 바꿀 수 있습니다.).
이름
기존 콜레이션의 이름 (선택적으로 스키마 자격).
new_name
Collation의 새 이름.
New_owner
토토 베이의 새로운 소유자.
new_schema
토토 베이의 새로운 스키마.
새로 고침 버전
토토 베이의 버전을 업데이트하십시오. 보다노트아래.
ICU 라이브러리에서 제공하는 콜라이트를 사용하면 Collation 객체가 생성 될 때 Collator의 ICU 별 버전이 시스템 카탈로그에 기록됩니다. Collation을 사용하면 현재 버전이 녹음 된 버전에 대해 확인되며 불일치가있을 때 경고가 발행됩니다.
경고 : 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 토토 베이 ... 새로 고침 버전
. 이것은 시스템 카탈로그를 업데이트하여 현재 Collator 버전을 녹음하고 경고를 제거합니다. 이것은 실제로 영향을받는 모든 객체가 올바르게 재건되었는지 확인하지는 않습니다.
다음 쿼리를 사용하여 새로 고침 해야하는 현재 데이터베이스의 모든 콜라이트와 그에 의존하는 객체를 식별 할 수 있습니다.
"토토 베이"으로 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;
없음Alter 토토 베이
SQL 표준의 명령문.