토토 핫지원은 알파벳, 정렬, 숫자 형식 등에 관한 문화적 선호에 관한 응용 프로그램을 말합니다.PostgreSQL표준 ISO C 및 사용posix서버 운영 체제에서 제공하는 토토 핫 시설. 추가 정보는 시스템 문서를 참조하십시오.
데이터베이스 클러스터가 생성 될 때 토토 핫 지원이 자동으로 초기화됩니다initdb
. initdb
기본적으로 실행 환경의 토토 핫 설정으로 데이터베이스 클러스터를 초기화하므로 시스템이 이미 데이터베이스 클러스터에서 원하는 토토 핫을 사용하도록 설정된 경우 다른 일이 필요하지 않습니다. 다른 토토 핫을 사용하려면 (또는 시스템이 설정되었는지 확실하지 않으면 지시 할 수 있습니다initdb
정확히 어떤 토토 핫을 지정하여 사용할 토토 핫-토토 핫
옵션. 예를 들어:
initdb -locale = sv_se
UNIX 시스템 의이 예제는 토토 핫을 스웨덴어로 설정합니다 (SV
) 스웨덴에서 사용 된대로 (SE
). 다른 가능성은 다음과 같습니다.en_us
(U.S. English) 및FR_CA
(프랑스 캐나다). 토토 핫에 둘 이상의 문자 세트를 사용할 수 있다면 사양이 양식을 취할 수 있습니다Language_Territory.codeset
. 예를 들어,fr_be.utf-8
벨기에에서 사용 된 프랑스어 (FR)를 대표합니다 (BE)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_COLLATE
andLC_CTYPE
이 범주입니다. 인덱스의 정렬 순서에 영향을 미치므로 고정 된 상태로 유지해야합니다. 그렇지 않으면 텍스트 열의 인덱스가 손상 될 수 있습니다. (그러나 콜라이트를 사용 하여이 제한을 완화 할 수 있습니다.섹션 24.2.)이 범주의 기본값은에 결정됩니다.initdb
가 실행되며 해당 값은 새 데이터베이스를 작성할 때 사용됩니다.데이터베이스 생성
명령.
다른 토토 핫 카테고리는 토토 핫 범주와 동일한 이름을 가진 서버 구성 매개 변수를 설정하여 원하는 때마다 변경할 수 있습니다 (참조섹션 20.11.2자세한 내용). 선택한 값initdb
실제로 구성 파일에만 기록됩니다postgresql.conf
서버가 시작될 때 기본값으로 사용합니다. 이 과제를 제거하면postgresql.conf
그러면 서버는 실행 환경에서 설정을 상속합니다.
서버의 토토 핫 동작은 클라이언트의 환경이 아니라 서버가 보이는 환경 변수에 의해 결정됩니다. 따라서 서버를 시작하기 전에 올바른 토토 핫 설정을 구성하도록주의하십시오. 그 결과 클라이언트와 서버가 다른 로컬로 설정되면 메시지가 출발 한 위치에 따라 다른 언어로 표시 될 수 있습니다.
우리가 실행 환경에서 토토 핫을 물려받는 것에 대해 말하면, 이것은 대부분의 운영 체제에서 다음을 의미합니다. 이는 주어진 토토 핫 카테고리의 경우, 다음 환경 변수가 설정 될 때 까지이 순서로 참조됩니다.LC_ALL
, LC_COLLATE
(또는 각 범주에 해당하는 변수),Lang
. 이러한 환경 변수 중 어느 것도 설정되지 않으면 토토 핫 기본값은C
.
일부 메시지 현지화 라이브러리도 환경 변수를 봅니다언어
메시지 언어를 설정하기 위해 다른 모든 토토 핫 설정을 무시합니다. 의심스러운 경우, 운영 체제의 문서, 특히에 대한 문서를 참조하십시오.getText.
메시지를 사용자의 선호 언어로 변환 할 수 있도록NLS빌드 시간에 선택되어 있어야합니다 (구성 -enable-nls
). 다른 모든 토토 핫 지원은 자동으로 내장되어 있습니다.
토토 핫 설정은 다음 SQL 기능에 영향을 미칩니다.
| 이외의 지역을 사용하는 단점C
또는posix
inPostgreSQL성능 영향입니다. 그것은 문자 취급 속도를 늦추고 일반 인덱스가 사용되는 것을 방지합니다Like
. 이런 이유로 실제로 필요한 경우에만 토토 핫을 사용하십시오.
허용 해결 방법PostgreSQLLike
클로즈가 아닌 토토 핫에 따라 여러 맞춤형 운영자 클래스가 있습니다. 이를 통해 토토 핫 비교 규칙을 무시하고 엄격한 문자 별 비교를 수행하는 색인을 생성 할 수 있습니다. 참조PostgreSQL : 문서 : 15 : 11.10. 젠 토토 수업 및 젠 토토 가족자세한 내용. 또 다른 방법은를 사용하여 인덱스를 만드는 것입니다.C
Collation,에서 논의 된대로PostgreSQL : 문서 : 15 : 24.2. 와이즈 토토 핫 Support.
토토 핫은 요구 사항에 따라 다른 범위로 선택할 수 있습니다. 위의 개요는 토토 핫이를 사용하여 어떻게 지정되는지 보여주었습니다.initdb
전체 클러스터의 기본값을 설정합니다. 다음 목록은 토토 핫을 선택할 수있는 위치를 보여줍니다. 각 항목은 후속 항목의 기본값을 제공하고 각 하위 항목은 더 미세한 세분화에서 기본값을 재정의 할 수 있습니다.
위에서 설명한 바와 같이, 운영 체제의 환경은 새로 초기화 된 데이터베이스 클러스터의 로컬에 대한 기본값을 제공합니다. 대부분의 경우 충분합니다 : 운영 체제가 원하는 언어/영토에 대해 구성된 경우PostgreSQL기본적으로 해당 토토 핫에 따라 행동합니다.
위에 표시된대로, 명령 줄 옵션initdb
새로 초기화 된 데이터베이스 클러스터의 토토 핫 설정을 지정합니다. 운영 체제에 데이터베이스 시스템에 원하는 토토 핫 구성이없는 경우 사용하십시오.
각 데이터베이스에 대해 토토 핫을 별도로 선택할 수 있습니다. SQL 명령데이터베이스 생성
및 명령 줄 동등한createb
이를위한 옵션이 있습니다. 예를 들어 데이터베이스 클러스터가 요구 사항이 다른 여러 임차인에 대한 데이터베이스가있는 경우
개별 테이블 열에 대해 토토 핫 설정을 만들 수 있습니다. 이것은라는 SQL 객체를 사용합니다.Collation그리고에 설명되어 있습니다.PostgreSQL : 문서 : 15 : 24.2. 와이즈 토토 핫 Support. 예를 들어이 방법을 사용하여 데이터를 다른 언어로 정렬하거나 특정 테이블의 정렬 순서를 사용자 정의합니다..
마지막으로, 개별 쿼리에 대해 토토 핫을 선택할 수 있습니다. 다시, 이것은 SQL Collation 객체를 사용합니다. 이것은 런타임 선택 또는 임시 실험에 따라 정렬 순서를 변경하는 데 사용될 수 있습니다.
PostgreSQL지지 지원토토 핫 제공 업체. 이것은 토토 핫 데이터를 공급하는 라이브러리를 지정합니다. 하나의 표준 제공자 이름은입니다.LIBC
는 운영 체제 C 라이브러리에서 제공하는 토토 핫을 사용합니다. 이들은 운영 체제에서 제공하는 대부분의 도구에서 사용하는 토토 핫입니다. 다른 제공자는ICU
, 외부 ICU를 사용하는라이브러리. ICU 토토 핫은 PostgreSQL을 구축 할 때 ICU에 대한 지원이 구성된 경우에만 사용할 수 있습니다.
위에서 설명한대로 토토 핫 설정을 선택하는 명령 및 도구에는 각각 토토 핫 제공 업체를 선택할 수있는 옵션이 있습니다. 이전에 표시된 예제는 모두를 사용합니다.LIBC
공급자는 기본값입니다. 다음은 ICU 제공 업체를 사용하여 데이터베이스 클러스터를 초기화하는 예입니다.
initdb-locale-provider = ICU --Icu-locale = en
자세한 내용은 해당 명령 및 프로그램에 대한 설명을 참조하십시오. 토토 핫 제공 업체가 다른 세분화에서 혼합 할 수 있습니다 (예 : 사용).LIBC
클러스터의 경우 기본적으로를 사용하는 데이터베이스가 하나 있습니다.ICU
공급자, 그리고 해당 데이터베이스 내에 공급자를 사용하여 Collation Object를 가지고 있습니다.
사용하는 토토 핫 제공 업체는 개별 요구 사항에 따라 다릅니다. 대부분의 기본 용도의 경우 어느 하나의 공급자가 적절한 결과를 제공합니다. LIBC 제공 업체의 경우 운영 체제가 제공하는 내용에 따라 다릅니다. 일부 운영 체제는 다른 운영 체제보다 낫습니다. 고급 용도의 경우 ICU는 더 많은 토토 핫 변형 및 사용자 정의 옵션을 제공합니다.
위의 설명에 따라 토토 핫 지원이 작동하지 않으면 운영 체제의 토토 핫 지원이 올바르게 구성되어 있는지 확인하십시오. 시스템에 어떤 지역이 설치되어 있는지 확인하려면 명령을 사용할 수 있습니다토토 핫 -A
운영 체제가 제공하는 경우.
확인PostgreSQL실제로 당신이 생각하는 토토 핫을 사용하고 있습니다. 그만큼LC_COLLATE
andLC_CTYPE
설정은 데이터베이스가 생성 될 때 결정되며 새 데이터베이스를 작성하는 경우를 제외하고는 변경할 수 없습니다. 를 포함한 기타 토토 핫 설정lc_messages
andlc_monetary
는 처음에 서버가 시작된 환경에 의해 결정되지만 비행 중에 변경 될 수 있습니다. 를 사용하여 활성 토토 핫 설정을 확인할 수 있습니다.show
명령.
디렉토리src/test/locale
소스 배포에는 테스트 스위트가 포함되어 있습니다.PostgreSQL'S Locale Support.
오류 메시지의 텍스트를 구문 분석하여 서버 측 오류를 처리하는 클라이언트 응용 프로그램은 서버의 메시지가 다른 언어에있을 때 분명히 문제가 있습니다. 이러한 응용 프로그램의 저자는 오류 코드 체계를 대신 사용하는 것이 좋습니다.
메시지 번역 카탈로그를 유지하려면보고 싶어하는 많은 자원 봉사자들의 지속적인 노력이 필요합니다PostgreSQL선호하는 언어를 잘 말하십시오. 언어로 된 메시지가 현재 사용할 수 없거나 완전히 번역되지 않은 경우 도움을 주시면 감사하겠습니다. 도와주고 싶다면 참조토토 핫 베이 : 문서 : 15 : 57 장. 모국어 지원또는 개발자의 메일 링리스트에 쓰기.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면