23.1. 사설 토토 사이트 지원#

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

23.1.1. 개요#

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

initdb -locale = sv_se

UNIX 시스템 의이 예제는 사설 토토 사이트을 스웨덴어로 설정합니다 (SV) 스웨덴에서 사용 된대로 (SE). 다른 가능성은 다음과 같습니다.en_us(U.S. English) 및FR_CA(프랑스 캐나다). 사설 토토 사이트에 둘 이상의 문자 세트를 사용할 수 있다면 사양이 양식을 취할 수 있습니다Language_Territory.codeset. 예를 들어,fr_be.utf-8벨기에 (BE)에서 사용 된 프랑스어 (FR)를 대표하고 AUTF-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이 범주입니다. 인덱스의 정렬 순서에 영향을 미치므로 고정 된 상태로 유지해야합니다. 그렇지 않으면 텍스트 열의 인덱스가 손상 될 수 있습니다.섹션 23.2.)이 범주의 기본값은에 결정됩니다.initdb가 실행되며 해당 값은 새 데이터베이스를 작성할 때 사용됩니다.데이터베이스 생성명령.

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

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

Note

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

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

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

23.1.2. 행동#

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

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

  • the어퍼, LowerInitcap기능

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

  • theTO_CHAR기능 가족

  • 인덱스를 사용하는 능력좋아요조항

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

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

23.1.3. 지역 선택#

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

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

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

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

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

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

23.1.4. 사설 토토 사이트 제공자#

사설 토토 사이트 제공 업체는 어떤 라이브러리가 콜라주 및 캐릭터 분류에 대한 사설 토토 사이트 동작을 정의하는지 지정합니다.

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

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

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

사설 토토 사이트 제공 업체에 관계없이 운영 체제는 여전히 메시지와 같은 일부 사설 토토 사이트 인식 행동을 제공하는 데 사용됩니다 (참조lc_messages).

사용 가능한 사설 토토 사이트 제공 업체는 다음과 같습니다.

내장

the내장제공자는 내장 작업을 사용합니다. 만CandC.UTF-8이 공급자를 위해 사설 토토 사이트이 지원됩니다.

theC사설 토토 사이트 행동은와 동일합니다C19999_20101

theC.UTF-8사설 토토 사이트은 데이터베이스 인코딩이있을 때만 사용할 수 있습니다UTF-8및 동작은 유니 코드를 기반으로합니다. Collation은 코드 포인트 값 만 사용합니다.

ICU

theICU제공자는 외부 ICU를 사용합니다도서관.PostgreSQL지원으로 구성되어 있어야합니다.

ICU는 운영 체제 및 데이터베이스 인코딩과 무관 한 콜라이트 및 문자 분류 동작을 제공합니다. 결과의 변화없이 다른 플랫폼으로 전환 할 것으로 예상되는 경우LC_COLLATEandLC_CTYPEICU 사설 토토 사이트과 독립적으로 설정할 수 있습니다.

Note

ICU 제공 업체의 경우 시간이 지남에 따라 자연 언어의 변화를 반영하도록 업데이트되므로 사용 된 ICU 라이브러리 버전에 결과가 달라질 수 있습니다.

LIBC

theLIBC공급자는 운영 체제의 C 라이브러리를 사용합니다. Collation 및 캐릭터 분류 동작은 설정에 의해 제어됩니다LC_COLLATEandLC_CTYPE, 독립적으로 설정할 수 없습니다.

Note

LIBC 제공 업체를 사용할 때 동일한 사설 토토 사이트 이름이 다른 플랫폼마다 다른 동작을 가질 수 있습니다.

23.1.5. ICU 지역#

23.1.5.1. ICU 사설 토토 사이트 이름#

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

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

23.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에서와 정확히 동일한 동작을 가질 수 있습니다.

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

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

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

23.1.5.3. 언어 태그#

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

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

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

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

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

CONTION COLLATION MYCOLLATION5 (제공자 = ICU, 결정 론적 = 거짓, locale = 'en-us-u-kn-ks-level2');

참조섹션 23.2.3사설 토토 사이트에 대한 사용자 정의 콜레이션 정보가 포함 된 언어 태그 사용의 세부 사항 및 추가 예.

23.1.6. 문제#

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

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

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

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

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

정정 제출

문서에 맞지 않는 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면