53.25. pg_settings #
ÐÑедÑÑавление pg_settings оÑкÑÑÐ²Ð°ÐµÑ Ð´Ð¾ÑÑÑп к паÑамеÑÑам вÑемени вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑвеÑа. Ðо ÑÑÑи оно пÑедÑÑавлÑÐµÑ Ñобой алÑÑеÑнаÑивнÑй инÑеÑÑÐµÐ¹Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ SHOW и SET. Ðно Ñакже позволÑÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑвойÑÑва каждого паÑамеÑÑа, коÑоÑÑе нелÑÐ·Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно, иÑполÑзÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SHOW, напÑÐ¸Ð¼ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑе и макÑималÑнÑе знаÑениÑ.
ТаблиÑа 53.25. СÑолбÑÑ pg_settings
Тип ÑÑолбÑа ÐпиÑание |
|---|
ÐÐ¼Ñ Ð¿Ð°ÑамеÑÑа конÑигÑÑаÑии вÑемени вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ |
ТекÑÑее знаÑение паÑамеÑÑа |
ÐеÑвно подÑазÑÐ¼ÐµÐ²Ð°ÐµÐ¼Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñа измеÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа |
ÐогиÑеÑÐºÐ°Ñ Ð³ÑÑппа паÑамеÑÑа |
ÐÑаÑкое опиÑание паÑамеÑÑа |
ÐополниÑелÑное, более подÑобное, опиÑание паÑамеÑÑа |
ÐонÑекÑÑ, в коÑоÑом Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа (Ñм. ниже) |
Тип паÑамеÑÑа ( |
ÐÑÑоÑник ÑекÑÑего знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа |
ÐинималÑное допÑÑÑимое знаÑение паÑамеÑÑа (NULL Ð´Ð»Ñ Ð½ÐµÑиÑловÑÑ Ð·Ð½Ð°Ñений) |
ÐакÑималÑно допÑÑÑимое знаÑение паÑамеÑÑа (NULL Ð´Ð»Ñ Ð½ÐµÑиÑловÑÑ Ð·Ð½Ð°Ñений) |
ÐопÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа-пеÑеÑиÑÐ»ÐµÐ½Ð¸Ñ (NULL Ð´Ð»Ñ Ð·Ð½Ð°Ñений не пеÑеÑиÑлений) |
ÐнаÑение паÑамеÑÑа, ÑÑÑанавливаемое пÑи запÑÑке ÑеÑвеÑа, еÑли паÑамеÑÑ Ð½Ðµ ÑÑÑанавливаеÑÑÑ Ð´ÑÑгим обÑазом |
ÐнаÑение, к коÑоÑÐ¾Ð¼Ñ Ð±ÑÐ´ÐµÑ ÑбÑаÑÑваÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° |
Файл конÑигÑÑаÑии, в коÑоÑом бÑло задано ÑекÑÑее знаÑение (NULL Ð´Ð»Ñ Ð·Ð½Ð°Ñений, полÑÑеннÑÑ
не из Ñайлов конÑигÑÑаÑии, или пÑи ÑÑении ÑÑого Ð¿Ð¾Ð»Ñ Ð½Ðµ ÑÑпеÑполÑзоваÑелем и не полÑзоваÑелем Ñ Ð¿Ñавами Ñоли |
ÐÐ¾Ð¼ÐµÑ ÑÑÑоки в Ñайле конÑигÑÑаÑии, в коÑоÑой бÑло задано ÑекÑÑее знаÑение (NULL Ð´Ð»Ñ Ð·Ð½Ð°Ñений, полÑÑеннÑÑ
не из Ñайлов конÑигÑÑаÑии, или пÑи ÑÑении ÑÑого Ð¿Ð¾Ð»Ñ Ð½Ðµ ÑÑпеÑполÑзоваÑелем и не полÑзоваÑелем Ñ Ð¿Ñавами Ñоли |
|
Ðоле context Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð¾Ð´Ð½Ð¾ из ÑледÑÑÑиÑ
знаÑений (они пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² поÑÑдке ÑменÑÑÐµÐ½Ð¸Ñ ÑложноÑÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов):
internalÐÑи паÑамеÑÑÑ Ð½ÐµÐ»ÑÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно; они оÑÑажаÑÑ Ð·Ð½Ð°ÑениÑ, опÑеделÑемÑе внÑÑÑи ÑиÑÑемÑ. ÐекоÑоÑÑе из Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ измениÑÑ, пеÑеÑобÑав ÑеÑÐ²ÐµÑ Ñ Ð´ÑÑгими паÑамеÑÑами конÑигÑÑаÑии, либо пеÑедав дÑÑгие аÑгÑменÑÑ initdb.
postmasterÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ñ ÑолÑко пÑи запÑÑке ÑеÑвеÑа, Ñак ÑÑо лÑбое изменение ÑÑебÑÐµÑ Ð¿ÐµÑезапÑÑка ÑеÑвеÑа. ÐнаÑÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов обÑÑно задаÑÑÑÑ Ð²
postgresql.conf, либо пеÑедаÑÑÑÑ Ð² командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. РазÑмееÑÑÑ, паÑамеÑÑÑ Ð±Ð¾Ð»ÐµÐµ низкого ÑÑовнÑcontextÑакже можно задаÑÑ Ð² Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð·Ð°Ð¿ÑÑка ÑеÑвеÑа.sighupÐнеÑÑннÑе в
postgresql.confÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов можно пÑимениÑÑ, не пеÑезапÑÑÐºÐ°Ñ ÑеÑвеÑ. ÐÑли пеÑедаÑÑ ÑпÑавлÑÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ Ñигнал SIGHUP, он пеÑеÑиÑаеÑpostgresql.confи пÑÐ¸Ð¼ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ. УпÑавлÑÑÑий пÑоÑеÑÑ Ñакже пеÑеÑлÑÑ Ñигнал SIGHUP вÑем Ñвоим доÑеÑним пÑоÑеÑÑам, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ Ñоже пÑинÑли новое знаÑение.superuser-backendÐнеÑÑннÑе в
postgresql.confÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов можно пÑимениÑÑ Ð±ÐµÐ· пеÑезапÑÑка ÑеÑвеÑа; Ð¸Ñ Ñакже можно задаÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑеделÑнного ÑеанÑа в пакеÑе запÑоÑа ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (напÑимеÑ, ÑеÑез пеÑеменнÑÑ Ð¾ÐºÑÑжениÑPGOPTIONS, ÑÑиÑÑваемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñекой libpq), но ÑделаÑÑ ÑÑо Ð¼Ð¾Ð¶ÐµÑ ÑолÑко ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ полÑзоваÑÐµÐ»Ñ Ñ ÑооÑвеÑÑÑвÑÑÑими пÑавамиSET. Ðднако ÑÑи паÑамеÑÑÑ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не менÑÑÑÑÑ Ð² ÑеанÑе, когда он Ñже наÑаÑ. ÐÑли Ð²Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñе Ð¸Ñ Ð²postgresql.conf, оÑпÑавÑÑе Ñигнал SIGHUP ÑпÑавлÑÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð½ пеÑеÑиÑалpostgresql.conf. ÐовÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐµÐ¹ÑÑвÑÑÑ ÑолÑко на ÑеанÑÑ, запÑÑкаемÑе поÑле ÑÑого.backendÐнеÑÑннÑе в
postgresql.confÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов можно пÑимениÑÑ Ð±ÐµÐ· пеÑезапÑÑка ÑеÑвеÑа; Ð¸Ñ Ñакже можно задаÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑеделÑнного ÑеанÑа в пакеÑе запÑоÑа ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (напÑимеÑ, ÑеÑез пеÑеменнÑÑ Ð¾ÐºÑÑжениÑPGOPTIONS, ÑÑиÑÑваемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñекой libpq); ÑÑо Ð¼Ð¾Ð¶ÐµÑ ÑделаÑÑ Ð»Ñбой полÑзоваÑÐµÐ»Ñ Ð² ÑвоÑм ÑеанÑе. Ðднако ÑÑи паÑамеÑÑÑ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не менÑÑÑÑÑ Ð² ÑеанÑе, когда он Ñже наÑаÑ. ÐÑли Ð²Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñе Ð¸Ñ Ð²postgresql.conf, оÑпÑавÑÑе Ñигнал SIGHUP ÑпÑавлÑÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð½ пеÑеÑиÑалpostgresql.conf. ÐовÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐµÐ¹ÑÑвÑÑÑ ÑолÑко на ÑеанÑÑ, запÑÑкаемÑе поÑле ÑÑого.superuserÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ измениÑÑ Ð²
postgresql.conf, либо в ÑÐ°Ð¼ÐºÐ°Ñ ÑеанÑа, командойSET; но ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑими пÑавамиSETмогÑÑ Ð¼ÐµÐ½ÑÑÑ Ð¸Ñ , иÑполÑзÑÑSET. ÐзменениÑpostgresql.confне повлиÑÑÑ Ð½Ð° ÑÑÑеÑÑвÑÑÑие ÑеанÑÑ, еÑли в Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹SETбÑли Ð·Ð°Ð´Ð°Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑе знаÑениÑ.userÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ Ð²
postgresql.conf, либо в ÑÐ°Ð¼ÐºÐ°Ñ ÑеанÑа, командойSET. Ð ÑÐ°Ð¼ÐºÐ°Ñ ÑеанÑа изменÑÑÑ Ð¸Ñ ÑазÑеÑено вÑем полÑзоваÑелÑм. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²postgresql.confбÑдÑÑ Ð¾ÑÑÐ°Ð¶ÐµÐ½Ñ Ð² ÑÑÑеÑÑвÑÑÑÐ¸Ñ ÑеанÑÐ°Ñ , ÑолÑко еÑли в Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹SETне бÑли Ð·Ð°Ð´Ð°Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑе знаÑениÑ.
ЧÑÐ¾Ð±Ñ ÑзнаÑÑ Ð±Ð¾Ð»ÑÑе о ÑазлиÑнÑÑ ÑпоÑÐ¾Ð±Ð°Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов, обÑаÑиÑеÑÑ Ðº РазделÑ 18.1.
ÐÑо пÑедÑÑавление не допÑÑÐºÐ°ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ и Ñдаление ÑÑÑок, но допÑÑÐºÐ°ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ. Ðоманда UPDATE, пÑименÑÐ½Ð½Ð°Ñ Ðº ÑÑÑоке pg_settings, ÑавнознаÑна вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SET Ð´Ð»Ñ ÑÑого паÑамеÑÑа. Ðзменение повлиÑÐµÑ ÑолÑко на знаÑение в ÑекÑÑем ÑеанÑе. ÐÑли UPDATE вÑполнÑеÑÑÑ Ð² ÑÑанзакÑии, коÑоÑÐ°Ñ Ð·Ð°Ñем пÑеÑÑваеÑÑÑ, ÑÑÑÐµÐºÑ UPDATE пÑопадаеÑ, когда ÑÑанзакÑÐ¸Ñ Ð¾ÑкаÑÑваеÑÑÑ. ÐоÑле ÑикÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÐºÑÑжаÑÑей ÑÑанзакÑии ÑÑÐ¾Ñ ÑÑÑÐµÐºÑ ÑоÑ
ÑанÑеÑÑÑ Ð´Ð¾ завеÑÑÐµÐ½Ð¸Ñ ÑеанÑа, еÑли он не бÑÐ´ÐµÑ Ð¿ÐµÑеопÑеделÑн дÑÑгой командой UPDATE или SET.
Ð ÑÑом пÑедÑÑавлении не оÑобÑажаÑÑÑÑ Ð²Ð½ÐµÑиÑÑемнÑе паÑамеÑÑÑ, еÑли опÑеделÑÑÑий иÑ
модÑÐ»Ñ ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð½Ðµ бÑÐ´ÐµÑ Ð·Ð°Ð³ÑÑжен к моменÑÑ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ (напÑимеÑ, он Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð² shared_preload_libraries или пÑи вÑзове ÑÑнкÑии ÑÑÐ¾Ð²Ð½Ñ C в данном ÑаÑÑиÑении или пÑи вÑполнении ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ LOAD). Так, напÑимеÑ, модÑли аÑÑ
ивиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑÑно загÑÑжаÑÑÑÑ Ð¿ÑоÑеÑÑом аÑÑ
иваÑоÑа, а не обÑÑнÑми ÑеанÑами, поÑÑÐ¾Ð¼Ñ Ð² данном пÑедÑÑавлении не бÑдÑÑ Ð¾ÑобÑажаÑÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ðµ внеÑиÑÑемнÑе паÑамеÑÑÑ, опÑеделÑннÑе в ÑакиÑ
модÑлÑÑ
, еÑли ÑпеÑиалÑно не загÑÑзиÑÑ Ð¸Ñ
в обÑлÑживаÑÑий пÑоÑеÑÑ, вÑполнÑÑÑий запÑоÑ.