22.1. ÐоддеÑжка ÑзÑковÑÑ ÑÑандаÑÑов
ÐоддеÑжка ÑзÑковÑÑ ÑÑандаÑÑов в пÑиложениÑÑ Ð¾ÑноÑиÑÑÑ Ðº кÑлÑÑÑÑнÑм пÑедпоÑÑениÑм, коÑоÑÑе каÑаÑÑÑÑ Ð°Ð»ÑавиÑа, поÑÑдка ÑоÑÑиÑовки, ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑиÑел и Ñ. п. Postgres Pro иÑполÑзÑÐµÑ ÑооÑвеÑÑÑвÑÑÑие ÑÑандаÑÑам ISO C и POSIX возможноÑÑи локали, пÑедоÑÑавлÑемÑе опеÑаÑионной ÑиÑÑемой ÑеÑвеÑа. Ðа дополниÑелÑной инÑоÑмаÑией обÑаÑайÑеÑÑ Ðº докÑменÑаÑии ваÑей ÑиÑÑемÑ.
22.1.1. ÐбзоÑ
ÐоддеÑжка локали авÑомаÑиÑеÑки иниÑиализиÑÑеÑÑÑ, когда клаÑÑÐµÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
ÑоздаÑÑÑÑ Ð¿Ñи помоÑи initdb. initdb иниÑиализиÑÑÐµÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ
по ÑмолÑÐ°Ð½Ð¸Ñ Ñ Ð»Ð¾ÐºÐ°Ð»ÑÑ Ð¸Ð· окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð²ÑполнениÑ. ÐоÑÑомÑ, еÑли ваÑа ÑиÑÑема Ñже иÑполÑзÑÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ, коÑоÑÑÑ Ð²Ñ Ñ
оÑиÑе вÑбÑаÑÑ Ð´Ð»Ñ Ð²Ð°Ñего клаÑÑеÑа баз даннÑÑ
, вам не ÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно ÑовеÑÑаÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
дейÑÑвий. ÐÑли Ð²Ñ Ñ
оÑиÑе иÑполÑзоваÑÑ Ð´ÑÑгÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ (или Ð²Ñ ÑоÑно не знаеÑе, ÐºÐ°ÐºÐ°Ñ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¸ÑполÑзÑеÑÑÑ Ð² ваÑей ÑиÑÑеме), Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑказаÑÑ Ð´Ð»Ñ initdb какÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¸ÑполÑзоваÑÑ ÑеÑез задание паÑамеÑÑа --locale. ÐапÑимеÑ:
initdb --locale=ru_RU
ÐаннÑй пÑÐ¸Ð¼ÐµÑ Ð´Ð»Ñ Unix-ÑиÑÑем задаÑÑ ÑÑÑÑкий ÑзÑк (ru), на коÑоÑом говоÑÑÑ Ð² РоÑÑии (RU). ÐÑÑгими ваÑианÑами могÑÑ Ð±ÑÑÑ en_US (амеÑиканÑкий английÑкий) и fr_CA (канадÑкий ÑÑанÑÑзÑкий). ÐÑли в ÑзÑковом окÑÑжении Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ одного набоÑа Ñимволов, знаÑение Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð²Ð¸Ð´ language_territory.codeset. ÐапÑимеÑ, fr_BE.UTF-8 обознаÑÐ°ÐµÑ ÑÑанÑÑзÑкий ÑзÑк (fr), на коÑоÑом говоÑÑÑ Ð² ÐелÑгии (BE), Ñ ÐºÐ¾Ð´Ð¸Ñовкой UTF-8.
То, какие локали и под какими именами доÑÑÑÐ¿Ð½Ñ Ð½Ð° ваÑей ÑиÑÑеме, завиÑÐ¸Ñ Ð¾Ñ Ñого, ÑÑо бÑло вклÑÑено в опеÑаÑионнÑÑ ÑиÑÑÐµÐ¼Ñ Ð¿ÑоизводиÑелем и ÑÑо из ÑÑого бÑло ÑÑÑановлено. РболÑÑинÑÑве Unix-ÑиÑÑем команда locale -a вÑÐ²ÐµÐ´ÐµÑ ÑпиÑок доÑÑÑпнÑÑ
локалей. Windows иÑполÑзÑÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑазвÑÑнÑÑÑе имена локалей, Ñакие как German_Germany или Russian_Russia.1251, но пÑинÑÐ¸Ð¿Ñ Ð¾ÑÑаÑÑÑÑ Ñеми же.
Ðногда ÑелеÑообÑазно обÑединиÑÑ Ð¿Ñавила из ÑазлиÑнÑÑ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹, напÑимеÑ, иÑполÑзоваÑÑ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкие пÑавила ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ иÑпанÑкие ÑообÑениÑ. ÐÐ»Ñ ÑÑой Ñели ÑÑÑеÑÑвÑÐµÑ Ð½Ð°Ð±Ð¾Ñ ÐºÐ°ÑегоÑий локали, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· коÑоÑÑÑ ÑпÑавлÑÐµÑ ÑолÑко опÑеделÑннÑми аÑпекÑами пÑавил локализаÑии:
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 и LC_CTYPE ÑвлÑÑÑÑÑ ÑÑими каÑегоÑиÑми. Ðни влиÑÑÑ Ð½Ð° поÑÑдок ÑоÑÑиÑовки в индекÑаÑ
, поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð·Ð°ÑикÑиÑованÑ, инаÑе индекÑÑ Ð½Ð° ÑекÑÑовÑÑ
ÑÑолбÑаÑ
могÑÑ Ð¿Ð¾Ð²ÑедиÑÑÑÑ. (Ðднако, можно ÑмÑгÑиÑÑ ÑÑи огÑаниÑÐµÐ½Ð¸Ñ ÑеÑез задание пÑавил ÑÑавнениÑ, как ÑÑо опиÑано в Ñазделе Раздел 22.2.) ÐнаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÑÑиÑ
каÑегоÑий опÑеделÑÑÑÑÑ Ð¿Ñи запÑÑке initdb, и ÑÑи знаÑÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑÑÑÑ Ð¿Ñи Ñоздании новÑÑ
баз даннÑÑ
, еÑли дÑÑгие знаÑÐµÐ½Ð¸Ñ Ð½Ðµ ÑÐºÐ°Ð·Ð°Ð½Ñ Ñвно в команде CREATE DATABASE.
ÐÑоÑие каÑегоÑии локали Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе измениÑÑ Ð² лÑбое вÑемÑ, наÑÑÑоив паÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии ÑеÑвеÑа, коÑоÑÑе имеÑÑ Ñакое же Ð¸Ð¼Ñ ÐºÐ°Ðº и каÑегоÑии локали (подÑобнее Ñм. ÐодÑаздел 18.11.2). ÐнаÑениÑ, вÑбÑаннÑе ÑеÑез initdb, ÑакÑиÑеÑки запиÑÑваÑÑÑÑ Ð»Ð¸ÑÑ Ð² Ñайл конÑигÑÑаÑии postgresql.conf, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ñи запÑÑке ÑеÑвеÑа. ÐÑли Ð²Ñ ÑдалиÑе ÑÑи знаÑÐµÐ½Ð¸Ñ Ð¸Ð· postgresql.conf, ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð»ÑÑÐ¸Ñ ÑооÑвеÑÑÑвÑÑÑие знаÑÐµÐ½Ð¸Ñ Ð¸Ð· Ñвоей ÑÑÐµÐ´Ñ Ð²ÑполнениÑ.
ÐбÑаÑиÑе внимание на Ñо, ÑÑо поведение локали ÑеÑвеÑа опÑеделÑеÑÑÑ Ð¿ÐµÑеменнÑми ÑÑедÑ, ÑÑÑановленнÑми на ÑÑоÑоне ÑеÑвеÑа, а не ÑÑедой клиенÑа. Таким обÑазом, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑавилÑно ÑконÑигÑÑиÑоваÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¿ÐµÑед запÑÑком ÑеÑвеÑа. ÐÑли же ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ ÑеÑÐ²ÐµÑ ÑабоÑаÑÑ Ñ ÑазнÑми локалÑми, Ñо ÑообÑениÑ, возможно, бÑдÑÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð½Ð° ÑазнÑÑ ÑзÑÐºÐ°Ñ Ð² завиÑимоÑÑи Ð¾Ñ Ñого, где они возникаÑÑ.
ÐÑимеÑание
Ðогда Ð¼Ñ Ð³Ð¾Ð²Ð¾Ñим о наÑледовании локали Ð¾Ñ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ, ÑÑо ознаÑÐ°ÐµÑ ÑледÑÑÑее Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва опеÑаÑионнÑÑ
ÑиÑÑем: Ð´Ð»Ñ Ð¾Ð¿ÑеделÑнной каÑегоÑии локали, к пÑимеÑÑ, Ð´Ð»Ñ Ð¿Ñавил ÑоÑÑиÑовки, ÑледÑÑÑие пеÑеменнÑе ÑÑÐµÐ´Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÑÑÑÑÑ Ð² пÑиведÑнном ниже поÑÑдке до ÑеÑ
поÑ, пока одна из ниÑ
не окажеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹: LC_ALL, LC_COLLATE (или пеÑеменнаÑ, оÑноÑÑÑаÑÑÑ Ðº ÑооÑвеÑÑÑвÑÑÑей каÑегоÑии), LANG. ÐÑли ни одна иÑ
ÑÑиÑ
пеÑеменнÑÑ
ÑÑÐµÐ´Ñ Ð½Ðµ задана, знаÑение локали ÑÑÑанавливаеÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð² C.
ÐекоÑоÑÑе библиоÑеки локализаÑии ÑообÑений Ñакже обÑаÑаÑÑÑÑ Ðº пеÑеменной ÑÑÐµÐ´Ñ LANGUAGE, коÑоÑÐ°Ñ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ Ð²Ñе пÑоÑие паÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñии пÑи вÑбоÑе ÑзÑка ÑообÑений. Ð ÑлÑÑае заÑÑÑднений, пожалÑйÑÑа, воÑполÑзÑйÑеÑÑ Ð´Ð¾ÐºÑменÑаÑией по ваÑей опеÑаÑионной ÑиÑÑеме, в ÑаÑÑноÑÑи, ÑпÑавкой по gettext.
ÐÐ»Ñ Ñого ÑÑÐ¾Ð±Ñ ÑÑал возможен пеÑевод ÑообÑений на ÑзÑк, вÑбÑаннÑй полÑзоваÑелем, NLS должен бÑÑÑ Ð²ÑбÑан на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑбоÑки (configure --enable-nls). РоÑÑалÑном поддеÑжка локализаÑии оÑÑÑеÑÑвлÑеÑÑÑ Ð°Ð²ÑомаÑиÑеÑки.
22.1.2. Ðоведение
ÐÐ¾ÐºÐ°Ð»Ñ Ð²Ð»Ð¸ÑÐµÑ Ð½Ð° ÑледÑÑÑий ÑÑнкÑионал SQL:
ÐоÑÑдок ÑоÑÑиÑовки в запÑоÑÐ°Ñ Ñ Ð¸ÑполÑзованием
ORDER BYили ÑÑандаÑÑнÑÑ Ð¾Ð¿ÐµÑаÑоÑÐ°Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ ÑекÑÑовÑÑ Ð´Ð°Ð½Ð½ÑÑÐпеÑаÑоÑÑ Ð¿Ð¾Ð¸Ñка по ÑÐ°Ð±Ð»Ð¾Ð½Ñ (
LIKE,SIMILAR TO, и ÑегÑлÑÑнÑе вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² ÑÑиле POSIX); Ð»Ð¾ÐºÐ°Ð»Ñ Ð²Ð»Ð¸ÑÐµÑ ÐºÐ°Ðº на поиÑк без ÑÑÑÑа ÑегиÑÑÑа, Ñак и на клаÑÑиÑикаÑÐ¸Ñ Ð·Ð½Ð°ÐºÐ¾Ð² по клаÑÑам Ñимволов ÑегÑлÑÑнÑÑ Ð²ÑÑаженийÐозможноÑÑÑ Ð¸ÑполÑзоваÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ Ñ Ð¿ÑедложениÑми
LIKE
ÐедоÑÑаÑком иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑлиÑаÑÑиÑ
ÑÑ Ð¾Ñ C или POSIX локалей в Postgres Pro ÑвлÑеÑÑÑ Ð²Ð»Ð¸Ñние на пÑоизводиÑелÑноÑÑÑ. ÐÑо замедлÑÐµÑ Ð¾Ð±ÑабоÑÐºÑ Ñимволов и меÑÐ°ÐµÑ LIKE иÑполÑзоваÑÑ Ð¾Ð±ÑÑнÑе индекÑÑ. Ðо ÑÑой пÑиÑине иÑполÑзÑйÑе локали ÑолÑко в Ñом ÑлÑÑае, еÑли они дейÑÑвиÑелÑно вам нÑжнÑ.
РкаÑеÑÑве обÑ
одного ÑеÑениÑ, коÑоÑое Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Postgres Pro полÑзоваÑÑÑÑ Ð¸Ð½Ð´ÐµÐºÑами Ñ Ð¿ÑедложениÑми LIKE Ñ Ð¸ÑполÑзованием локали, оÑлиÑной Ð¾Ñ Ð¡, ÑÑÑеÑÑвÑÐµÑ Ð½ÐµÑколÑко клаÑÑов полÑзоваÑелÑÑкиÑ
опеÑаÑоÑов. Ðни позволÑÑÑ ÑоздаÑÑ Ð¸Ð½Ð´ÐµÐºÑ, коÑоÑÑй вÑполнÑÐµÑ ÑÑÑогое поÑимволÑное ÑÑавнение, игноÑиÑÑÑ Ð¿Ñавила ÑÑавнениÑ, ÑооÑвеÑÑÑвÑÑÑие локали. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 11.9. ÐÑÑ Ð¾Ð´Ð¸Ð½ подÑ
од заклÑÑаеÑÑÑ Ð² Ñоздании индекÑов Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ñавил ÑоÑÑиÑовки C, как бÑло Ñказано в Разделе 22.2.
22.1.3. ÐÑоблемÑ
ÐÑли поддеÑжка локализаÑии не ÑабоÑÐ°ÐµÑ Ð² ÑооÑвеÑÑÑвии Ñ Ð¾Ð±ÑÑÑнением, даннÑм вÑÑе, пÑовеÑÑÑе, наÑколÑко коÑÑекÑна конÑигÑÑаÑÐ¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки локализаÑии в ваÑей опеÑаÑионной ÑиÑÑеме. ЧÑÐ¾Ð±Ñ Ð¿ÑовеÑиÑÑ, какие локали ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ð° ваÑей ÑиÑÑеме, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ locale -a, еÑли ваÑа опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑо.
ÐÑовеÑÑÑе, дейÑÑвиÑелÑно ли Postgres Pro иÑполÑзÑÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ, коÑоÑÑÑ Ð²Ñ Ð¿Ð¾Ð´ÑазÑмеваеÑе. ÐаÑамеÑÑÑ LC_COLLATE и LC_CTYPE опÑеделÑÑÑÑÑ Ð¿Ñи Ñоздании Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, и не могÑÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ñ, за иÑклÑÑением ÑлÑÑаев, когда ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ
. ÐÑоÑие паÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸, вклÑÑÐ°Ñ LC_MESSAGES и LC_MONETARY пеÑвонаÑалÑно опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ ÑÑедой, в коÑоÑой запÑÑкаеÑÑÑ ÑеÑвеÑ, но могÑÑ Ð±ÑÑÑ Ð¾Ð¿ÐµÑаÑивно измененÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ ÑекÑÑие паÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SHOW.
ÐаÑалог src/test/locale в комплекÑе Ñайлов иÑÑ
одного кода ÑодеÑÐ¶Ð¸Ñ Ð½Ð°Ð±Ð¾Ñ ÑеÑÑов Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки локализаÑии Postgres Pro.
ÐлиенÑÑкие пÑиложениÑ, коÑоÑÑе обÑабаÑÑваÑÑ Ð¾Ñибки ÑеÑвеÑа, ÑазбиÑÐ°Ñ ÑекÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке, оÑевидно, ÑÑолкнÑÑÑÑ Ñ Ð¿Ñоблемами, когда ÑообÑÐµÐ½Ð¸Ñ ÑеÑвеÑа бÑдÑÑ Ð½Ð° дÑÑгом ÑзÑке. ÐвÑоÑам ÑÐ°ÐºÐ¸Ñ Ð¿Ñиложений ÑекомендÑеÑÑÑ Ð¿Ð¾Ð»ÑзоваÑÑÑÑ ÑиÑÑемой кодов оÑибок в каÑеÑÑве алÑÑеÑнаÑивÑ.
ÐÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки набоÑов пеÑеводов ÑообÑений ÑÑебÑеÑÑÑ Ð¿Ð¾ÑÑоÑÐ½Ð½Ð°Ñ ÑабоÑа болÑÑого ÑиÑла волонÑÑÑов, коÑоÑÑе Ñ Ð¾ÑÑÑ, ÑÑÐ¾Ð±Ñ Ð² Postgres Pro пÑавилÑно иÑполÑзовалÑÑ Ð¿ÑедпоÑиÑаемÑй ими ÑзÑк. ÐÑли в наÑÑоÑÑее вÑÐµÐ¼Ñ ÑообÑÐµÐ½Ð¸Ñ Ð½Ð° ваÑем ÑзÑке недоÑÑÑÐ¿Ð½Ñ Ð¸Ð»Ð¸ пеÑÐµÐ²ÐµÐ´ÐµÐ½Ñ Ð½Ðµ полноÑÑÑÑ, бÑдем благодаÑÐ½Ñ Ð²Ð°Ð¼ за ÑодейÑÑвие. ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе помоÑÑ, обÑаÑиÑеÑÑ Ðº Ðлаве 52 или напиÑиÑе на адÑÐµÑ ÑаÑÑÑлки ÑазÑабоÑÑиков.