20.11. ÐаÑамеÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ ÑеанÑов по ÑмолÑÐ°Ð½Ð¸Ñ #
20.11.1. Ðоведение команд #
client_min_messages(enum) #УпÑавлÑÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм ÑÑовнем ÑообÑений, поÑÑлаемÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ. ÐопÑÑÑимÑе знаÑениÑ
DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,LOG,NOTICE,WARNINGиERROR. ÐаждÑй из пеÑеÑиÑленнÑÑ ÑÑовней вклÑÑÐ°ÐµÑ Ð²Ñе идÑÑие поÑле него. Чем далÑÑе в ÑÑом ÑпиÑке ÑÑÐ¾Ð²ÐµÐ½Ñ ÑообÑениÑ, Ñем менÑÑе ÑообÑений бÑÐ´ÐµÑ Ð¿Ð¾ÑÑлаÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑNOTICE. ÐбÑаÑиÑе внимание, позиÑиÑLOGздеÑÑ Ð¾ÑлиÑаеÑÑÑ Ð¾Ñ Ð¿ÑинÑÑой в log_min_messages.СообÑÐµÐ½Ð¸Ñ ÑÑовнÑ
INFOпеÑедаÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ Ð²Ñегда.search_path(string) #ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿ÑеделÑÐµÑ Ð¿Ð¾ÑÑдок, в коÑоÑом бÑдÑÑ Ð¿ÑоÑмаÑÑиваÑÑÑÑ ÑÑ ÐµÐ¼Ñ Ð¿Ñи поиÑке обÑекÑа (ÑаблиÑÑ, Ñипа даннÑÑ , ÑÑнкÑии и Ñ. д.), к коÑоÑÐ¾Ð¼Ñ Ð¾Ð±ÑаÑаÑÑÑÑ Ð¿ÑоÑÑо по имени, без ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑÑ ÐµÐ¼Ñ. ÐÑли обÑекÑÑ Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñм именем Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² неÑколÑÐºÐ¸Ñ ÑÑ ÐµÐ¼Ð°Ñ , иÑполÑзоваÑÑÑÑ Ð±ÑÐ´ÐµÑ ÑоÑ, ÑÑо вÑÑÑеÑиÑÑÑ Ð¿ÐµÑвÑм пÑи пÑоÑмоÑÑе пÑÑи поиÑка. РобÑекÑÑ, коÑоÑÑй не оÑноÑиÑÑÑ Ðº ÑÑ ÐµÐ¼Ð°Ð¼, пеÑеÑиÑленнÑм в пÑÑи поиÑка, можно обÑаÑиÑÑÑÑ ÑолÑко по Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ (Ñ ÑоÑкой), Ñ Ñказанием ÑодеÑжаÑей его ÑÑ ÐµÐ¼Ñ.
ÐнаÑением
search_pathдолжен бÑÑÑ ÑпиÑок имÑн ÑÑ ÐµÐ¼ ÑеÑез запÑÑÑÑ. ÐÑли Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸, Ñказанного в ÑÑом ÑпиÑке, не Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ ÑÑÑеÑÑвÑÑÑÐ°Ñ ÑÑ ÐµÐ¼Ð°, либо полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¿ÑаваUSAGEÐ´Ð»Ñ ÑÑ ÐµÐ¼Ñ Ñ ÑÑим именем, Ñакое Ð¸Ð¼Ñ Ð¿ÑоÑÑо игноÑиÑÑеÑÑÑ.ÐÑли ÑпиÑок ÑодеÑÐ¶Ð¸Ñ ÑпеÑиалÑнÑй ÑлеменÑ
$user, вмеÑÑо него подÑÑавлÑеÑÑÑ ÑÑ ÐµÐ¼Ð° Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, возвÑаÑаемÑм ÑÑнкÑиейCURRENT_USER, еÑли ÑÐ°ÐºÐ°Ñ ÑÑ ÐµÐ¼Ð° ÑÑÑеÑÑвÑÐµÑ Ð¸ полÑзоваÑÐµÐ»Ñ Ð¸Ð¼ÐµÐµÑ Ð¿ÑавоUSAGEÐ´Ð»Ñ Ð½ÐµÑ. (РпÑоÑивном ÑлÑÑае ÑлеменÑ$userигноÑиÑÑеÑÑÑ.)Ð¡Ñ ÐµÐ¼Ð° ÑиÑÑемнÑÑ ÐºÐ°Ñалогов,
pg_catalog, пÑоÑмаÑÑиваеÑÑÑ Ð²Ñегда, незавиÑимо Ð¾Ñ Ñого, Ñказана она в пÑÑи или неÑ. ÐÑли она Ñказана в пÑÑи, она пÑоÑмаÑÑиваеÑÑÑ Ð² заданном поÑÑдке. ÐÑли жеpg_catalogоÑÑÑÑÑÑвÑÐµÑ Ð² пÑÑи, ÑÑа ÑÑ ÐµÐ¼Ð° бÑÐ´ÐµÑ Ð¿ÑоÑмаÑÑиваÑÑÑÑ Ð¿ÐµÑед оÑÑалÑнÑми ÑлеменÑами пÑÑи.ÐналогиÑно вÑегда пÑоÑмаÑÑиваеÑÑÑ ÑÑ ÐµÐ¼Ð° вÑеменнÑÑ ÑÐ°Ð±Ð»Ð¸Ñ ÑекÑÑего ÑеанÑа,
pg_temp_, еÑли она ÑÑÑеÑÑвÑеÑ. ÐÑ Ð¼Ð¾Ð¶Ð½Ð¾ вклÑÑиÑÑ Ð² пÑÑÑ Ð¿Ð¾Ð¸Ñка, Ñказав ÐµÑ Ð¿Ñевдонимnnnpg_temp. ÐÑли она оÑÑÑÑÑÑвÑÐµÑ Ð² пÑÑи, она бÑÐ´ÐµÑ Ð¿ÑоÑмаÑÑиваÑÑÑÑ Ð¿ÐµÑвой (даже пеÑедpg_catalog). ÐÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑ ÐµÐ¼Ð° пÑоÑмаÑÑиваеÑÑÑ ÑолÑко пÑи поиÑке оÑноÑений (ÑаблиÑ, пÑедÑÑавлений, поÑледоваÑелÑноÑÑей и Ñ. д.) и Ñипов даннÑÑ , но никогда пÑи поиÑке ÑÑнкÑий и опеÑаÑоÑов.Ðогда обÑекÑÑ ÑоздаÑÑÑÑ Ð±ÐµÐ· ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑнной Ñелевой ÑÑ ÐµÐ¼Ñ, они помеÑаÑÑÑÑ Ð² пеÑвÑÑ Ð¿ÑигоднÑÑ ÑÑ ÐµÐ¼Ñ, ÑказаннÑÑ Ð²
search_path. ÐÑли пÑÑÑ Ð¿Ð¾Ð¸Ñка ÑÑ ÐµÐ¼ пÑÑÑ, вÑдаÑÑÑÑ Ð¾Ñибка.Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение
"$user", public. ÐÑи Ñаком знаÑении поддеÑживаеÑÑÑ ÑовмеÑÑное иÑполÑзование Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ (когда полÑзоваÑели не имеÑÑ Ð»Ð¸ÑнÑÑ ÑÑ ÐµÐ¼, вÑе иÑполÑзÑÑÑ ÑÑ ÐµÐ¼Ñpublic), иÑполÑзование лиÑнÑÑ ÑÑ ÐµÐ¼, а Ñакже комбинаÑÐ¸Ñ Ð¾Ð±Ð¾Ð¸Ñ Ð²Ð°ÑианÑов. ÐÑÑгие Ð¿Ð¾Ð´Ñ Ð¾Ð´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑеализоваÑÑ, изменÑÑ Ð·Ð½Ð°Ñение пÑÑи по ÑмолÑаниÑ, либо глобалÑно, либо индивидÑалÑно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ полÑзоваÑелÑ.Ðолее подÑобно обÑабоÑка ÑÑ ÐµÐ¼ опиÑана в Разделе 5.9. Ð ÑаÑÑноÑÑи, ÑÑандаÑÑÐ½Ð°Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑÑ ÐµÐ¼ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ ÑолÑко Ð´Ð»Ñ Ð±Ð°Ð· даннÑÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ полÑзоваÑелем или Ñ Ð²Ð·Ð°Ð¸Ð¼Ð½Ð¾ довеÑÑÑÑими полÑзоваÑелÑми.
ТекÑÑее дейÑÑвÑÑÑее знаÑение пÑÑи поиÑка можно полÑÑиÑÑ, воÑполÑзовавÑиÑÑ SQL-ÑÑнкÑией
current_schemas(Ñм. Раздел 9.26). ÐÑо знаÑение Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑлиÑаÑÑÑÑ Ð¾Ñ Ð·Ð½Ð°ÑениÑsearch_path, Ñак какcurrent_schemasпоказÑваеÑ, как бÑли пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ñ ÑлеменÑÑ, ÑигÑÑиÑÑÑÑие вsearch_path.row_security(boolean) #ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿ÑеделÑеÑ, должна ли вÑдаваÑÑÑÑ Ð¾Ñибка пÑи пÑименении полиÑик заÑиÑÑ ÑÑÑок. Со знаÑением
onполиÑики пÑименÑÑÑÑÑ Ð² обÑÑном Ñежиме. Со знаÑениемoffзапÑоÑÑ, огÑаниÑиваемÑе минимÑм одной полиÑикой, бÑдÑÑ Ð²ÑдаваÑÑ Ð¾ÑибкÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon. ÐнаÑениеoffÑекомендÑеÑÑÑ, когда огÑаниÑение видимоÑÑи ÑÑÑок ÑÑеваÑо некоÑÑекÑнÑми ÑезÑлÑÑаÑами; напÑимеÑ, pg_dump ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑÑо знаÑение. ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ðµ влиÑÐµÑ Ð½Ð° Ñоли, коÑоÑÑе Ð¾Ð±Ñ Ð¾Ð´ÑÑ Ð²Ñе полиÑики заÑиÑÑ ÑÑÑок, а именно, на ÑÑпеÑполÑзоваÑелей и Ñоли Ñ Ð°ÑÑибÑÑомBYPASSRLS.ÐодÑобнее о полиÑÐ¸ÐºÐ°Ñ Ð·Ð°ÑиÑÑ ÑÑÑок можно ÑзнаÑÑ Ð² опиÑании CREATE POLICY.
default_table_access_method(string) #ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑаблиÑнÑй меÑод доÑÑÑпа по ÑмолÑаниÑ, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñи Ñоздании ÑÐ°Ð±Ð»Ð¸Ñ Ð¸Ð»Ð¸ маÑеÑиализованнÑÑ Ð¿ÑедÑÑавлений, еÑли в команде
CREATEне бÑÐ´ÐµÑ Ñвно Ñказан меÑод доÑÑÑпа, или пÑи вÑполнении командÑSELECT ... INTO, в коÑоÑой Ñвно задаÑÑ Ð¼ÐµÑод доÑÑÑпа нелÑзÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âheap.default_tablespace(string) #ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑаблиÑное пÑоÑÑÑанÑÑво по ÑмолÑаниÑ, в коÑоÑом бÑдÑÑ ÑоздаваÑÑÑÑ Ð¾Ð±ÑекÑÑ (ÑаблиÑÑ Ð¸ индекÑÑ), когда в команде
CREATEÑаблиÑное пÑоÑÑÑанÑÑво не ÑказÑваеÑÑÑ Ñвно.ÐÑ Ð·Ð½Ð°Ñением Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ð¸Ð±Ð¾ Ð¸Ð¼Ñ ÑаблиÑного пÑоÑÑÑанÑÑва, либо пÑÑÑÐ°Ñ ÑÑÑока, подÑазÑмеваÑÑÐ°Ñ Ð¸ÑполÑзование ÑаблиÑного пÑоÑÑÑанÑÑва по ÑмолÑÐ°Ð½Ð¸Ñ Ð² ÑекÑÑей базе даннÑÑ . ÐÑли ÑаблиÑное пÑоÑÑÑанÑÑво Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм именем не ÑÑÑеÑÑвÑеÑ, PostgreSQL бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки иÑполÑзоваÑÑ ÑаблиÑное пÑоÑÑÑанÑÑво по ÑмолÑаниÑ. ÐÑли иÑполÑзÑеÑÑÑ Ð½Ðµ пÑоÑÑÑанÑÑво по ÑмолÑаниÑ, полÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð¿Ñаво
CREATEÐ´Ð»Ñ Ð½ÐµÐ³Ð¾, инаÑе он не ÑÐ¼Ð¾Ð¶ÐµÑ ÑоздаваÑÑ Ð¾Ð±ÑекÑÑ.ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ðµ иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð²ÑеменнÑÑ ÑаблиÑ; Ð´Ð»Ñ Ð½Ð¸Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑвÑеÑÑÑ temp_tablespaces.
ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñакже не иÑполÑзÑеÑÑÑ Ð¿Ñи Ñоздании баз даннÑÑ . Ðо ÑмолÑаниÑ, Ð½Ð¾Ð²Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ Ð½Ð°ÑледÑÐµÑ Ð²ÑÐ±Ð¾Ñ ÑаблиÑного пÑоÑÑÑанÑÑва Ð¾Ñ Ð±Ð°Ð·Ñ-Ñаблона, из коÑоÑой она копиÑÑеÑÑÑ.
ÐÑли на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑекÑиониÑованной ÑаблиÑÑ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа оÑлиÑно Ð¾Ñ Ð¿ÑÑÑого, оно задаÑÑ ÑаблиÑное пÑоÑÑÑанÑÑво Ð´Ð»Ñ ÑекÑиониÑованной ÑаблиÑÑ, в коÑоÑом по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÑдÑÑ ÑаÑполагаÑÑÑÑ ÐµÑ ÑекÑии, ÑоздаваемÑе в далÑнейÑем, даже еÑли позже знаÑение
default_tablespaceбÑÐ´ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾.Ðа дополниÑелÑнÑми ÑведениÑми о ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑÐ²Ð°Ñ Ð¾Ð±ÑаÑиÑеÑÑ Ðº РазделÑ 23.6.
default_toast_compression(enum) #ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¼ÐµÑод ÑжаÑÐ¸Ñ TOAST по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð·Ð½Ð°Ñений ÑжимаемÑÑ ÑÑолбÑов. (Ðго можно пеÑеопÑеделиÑÑ Ð´Ð»Ñ Ð¾ÑделÑнÑÑ ÑÑолбÑов, ÑÑÑановив паÑамеÑÑ ÑÑолбÑа
COMPRESSIONвCREATE TABLEилиALTER TABLE.) ÐоддеÑживаемÑе меÑÐ¾Ð´Ñ ÑжаÑиÑ:pglzиlz4(еÑли PostgreSQL ÑкомпилиÑован Ñ Ð¿Ð°ÑамеÑÑом--with-lz4). Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑpglz.temp_tablespaces(string) #ÐÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð´Ð°ÑÑ ÑаблиÑнÑе пÑоÑÑÑанÑÑва, в коÑоÑÑÑ Ð±ÑдÑÑ ÑоздаваÑÑÑÑ Ð²ÑеменнÑе обÑекÑÑ (вÑеменнÑе ÑаблиÑÑ Ð¸ индекÑÑ Ð²ÑеменнÑÑ ÑаблиÑ), когда в команде
CREATEÑаблиÑное пÑоÑÑÑанÑÑво не ÑказÑваеÑÑÑ Ñвно. Ð ÑÑÐ¸Ñ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑÐ²Ð°Ñ Ñакже ÑоздаÑÑÑÑ Ð²ÑеменнÑе ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ Ð²Ð½ÑÑÑеннего иÑполÑзованиÑ, напÑимеÑ, Ð´Ð»Ñ ÑоÑÑиÑовки болÑÑÐ¸Ñ Ð½Ð°Ð±Ð¾Ñов даннÑÑ .ÐÑ Ð·Ð½Ð°Ñение ÑодеÑÐ¶Ð¸Ñ ÑпиÑок имÑн ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв. Ðогда ÑÑÐ¾Ñ ÑпиÑок ÑодеÑÐ¶Ð¸Ñ Ð±Ð¾Ð»ÑÑе одного имени, PostgreSQL вÑбиÑÐ°ÐµÑ Ð¸Ð· ÑÑого ÑпиÑка ÑлÑÑайнÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿Ñи Ñоздании каждого вÑеменного обÑекÑа; однако пÑи Ñоздании поÑледÑÑÑÐ¸Ñ Ð¾Ð±ÑекÑов внÑÑÑи ÑÑанзакÑии ÑаблиÑнÑе пÑоÑÑÑанÑÑва пеÑебиÑаÑÑÑÑ Ð¿Ð¾ÑледоваÑелÑно. ÐÑли в ÑÑом ÑпиÑке оказÑваеÑÑÑ Ð¿ÑÑÑÐ°Ñ ÑÑÑока, PostgreSQL бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки иÑполÑзоваÑÑ Ð²Ð¼ÐµÑÑо ÑÑого ÑлеменÑа ÑаблиÑное пÑоÑÑÑанÑÑво по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÑекÑÑей Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
Ðогда
temp_tablespacesзадаÑÑÑÑ Ð¸Ð½ÑеÑакÑивно, Ñказание неÑÑÑеÑÑвÑÑÑего ÑаблиÑного пÑоÑÑÑанÑÑва ÑÑиÑаеÑÑÑ Ð¾Ñибкой, как и Ñказание ÑаблиÑного пÑоÑÑÑанÑÑва, Ð´Ð»Ñ ÐºÐ¾ÑоÑого полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¿ÑаваCREATE. Ðднако пÑи иÑполÑзовании знаÑениÑ, заданного Ñанее, неÑÑÑеÑÑвÑÑÑие ÑаблиÑнÑе пÑоÑÑÑанÑÑва и пÑоÑÑÑанÑÑва, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½ÐµÑ Ð¿ÑаваCREATE, пÑоÑÑо игноÑиÑÑÑÑÑÑ. Ð ÑаÑÑноÑÑи, ÑÑо каÑаеÑÑÑ Ð·Ð½Ð°ÑениÑ, заданного вpostgresql.conf.Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð·Ð½Ð°Ñение ÑÑой пеÑеменной â пÑÑÑÐ°Ñ ÑÑÑока. С Ñаким знаÑением вÑе вÑеменнÑе обÑекÑÑ ÑоздаÑÑÑÑ Ð² ÑаблиÑном пÑоÑÑÑанÑÑве по ÑмолÑаниÑ, ÑÑÑановленном Ð´Ð»Ñ ÑекÑÑей Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
См. Ñакже default_tablespace.
check_function_bodies(boolean) #ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð±ÑÑно вклÑÑÑн. ÐÑклÑÑение ÑÑого паÑамеÑÑа (пÑиÑваивание ÐµÐ¼Ñ Ð·Ð½Ð°ÑениÑ
off) оÑклÑÑÐ°ÐµÑ Ð¿ÑовеÑÐºÑ ÑÑÑоки Ñ Ñелом подпÑогÑаммÑ, пеÑедаваемой командам CREATE FUNCTION и CREATE PROCEDURE. ÐÑклÑÑение пÑовеÑки позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¿Ð¾Ð±Ð¾ÑнÑÑ ÑÑÑекÑов пÑоÑеÑÑа пÑовеÑки, в ÑаÑÑноÑÑи иÑклÑÑиÑÑ Ð»Ð¾Ð¶Ð½Ñе ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ Ð¸Ð·-за ÑÐ°ÐºÐ¸Ñ Ð¿Ñоблем, как ÑÑÑлки впеÑÑд. ÐÑÐ¾Ð¼Ñ Ð¿Ð°ÑамеÑÑÑ Ð½Ñжно пÑиÑваиваÑÑ Ð·Ð½Ð°ÑениеoffпеÑед загÑÑзкой ÑÑнкÑий Ð¾Ñ Ð»Ð¸Ñа дÑÑÐ³Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей; pg_dump Ð´ÐµÐ»Ð°ÐµÑ ÑÑо авÑомаÑиÑеÑки.default_transaction_isolation(enum) #ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑанзакÑии в SQL ÑÑÑанавливаеÑÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¸Ð·Ð¾Ð»ÑÑии: «read uncommitted», «read committed», «repeatable read» или «serializable». ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¸Ð·Ð¾Ð»ÑÑии, коÑоÑÑй бÑÐ´ÐµÑ ÑÑÑанавливаÑÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ ÑÑанзакÑий. ÐнаÑение ÑÑого паÑамеÑÑа по ÑмолÑÐ°Ð½Ð¸Ñ â «read committed».
ÐополниÑелÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи в Ðлаве 13 и SET TRANSACTION.
default_transaction_read_only(boolean) #SQL-ÑÑанзакÑии в Ñежиме «ÑолÑко ÑÑение» не могÑÑ Ð¼Ð¾Ð´Ð¸ÑиÑиÑоваÑÑ Ð½Ðµ вÑеменнÑе ÑаблиÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑдÑÑ Ð»Ð¸ новÑе ÑÑанзакÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼ÐµÑÑ Ñ Ð°ÑакÑеÑиÑÑÐ¸ÐºÑ Â«ÑолÑко ÑÑение». ÐнаÑение ÑÑого паÑамеÑÑа по ÑмолÑÐ°Ð½Ð¸Ñ â
off(допÑÑкаеÑÑÑ ÑÑение и запиÑÑ).Ðа дополниÑелÑной инÑоÑмаÑией обÑаÑиÑеÑÑ Ðº SET TRANSACTION.
default_transaction_deferrable(boolean) #ТÑанзакÑиÑ, ÑабоÑаÑÑÐ°Ñ Ð½Ð° ÑÑовне изолÑÑии
serializable, в Ñежиме «ÑолÑко ÑÑение» Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð´ÐµÑжана, пÑежде Ñем бÑÐ´ÐµÑ ÑазÑеÑено ÐµÑ Ð²Ñполнение. Ðднако когда она наÑÐ¸Ð½Ð°ÐµÑ Ð²ÑполнÑÑÑÑÑ, Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ ÑеÑиализÑемоÑÑи не ÑÑебÑеÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ ÑÑилий, Ñак ÑÑо ÐºÐ¾Ð´Ñ ÑеÑиализаÑии ни пÑи ÐºÐ°ÐºÐ¸Ñ ÑÑловиÑÑ Ð½Ðµ пÑидÑÑÑÑ Ð¿ÑеÑÑваÑÑ ÐµÑ Ð¸Ð·-за паÑаллелÑнÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹, поÑÑÐ¾Ð¼Ñ ÑÑо вполне Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð´Ð»Ð¸ÑелÑнÑÑ ÑÑанзакÑий в Ñежиме «ÑолÑко ÑÑение».ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ ÐºÐ°Ð¶Ð´Ð°Ñ Ð½Ð¾Ð²Ð°Ñ ÑÑанзакÑÐ¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¾ÑкладÑваемой. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÐµÐ³Ð¾ дейÑÑвие не ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° ÑÑанзакÑии, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ ÑÑÑанавливаеÑÑÑ Ñежим «ÑÑение/запиÑÑ» или ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¸Ð·Ð¾Ð»ÑÑии ниже
serializable. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âoff(вÑкл.).Ðа дополниÑелÑной инÑоÑмаÑией обÑаÑиÑеÑÑ Ðº SET TRANSACTION.
transaction_isolation(enum) #ÐаннÑй паÑамеÑÑ Ð¾ÑÑÐ°Ð¶Ð°ÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¸Ð·Ð¾Ð»ÑÑии ÑекÑÑей ÑÑанзакÑии. РнаÑале каждой ÑÑанзакÑии ÐµÐ¼Ñ Ð¿ÑиÑваиваеÑÑÑ ÑекÑÑее знаÑение default_transaction_isolation. ÐоÑледÑÑÑÐ°Ñ Ð¿Ð¾Ð¿ÑÑка измениÑÑ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа ÑавнознаÑна команде SET TRANSACTION.
transaction_read_only(boolean) #ÐаннÑй паÑамеÑÑ Ð¾ÑÑÐ°Ð¶Ð°ÐµÑ Ñ Ð°ÑакÑеÑиÑÑÐ¸ÐºÑ Â«ÑолÑко ÑÑение» Ð´Ð»Ñ ÑекÑÑей ÑÑанзакÑии. РнаÑале каждой ÑÑанзакÑии ÐµÐ¼Ñ Ð¿ÑиÑваиваеÑÑÑ ÑекÑÑее знаÑение default_transaction_read_only. ÐоÑледÑÑÑÐ°Ñ Ð¿Ð¾Ð¿ÑÑка измениÑÑ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа ÑавнознаÑна команде SET TRANSACTION.
transaction_deferrable(boolean) #ÐаннÑй паÑамеÑÑ Ð¾ÑÑÐ°Ð¶Ð°ÐµÑ Ñ Ð°ÑакÑеÑиÑÑÐ¸ÐºÑ Â«Ð¾ÑкладÑваемоÑÑи» Ð´Ð»Ñ ÑекÑÑей ÑÑанзакÑии. РнаÑале каждой ÑÑанзакÑии ÐµÐ¼Ñ Ð¿ÑиÑваиваеÑÑÑ ÑекÑÑее знаÑение default_transaction_deferrable. ÐоÑледÑÑÑÐ°Ñ Ð¿Ð¾Ð¿ÑÑка измениÑÑ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа ÑавнознаÑна команде SET TRANSACTION.
session_replication_role(enum) #УпÑавлÑÐµÑ ÑÑабаÑÑванием пÑавил и ÑÑиггеÑов, ÑвÑзаннÑÑ Ñ ÑепликаÑией, в ÑекÑÑем ÑеанÑе. Ðна Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ ÑледÑÑÑие знаÑениÑ:
origin(знаÑение по ÑмолÑаниÑ),replicaиlocal. Ðзменение ÑÑой пеÑеменной пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑбÑоÑÑ Ð²ÑÐµÑ Ñанее кеÑиÑованнÑÑ Ð¿Ð»Ð°Ð½Ð¾Ð² запÑоÑов. ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ ÐµÑ Ð·Ð½Ð°Ñение.ÐÑедполагаеÑÑÑ, ÑÑо ÑиÑÑÐµÐ¼Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии бÑдÑÑ ÑÑÑанавливаÑÑ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ знаÑение
replica, пÑименÑÑ ÑеплиÑиÑованнÑе изменениÑ. Ð ÑезÑлÑÑаÑе ÑÑиггеÑÑ Ð¸ пÑавила (Ñ ÐºÐ¾Ð½ÑигÑÑаÑией по ÑмолÑаниÑ) не бÑдÑÑ ÑÑабаÑÑваÑÑ Ð² ÑÐµÐ¿Ð»Ð¸ÐºÐ°Ñ . ÐодÑобнее об ÑÑом говоÑиÑÑÑ Ð² опиÑании пÑедложенийENABLE TRIGGERиENABLE RULEкомандÑALTER TABLE.ÐнÑÑÑи PostgreSQL знаÑениÑ
originиlocalвоÑпÑинимаÑÑÑÑ ÐºÐ°Ðº ÑавнознаÑнÑе. СÑоÑонние ÑиÑÑÐµÐ¼Ñ ÑепликаÑии могÑÑ ÑазлиÑаÑÑ Ð¸Ñ Ð´Ð»Ñ ÑÐ²Ð¾Ð¸Ñ Ð²Ð½ÑÑÑÐµÐ½Ð½Ð¸Ñ Ñелей, напÑимеÑ, оÑмеÑаÑÑ Ð·Ð½Ð°ÑениемlocalÑеанÑ, Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² коÑоÑом не Ð´Ð¾Ð»Ð¶Ð½Ñ ÑеплиÑиÑоваÑÑÑÑ.Так как внеÑние клÑÑи ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð¿Ð¾ÑÑедÑÑвом ÑÑиггеÑов, пÑиÑваивание ÑÑÐ¾Ð¼Ñ Ð¿Ð°ÑамеÑÑÑ Ð·Ð½Ð°ÑениÑ
replicaвлеÑÑÑ Ð¾ÑклÑÑение вÑÐµÑ Ð¿ÑовеÑок внеÑÐ½Ð¸Ñ ÐºÐ»ÑÑей, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к наÑÑÑÐµÐ½Ð¸Ñ ÑоглаÑованноÑÑи даннÑÑ Ð¿Ñи некоÑÑекÑном иÑполÑзовании.statement_timeout(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑÑ Ð´Ð»Ð¸ÑелÑноÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑа, пÑи пÑевÑÑении коÑоÑой опеÑаÑÐ¾Ñ Ð¿ÑеÑÑваеÑÑÑ. ÐÑли
log_min_error_statementÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑениеERRORили ниже, опеÑаÑоÑ, пÑеÑваннÑй по Ñайм-аÑÑÑ, бÑÐ´ÐµÑ Ñакже запиÑан в жÑÑнал. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении, Ñавном нÑÐ»Ñ (по ÑмолÑаниÑ), ÑÑÐ¾Ñ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ Ð´Ð»Ð¸ÑелÑноÑÑи оÑклÑÑаеÑÑÑ.ÐлиÑелÑноÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾ÑÑÑиÑÑваеÑÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа полÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑеÑвеÑом до завеÑÑÐµÐ½Ð¸Ñ ÐµÑ Ð²ÑполнениÑ. ÐÑли в одном ÑообÑении пÑоÑÑого запÑоÑа поÑÑÑÐ¿Ð°ÐµÑ Ð½ÐµÑколÑко SQL-опеÑаÑоÑов, огÑаниÑение длиÑелÑноÑÑи дейÑÑвÑÐµÑ Ð½Ð° каждÑй незавиÑимо. (Ðо PostgreSQL веÑÑии 13 обÑÑно ÑÑиÑалоÑÑ, ÑÑо ÑÑÐ¾Ñ Ñайм-аÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ оÑноÑиÑÑÑÑ ÐºÐ¾ вÑей ÑÑÑоке запÑоÑа.) Ð ÑаÑÑиÑенном пÑоÑоколе запÑоÑов ÑÐ°Ð¹Ð¼ÐµÑ Ð·Ð°Ð¿ÑÑкаеÑÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа полÑÑÐµÐ½Ð¸Ñ Ð»Ñбого ÑвÑзанного Ñ Ð·Ð°Ð¿ÑоÑом ÑообÑÐµÐ½Ð¸Ñ (Parse, Bind, Execute, Describe), а оÑÑанавливаеÑÑÑ Ð½Ð° ÑÑадии обÑабоÑки ÑообÑений Execute или Sync.
УÑÑанавливаÑÑ Ð·Ð½Ð°Ñение
statement_timeoutвpostgresql.confне ÑекомендÑеÑÑÑ, Ñак как ÑÑо повлиÑÐµÑ Ð½Ð° вÑе ÑеанÑÑ.lock_timeout(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑÑ Ð´Ð»Ð¸ÑелÑноÑÑÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð»ÑбÑм опеÑаÑоÑом полÑÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовки ÑаблиÑÑ, индекÑа, ÑÑÑоки или дÑÑгого обÑекÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑли ожидание не законÑилоÑÑ Ð·Ð° Ñказанное вÑемÑ, опеÑаÑÐ¾Ñ Ð¿ÑеÑÑваеÑÑÑ. ÐÑо огÑаниÑение дейÑÑвÑÐµÑ Ð½Ð° каждÑÑ Ð¿Ð¾Ð¿ÑÑÐºÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовки по оÑделÑноÑÑи и пÑименÑеÑÑÑ ÐºÐ°Ðº к ÑвнÑм запÑоÑам блокиÑовки (напÑимеÑ,
LOCK TABLEилиSELECT FOR UPDATEбезNOWAIT), Ñак и к неÑвнÑм. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении, Ñавном нÑÐ»Ñ (по ÑмолÑаниÑ), ÑÑÐ¾Ñ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ Ð´Ð»Ð¸ÑелÑноÑÑи оÑклÑÑаеÑÑÑ.РоÑлиÑие оÑ
statement_timeout, ÑÑÐ¾Ñ Ñайм-аÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоизойÑи ÑолÑко пÑи ожидании блокиÑовки. ÐамеÑÑÑе, ÑÑо пÑи ненÑлевомstatement_timeoutбеÑÑмÑÑленно задаваÑÑ Ð²lock_timeoutÑакое же или болÑÑее знаÑение, Ñак как Ñайм-аÑÑ Ð¾Ð¿ÐµÑаÑоÑа вÑегда бÑÐ´ÐµÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸ÑÑ ÑанÑÑе. ÐÑлиlog_min_error_statementÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑениеERRORили ниже, опеÑаÑоÑ, пÑеÑваннÑй по Ñайм-аÑÑÑ, бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸Ñан в жÑÑнал.УÑÑанавливаÑÑ Ð·Ð½Ð°Ñение
lock_timeoutвpostgresql.confне ÑекомендÑеÑÑÑ, Ñак как ÑÑо повлиÑÐµÑ Ð½Ð° вÑе ÑеанÑÑ.idle_in_transaction_session_timeout(integer) #ÐавеÑÑаÑÑ Ð»ÑбÑе ÑеанÑÑ, пÑоÑÑаиваÑÑие (Ñо еÑÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑие запÑоÑов Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñов) долÑÑе заданного вÑемени в оÑкÑÑÑой ÑÑанзакÑии. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении, Ñавном нÑÐ»Ñ (по ÑмолÑаниÑ), ÑÑÐ¾Ñ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ Ð´Ð»Ð¸ÑелÑноÑÑи оÑклÑÑаеÑÑÑ.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ ÑиÑÑаÑий, когда пÑоÑÑаиваÑÑие ÑеанÑÑ ÑдеÑживаÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовки ÑÑезмеÑно долго. Рдаже еÑли ÑÐµÐ°Ð½Ñ Ð½Ðµ деÑÐ¶Ð¸Ñ Ð¼ÐµÑаÑÑие дÑÑгим блокиÑовки, оÑкÑÑÑÑе ÑÑанзакÑии пÑепÑÑÑÑвÑÑÑ Ð¾ÑиÑÑке недавно ÑдалÑннÑÑ ÐºÐ¾ÑÑежей, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñми ÑолÑко Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÑанзакÑии. ÐоÑÑÐ¾Ð¼Ñ Ð´Ð»Ð¸ÑелÑнÑй пÑоÑÑой ÑÑанзакÑий Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑиводиÑÑ Ð¸ к ÑаздÑÐ²Ð°Ð½Ð¸Ñ ÑаблиÑ. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 25.1.
idle_session_timeout(integer) #ÐавеÑÑаÑÑ Ð»ÑбÑе ÑеанÑÑ, пÑоÑÑаиваÑÑие (Ñо еÑÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑие запÑоÑов Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñов) долÑÑе заданного вÑемени вне оÑкÑÑÑой ÑÑанзакÑии. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи знаÑении, Ñавном нÑÐ»Ñ (по ÑмолÑаниÑ), ÑÑÐ¾Ñ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ Ð´Ð»Ð¸ÑелÑноÑÑи оÑклÑÑаеÑÑÑ.
РоÑлиÑие Ð¾Ñ ÑиÑÑаÑии Ñ Ð¾ÑкÑÑÑой ÑÑанзакÑией, пÑоÑÑаиваÑÑий вне ÑÑанзакÑии ÑÐµÐ°Ð½Ñ Ð½Ðµ оказÑÐ²Ð°ÐµÑ Ð·Ð½Ð°ÑиÑелÑного влиÑÐ½Ð¸Ñ Ð½Ð° ÑабоÑÑ ÑеÑвеÑа, поÑÑÐ¾Ð¼Ñ Ð½Ð° пÑакÑике ÑаÑе ÑÑебÑеÑÑÑ Ð²ÐºÐ»ÑÑаÑÑ Ñайм-аÑÑ
idle_in_transaction_session_timeout.ÐÐ»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений, ÑÑÑанавливаемÑÑ ÑеÑез пÑомежÑÑоÑнÑй Ñлой, напÑÐ¸Ð¼ÐµÑ ÑеÑез пÑл Ñоединений, вклÑÑаÑÑ Ð´Ð°Ð½Ð½Ñй Ñайм-аÑÑ ÑледÑÐµÑ Ñ Ð¾ÑÑоÑожноÑÑÑÑ, Ñак как ÑÑÐ¾Ñ Ñлой Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑеагиÑоваÑÑ ÐºÐ¾ÑÑекÑно на неожиданное закÑÑÑие Ñоединений. ÐÐ¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ ÑмÑÑл ÑÑÑановиÑÑ ÑÑÐ¾Ñ Ñайм-аÑÑ ÑолÑко Ð´Ð»Ñ Ð¸Ð½ÑеÑакÑивнÑÑ ÑеанÑов, возможно, ÑаÑпÑоÑÑÑанÑÑ ÐµÐ³Ð¾ пÑименение ÑолÑко на опÑеделÑннÑÑ Ð¿Ð¾Ð»ÑзоваÑелей.
vacuum_freeze_table_age(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑй возÑаÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ
pg_class.relfrozenxidÑаблиÑÑ, пÑи доÑÑижении коÑоÑогоVACUUMбÑÐ´ÐµÑ Ð¿ÑоизводиÑÑ Ð°Ð³ÑеÑÑивное ÑканиÑование. ÐгÑеÑÑивное ÑканиÑование оÑлиÑаеÑÑÑ Ð¾Ñ Ð¾Ð±ÑÑного ÑканиÑованиÑVACUUMÑем, ÑÑо заÑÑÐ°Ð³Ð¸Ð²Ð°ÐµÑ Ð²Ñе ÑÑÑаниÑÑ, коÑоÑÑе могÑÑ ÑодеÑжаÑÑ Ð½ÐµÐ·Ð°Ð¼Ð¾ÑоженнÑе XID или MXID, а не ÑолÑко Ñе, ÑÑо могÑÑ ÑодеÑжаÑÑ Ð¼ÑÑÑвÑе коÑÑежи. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 150 миллионов ÑÑанзакÑий. ХоÑÑ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð»Ñбое знаÑение Ð¾Ñ Ð½ÑÐ»Ñ Ð´Ð¾ двÑÑ Ð¼Ð¸Ð»Ð»Ð¸Ð°Ñдов, вVACUUMвведÑн внÑÑÑенний пÑедел Ð´Ð»Ñ Ð´ÐµÐ¹ÑÑвÑÑÑего знаÑениÑ, ÑавнÑй 95% Ð¾Ñ autovacuum_freeze_max_age, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑиодиÑеÑки запÑÑÐºÐ°ÐµÐ¼Ð°Ñ Ð²ÑÑÑнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°VACUUMимела ÑанÑÑ Ð²ÑполниÑÑÑÑ, пÑежде Ñем Ð´Ð»Ñ ÑаблиÑÑ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑена авÑооÑиÑÑка Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑикливаниÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 25.1.5.vacuum_freeze_min_age(integer) #ÐадаÑÑ Ð²Ð¾Ð·ÑаÑÑ Ð´Ð»Ñ Ð¾ÑÑеÑки (в ÑÑанзакÑиÑÑ ), пÑи доÑÑижении коÑоÑого команда
VACUUMдолжна вÑзÑваÑÑ Ð·Ð°Ð¼Ð¾Ñаживание ÑÑÑÐ°Ð½Ð¸Ñ Ñ Ð±Ð¾Ð»ÐµÐµ Ñанними XID. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 50 миллионов ÑÑанзакÑий. ХоÑÑ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð»Ñбое знаÑение Ð¾Ñ Ð½ÑÐ»Ñ Ð´Ð¾ одного миллиаÑда, вVACUUMвведÑн внÑÑÑенний пÑедел Ð´Ð»Ñ Ð´ÐµÐ¹ÑÑвÑÑÑего знаÑениÑ, ÑавнÑй половине autovacuum_freeze_max_age, ÑÑÐ¾Ð±Ñ Ð¿ÑинÑдиÑелÑÐ½Ð°Ñ Ð°Ð²ÑооÑиÑÑка вÑполнÑлаÑÑ Ð½Ðµ ÑлиÑком ÑаÑÑо. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 25.1.5.vacuum_failsafe_age(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑй возÑаÑÑ (в ÑÑанзакÑиÑÑ ) Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ
pg_class.relfrozenxidнекоÑоÑой ÑаблиÑÑ, пÑи доÑÑижении коÑоÑого Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼VACUUMпÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑезвÑÑайнÑе меÑÑ Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¾Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÑÑÑÑика ÑÑанзакÑий, пÑиводÑÑего к глобалÑÐ½Ð¾Ð¼Ñ ÑбоÑ. ÐÑа ÑÑÑаÑÐµÐ³Ð¸Ñ Ð·Ð°ÑиÑÑVACUUMпÑименÑеÑÑÑ Ð² ÑкÑÑÑенном ÑлÑÑае. ÐбÑÑно заÑиÑнÑй Ñежим вклÑÑаеÑÑÑ, когда авÑооÑиÑÑка Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÑÑÑÑика ÑÑанзакÑий Ñже вÑполнÑлаÑÑ Ð² ÑеÑение некоÑоÑого вÑемени. Ðднако Ð´Ð°Ð½Ð½Ð°Ñ ÑÑÑаÑÐµÐ³Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ñакже пÑименÑÑÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð»Ñбой опеÑаÑииVACUUM.ÐÑи ÑÑабаÑÑвании заÑиÑного Ñежима лÑÐ±Ð°Ñ Ð´ÐµÐ¹ÑÑвÑÑÑÐ°Ñ Ð·Ð°Ð´ÐµÑжка на оÑнове ÑÑоимоÑÑи болÑÑе не пÑименÑеÑÑÑ, далÑнейÑие неÑÑÑеÑÑвеннÑе задаÑи обÑлÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ (Ñакие как оÑиÑÑка индекÑа) пÑопÑÑкаÑÑÑÑ, а лÑÐ±Ð°Ñ Ð¸ÑполÑзÑÐµÐ¼Ð°Ñ Ð¡ÑÑаÑÐµÐ³Ð¸Ñ Ð´Ð¾ÑÑÑпа к бÑÑеÑÑ Ð¾ÑклÑÑаеÑÑÑ, в ÑезÑлÑÑаÑе Ñего
VACUUMÑÐ¼Ð¾Ð¶ÐµÑ Ñвободно иÑполÑзоваÑÑ Ð²Ñе обÑие бÑÑеÑÑ.Ðо ÑмолÑÐ°Ð½Ð¸Ñ â 1.6 миллиаÑда ÑÑанзакÑий. ХоÑÑ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ ÑÑÑановиÑÑ Ð»Ñбое знаÑение из инÑеÑвала Ð¾Ñ Ð½ÑÐ»Ñ Ð´Ð¾ 2.1 миллиаÑда,
VACUUMавÑомаÑиÑеÑки ÑвелиÑÐ¸Ñ Ð´ÐµÐ¹ÑÑвÑÑÑее знаÑение до 105% Ð¾Ñ autovacuum_freeze_max_age, еÑли заданное знаÑение менÑÑе.vacuum_multixact_freeze_table_age(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑй возÑаÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ
pg_class.relminmxidÑаблиÑÑ, пÑи доÑÑижении коÑоÑого командаVACUUMбÑÐ´ÐµÑ Ð²ÑполнÑÑÑ Ð°Ð³ÑеÑÑивное ÑканиÑование. ÐгÑеÑÑивное ÑканиÑование оÑлиÑаеÑÑÑ Ð¾Ñ Ð¾Ð±ÑÑного ÑканиÑованиÑVACUUMÑем, ÑÑо заÑÑÐ°Ð³Ð¸Ð²Ð°ÐµÑ Ð²Ñе ÑÑÑаниÑÑ, коÑоÑÑе могÑÑ ÑодеÑжаÑÑ Ð½ÐµÐ·Ð°Ð¼Ð¾ÑоженнÑе XID или MXID, а не ÑолÑко Ñе, ÑÑо могÑÑ ÑодеÑжаÑÑ Ð¼ÑÑÑвÑе коÑÑежи. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 150 миллионов мÑлÑÑиÑÑанзакÑий. ХоÑÑ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð»Ñбое знаÑение Ð¾Ñ Ð½ÑÐ»Ñ Ð´Ð¾ двÑÑ Ð¼Ð¸Ð»Ð»Ð¸Ð°Ñдов, вVACUUMвведÑн внÑÑÑенний пÑедел Ð´Ð»Ñ Ð´ÐµÐ¹ÑÑвÑÑÑего знаÑениÑ, ÑавнÑй 95% Ð¾Ñ autovacuum_multixact_freeze_max_age, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑиодиÑеÑки запÑÑÐºÐ°ÐµÐ¼Ð°Ñ Ð²ÑÑÑнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°VACUUMимела ÑанÑÑ Ð²ÑполниÑÑÑÑ, пÑежде Ñем Ð´Ð»Ñ ÑаблиÑÑ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑена авÑооÑиÑÑка Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑикливаниÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 25.1.5.1.vacuum_multixact_freeze_min_age(integer) #ÐадаÑÑ Ð²Ð¾Ð·ÑаÑÑ Ð´Ð»Ñ Ð¾ÑÑеÑки (в мÑлÑÑиÑÑанзакÑиÑÑ ), пÑи доÑÑижении коÑоÑого команда
VACUUMдолжна вÑзÑваÑÑ Ð·Ð°Ð¼Ð¾Ñаживание ÑÑÑÐ°Ð½Ð¸Ñ Ñ Ð±Ð¾Ð»ÐµÐµ Ñанними иденÑиÑикаÑоÑами мÑлÑÑиÑÑанзакÑий. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 5 миллионов мÑлÑÑиÑÑанзакÑий. ХоÑÑ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð»Ñбое знаÑение Ð¾Ñ Ð½ÑÐ»Ñ Ð´Ð¾ одного миллиаÑда, вVACUUMвведÑн внÑÑÑенний пÑедел Ð´Ð»Ñ Ð´ÐµÐ¹ÑÑвÑÑÑего знаÑениÑ, ÑавнÑй половине autovacuum_multixact_freeze_max_age, ÑÑÐ¾Ð±Ñ Ð¿ÑинÑдиÑелÑÐ½Ð°Ñ Ð°Ð²ÑооÑиÑÑка не вÑполнÑлаÑÑ ÑлиÑком ÑаÑÑо. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 25.1.5.1.vacuum_multixact_failsafe_age(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑй возÑаÑÑ (в мÑлÑÑиÑÑанзакÑиÑÑ ) Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ
pg_class.relminmxidнекоÑоÑой ÑаблиÑÑ, пÑи доÑÑижении коÑоÑого Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼VACUUMпÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑезвÑÑайнÑе меÑÑ Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¾Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÑÑÑÑика мÑлÑÑиÑÑанзакÑий, пÑиводÑÑего к глобалÑÐ½Ð¾Ð¼Ñ ÑбоÑ. ÐÑа ÑÑÑаÑÐµÐ³Ð¸Ñ Ð·Ð°ÑиÑÑVACUUMпÑименÑеÑÑÑ Ð² ÑкÑÑÑенном ÑлÑÑае. ÐбÑÑно заÑиÑнÑй Ñежим вклÑÑаеÑÑÑ, когда авÑооÑиÑÑка Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÑÑÑÑика ÑÑанзакÑий Ñже вÑполнÑлаÑÑ Ð² ÑеÑение некоÑоÑого вÑемени. Ðднако Ð´Ð°Ð½Ð½Ð°Ñ ÑÑÑаÑÐµÐ³Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ñакже пÑименÑÑÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð»Ñбой опеÑаÑииVACUUM.ÐÑи ÑÑабаÑÑвании заÑиÑного Ñежима лÑÐ±Ð°Ñ Ð´ÐµÐ¹ÑÑвÑÑÑÐ°Ñ Ð·Ð°Ð´ÐµÑжка на оÑнове ÑÑоимоÑÑи болÑÑе не пÑименÑеÑÑÑ, а далÑнейÑие неÑÑÑеÑÑвеннÑе задаÑи обÑлÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ (Ñакие как оÑиÑÑка индекÑа) пÑопÑÑкаÑÑÑÑ.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ â 1.6 миллиаÑда мÑлÑÑиÑÑанзакÑий. ХоÑÑ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ ÑÑÑановиÑÑ Ð»Ñбое знаÑение из инÑеÑвала Ð¾Ñ Ð½ÑÐ»Ñ Ð´Ð¾ 2.1 миллиаÑда,
VACUUMавÑомаÑиÑеÑки ÑвелиÑÐ¸Ñ Ð´ÐµÐ¹ÑÑвÑÑÑее знаÑение до 105% Ð¾Ñ autovacuum_multixact_freeze_max_age, еÑли заданное знаÑение менÑÑе.bytea_output(enum) #ÐадаÑÑ Ð²ÑÑ Ð¾Ð´Ð½Ð¾Ð¹ ÑоÑÐ¼Ð°Ñ Ð´Ð»Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ñипа
bytea. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑоÑмаÑhex(по ÑмолÑаниÑ) илиescape(ÑÑадиÑионнÑй ÑоÑÐ¼Ð°Ñ PostgreSQL). Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 8.4. ÐÑ Ð¾Ð´Ð½Ñе знаÑениÑbyteaвоÑпÑинимаÑÑÑÑ Ð² Ð¾Ð±Ð¾Ð¸Ñ ÑоÑмаÑÐ°Ñ , незавиÑимо Ð¾Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ паÑамеÑÑа.xmlbinary(enum) #ÐадаÑÑ ÑпоÑоб кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð²Ð¾Ð¸ÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² XML. ÐÑо кодиÑование пÑименÑеÑÑÑ, напÑимеÑ, когда знаÑениÑ
byteaпÑеобÑазÑÑÑÑÑ Ð² XML ÑÑнкÑиÑмиxmlelementилиxmlforest. ÐопÑÑÑимÑе ваÑианÑÑ, опÑеделÑннÑе в ÑÑандаÑÑе XML-ÑÑ ÐµÐ¼:base64иhex. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âbase64. ЧÑÐ¾Ð±Ñ ÑзнаÑÑ Ð±Ð¾Ð»ÑÑе о ÑÑнкÑиÑÑ Ð´Ð»Ñ ÑабоÑÑ Ñ XML, обÑаÑиÑеÑÑ Ðº РазделÑ 9.15.ÐонеÑнÑй вÑÐ±Ð¾Ñ Ð² оÑновном дело вкÑÑа, огÑаниÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð½Ð°ÐºÐ»Ð°Ð´ÑваÑÑÑÑ ÑолÑко клиенÑÑкими пÑиложениÑми. Ðба меÑода поддеÑживаÑÑ Ð²Ñе возможнÑе знаÑениÑ, Ñ Ð¾ÑÑ ÑезÑлÑÑÐ°Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² base64 немного компакÑнее ÑеÑÑнадÑаÑеÑиÑного вида (hex).
xmloption(enum) #ÐадаÑÑ Ð¿Ð¾Ð´ÑазÑмеваемÑй по ÑмолÑÐ°Ð½Ð¸Ñ Ñип пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ XML и ÑимволÑнÑми ÑÑÑоками (
DOCUMENTилиCONTENT). Ðа опиÑанием ÑÑого пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑаÑиÑеÑÑ Ðº РазделÑ 8.13. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âCONTENT(кÑоме него допÑÑкаеÑÑÑ Ð·Ð½Ð°ÑениеDOCUMENT).СоглаÑно ÑÑандаÑÑÑ SQL ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ задаваÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
SET XML OPTION { DOCUMENT | CONTENT };ÐÑÐ¾Ñ ÑинÑакÑÐ¸Ñ Ñоже поддеÑживаеÑÑÑ Ð² PostgreSQL.
gin_pending_list_limit(integer) #ÐадаÑÑ Ð¼Ð°ÐºÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÑеÑеди запиÑей GIN, коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ, когда вклÑÑÑн Ñежим
fastupdate. ÐÑли ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÑеÑеди пÑевÑÑÐ°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñй пÑедел, запиÑи из Ð½ÐµÑ Ð¼Ð°ÑÑово пеÑеноÑÑÑÑÑ Ð² оÑновнÑÑ ÑÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð½Ð´ÐµÐºÑа GIN, и оÑеÑÐµÐ´Ñ Ð¾ÑиÑаеÑÑÑ. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в килобайÑÐ°Ñ . Ð Ð°Ð·Ð¼ÐµÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ â ÑеÑÑÑе мегабайÑа (4MB). ÐÑÐ¾Ñ Ð¿Ñедел можно пеÑеопÑеделиÑÑ Ð´Ð»Ñ Ð¾ÑделÑнÑÑ Ð¸Ð½Ð´ÐµÐºÑов GIN, изменив Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ Ñ ÑанениÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 70.4.1 и РазделÑ 70.5.createrole_self_grant(string) #ÐÑли полÑзоваÑелÑ, Ñ ÐºÐ¾ÑоÑого еÑÑÑ Ð¿Ñаво
CREATEROLE, но Ð½ÐµÑ Ð¿ÑаваSUPERUSER, ÑоздаÑÑ ÑолÑ, и Ð´Ð»Ñ ÑÑого паÑамеÑÑа задано непÑÑÑое знаÑение, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ ÑÐ¾Ð»Ñ Ð±ÑÐ´ÐµÑ Ð½Ð°Ð·Ð½Ð°Ñена ÑоздаÑÑÐµÐ¼Ñ ÐµÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ ÑказаннÑми паÑамеÑÑами. ÐнаÑение должно бÑÑÑset,inheritили оба ÑÑи знаÑениÑ, ÑазделÑннÑе запÑÑÑми. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â пÑÑÑÐ°Ñ ÑÑÑока, коÑоÑÐ°Ñ Ð¾ÑклÑÑÐ°ÐµÑ ÑÑÑ ÑÑнкÑионалÑноÑÑÑ.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð¿Ñавом
CREATEROLE, коÑоÑÑй не ÑвлÑеÑÑÑ ÑÑпеÑполÑзоваÑелем, авÑомаÑиÑеÑки наÑледоваÑÑ Ð¸Ð»Ð¸ полÑÑаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð½Ð°Ð·Ð½Ð°ÑаÑÑ Ð¿Ñава командойSET ROLEлÑбÑм ÑоздаваемÑм полÑзоваÑелÑм. ÐоÑколÑÐºÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð¿ÑавомCREATEROLEвÑегда неÑвно пÑедоÑÑавлÑеÑÑÑ Ð¿ÑавоADMIN OPTIONÐ´Ð»Ñ ÑоздаваемÑÑ Ñолей, он вÑегда Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполниÑÑGRANT, ÑÑо пÑиведÑÑ Ðº ÑÐ¾Ð¼Ñ Ð¶Ðµ ÑезÑлÑÑаÑÑ, ÑÑо и задание ÑÑого паÑамеÑÑа. Ðднако авÑомаÑиÑеÑкое пÑедоÑÑавление пÑав Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñдобнее. СÑпеÑполÑзоваÑÐµÐ»Ñ Ð°Ð²ÑомаÑиÑеÑки наÑледÑÐµÑ Ð¿Ñава вÑÐµÑ Ñолей и вÑегда Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑSET ROLEÐ´Ð»Ñ Ð»ÑбÑÑ Ñолей. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñное поведение полÑзоваÑелÑм Ñ Ð¿ÑавомCREATEROLEв оÑноÑении ÑоздаваемÑÑ Ð¿Ð¾Ð»ÑзоваÑелей.restrict_nonsystem_relation_kind(string) #ÐпÑеделÑÑÑ Ð²Ð¸Ð´Ñ Ð¾ÑноÑений, коÑоÑÑм запÑеÑаеÑÑÑ Ð´Ð¾ÑÑÑп к неÑиÑÑемнÑм оÑноÑениÑм. ÐнаÑение â ÑпиÑок видов оÑноÑений, ÑазделÑннÑй запÑÑÑми. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ Ð¾ÑноÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¾Ð²
viewиforeign-table.
20.11.2. ЯзÑÐºÐ¾Ð²Ð°Ñ ÑÑеда и ÑоÑмаÑÑ #
DateStyle(string) #ÐадаÑÑ ÑоÑÐ¼Ð°Ñ Ð²Ñвода знаÑений даÑÑ Ð¸ вÑемени, а Ñакже пÑавила инÑеÑпÑеÑаÑии неоднознаÑнÑÑ Ð·Ð½Ð°Ñений даÑÑ. Ðо иÑÑоÑиÑеÑким пÑиÑинам ÑÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑодеÑÐ¶Ð¸Ñ Ð´Ð²Ð° незавиÑимÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñа: Ñказание вÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑоÑмаÑа (
ISO,Postgres,SQLиGerman) и Ñказание поÑÑдка год(Y)/меÑÑÑ(M)/денÑ(D) Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð¸Ð¼ÑÑ Ð¸ вÑводимÑÑ Ð·Ð½Ð°Ñений (DMY,MDYилиYMD). ÐÑи два компоненÑа могÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð¿Ð¾ оÑделÑноÑÑи или вмеÑÑе. ÐлÑÑевÑе ÑловаEuroиEuropeanÑвлÑÑÑÑÑ ÑинонимамиDMY, а клÑÑевÑе ÑловаUS,NonEuroиNonEuropeanâ ÑинонимÑMDY. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 8.5. ÐÑÑÑоенное знаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âISO, MDY, но initdb пÑи иниÑиализаÑии запиÑÑÐ²Ð°ÐµÑ Ð² Ñайл конÑигÑÑаÑии знаÑение, ÑооÑвеÑÑÑвÑÑÑее вÑбÑанной локалиlc_time.IntervalStyle(enum) #ÐадаÑÑ ÑоÑÐ¼Ð°Ñ Ð²Ñвода Ð´Ð»Ñ Ð·Ð½Ð°Ñений-инÑеÑвалов. Ð ÑоÑмаÑе
sql_standardинÑеÑвал вÑводиÑÑÑ Ð² виде, ÑÑÑановленном ÑÑандаÑÑом SQL. Ð ÑоÑмаÑеpostgres(вÑбÑанном по ÑмолÑаниÑ) инÑеÑвал вÑводиÑÑÑ Ð² виде, пÑименÑвÑемÑÑ Ð² PostgreSQL до веÑÑии 8.4, когда паÑамеÑÑ DateStyle имел знаÑениеISO. Ð ÑоÑмаÑеpostgres_verboseинÑеÑвал вÑводиÑÑÑ Ð² виде, пÑименÑвÑемÑÑ Ð² PostgreSQL до веÑÑии 8.4, когда паÑамеÑÑDateStyleимел знаÑение неISO. Ð ÑоÑмаÑеiso_8601вÑÐ²Ð¾Ð´Ð¸Ð¼Ð°Ñ ÑÑÑока бÑÐ´ÐµÑ ÑооÑвеÑÑÑвоваÑÑ Â«ÑоÑмаÑÑ Ñ ÐºÐ¾Ð´Ð°Ð¼Ð¸Â», опÑеделÑÐ½Ð½Ð¾Ð¼Ñ Ð² Ñазделе 4.4.3.2 ÑÑандаÑÑа ISO 8601.Ðа инÑеÑпÑеÑаÑÐ¸Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°ÑнÑÑ Ð²Ð²Ð¾Ð´Ð¸Ð¼ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ñакже влиÑÐµÑ Ð¿Ð°ÑамеÑÑ
IntervalStyle. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 8.5.4.TimeZone(string) #ÐадаÑÑ ÑаÑовой поÑÑ Ð´Ð»Ñ Ð²Ñвода и ввода знаÑений вÑемени. ÐÑÑÑоенное знаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
GMT, но обÑÑно оно пеÑеопÑеделÑеÑÑÑ Ð²postgresql.conf; initdb ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð² нÑм знаÑение, ÑооÑвеÑÑÑвÑÑÑее ÑиÑÑÐµÐ¼Ð½Ð¾Ð¼Ñ Ð¾ÐºÑÑжениÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 8.5.3.timezone_abbreviations(string) #ÐадаÑÑ Ð½Ð°Ð±Ð¾Ñ ÑокÑаÑений ÑаÑовÑÑ Ð¿Ð¾ÑÑов, коÑоÑÑе бÑдÑÑ Ð¿ÑинимаÑÑÑÑ ÑеÑвеÑом во вводимÑÑ Ð·Ð½Ð°ÑениÑÑ Ð´Ð°ÑÑ Ð¸ вÑемени. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
'Default', коÑоÑое пÑедÑÑавлÑÐµÑ Ð½Ð°Ð±Ð¾Ñ Ð¾ÑновнÑÑ ÑокÑаÑений, пÑинÑÑÑÑ Ð² миÑе; допÑÑкаÑÑÑÑ Ñакже знаÑениÑ'Australia'и'India', кÑоме Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑеÑной инÑÑаллÑÑии можно опÑеделиÑÑ Ð¸ дÑÑгие набоÑÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ B.4.extra_float_digits(integer) #ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÐºÐ¾ÑÑекÑиÑÑÐµÑ ÑиÑло ÑиÑÑ Ð² ÑекÑÑовом пÑедÑÑавлении ÑиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой, вклÑÑÐ°Ñ Ð·Ð½Ð°ÑениÑ
float4,float8и геомеÑÑиÑеÑÐºÐ¸Ñ Ñипов.ÐÑли его знаÑение Ñавно 1 (по ÑмолÑаниÑ) или болÑÑе, ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой вÑводÑÑÑÑ Ð² кÑаÑÑайÑем ÑоÑном виде; Ñм. ÐодÑаздел 8.1.3. ÐÑводимое ÑакÑиÑеÑки колиÑеÑÑво ÑиÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ Ð²Ñводимого ÑиÑла, а не Ð¾Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ паÑамеÑÑа. ÐÐ»Ñ Ð·Ð½Ð°Ñений
float8Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð¼Ð°ÐºÑимÑм 17 ÑиÑÑ, а Ð´Ð»Ñ Ð·Ð½Ð°Ñенийfloat4â макÑимÑм 9. Ðанное пÑедÑÑавление ÑвлÑеÑÑÑ Ð¸ бÑÑÑÑÑм, и ÑоÑнÑм, Ñак как оно позволÑÐµÑ Ð¿Ñи пÑавилÑном пÑоÑÑении в ÑоÑноÑÑи воÑÑÑановиÑÑ Ð´Ð²Ð¾Ð¸Ñное ÑиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой. Ради иÑÑоÑиÑеÑкой ÑовмеÑÑимоÑÑи ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð¾ 3 вклÑÑиÑелÑно.ÐÑли его знаÑение Ñавно нÑÐ»Ñ Ð¸Ð»Ð¸ оÑÑиÑаÑелÑно, вÑводимое ÑиÑло окÑÑглÑеÑÑÑ Ð´Ð¾ заданной деÑÑÑиÑной ÑоÑноÑÑи. ТоÑноÑÑÑ Ð² данном ÑлÑÑае опÑеделÑеÑÑÑ Ð¾Ð±ÑÑнÑм колиÑеÑÑвом ÑиÑÑ Ð´Ð»Ñ Ñипа (
FLT_DIGилиDBL_DIG), ÑменÑÑеннÑм на знаÑение ÑÑого паÑамеÑÑа. (ÐапÑимеÑ, Ñо знаÑением -1 ÑиÑла Ñипаfloat4бÑдÑÑ Ð²ÑводиÑÑÑÑ Ð¾ÐºÑÑглÑннÑми до 5 знаÑаÑÐ¸Ñ ÑиÑÑ, а ÑиÑла Ñипаfloat8â до 14). ÐÑеобÑазование в Ñакой вид вÑполнÑеÑÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ и не ÑÐ¾Ñ ÑанÑÐµÑ Ð²Ñе биÑÑ Ð´Ð²Ð¾Ð¸Ñного ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой, но он Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑдобнÑм Ð´Ð»Ñ Ñеловека.ÐÑимеÑание
Ðоведение ÑÑого паÑамеÑÑа, а Ñакже его знаÑение по ÑмолÑаниÑ, изменилоÑÑ Ð² PostgreSQL 12; подÑобнее ÑÑо опиÑÑваеÑÑÑ Ð² ÐодÑазделе 8.1.3.
client_encoding(string) #ÐадаÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ (Ð½Ð°Ð±Ð¾Ñ Ñимволов) на ÑÑоÑоне клиенÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑбиÑаеÑÑÑ ÐºÐ¾Ð´Ð¸Ñовка Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐабоÑÑ Ñимволов, коÑоÑÑе поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑеÑÐ²ÐµÑ PostgreSQL, пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² ÐодÑазделе 24.3.1.
lc_messages(string) #УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑзÑк вÑводимÑÑ ÑообÑений. ÐÐ°Ð±Ð¾Ñ Ð´Ð¾Ð¿ÑÑÑимÑÑ Ð·Ð½Ð°Ñений завиÑÐ¸Ñ Ð¾Ñ ÑиÑÑемÑ; за дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 24.1. ÐÑли ÑÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿Ñеделена как пÑÑÑÐ°Ñ ÑÑÑока (по ÑмолÑаниÑ), Ñо дейÑÑвÑÑÑее знаÑение полÑÑаеÑÑÑ Ð¸Ð· ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑвеÑа, в завиÑимоÑÑи Ð¾Ñ ÑиÑÑемÑ.
РнекоÑоÑÑÑ ÑиÑÑÐµÐ¼Ð°Ñ ÑÐ°ÐºÐ°Ñ ÐºÐ°ÑегоÑÐ¸Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ оÑÑÑÑÑÑвÑеÑ, Ñак ÑÑо даже еÑли задаÑÑ Ð·Ð½Ð°Ñение ÑÑой пеÑеменной, дейÑÑвоваÑÑ Ð¾Ð½Ð¾ не бÑдеÑ. Также Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ, ÑÑо пеÑеведÑннÑе ÑообÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑенного ÑзÑка оÑÑÑÑÑÑвÑÑÑ. Ð ÑÑÐ¸Ñ ÑлÑÑаÑÑ Ð²Ñ Ð¿Ð¾-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð±ÑдеÑе полÑÑаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð½Ð° английÑком ÑзÑке.
ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавом
SETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.lc_monetary(string) #УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð´Ð»Ñ ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´ÐµÐ½ÐµÐ¶Ð½ÑÑ ÑÑмм, напÑÐ¸Ð¼ÐµÑ Ñ Ð¸ÑполÑзованием ÑÑнкÑий ÑемейÑÑва
to_char. ÐÐ°Ð±Ð¾Ñ Ð´Ð¾Ð¿ÑÑÑимÑÑ Ð·Ð½Ð°Ñений завиÑÐ¸Ñ Ð¾Ñ ÑиÑÑемÑ; за дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 24.1. ÐÑли ÑÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿Ñеделена как пÑÑÑÐ°Ñ ÑÑÑока (по ÑмолÑаниÑ), Ñо дейÑÑвÑÑÑее знаÑение полÑÑаеÑÑÑ Ð¸Ð· ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑвеÑа, в завиÑимоÑÑи Ð¾Ñ ÑиÑÑемÑ.lc_numeric(string) #УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð´Ð»Ñ ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑиÑел, напÑÐ¸Ð¼ÐµÑ Ñ Ð¸ÑполÑзованием ÑÑнкÑий ÑемейÑÑва
to_char. ÐÐ°Ð±Ð¾Ñ Ð´Ð¾Ð¿ÑÑÑимÑÑ Ð·Ð½Ð°Ñений завиÑÐ¸Ñ Ð¾Ñ ÑиÑÑемÑ; за дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 24.1. ÐÑли ÑÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿Ñеделена как пÑÑÑÐ°Ñ ÑÑÑока (по ÑмолÑаниÑ), Ñо дейÑÑвÑÑÑее знаÑение полÑÑаеÑÑÑ Ð¸Ð· ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑвеÑа, в завиÑимоÑÑи Ð¾Ñ ÑиÑÑемÑ.lc_time(string) #УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð´Ð»Ñ ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°ÑÑ Ð¸ вÑемени, напÑÐ¸Ð¼ÐµÑ Ñ Ð¸ÑполÑзованием ÑÑнкÑий ÑемейÑÑва
to_char. ÐÐ°Ð±Ð¾Ñ Ð´Ð¾Ð¿ÑÑÑимÑÑ Ð·Ð½Ð°Ñений завиÑÐ¸Ñ Ð¾Ñ ÑиÑÑемÑ; за дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 24.1. ÐÑли ÑÑа пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿Ñеделена как пÑÑÑÐ°Ñ ÑÑÑока (по ÑмолÑаниÑ), Ñо дейÑÑвÑÑÑее знаÑение полÑÑаеÑÑÑ Ð¸Ð· ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑвеÑа, в завиÑимоÑÑи Ð¾Ñ ÑиÑÑемÑ.icu_validation_level(enum) #УказÑваеÑ, какой ÑÑÐ¾Ð²ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ иÑполÑзоваÑÑÑÑ Ð² ÑообÑениÑÑ Ð¾ пÑÐ¾Ð±Ð»ÐµÐ¼Ð°Ñ Ñ Ð¿ÑовеÑкой локали ICU. ÐопÑÑÑимÑе знаÑениÑ:
DISABLED,DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,INFO,NOTICE,WARNING,ERRORиLOG.ÐÑли ÑÑÑановлено знаÑение
DISABLED, ÑообÑÐµÐ½Ð¸Ñ Ð¾ пÑÐ¾Ð±Ð»ÐµÐ¼Ð°Ñ Ð¿ÑовеÑки не вÑдаÑÑÑÑ. РпÑоÑивном ÑлÑÑае вÑдаÑÑÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð½Ð° вÑбÑанном ÑÑовне. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑWARNING.default_text_search_config(string) #ÐÑбиÑÐ°ÐµÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑекÑÑового поиÑка Ð´Ð»Ñ ÑÐµÑ ÑÑнкÑий ÑекÑÑового поиÑка, коÑоÑÑм не пеÑедаÑÑÑÑ Ð°ÑгÑменÑ, Ñвно ÑказÑваÑÑий конÑигÑÑаÑиÑ. Ðа дополниÑелÑной инÑоÑмаÑией обÑаÑиÑеÑÑ Ðº Ðлаве 12. ÐÑÑÑоенное знаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
pg_catalog.simple, но initdb пÑи иниÑиализаÑии запиÑÑÐ²Ð°ÐµÑ Ð² Ñайл конÑигÑÑаÑии ÑеÑвеÑа знаÑение, ÑооÑвеÑÑÑвÑÑÑее вÑбÑанной локалиlc_ctype, еÑли ÑдаÑÑÑÑ Ð½Ð°Ð¹Ñи ÑакÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑекÑÑового поиÑка.
20.11.3. ÐÑедзагÑÑзка ÑазделÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек #
ÐÐ»Ñ Ð½Ð°ÑÑÑойки пÑедваÑиÑелÑной загÑÑзки ÑазделÑемÑÑ
библиоÑек в памÑÑÑ ÑеÑвеÑа, в ÑелÑÑ
подклÑÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной ÑÑнкÑионалÑноÑÑи или ÑвелиÑÐµÐ½Ð¸Ñ Ð±ÑÑÑÑодейÑÑвиÑ, пÑедназнаÑÐµÐ½Ñ Ð½ÐµÑколÑко паÑамеÑÑов. ÐнаÑÐµÐ½Ð¸Ñ ÑÑиÑ
паÑамеÑÑов задаÑÑÑÑ Ð¾Ð´Ð½Ð¾Ñипно, напÑимеÑ, Ñо знаÑением '$libdir/mylib' в памÑÑÑ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð³ÑÑжена mylib.so (или в некоÑоÑÑÑ
ÐС, mylib.sl) из ÑÑандаÑÑного каÑалога библиоÑек данной инÑÑаллÑÑии ÑеÑвеÑа. РазлиÑаÑÑÑÑ ÑÑи паÑамеÑÑÑ Ñем, когда они вÑÑÑпаÑÑ Ð² ÑÐ¸Ð»Ñ Ð¸ какие пÑава ÑÑебÑÑÑÑÑ Ð´Ð»Ñ Ð¸Ñ
изменениÑ.
Таким же обÑазом можно загÑÑзиÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки на пÑоÑедÑÑнÑÑ
ÑзÑкаÑ
PostgreSQL, обÑÑно в виде '$libdir/plXXX', где XXX â Ð¸Ð¼Ñ ÑзÑка: pgsql, perl, tcl или python.
ÐÑим ÑпоÑобом можно загÑÑзиÑÑ ÑолÑко ÑазделÑемÑе библиоÑеки, пÑедназнаÑеннÑе ÑпеÑиалÑно Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ PostgreSQL. PostgreSQL пÑи загÑÑзке библиоÑеки пÑовеÑÑÐµÑ Ð½Ð°Ð»Ð¸Ñие «оÑлиÑиÑелÑного блока» Ð´Ð»Ñ Ð³Ð°ÑанÑии ÑовмеÑÑимоÑÑи. ÐоÑÑÐ¾Ð¼Ñ Ð·Ð°Ð³ÑÑзиÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки не Ð´Ð»Ñ PostgreSQL Ñаким обÑазом нелÑзÑ. ÐÐ»Ñ ÑÑого Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ ÑÑедÑÑвами опеÑаÑионной ÑиÑÑемÑ, напÑимеÑ, пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ LD_PRELOAD.
РобÑем ÑлÑÑае, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ, какой ÑпоÑоб ÑекомендÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки модÑлÑ, ÑледÑÐµÑ Ð¾Ð±ÑаÑиÑÑÑÑ Ðº докÑменÑаÑии ÑÑого модÑлÑ.
local_preload_libraries(string) #Ð ÑÑом паÑамеÑÑе задаÑÑÑÑ Ð¾Ð´Ð½Ð° или неÑколÑко ÑазделÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек, коÑоÑÑе бÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð¿Ñи ÑÑÑановлении ÑоединениÑ. Ðн ÑодеÑÐ¶Ð¸Ñ ÑазделÑннÑй запÑÑÑми ÑпиÑок имÑн библиоÑек, и каждое Ð¸Ð¼Ñ Ð² нÑм должно воÑпÑинимаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
LOAD. ÐÑобелÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ игноÑиÑÑÑÑÑÑ; еÑли в Ð¸Ð¼Ñ Ð½Ñжно вклÑÑиÑÑ Ð¿ÑÐ¾Ð±ÐµÐ»Ñ Ð¸Ð»Ð¸ запÑÑÑе, заклÑÑиÑе его в двойнÑе кавÑÑки. Ðаданное знаÑение паÑамеÑÑа дейÑÑвÑÐµÑ ÑолÑко в наÑале ÑоединениÑ, Ñак ÑÑо поÑледÑÑÑие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð¸ на ÑÑо не влиÑÑÑ. ÐÑли ÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð² нÑм библиоÑека не найдена, ÑÑÑановиÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение не ÑдаÑÑÑÑ.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑазÑеÑено ÑÑÑанавливаÑÑ Ð²Ñем полÑзоваÑелÑм. ÐоÑÑÐ¾Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки, коÑоÑÑе Ñак можно загÑÑзиÑÑ, огÑаниÑиваÑÑÑÑ Ñеми, ÑÑо Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² подкаÑалоге
pluginsÑÑандаÑÑного каÑалога библиоÑек ÑÑÑановленного ÑеÑвеÑа. (ÐÑвеÑÑÑвенноÑÑÑ Ð·Ð° Ñо, ÑÑÐ¾Ð±Ñ Ð² ÑÑом подкаÑалоге Ð½Ð°Ñ Ð¾Ð´Ð¸Ð»Ð¸ÑÑ ÑолÑко «безопаÑнÑе» библиоÑеки, Ð»ÐµÐ¶Ð¸Ñ Ð½Ð° админиÑÑÑаÑоÑе.) Ðlocal_preload_librariesÑÑÐ¾Ñ ÐºÐ°Ñалог можно задаÑÑ Ñвно (напÑимеÑ, Ñак:$libdir/plugins/mylib), либо пÑоÑÑо ÑказаÑÑ Ð¸Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки âmylib(оно бÑÐ´ÐµÑ Ð²Ð¾ÑпÑинÑÑо как$libdir/plugins/mylib).ÐаннÑй Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ пÑедназнаÑен Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð½ÐµÐ¿ÑивилегиÑованнÑе полÑзоваÑели могли загÑÑжаÑÑ Ð¾ÑладоÑнÑе или пÑоÑилиÑÑÑÑие библиоÑеки в избÑаннÑÑ ÑеанÑÐ°Ñ , Ð¾Ð±Ñ Ð¾Ð´ÑÑÑ Ð±ÐµÐ· Ñвной командÑ
LOAD. ÐÐ»Ñ Ñакого пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð±ÑÑно ÑÑÑанавливаеÑÑÑ Ð² пеÑеменной окÑÑжениÑPGOPTIONSна клиенÑе или Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ÑALTER ROLE SET.ÐбÑÑно ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ, еÑли ÑолÑко модÑÐ»Ñ Ð½Ðµ пÑедназнаÑен ÑпеÑиалÑно Ð´Ð»Ñ Ñакой загÑÑзки обÑÑнÑми полÑзоваÑелÑми. ÐÑедпоÑÑиÑелÑÐ½Ð°Ñ Ð°Ð»ÑÑеÑнаÑива ÐµÐ¼Ñ â session_preload_libraries.
session_preload_libraries(string) #Ð ÑÑом паÑамеÑÑе задаÑÑÑÑ Ð¾Ð´Ð½Ð° или неÑколÑко ÑазделÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек, коÑоÑÑе бÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð¿Ñи ÑÑÑановлении ÑоединениÑ. Ðн ÑодеÑÐ¶Ð¸Ñ ÑазделÑннÑй запÑÑÑми ÑпиÑок имÑн библиоÑек, и каждое Ð¸Ð¼Ñ Ð² нÑм должно воÑпÑинимаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
LOAD. ÐÑобелÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ игноÑиÑÑÑÑÑÑ; еÑли в Ð¸Ð¼Ñ Ð½Ñжно вклÑÑиÑÑ Ð¿ÑÐ¾Ð±ÐµÐ»Ñ Ð¸Ð»Ð¸ запÑÑÑе, заклÑÑиÑе его в двойнÑе кавÑÑки. Ðаданное знаÑение паÑамеÑÑа дейÑÑвÑÐµÑ ÑолÑко в наÑале ÑоединениÑ, Ñак ÑÑо поÑледÑÑÑие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð¸ на ÑÑо не влиÑÑÑ. ÐÑли ÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð² нÑм библиоÑека не найдена, ÑÑÑановиÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение не ÑдаÑÑÑÑ. ÐзмениÑÑ ÐµÐ³Ð¾ могÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.ÐаннÑй паÑамеÑÑ Ð¿ÑедназнаÑен Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки оÑладоÑнÑÑ Ð¸Ð»Ð¸ пÑоÑилиÑÑÑÑÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек в избÑаннÑÑ ÑеанÑÐ°Ñ , без Ñвного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
LOAD. ÐапÑимеÑ, можно загÑÑзиÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ auto_explain во вÑÐµÑ ÑеанÑÐ°Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм именем, ÑÑÑановив ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ALTER ROLE SET. ÐÑоме Ñого, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ измениÑÑ Ð±ÐµÐ· пеÑезапÑÑка ÑеÑвеÑа (Ñ Ð¾ÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑÑÑпаÑÑ Ð² ÑÐ¸Ð»Ñ ÑолÑко пÑи запÑÑке нового ÑеанÑа), Ñак ÑÑо Ñаким обÑазом пÑоÑе подгÑÑжаÑÑ Ð½Ð¾Ð²Ñе модÑли, даже еÑли ÑÑо нÑжно ÑделаÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ ÑеанÑов.РоÑлиÑие Ð¾Ñ shared_preload_libraries, ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð·Ð°Ð³ÑÑзки библиоÑеки не даÑÑ Ð±Ð¾Ð»ÑÑого вÑигÑÑÑа в ÑкоÑоÑÑи по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð²Ð°ÑианÑом загÑÑзки пÑи пеÑвом иÑполÑзовании. Ðднако он оказÑваеÑÑÑ Ð²ÑигÑÑÑнÑм, когда иÑполÑзÑеÑÑÑ Ð¿Ñл Ñоединений.
shared_preload_libraries(string) #Ð ÑÑом паÑамеÑÑе задаÑÑÑÑ Ð¾Ð´Ð½Ð° или неÑколÑко ÑазделÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек, коÑоÑÑе бÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð¿Ñи запÑÑке ÑеÑвеÑа. Ðн ÑодеÑÐ¶Ð¸Ñ ÑазделÑннÑй запÑÑÑми ÑпиÑок имÑн библиоÑек, и каждое Ð¸Ð¼Ñ Ð² нÑм должно воÑпÑинимаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
LOAD. ÐÑобелÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ игноÑиÑÑÑÑÑÑ; еÑли в Ð¸Ð¼Ñ Ð½Ñжно вклÑÑиÑÑ Ð¿ÑÐ¾Ð±ÐµÐ»Ñ Ð¸Ð»Ð¸ запÑÑÑе, заклÑÑиÑе его в двойнÑе кавÑÑки. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа. ÐÑли ÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð² нÑм библиоÑека не бÑÐ´ÐµÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð°, ÑеÑÐ²ÐµÑ Ð½Ðµ запÑÑÑиÑÑÑ.ÐекоÑоÑÑе библиоÑеки пÑи загÑÑзке Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии, коÑоÑÑе могÑÑ Ð¸Ð¼ÐµÑÑ Ð¼ÐµÑÑо ÑолÑко пÑи запÑÑке главного пÑоÑеÑÑа, напÑимеÑ, вÑделÑÑÑ ÑазделÑемÑÑ Ð¿Ð°Ð¼ÑÑÑ, ÑезеÑвиÑоваÑÑ Ð»ÐµÐ³ÐºÐ¾Ð²ÐµÑнÑе блокиÑовки или запÑÑкаÑÑ ÑоновÑе ÑабоÑие пÑоÑеÑÑÑ. Такие библиоÑеки Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð¿Ñи запÑÑке ÑеÑвеÑа поÑÑедÑÑвом ÑÑого паÑамеÑÑа. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº докÑменÑаÑии библиоÑек.
Также можно пÑедваÑиÑелÑно загÑÑзиÑÑ Ð¸ дÑÑгие библиоÑеки. ÐÑедваÑиÑелÑÐ½Ð°Ñ Ð·Ð°Ð³ÑÑзка позволÑÐµÑ Ð¸Ð·Ð±Ð°Ð²Ð¸ÑÑÑÑ Ð¾Ñ Ð·Ð°Ð´ÐµÑжки, возникаÑÑей пÑи пеÑвом иÑполÑзовании библиоÑеки. Ðднако пÑи ÑÑом Ð¼Ð¾Ð¶ÐµÑ Ð½ÐµÑколÑко ÑвелиÑиÑÑÑÑ Ð²ÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка каждого нового пÑоÑеÑÑа, даже еÑли он не бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑекÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¿ÑименÑÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑекомендÑеÑÑÑ ÑолÑко Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек, коÑоÑÑе бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð±Ð¾Ð»ÑÑинÑÑвом ÑеанÑов. ÐÑоме Ñого, пÑи изменении ÑÑого паÑамеÑÑа Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пеÑезапÑÑкаÑÑ ÑеÑвеÑ, Ñак ÑÑо ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð½Ðµ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ, напÑимеÑ, Ð´Ð»Ñ ÐºÑаÑкоÑÑоÑнÑÑ Ð·Ð°Ð´Ð°Ñ Ð¾Ñладки. Ð ÑÐ°ÐºÐ¸Ñ ÑлÑÑаÑÑ Ð¸ÑполÑзÑйÑе вмеÑÑо него session_preload_libraries.
ÐÑимеÑание
Ð ÑиÑÑеме Windows загÑÑзка библиоÑек пÑи запÑÑке ÑеÑвеÑа не ÑокÑаÑÐ°ÐµÑ Ð²ÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка каждого нового ÑеÑвеÑного пÑоÑеÑÑа; каждÑй пÑоÑеÑÑ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ загÑÑжаÑÑ Ð²Ñе библиоÑеки. Ðднако паÑамеÑÑ
shared_preload_librariesвÑÑ Ð¶Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в Windows Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки библиоÑек, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑполнÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе опеÑаÑии пÑи запÑÑке главного пÑоÑеÑÑа.jit_provider(string) #Ð ÑÑой пеÑеменной ÑказÑваеÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека пÑовайдеÑа JIT, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ (Ñм. ÐодÑаздел 32.4.2). ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
llvmjit. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.ÐÑли ÑказÑваеÑÑÑ Ð½ÐµÑÑÑеÑÑвÑÑÑÐ°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека, JIT не бÑÐ´ÐµÑ ÑабоÑаÑÑ, но ÑÑо не ÑÑиÑаеÑÑÑ Ð¾Ñибкой. Такое поведение позволÑÐµÑ ÑÑÑанавливаÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ JIT оÑделÑно Ð¾Ñ Ð¾Ñновного пакеÑа PostgreSQL.
20.11.4. ÐÑÑгие паÑамеÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ #
dynamic_library_path(string) #Ðогда ÑÑебÑеÑÑÑ Ð¾ÑкÑÑÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑки загÑÑжаемÑй модÑÐ»Ñ Ð¸ его имÑ, заданное в команде
CREATE FUNCTIONилиLOADне ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼Ñн каÑалогов (Ñ. е. в ÑÑом имени Ð½ÐµÑ ÐºÐ¾Ñой ÑеÑÑÑ), ÑиÑÑема бÑÐ´ÐµÑ Ð¸ÑкаÑÑ Ð·Ð°Ð¿ÑоÑеннÑй Ñайл в данном пÑÑи.ÐнаÑением паÑамеÑÑа
dynamic_library_pathдолжен бÑÑÑ ÑпиÑок абÑолÑÑнÑÑ Ð¿ÑÑей, ÑазделÑннÑÑ Ð´Ð²Ð¾ÐµÑоÑием (или ÑоÑкой Ñ Ð·Ð°Ð¿ÑÑой в Windows). ÐÑли ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² ÑÑом ÑпиÑке наÑинаеÑÑÑ Ñо ÑпеÑиалÑной ÑÑÑоки$libdir, вмеÑÑо Ð½ÐµÑ Ð¿Ð¾Ð´ÑÑавлÑеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñй пÑи компилÑÑии пÑÑÑ ÐºÐ°Ñалога библиоÑек PostgreSQL; в ÑÑÐ¾Ñ ÐºÐ°Ñалог ÑÑÑанавливаÑÑÑÑ Ð¼Ð¾Ð´Ñли, поÑÑавлÑемÑе в ÑоÑÑаве ÑÑандаÑÑного диÑÑÑибÑÑива PostgreSQL. (ЧÑÐ¾Ð±Ñ ÑзнаÑÑ Ð¸Ð¼Ñ ÑÑого каÑалога, можно вÑполниÑÑpg_config --pkglibdir.) ÐапÑимеÑ:dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
Ðли в ÑÑеде Windows:
dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑого паÑамеÑÑа â
'$libdir'. ÐÑли его знаÑение â пÑÑÑÐ°Ñ ÑÑÑока, авÑомаÑиÑеÑкий поиÑк по Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð¿ÑÑи оÑклÑÑаеÑÑÑ.СÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавом
SETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð² пÑоÑеÑÑе ÑабоÑÑ ÑеÑвеÑа, но Ñакое изменение бÑÐ´ÐµÑ Ð´ÐµÐ¹ÑÑвоваÑÑ ÑолÑко до завеÑÑÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑкого ÑоединениÑ, Ñак ÑÑо ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ ÑледÑÐµÑ Ð¾ÑÑавиÑÑ Ð´Ð»Ñ Ñелей ÑазÑабоÑки. ÐÐ»Ñ Ð´ÑÑÐ³Ð¸Ñ Ñелей ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑекомендÑеÑÑÑ ÑÑÑанавливаÑÑ Ð² Ñайле конÑигÑÑаÑииpostgresql.conf.gin_fuzzy_search_limit(integer) #ÐадаÑÑ Ð¼Ñгкий веÑÑ Ð½Ð¸Ð¹ Ð»Ð¸Ð¼Ð¸Ñ Ð´Ð»Ñ ÑазмеÑа набоÑа, возвÑаÑаемого пÑи ÑканиÑовании индекÑов GIN. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 70.5.