Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

23.1. Hỗ trợ địa soi kèo bóng đá truoctran#

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.

23.1.1. Tổng quan#

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. initDBSẽ 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ẫninitDBChính xác là địa điểm nào sẽ sử dụng bằng cách chỉ định-LocaleTù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 -Asẽ 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_Germanyhoặ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ủainitDBTù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ệtChoặ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_collatelc_ctypelà 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 đá truoctranlệ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ởiinitDBthự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.confSau đó, 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ủ.

ghi 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.

23.1.2. Hành vi#

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ởihoặ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

  • Thetrên, HạinitCapChức năng

  • 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ự

  • Theto_charGia đình chức năng

  • 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àiChoặcPOSIXinPostgreSQLlà 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.

23.1.3. Chọn địa soi kèo bóng đá truoctran#

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.

  1. 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 đó.

  2. Như được hiển thị ở trên, soi kèo bóng đá truoctran tùy chọn dòng lệnh choinitDBChỉ đị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.

  3. 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 đá truoctranvà tương đương dòng lệnh của nócreatedbCó 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.

  4. 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ể.

  5. 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.

23.1.4. Nhà cung cấp địa soi kèo bóng đá truoctran#

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ụngLIBCTheo mặc định cho cụm nhưng có một cơ sở dữ soi kèo bóng đá truoctran sử dụngICUNhà 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

TheBuildinNhà cung cấp sử dụng soi kèo bóng đá truoctran hoạt động tích hợp. ChỉCC.UTF-8Địa soi kèo bóng đá truoctran được hỗ trợ cho nhà cung cấp này.

TheCHành vi địa soi kèo bóng đá truoctran giống hệt vớiCLocale 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-8Locale chỉ khả dụng khi mã hóa cơ sở dữ soi kèo bóng đá truoctran làUTF-8và 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

TheICUNhà 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_collatelc_ctypecó thể được đặt độc lập với locale ICU.

Lưu ý

Đố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

TheLIBCNhà 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_collatelc_ctype, vì vậy chúng không thể được đặt độc lập.

Lưu ý

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.

23.1.5. ICU Locales#

23.1.5.1. Tên địa soi kèo bóng đá truoctran ICU#

Đị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');

23.1.5.2. Thể thao hóa địa soi kèo bóng đá truoctran và xác thực#

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ấpLocalelà 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.

23.1.5.3. Tag ngôn ngữ#

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ụ:FRcho tiếng Pháp) vàVùnglà mã vùng (ví dụ:CAcho Canada). Ví dụ:JA-JP, dehoặ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. TheKeylà chìa khóa cho mộtCài đặt đối chiếugiá trịlà một giá trị hợp lệ cho cài đặt đó. Đối với cài đặt boolean,-Keycó 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-level2có 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ànhTRUEKSĐặ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.

23.1.6. Sự cố#

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 -ANế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_CollateLC_CTYPECà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_Messageslc_monetaryBan đầ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ằngshowlệnh.

Thư mụcsrc/test/localeTrong 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.

Gửi sửa

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.