LocaleHỗ trợ đề cập đến một ứng dụng tôn trọng soi kèo bóng đá truoctran sở thích văn hóa liên quan đến bảng chữ cái, sắp xếp, định dạng số, v.v.PostgreSQLSử dụng tiêu chuẩn ISO C vàPOSIXCác cơ sở địa soi kèo bóng đá truoctran được cung cấp bởi hệ điều hành máy chủ. Để biết thêm thông tin, hãy tham khảo tài liệu của hệ thống của bạn.
Hỗ trợ Locale được tự động khởi tạo khi cụm cơ sở dữ soi kèo bóng đá truoctran được tạo bằnginitDB
. initDB
Sẽ khởi tạo cụm cơ sở dữ liệu với cài đặt ngôn ngữ của môi trường thực hiện theo mặc định, vì vậy nếu hệ thống của bạn đã được thiết lập để sử dụng ngôn ngữ mà bạn muốn trong cụm cơ sở dữ liệu thì không có gì khác bạn cần làm. Nếu bạn muốn sử dụng một địa soi kèo bóng đá truoctran khác (hoặc bạn không chắc địa điểm nào hệ thống của bạn sẽ được đặt), bạn có thể hướng dẫninitDB
Chính xác là địa điểm nào sẽ sử dụng bằng cách chỉ định-Locale
Tùy chọn. Ví dụ:
initDB -locale = sv_se
Ví dụ này cho soi kèo bóng đá truoctran hệ thống Unix đặt locale thành Thụy Điển (SV
) Như đã nói ở Thụy Điển (SE
). soi kèo bóng đá truoctran khả năng khác có thể bao gồmEN_US
(Hoa Kỳ tiếng Anh) vàFR_CA
(tiếng Pháp Canada). Nếu có thể sử dụng nhiều hơn một bộ ký tự cho locale thì soi kèo bóng đá truoctran thông số kỹ thuật có thể lấy biểu mẫungôn ngữ_territory.codeset
. Ví dụ,FR_BE.UTF-8
đại diện cho ngôn ngữ Pháp (FR) như được nói ở Bỉ (be), với AUTF-8Mã hóa bộ ký tự.
Những địa soi kèo bóng đá truoctran nào có sẵn trên hệ thống của bạn dưới tên nào phụ thuộc vào những gì được cung cấp bởi nhà cung cấp hệ điều hành và những gì đã được cài đặt. Trên hầu hết các hệ thống Unix, lệnhLocale -A
sẽ cung cấp một danh sách các địa soi kèo bóng đá truoctran có sẵn. Windows sử dụng nhiều tên địa soi kèo bóng đá truoctran dài hơn, chẳng hạn nhưGerman_Germany
hoặcswedish_sweden.1252
, nhưng soi kèo bóng đá truoctran nguyên tắc giống nhau.
Thỉnh thoảng, việc trộn các quy tắc từ một số địa soi kèo bóng đá truoctran, ví dụ: sử dụng các quy tắc đối chiếu tiếng Anh nhưng tin nhắn tiếng Tây Ban Nha. Để hỗ trợ điều đó, một tập hợp các tiểu thể loại địa soi kèo bóng đá truoctran tồn tại chỉ kiểm soát các khía cạnh nhất định của các quy tắc nội địa hóa:
lc_collate |
Đơn hàng sắp xếp chuỗi |
lc_ctype |
Phân loại ký tự (chữ cái là gì? Trường hợp trên của nó tương đương?) |
LC_Messages |
Ngôn ngữ của tin nhắn |
lc_monetary |
Định dạng số tiền tiền tệ |
lc_numeric |
Định dạng số |
lc_time |
Định dạng ngày và thời gian |
Tên danh mục Dịch thành tên củainitDB
Tùy chọn để ghi đè lựa chọn địa soi kèo bóng đá truoctran cho một danh mục cụ thể. Chẳng hạn, để đặt địa soi kèo bóng đá truoctran cho người Pháp Canada, nhưng sử dụng các quy tắc của Hoa Kỳ để định dạng tiền tệ, sử dụnginitDB-locale = fr_ca--lc-monetary = en_us
.
Nếu bạn muốn hệ thống hoạt động như thể nó không có hỗ trợ địa soi kèo bóng đá truoctran, hãy sử dụng tên địa soi kèo bóng đá truoctran đặc biệtC
hoặc tương đươngPOSIX
.
Một số danh mục địa soi kèo bóng đá truoctran phải có giá trị của chúng khi cơ sở dữ liệu được tạo. Bạn có thể sử dụng các cài đặt khác nhau cho các cơ sở dữ liệu khác nhau, nhưng một khi cơ sở dữ liệu được tạo, bạn không thể thay đổi chúng cho cơ sở dữ liệu đó nữa.lc_collate
vàlc_ctype
là những loại này. Chúng ảnh hưởng đến thứ tự sắp xếp của soi kèo bóng đá truoctran chỉ mục, vì vậy chúng phải được giữ cố định hoặc soi kèo bóng đá truoctran chỉ mục trên soi kèo bóng đá truoctran cột văn bản sẽ bị hỏng.Phần 23.2.) soi kèo bóng đá truoctran giá trị mặc định cho soi kèo bóng đá truoctran danh mục này được xác định khiinitDB
được chạy và soi kèo bóng đá truoctran giá trị đó được sử dụng khi cơ sở dữ liệu mới được tạo, trừ khi được chỉ định khác trongTạo cơ sở dữ soi kèo bóng đá truoctran
lệnh.
Các danh mục địa soi kèo bóng đá truoctran khác có thể được thay đổi bất cứ khi nào mong muốn bằng cách đặt các tham số cấu hình máy chủ có cùng tên với các danh mục locale (xemPhần 19.11.2Để biết chi tiết). soi kèo bóng đá truoctran giá trị được chọn bởiinitDB
thực sự chỉ được ghi vào tệp cấu hìnhPostgreSql.conf
Để phục vụ như mặc định khi máy chủ được khởi động. Nếu bạn xóa soi kèo bóng đá truoctran bài tập này khỏiPostgreSql.conf
Sau đó, máy chủ sẽ kế thừa soi kèo bóng đá truoctran cài đặt từ môi trường thực hiện của nó.
Lưu ý rằng hành vi địa soi kèo bóng đá truoctran của máy chủ được xác định bởi các biến môi trường được nhìn thấy bởi máy chủ, không phải bởi môi trường của bất kỳ máy khách nào. Do đó, hãy cẩn thận để định cấu hình cài đặt địa soi kèo bóng đá truoctran chính xác trước khi khởi động máy chủ.
Khi chúng ta nói về việc kế thừa địa soi kèo bóng đá truoctran từ môi trường thực hiện, điều này có nghĩa là sau đây trên hầu hết các hệ điều hành: Đối với một danh mục địa soi kèo bóng đá truoctran nhất định, hãy nói rằng các biến môi trường sau đây được tư vấn theo thứ tự này cho đến khi được tìm thấy:lc_all
, lc_collate
(hoặc biến tương ứng với danh mục tương ứng),Lang
. Nếu không có biến môi trường nào được đặt thì địa soi kèo bóng đá truoctran mặc định làC
.
Một số thư viện bản địa hóa tin nhắn cũng nhìn vào biến môi trườngNgôn ngữ
trong đó ghi đè tất cả các cài đặt địa soi kèo bóng đá truoctran khác cho mục đích thiết lập ngôn ngữ của các tin nhắn. Nếu nghi ngờ, vui lòng tham khảo tài liệu của hệ điều hành của bạn, đặc biệt là tài liệu vềGetText.
Để cho phép soi kèo bóng đá truoctran tin nhắn được dịch sang ngôn ngữ ưa thích của người dùng,NLSPhải được chọn vào thời điểm xây dựng (Cấu hình --Enable-NLS
). Tất cả các hỗ trợ địa soi kèo bóng đá truoctran khác được tích hợp tự động.
Cài đặt địa soi kèo bóng đá truoctran ảnh hưởng đến các tính năng SQL sau:
Sắp xếp thứ tự trong soi kèo bóng đá truoctran truy vấn bằng cách sử dụngĐặt hàng bởi
hoặc soi kèo bóng đá truoctran toán tử so sánh tiêu chuẩn trên dữ liệu văn bản
soi kèo bóng đá truoctran toán tử khớp mẫu (như
, Tương tự như
, và các biểu thức chính quy kiểu POSIX); Các địa soi kèo bóng đá truoctran ảnh hưởng đến cả hai trường hợp phù hợp không nhạy cảm và phân loại các ký tự theo biểu thức chính quy lớp ký tự
Khả năng sử dụng soi kèo bóng đá truoctran chỉ mục vớinhư
mệnh đề
Hạn chế của việc sử dụng các địa soi kèo bóng đá truoctran khác ngoàiC
hoặcPOSIX
inPostgreSQLlà tác động hiệu suất của nó. Nó làm chậm việc xử lý ký tự và ngăn soi kèo bóng đá truoctran chỉ mục thông thường được sử dụng bởinhư
. Vì lý do này, chỉ sử dụng địa soi kèo bóng đá truoctran nếu bạn thực sự cần chúng.
như một cách giải quyết để cho phépPostgreSQLĐể sử dụng soi kèo bóng đá truoctran chỉ mục vớinhư
Các điều khoản dưới một địa soi kèo bóng đá truoctran không C, một số lớp toán tử tùy chỉnh tồn tại. Những điều này cho phép tạo ra một chỉ số thực hiện so sánh ký tự nghiêm ngặt, bỏ qua các quy tắc so sánh địa soi kèo bóng đá truoctran.Phần 11.10Để biết thêm thông tin. Một cách tiếp cận khác là tạo soi kèo bóng đá truoctran chỉ mục bằng cách sử dụngC
đối chiếu, như đã thảo luận trongPhần 23.2.
Locales có thể được chọn trong các phạm vi khác nhau tùy thuộc vào các yêu cầu. Tổng quan trên cho thấy cách các địa soi kèo bóng đá truoctran được chỉ định bằng cách sử dụnginitDB
Để đặt mặc định cho toàn bộ cụm. Danh sách sau đây cho thấy địa soi kèo bóng đá truoctran có thể được chọn.
Như đã giải thích ở trên, môi trường của hệ điều hành cung cấp mặc định cho soi kèo bóng đá truoctran cục bộ của cụm cơ sở dữ liệu mới được khởi tạo. Trong nhiều trường hợp, điều này là đủ: nếu hệ điều hành được cấu hình cho ngôn ngữ/lãnh thổ mong muốn, theo mặc địnhPostgreSQLcũng sẽ cư xử theo địa soi kèo bóng đá truoctran đó.
Như được hiển thị ở trên, soi kèo bóng đá truoctran tùy chọn dòng lệnh choinitDB
Chỉ định cài đặt ngôn ngữ cho cụm cơ sở dữ soi kèo bóng đá truoctran mới được khởi tạo. Sử dụng điều này nếu hệ điều hành không có cấu hình ngôn ngữ bạn muốn cho hệ thống cơ sở dữ soi kèo bóng đá truoctran của mình.
Một ngôn ngữ có thể được chọn riêng cho mỗi cơ sở dữ soi kèo bóng đá truoctran. Lệnh SQLTạo cơ sở dữ soi kèo bóng đá truoctran
và tương đương dòng lệnh của nócreatedb
Có soi kèo bóng đá truoctran tùy chọn cho điều đó. Sử dụng điều này ví dụ nếu một cụm cơ sở dữ liệu chứa cơ sở dữ liệu cho nhiều người thuê có soi kèo bóng đá truoctran yêu cầu khác nhau.
Cài đặt địa soi kèo bóng đá truoctran có thể được thực hiện cho các cột bảng riêng lẻ. Điều này sử dụng một đối tượng SQL được gọi làđối chiếuvà được giải thích trongPhần 23.2. Ví dụ, sử dụng điều này để sắp xếp dữ liệu bằng soi kèo bóng đá truoctran ngôn ngữ khác nhau hoặc tùy chỉnh thứ tự sắp xếp của một bảng cụ thể.
Cuối cùng, các địa soi kèo bóng đá truoctran có thể được chọn cho một truy vấn riêng lẻ. Một lần nữa, điều này sử dụng các đối tượng đối chiếu SQL.
Nhà cung cấp địa soi kèo bóng đá truoctran chỉ định thư viện nào xác định hành vi địa soi kèo bóng đá truoctran cho các đối chiếu và phân loại ký tự.
Các lệnh và công cụ chọn cài đặt locale, như được mô tả ở trên, mỗi người có một tùy chọn để chọn nhà cung cấp địa soi kèo bóng đá truoctran. Dưới đây là một ví dụ để khởi tạo cụm cơ sở dữ liệu bằng nhà cung cấp ICU:
initDB-locale-provider = icu --icu-locale = en
Xem mô tả về các lệnh và chương trình tương ứng để biết chi tiết. Lưu ý rằng bạn có thể trộn các nhà cung cấp địa soi kèo bóng đá truoctran tại các chi tiết khác nhau, ví dụ như sử dụngLIBC
Theo mặc định cho cụm nhưng có một cơ sở dữ soi kèo bóng đá truoctran sử dụngICU
Nhà cung cấp và sau đó có soi kèo bóng đá truoctran đối tượng đối chiếu bằng cách sử dụng một trong hai nhà cung cấp trong soi kèo bóng đá truoctran cơ sở dữ liệu đó.
Bất kể nhà cung cấp địa soi kèo bóng đá truoctran nào, hệ điều hành vẫn được sử dụng để cung cấp một số hành vi nhận biết địa soi kèo bóng đá truoctran, chẳng hạn như tin nhắn (xemlc_messages).
Các nhà cung cấp địa soi kèo bóng đá truoctran có sẵn được liệt kê bên dưới:
Buildin
TheBuildin
Nhà cung cấp sử dụng soi kèo bóng đá truoctran hoạt động tích hợp. ChỉC
vàC.UTF-8
Địa soi kèo bóng đá truoctran được hỗ trợ cho nhà cung cấp này.
TheC
Hành vi địa soi kèo bóng đá truoctran giống hệt vớiC
Locale trong nhà cung cấp LIBC. Khi sử dụng ngôn ngữ này, hành vi có thể phụ thuộc vào mã hóa cơ sở dữ soi kèo bóng đá truoctran.
TheC.UTF-8
Locale chỉ khả dụng khi mã hóa cơ sở dữ soi kèo bóng đá truoctran làUTF-8
và hành vi này dựa trên Unicode. Bộ đối chiếu chỉ sử dụng soi kèo bóng đá truoctran giá trị điểm mã.
ICU
TheICU
Nhà cung cấp sử dụng ICU bên ngoàiThư viện.PostgreSQLPhải được cấu hình với hỗ trợ.
25886_26114lc_collate
vàlc_ctype
có thể được đặt độc lập với locale ICU.
Đối với nhà cung cấp ICU, kết quả có thể phụ thuộc vào phiên bản của thư viện ICU được sử dụng, vì nó được cập nhật để phản ánh soi kèo bóng đá truoctran thay đổi trong ngôn ngữ tự nhiên theo thời gian.
LIBC
TheLIBC
Nhà cung cấp sử dụng thư viện C của hệ điều hành. Hành vi phân loại và phân loại ký tự được kiểm soát bởi soi kèo bóng đá truoctran cài đặtlc_collate
vàlc_ctype
, vì vậy chúng không thể được đặt độc lập.
cùng tên địa soi kèo bóng đá truoctran có thể có hành vi khác nhau trên các nền tảng khác nhau khi sử dụng nhà cung cấp LIBC.
Định dạng ICU cho tên địa soi kèo bóng đá truoctran làTag ngôn ngữ.
Tạo đối chiếu mycollation1 (nhà cung cấp = icu, locale = 'ja-jp');
28308_28506
28535_28817
Nếu bạn thấy thông báo này, hãy đảm bảo rằngnhà cung cấp
vàLocale
là kết quả dự kiến. Để có kết quả nhất quán khi sử dụng nhà cung cấp ICU, chỉ định chính tắcTag ngôn ngữThay vì dựa vào chuyển đổi.
Một ngôn ngữ không có tên ngôn ngữ hoặc tên ngôn ngữ đặc biệtRoot
, được chuyển đổi để có ngôn ngữUND
("không xác định").
ICU có thể chuyển đổi hầu hết các tên địa soi kèo bóng đá truoctran LIBC, cũng như một số định dạng khác, thành thẻ ngôn ngữ để chuyển sang ICU dễ dàng hơn. Nếu tên địa soi kèo bóng đá truoctran LIBC được sử dụng trong ICU, nó có thể không chính xác hành vi giống như trong Libc.
Nếu có vấn đề diễn giải tên địa soi kèo bóng đá truoctran hoặc nếu tên địa soi kèo bóng đá truoctran đại diện cho ngôn ngữ hoặc khu vực mà ICU không nhận ra, bạn sẽ thấy cảnh báo sau:
Tạo đối chiếu vô nghĩa (nhà cung cấp = icu, locale = 'nonsense');
ICU_VALIDING_LEVELKiểm soát cách tin nhắn được báo cáo. Trừ khi được đặt thànhERROR
, đối chiếu vẫn sẽ được tạo, nhưng hành vi có thể không phải là những gì người dùng dự định.
Thẻ ngôn ngữ, được xác định trong BCP 47, là một mã định danh được tiêu chuẩn hóa được sử dụng để xác định ngôn ngữ, vùng và thông tin khác về địa soi kèo bóng đá truoctran.
Thẻ ngôn ngữ cơ bản chỉ đơn giản làNgôn ngữ
-
Vùng
; hoặc thậm chí chỉNgôn ngữ
. TheNgôn ngữ
là mã ngôn ngữ (ví dụ:FR
cho tiếng Pháp) vàVùng
là mã vùng (ví dụ:CA
cho Canada). Ví dụ:JA-JP
, de
hoặcFR-CA
.
Cài đặt đối chiếu có thể được bao gồm trong thẻ ngôn ngữ để tùy chỉnh hành vi đối chiếu. ICU cho phép tùy chỉnh rộng rãi, chẳng hạn như độ nhạy (hoặc vô cảm) đối với soi kèo bóng đá truoctran điểm nhấn, trường hợp và dấu câu;
31698_31775-U
, cho biết có soi kèo bóng đá truoctran cài đặt đối chiếu bổ sung, theo sau là một hoặc nhiều-
Key
-
giá trị
cặp. TheKey
là chìa khóa cho mộtCài đặt đối chiếuvàgiá trị
là một giá trị hợp lệ cho cài đặt đó. Đối với cài đặt boolean,-
Key
có thể được chỉ định mà không cần tương ứng-
giá trị
, ngụ ý giá trị củaTRUE
.
Ví dụ: thẻ ngôn ngữen-us-u-kk-ks-level2
có nghĩa là địa soi kèo bóng đá truoctran với ngôn ngữ tiếng Anh ở khu vực Hoa Kỳ, với cài đặt đối chiếuKN
Đặt thànhTRUE
vàKS
Đặt thànhLevel2
. soi kèo bóng đá truoctran cài đặt đó có nghĩa là đối chiếu sẽ không nhạy cảm với trường hợp và coi một chuỗi soi kèo bóng đá truoctran chữ số là một số duy nhất:
33097_33371
xemPhần 23.2.3Để biết chi tiết và ví dụ bổ sung về việc sử dụng thẻ ngôn ngữ với thông tin đối chiếu tùy chỉnh cho địa soi kèo bóng đá truoctran.
Nếu hỗ trợ locale không hoạt động theo lời giải thích ở trên, hãy kiểm tra xem hỗ trợ địa soi kèo bóng đá truoctran trong hệ điều hành của bạn có được cấu hình chính xác không. Để kiểm tra những địa soi kèo bóng đá truoctran được cài đặt trên hệ thống của bạn, bạn có thể sử dụng lệnhLocale -A
Nếu hệ điều hành của bạn cung cấp nó.
Kiểm tra xemPOSTGRESQLthực sự đang sử dụng địa soi kèo bóng đá truoctran mà bạn nghĩ là nó. TheLC_Collate
vàLC_CTYPE
Cài đặt được xác định khi cơ sở dữ liệu được tạo và không thể thay đổi ngoại trừ bằng cách tạo cơ sở dữ liệu mới. Các cài đặt địa soi kèo bóng đá truoctran khác bao gồmLC_Messages
vàlc_monetary
Ban đầu được xác định bởi môi trường Máy chủ được khởi động, nhưng có thể được thay đổi khi đang bay. Bạn có thể kiểm tra cài đặt locale đang hoạt động bằngshow
lệnh.
Thư mụcsrc/test/locale
Trong phân phối nguồn chứa bộ kiểm tra choPOSTGRESQLhỗ trợ địa soi kèo bóng đá truoctran.
Ứng dụng máy khách xử lý soi kèo bóng đá truoctran lỗi phía máy chủ bằng cách phân tích văn bản của thông báo lỗi rõ ràng sẽ có vấn đề khi tin nhắn của máy chủ bằng ngôn ngữ khác. Thay vào đó, soi kèo bóng đá truoctran tác giả của soi kèo bóng đá truoctran ứng dụng như vậy nên sử dụng sơ đồ mã lỗi.
Duy trì danh mục soi kèo bóng đá truoctran bản dịch tin nhắn đòi hỏi những nỗ lực đang diễn ra của nhiều tình nguyện viên muốn xemPostgreSQLNói tốt ngôn ngữ ưa thích của họ. Nếu tin nhắn trong ngôn ngữ của bạn hiện không có sẵn hoặc không được dịch đầy đủ, sự hỗ trợ của bạn sẽ được đánh giá cao.Chương 55hoặc viết vào danh sách gửi thư của nhà phát triển.
Nếu bạn thấy bất cứ điều gì trong tài soi kèo bóng đá truoctran không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài soi kèo bóng đá truoctran.