52.12. pg_collation #
РкаÑалоге pg_collation опиÑÑваÑÑÑÑ Ð´Ð¾ÑÑÑпнÑе пÑавила ÑоÑÑиÑовки, коÑоÑÑе по ÑÑÑи пÑедÑÑавлÑÑÑ Ñобой ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов SQL Ñ ÐºÐ°ÑегоÑиÑми локалей опеÑаÑионной ÑиÑÑемÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 22.2.
ТаблиÑа 52.12. СÑолбÑÑ pg_collation
Тип ÑÑолбÑа ÐпиÑание |
|---|
ÐденÑиÑикаÑÐ¾Ñ ÑÑÑоки |
ÐÐ¼Ñ Ð¿Ñавила ÑоÑÑиÑовки (ÑникалÑное Ð´Ð»Ñ Ð¿ÑоÑÑÑанÑÑва имÑн и кодиÑовки) |
OID пÑоÑÑÑанÑÑва имÑн, ÑодеÑжаÑего ÑÑо пÑавило ÑоÑÑиÑовки |
ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¿Ñавила ÑоÑÑиÑовки |
ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð¿Ñавила ÑоÑÑиÑовки: |
ЯвлÑеÑÑÑ Ð»Ð¸ пÑавило ÑоÑÑиÑовки деÑеÑминиÑованнÑм? |
ÐодиÑовка, Ð´Ð»Ñ ÐºÐ¾ÑоÑой пÑименимо ÑÑо пÑавило, или -1, еÑли оно ÑабоÑÐ°ÐµÑ Ñ Ð»Ñбой кодиÑовкой |
|
|
ÐÐ¼Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ пÑовайдеÑа пÑавил ÑоÑÑиÑовки Ð´Ð»Ñ ÑÑого обÑекÑа. ÐÑли пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ â |
ÐÑавила ÑоÑÑиÑовки ICU Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ обÑекÑа |
ÐпÑеделÑÐµÐ¼Ð°Ñ Ð¿ÑовайдеÑом веÑÑÐ¸Ñ Ð¿Ñавила ÑоÑÑиÑовки. Ðна запиÑÑваеÑÑÑ Ð¿Ñи Ñоздании пÑавила ÑоÑÑиÑовки и пÑовеÑÑеÑÑÑ Ð¿Ñи иÑполÑзовании Ð´Ð»Ñ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в его опÑеделении, ÑÑеваÑÑÑ Ð¿Ð¾Ð²Ñеждением даннÑÑ . |
ÐамеÑÑÑе, ÑÑо ÑникалÑнÑй клÑÑ Ð² ÑÑом каÑалоге опÑеделÑн как (collname, collencoding, collnamespace), а не пÑоÑÑо как (collname, collnamespace). ÐообÑе Postgres Pro игноÑиÑÑÐµÑ Ð²Ñе пÑавила ÑоÑÑиÑовки, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ
collencoding не ÑавнÑеÑÑÑ ÐºÐ¾Ð´Ð¸Ñовке ÑекÑÑей Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
или -1, а Ñоздание новÑÑ
запиÑей Ñ Ñем же именем, коÑоÑое Ñже Ð¸Ð¼ÐµÐµÑ Ð·Ð°Ð¿Ð¸ÑÑ Ñ collencoding = -1, запÑеÑено. Таким обÑазом, доÑÑаÑоÑно иÑполÑзоваÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ SQL (ÑÑ
ема.имÑ) Ð´Ð»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ñавила ÑоÑÑиÑовки, неÑмоÑÑÑ Ð½Ð° Ñо, ÑÑо оно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑникалÑнÑм ÑоглаÑно опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ°Ñалога. Ð¢Ð°ÐºÐ°Ñ Ð¾ÑганизаÑÐ¸Ñ ÐºÐ°Ñалога обÑÑÑнÑеÑÑÑ Ñем, ÑÑо пÑогÑамма initdb наполнÑÐµÑ ÐµÐ³Ð¾ в Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¸Ð½Ð¸ÑиализаÑии клаÑÑеÑа запиÑÑми Ð´Ð»Ñ Ð²ÑеÑ
локалей, обнаÑÑженнÑÑ
в ÑиÑÑеме, Ñак ÑÑо она должна имеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑоÑ
ÑаниÑÑ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð²ÑеÑ
кодиÑовок, коÑоÑÑе могÑÑ Ð²Ð¾Ð¾Ð±Ñе когда-либо пÑименÑÑÑÑÑ Ð² клаÑÑеÑе.
Рбазе даннÑÑ
template0 Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ ÑоздаÑÑ Ð¿Ñавила ÑоÑÑиÑовки, кодиÑовки коÑоÑÑÑ
не ÑооÑвеÑÑÑвÑÑÑ ÐºÐ¾Ð´Ð¸Ñовке ÑÑой базÑ, но коÑоÑÑе могÑÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ñ Ð±Ð°Ð· даннÑÑ
, ÑкопиÑованнÑÑ
впоÑледÑÑвии из template0. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑÑо пÑидÑÑÑÑ Ð¿ÑоделаÑÑ Ð²ÑÑÑнÑÑ.