24.1.토토 지원#

토토지원은 알파벳, 정렬, 숫자 형식 등에 관한 문화적 선호도에 관한 응용 프로그램을 말합니다.토토표준 ISO C 및 토토posix서버 운영 체제에서 제공하는 토토 시설. 추가 정보는 시스템 문서를 참조하십시오.

24.1.1.개요#

데이터베이스 클러스터를 사용하여 생성 될 때 토토 지원이 자동으로 초기화됩니다initdb.initdb기본적으로 실행 환경의 토토 설정으로 데이터베이스 클러스터를 초기화하므로 시스템이 이미 데이터베이스 클러스터에서 원하는 토토을 사용하도록 설정된 경우 다른 일이 필요하지 않습니다. 다른 토토을 사용하려면 (또는 시스템이 설정되었는지 확실하지 않으면 지시 할 수 있습니다initdb정확히 어떤 토토을 지정하여 사용할 토토-토토옵션. 예를 들어:

initdb -토토 = sv_se

UNIX 시스템 의이 예제는 토토을 스웨덴어로 설정합니다 (SV) 스웨덴에서 토토 된대로 (SE). 다른 가능성은 다음과 같습니다.en_us(U.S. English) 및FR_CA(프랑스 캐나다). 토토에 둘 이상의 문자 세트를 사용할 수 있다면 사양이 양식을 취할 수 있습니다Language_Territory.codeset. 예를 들어,fr_be.utf-8벨기에에서 토토 된 프랑스어 (FR)를 대표합니다.UTF-8문자 세트 인코딩.

운영 체제 공급 업체가 제공 한 내용 및 설치 한 내용에 따라 이름으로 시스템에서 사용할 수있는 토토. 대부분의 UNIX 시스템에서 명령토토 -A사용 가능한 토토 목록을 제공합니다. Windows는와 같은 더 많은 장황한 토토 이름을 사용합니다.german_germany또는Swedish_sweden.1252그러나 원칙은 동일합니다.

때로는 여러 지역의 규칙을 혼합하는 것이 유용합니다. 예를 들어 영어 통합 규칙이지만 스페인 메시지를 사용합니다. 이를 뒷받침하기 위해 현지화 규칙의 특정 측면 만 제어하는 ​​일련의 토토 하위 범주가 존재합니다.

LC_COLLATE 문자열 정렬 순서
LC_CTYPE 캐릭터 분류 (문자 란 무엇입니까? 상위 상위 동등한가?)
lc_messages 메시지 언어
lc_monetary 통화 지식
lc_numeric 숫자 형식
LC_TIME 날짜와 시간의 형식

카테고리 이름은의 이름으로 번역됩니다initdb특정 범주에 대한 토토 선택을 무시할 수있는 옵션. 예를 들어, 토토을 프랑스 캐나다인으로 설정하지만 통화 서식에 미국 규칙을 사용하려면 사용initdb ---locale = fr_ca ---lc-monetary = en_us.

시스템이 토토 지원이없는 것처럼 행동하기를 원한다면 특별 토토 이름을 사용하십시오C또는 동등하게posix.

일부 토토 범주에는 데이터베이스가 생성 될 때 값이 고정되어 있어야합니다. 다른 데이터베이스에 대해 다른 설정을 사용할 수 있지만 데이터베이스가 생성되면 해당 데이터베이스에 대해 더 이상 변경할 수 없습니다.LC_COLLATEandLC_CTYPE이 범주입니다. 인덱스의 정렬 순서에 영향을 미치므로 고정 된 상태로 유지해야합니다. 그렇지 않으면 텍스트 열의 인덱스가 손상 될 수 있습니다.섹션 24.2.) 이러한 범주의 기본값은에 결정됩니다.initdb가 실행되며 해당 값은 새 데이터베이스를 작성할 때 토토됩니다.데이터베이스 생성명령.

다른 토토 카테고리는 토토 범주와 동일한 이름을 가진 서버 구성 매개 변수를 설정하여 원하는 때마다 변경할 수 있습니다 (참조섹션 20.11.2자세한 내용). 선택한 값initdb실제로 구성 파일에만 기록되어 있습니다토토.conf서버가 시작될 때 기본값으로 토토합니다. 이 과제를 제거하면토토.conf그러면 서버는 실행 환경에서 설정을 상속합니다.

서버의 토토 동작은 클라이언트의 환경이 아니라 서버가 보이는 환경 변수에 의해 결정됩니다. 따라서 서버를 시작하기 전에 올바른 토토 설정을 구성하도록주의하십시오.

Note

우리가 실행 환경에서 토토을 물려받는 것에 대해 말할 때, 이것은 대부분의 운영 체제에서 다음을 의미합니다. 이는 주어진 토토 범주의 경우, 다음 환경 변수가 설정 될 때 까지이 순서로 문의합니다.LC_ALL,LC_COLLATE(또는 각 범주에 해당하는 변수),Lang. 이러한 환경 변수 중 어느 것도 설정되지 않으면 토토 기본값은C.

일부 메시지 현지화 라이브러리도 환경 변수를 봅니다언어메시지 언어를 설정하기 위해 다른 모든 토토 설정을 무시합니다. 의심스러운 경우, 운영 체제의 문서, 특히에 대한 문서를 참조하십시오.getText.

메시지를 사용자의 선호 언어로 번역 할 수 있도록NLS빌드 시간에 선택되어 있어야합니다 (구성 --enable-nls). 다른 모든 토토 지원은 자동으로 내장되어 있습니다.

24.1.2.행동#

토토 설정은 다음 SQL 기능에 영향을 미칩니다.

  • 쿼리를 토토하여 순서를 정렬합니다주문 by또는 텍스트 데이터의 표준 비교 연산자

  • the어퍼,Lowerinitcap기능

  • 패턴 매칭 연산자 (Like,유사및 Posix 스타일 정규식); 토토은 사례 무감각 일치와 캐릭터 클래스 정규 표현에 의한 문자 분류에 영향을 미칩니다

  • theto_char기능 가족

  • LikeClauses

| 이외의 지역을 토토하는 단점C또는posixin토토성능 영향입니다. 그것은 문자 취급 속도를 늦추고 일반 인덱스가 토토되는 것을 방지합니다Like. 이런 이유로 실제로 필요한 경우에만 토토을 사용하십시오.

허용 해결 방법토토Like클로즈가 아닌 지역의 조항에는 여러 맞춤형 운영자 클래스가 있습니다. 이를 통해 토토 비교 규칙을 무시하고 엄격한 문자 별 비교를 수행하는 색인을 생성 할 수 있습니다.PostgreSQL : 문서 : 16 : 11.10. 토토 베이 수업 및 토토자세한 내용. 또 다른 방법은를 토토하여 인덱스를 만드는 것입니다.CCollation에서 논의 된대로PostgreSQL : 문서 : 16 : 24.2. 토토 사이트 Support.

24.1.3.지역 선택#

토토은 요구 사항에 따라 다른 범위로 선택할 수 있습니다. 위의 개요는 토토이를 사용하여 어떻게 지정되는지 보여주었습니다.initdb전체 클러스터의 기본값을 설정합니다. 다음 목록은 토토을 선택할 수있는 위치를 보여줍니다.

  1. 위에서 설명한 바와 같이, 운영 체제의 환경은 새로 초기화 된 데이터베이스 클러스터의 로컬에 대한 기본값을 제공합니다. 대부분의 경우 충분합니다 : 운영 체제가 원하는 언어/영토에 대해 구성된 경우토토기본적으로 해당 토토에 따라 행동합니다.

  2. 위에 표시된대로, 명령 줄 옵션initdb새로 초기화 된 데이터베이스 클러스터의 토토 설정을 지정합니다. 운영 체제에 데이터베이스 시스템에 원하는 토토 구성이없는 경우 사용하십시오.

  3. 각 데이터베이스에 대해 토토을 별도로 선택할 수 있습니다. SQL 명령데이터베이스 생성및 그 명령 줄 동등한createb이를위한 옵션이 있습니다. 예를 들어 데이터베이스 클러스터가 요구 사항이 다른 여러 임차인에 대한 데이터베이스가있는 경우

  4. 개별 테이블 열에 대해 토토 설정을 만들 수 있습니다. 이것은라는 SQL 객체를 사용합니다.Collation그리고에 설명되어 있습니다.PostgreSQL : 문서 : 16 : 24.2. 토토 사이트 Support. 예를 들어이 방법을 사용하여 데이터를 다른 언어로 정렬하거나 특정 테이블의 정렬 순서를 사용자 정의합니다..

  5. 마지막으로, 개별 쿼리에 대해 토토을 선택할 수 있습니다. 다시, 이것은 SQL Collation 객체를 사용합니다.

24.1.4.토토 제공자#

토토다중 지원토토 제공 업체. 이것은 토토 데이터를 공급하는 라이브러리를 지정합니다.libc, 운영 체제 C 라이브러리가 제공하는 토토을 사용합니다. 이들은 운영 체제에서 제공하는 대부분의 도구에서 사용하는 토토입니다.ICU, 외부 ICU를 사용하는라이브러리. ICU 토토은 토토을 구축 할 때 ICU에 대한 지원이 구성된 경우에만 사용할 수 있습니다.

위에서 설명한대로 토토 설정을 선택하는 명령 및 도구에는 각각 토토 제공 업체를 선택할 수있는 옵션이 있습니다. 이전에 표시된 예제는 모두를 사용합니다.LIBC기본값입니다. 다음은 ICU 제공 업체를 사용하여 데이터베이스 클러스터를 초기화하는 예입니다.

initdb-locale-provider = ICU --ICU-locale = en

자세한 내용은 각 명령 및 프로그램에 대한 설명을 참조하십시오. 토토 제공 업체가 다른 세분화에서 혼합 할 수 있습니다 (예 : 사용).LIBC클러스터의 경우 기본적으로를 토토하는 데이터베이스가 하나 있습니다.ICU공급자, 그리고 해당 데이터베이스 내에서 어떤 공급자를 토토하여 콜레이션 객체를 가지고 있습니다.

사용하는 토토 제공 업체는 개별 요구 사항에 따라 다릅니다. 대부분의 기본 용도의 경우 어느 하나의 공급자가 적절한 결과를 제공합니다.

24.1.5.ICU 지역#

24.1.5.1.ICU 토토 이름#

토토 이름의 ICU 형식은 A입니다.언어 태그.

CLEATE COLLATION MYCOLLATION1 (제공자 = ICU, LOCALE = 'JA-JP');

24.1.5.2.토토 정제 및 검증#

공급자로 ICU를 사용하여 새 ICU 콜라이트 객체 또는 데이터베이스를 정의 할 때 주어진 토토 이름은 해당 양식이 아닌 경우 언어 태그로 변환됩니다 ( "Canonicalized"). 예를 들어,

collation myCollation3 만들기 3 (제공자 = ICU, locale = 'en-us-u-kn-true');

이 통지가 표시되면 확인하십시오.제공자and토토예상 결과입니다. ICU 제공 업체를 사용할 때 일관된 결과를 얻으려면 표준을 지정하십시오언어 태그변환에 의존하는 대신

언어 이름이없는 토토 또는 특별 언어 이름루트, 언어를 갖도록 변환und( "정의되지 않은").

ICU는 대부분의 LIBC 토토 이름과 다른 형식을 언어 태그로 변환하여 ICU 로의 쉽게 전환 할 수 있습니다. LIBC 토토 이름이 ICU에서 사용되는 경우 LIBC에서와 정확히 동일한 동작을 가질 수 있습니다.

토토 이름을 해석하는 데 문제가 있거나 토토 이름이 인식하지 못하는 언어 또는 지역을 나타내는 경우 다음 경고가 표시됩니다.

COLLITE COLLATION NISNESSENSE (제공자 = ICU, locale = 'Nonsense');

icu_validation_level메시지보고 방법을 제어합니다. 설정하지 않는 한오류, Collation은 여전히 ​​생성되지만 동작은 사용자가 의도 한 것이 아닐 수도 있습니다.

24.1.5.3.언어 태그#

BCP 47에 정의 된 언어 태그는 토토에 대한 언어, 지역 및 기타 정보를 식별하는 데 사용되는 표준화 된 식별자입니다..

기본 언어 태그는 간단합니다언어-지역; 또는 그냥언어. 그만큼언어는 언어 코드입니다 (예 :fr프랑스어) 및지역는 지역 코드입니다 (예 :CA캐나다의 경우). 예 :JA-JP,de또는FR-CA.

Collation Settings는 Collation 동작을 사용자 정의하기 위해 언어 태그에 포함될 수 있습니다. ICU는 강조, 케이스 및 구두점에 민감성 (또는 무감각)과 같은 광범위한 사용자 정의를 허용합니다.

언어 태그 에이 추가 콜레이션 정보를 포함 시키려면-u, 추가적인 콜레이션 설정이 있음을 나타내는 다음 하나 이상의--value쌍. 그만큼|Collation Settingandvalue해당 설정에 유효한 값입니다. 부울 설정의 경우-해당하지 않고 지정 될 수 있습니다-value, 이는 값을 암시합니다true.

예를 들어 언어 태그en-us-u-kn-ks-level2미국 지역의 영어가있는 토토을 의미하며, 협업 설정KN설정trueandKS설정level2. 이러한 설정은 Collation이 대소 문자를 사용하지 않으며 일련의 숫자를 단일 숫자로 취급한다는 것을 의미합니다.

CLEATION COLLATION MYCOLLATION5 (제공자 = ICU, DECININISTIC = FALSE, LOCALE = 'en-us-u-kn-ks-level2');

참조섹션 24.2.3토토에 대한 사용자 정의 콜레이션 정보와 함께 언어 태그 사용의 세부 사항 및 추가 예.

24.1.6.문제#

위의 설명에 따라 토토 지원이 작동하지 않으면 운영 체제의 토토 지원이 올바르게 구성되어 있는지 확인하십시오. 시스템에 어떤 지역이 설치되어 있는지 확인하려면 명령을 사용할 수 있습니다토토 -A운영 체제가 제공하는 경우.

확인토토실제로 당신이 생각하는 토토을 사용하고 있습니다. 그만큼LC_COLLATEandLC_CTYPE설정은 데이터베이스가 생성 될 때 결정되며 새 데이터베이스를 작성하는 것 외에는 변경할 수 없습니다. 를 포함한 기타 토토 설정lc_messagesandlc_monetary처음에는 서버가 시작된 환경에 의해 결정되었지만 날개를 변경할 수 있습니다. 를 사용하여 활성 토토 설정을 확인할 수 있습니다.show명령.

디렉토리src/test/locale소스 배포에는 테스트 스위트가 포함되어 있습니다.토토'S Locale Support.

오류 메시지의 텍스트를 구문 분석하여 서버 측 오류를 처리하는 클라이언트 응용 프로그램은 서버의 메시지가 다른 언어에있을 때 분명히 문제가 있습니다. 이러한 응용 프로그램의 저자는 오류 코드 체계를 대신 사용하는 것이 좋습니다.

메시지 번역 카탈로그 유지하려면보고 싶어하는 많은 자원 봉사자들의 지속적인 노력이 필요합니다토토선호하는 언어를 잘 말하십시오. 언어로 된 메시지가 현재 사용할 수 없거나 완전히 번역되지 않은 경우 도움을 주시면 감사하겠습니다.스포츠 토토 : 문서 : 16 : 57 장. 모국어 지원또는 개발자의 메일 링리스트에 쓰기.

수정 제출

문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면