이 장에서는 사용 가능한 현지화 기능에 대해 설명합니다. 관리자 입장에서.포스트그레SQL두 가지로 현지화 지원 접근 방식:
운영 체제의 로캘 기능을 사용하여 다음 작업을 수행합니다. 로케일별 조합 순서, 숫자 형식 지정, 번역된 메시지 및 기타 측면.
다음에 정의된 다양한 문자 집합 제공포스트그레SQL서버, 저장을 지원하기 위한 다중 바이트 문자 세트 포함 모든 종류의 언어로 된 텍스트 및 문자 세트 제공 클라이언트와 서버 간의 번역.
로케일지원은 문화적 선호를 존중하는 응용 프로그램 알파벳, 정렬, 숫자 서식 등사설 토토표준 ISO C를 사용하며POSIX로케일 시설 서버 운영 체제에서 제공합니다. 추가로 자세한 내용은 시스템 설명서를 참조하세요.
로케일 지원은 다음과 같은 경우 자동으로 초기화됩니다. 데이터베이스 클러스터는 다음을 사용하여 생성됩니다.initdb. initdb할 것이다 로케일 설정으로 데이터베이스 클러스터를 초기화합니다. 실행 환경; 시스템이 이미 설정되어 있다면 데이터베이스 클러스터에서 원하는 로케일을 사용하려면 당신이해야 할 일은 아무것도 없습니다. 당신이 다른 로케일(또는 어떤 로케일을 사용하는지 확실하지 않음) 시스템이)으로 설정되어 있음을 알 수 있습니다.initdb정확히 원하는 로캘이 무엇인지 옵션--로케일. 예를 들면:
initdb --locale=sv_SE
이 예는 로케일을 스웨덴어로 설정합니다(sv) 스웨덴에서 사용됨(SE). 다른 가능성은 다음과 같습니다.en_US(미국 영어) 및fr_CA(캐나다, 프랑스어). 1개 이상인 경우 문자 집합은 로케일에 유용할 수 있습니다. 사양은 다음과 같습니다.cs_CZ.ISO8859-2. 사용 가능한 로케일 시스템의 이름은 제공된 내용에 따라 다릅니다. 운영 체제 공급업체 및 설치된 항목에 따라 결정됩니다.
때로는 여러 규칙을 혼합하는 것이 유용합니다. 로케일(예: 영어 대조 규칙을 사용하지만 스페인어) 메시지. 이를 지원하기 위해 로케일 하위 카테고리 세트 현지화의 특정 측면만 제어하는 존재 규칙.
| LC_COLLATE | 문자열 정렬 순서 |
| LC_CTYPE | 문자 분류(문자란 무엇입니까? 대문자에 해당합니까?) |
| LC_MESSAGES | 메시지 언어 |
| LC_MONETARY | 통화 금액 형식 |
| LC_NUMERIC | 숫자 형식 지정 |
| LC_TIME | 날짜 및 시간 형식 |
시스템이 로케일이 없는 것처럼 작동하도록 하려면 지원하려면 특수 로케일을 사용하세요.C또는POSIX.
일부 로케일 카테고리의 특성은 해당 값이 데이터베이스 클러스터의 수명 동안 수정되어야 합니다. 그 한번은요initdb실행되었으므로 실행할 수 없습니다. 더 이상 바꾸세요.LC_COLLATE그리고LC_CTYPE이 카테고리입니다. 그들은 인덱스의 정렬 순서에 영향을 미치므로 고정된 상태로 유지해야 합니다. 그렇지 않으면 텍스트 열의 인덱스가 손상됩니다.사설 토토기록을 통해 이를 시행합니다. 의 값LC_COLLATE그리고LC_CTYPE다음에 의해 표시됨initdb. 서버는 자동으로 이를 채택합니다. 시작될 때 두 개의 값.
다른 로케일 카테고리는 원하는 대로 변경할 수 있습니다 런타임을 설정하여 서버가 실행될 때마다 로캘과 이름이 같은 구성 변수 카테고리(참조사설 토토 : 문서 : 7자세한 내용). 에 의해 선택되는 기본값initdb실제로만 작성되었습니다. 구성 파일에사설 토토.conf다음 경우 기본값으로 사용됩니다. 서버가 시작되었습니다. 다음에서 할당을 삭제하는 경우사설 토토.conf그다음 서버 실행 환경에서 설정을 상속합니다.
서버의 로케일 동작이 결정된다는 점에 유의하세요 서버가 아닌 서버가 보는 환경 변수에 의해 어떤 클라이언트의 환경. 따라서 구성에 주의하세요. 서버를 시작하기 전에 올바른 로케일 설정을 수행하십시오. 에이 결과적으로 클라이언트와 서버가 설정되면 로케일에 따라 메시지가 다른 언어로 나타날 수 있습니다. 언어는 원산지에 따라 다릅니다.
참고:로케일 상속에 대해 말할 때 실행 환경에서 이는 다음을 의미합니다. 대부분의 운영 체제: 특정 로캘 범주에 대해 데이터 정렬, 다음 환경 변수를 말해보세요. 하나가 설정될 때까지 다음 순서로 참조됩니다.LC_ALL, LC_COLLATE(다음에 해당하는 변수 해당 카테고리),랭. 만약에 이러한 환경 변수 중 어느 것도 설정되지 않은 경우 로케일 기본값은C.
일부 메시지 현지화 라이브러리는 또한 환경 변수언어목적에 따라 다른 모든 로캘 설정을 재정의합니다. 메시지 언어 설정. 의심스러우면, 제발 운영 체제 설명서를 참조하십시오. 특히 관련 문서gettext, 자세한 정보는.
사용자가 선호하는 언어로 번역된 메시지를 활성화하려면 언어,NLS반드시 있어야 합니다 빌드 시 활성화되었습니다. 이 선택은 다른 로케일 지원.
로캘 지원은 특히 다음에 영향을 미칩니다. 특징:
로케일 지원 사용의 유일한 심각한 단점사설 토토은 속도입니다. 그래서 실제로 필요한 경우에만 로케일을 사용하십시오.
설명에도 불구하고 로캘 지원이 작동하지 않는 경우 위에서 운영 체제의 로캘 지원을 확인하세요. 올바르게 구성되었습니다. 어떤 로캘이 설치되어 있는지 확인하려면 시스템에서 다음 명령을 사용할 수 있습니다.로케일 -a운영 체제가 다음을 제공하는 경우 그것.
확인해 보세요사설 토토이다 실제로 당신이 생각하는 로케일을 사용합니다.LC_COLLATE그리고LC_CTYPE설정은 다음에서 결정됩니다.initdb시간이며 반복하지 않고는 변경할 수 없습니다initdb. 다음을 포함한 기타 로케일 설정LC_MESSAGES그리고LC_MONETARY처음에는 다음에 의해 결정됩니다. 서버가 시작된 환경입니다. 다음을 확인할 수 있습니다.LC_COLLATE그리고LC_CTYPE유틸리티를 사용한 데이터베이스 설정 프로그램pg_controldata.
디렉토리src/테스트/로케일에 소스 배포판에는 다음에 대한 테스트 스위트가 포함되어 있습니다.포스트그레SQL의 로케일 지원합니다.
다음을 통해 서버측 오류를 처리하는 클라이언트 응용프로그램 오류 메시지의 텍스트를 구문 분석하면 분명히 서버의 메시지가 다른 위치에 있을 때 발생하는 문제 언어. 그러한 응용 프로그램의 작성자는 다음을 수행하는 것이 좋습니다. 대신 오류 코드 체계를 사용하세요.
메시지 번역 카탈로그를 유지하려면 다음이 필요합니다. 보고 싶어하는 많은 자원봉사자들의 지속적인 노력사설 토토말해 보세요 선호하는 언어는 글쎄요. 귀하의 언어로 된 메시지가 현재 사용할 수 없거나 완전히 번역되지 않았습니다. 귀하의 도움 감사하겠습니다. 도움을 원하시면 다음을 참조하세요.사설 토토stgreSQL : 문서 : 7.4 : 모국어 지원또는 개발자에게 편지를 보내세요' 메일링 리스트.