ALTER SYSTEM
ALTER SYSTEM â измениÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии ÑеÑвеÑа
СинÑакÑиÑ
ALTER SYSTEM SETпаÑамеÑÑ_конÑигÑÑаÑии{ TO | = } {знаÑение[, ...] | DEFAULT } ALTER SYSTEM RESETпаÑамеÑÑ_конÑигÑÑаÑииALTER SYSTEM RESET ALL
ÐпиÑание
ÐпеÑаÑÐ¾Ñ ALTER SYSTEM пÑименÑеÑÑÑ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов конÑигÑÑаÑии ÑеÑвеÑа, ÑаÑпÑоÑÑÑанÑÑÑиÑ
ÑÑ Ð½Ð° веÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ
. ÐолÑзоваÑÑÑÑ Ð¸Ð¼ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñдобнее, Ñем вÑÑÑнÑÑ ÑедакÑиÑоваÑÑ Ñайл postgresql.conf. ALTER SYSTEM запиÑÑÐ²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ðµ знаÑение паÑамеÑÑа в Ñайл postgresql.auto.conf, коÑоÑÑй ÑÑиÑÑваеÑÑÑ ÑеÑвеÑом в дополнение к postgresql.conf. ÐÑи Ñказании в каÑеÑÑве знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа DEFAULT или пÑименении ÑоÑÐ¼Ñ RESET ÑооÑвеÑÑÑвÑÑÑий ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÐºÐ¾Ð½ÑигÑÑаÑии ÑдалÑеÑÑÑ Ð¸Ð· postgresql.auto.conf. УдалиÑÑ Ð²Ñе наÑÑÑоеннÑе Ñаким ÑпоÑобом паÑамеÑÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿Ñедложение RESET ALL.
ÐнаÑениÑ, ÑÑÑановленнÑе командой ALTER SYSTEM, вÑÑÑпаÑÑ Ð² ÑÐ¸Ð»Ñ Ð¿Ð¾Ñле ÑледÑÑÑей пеÑезагÑÑзки конÑигÑÑаÑии ÑеÑвеÑа либо поÑле пеÑезапÑÑка ÑеÑвеÑа (еÑли ÑÑо паÑамеÑÑÑ, воÑпÑинимаемÑе ÑолÑко пÑи запÑÑке). ÐеÑезагÑÑзиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑеÑвеÑа можно, вÑзвав SQL-ÑÑнкÑÐ¸Ñ pg_reload_conf(), вÑполнив pg_ctl reload или оÑпÑавив Ñигнал SIGHUP Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ ÑеÑвеÑÐ½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ.
ÐÑполниÑÑ ALTER SYSTEM могÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели. Ð Ñак как ÑÑа команда ÑабоÑÐ°ÐµÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно Ñ Ñайловой ÑиÑÑемой и не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ñменена, ÐµÑ Ð½ÐµÐ»ÑÐ·Ñ Ð¿Ð¾Ð¼ÐµÑÑиÑÑ Ð² блок ÑÑанзакÑии или ÑÑнкÑиÑ.
ÐаÑамеÑÑÑ
паÑамеÑÑ_конÑигÑÑаÑииÐÐ¼Ñ ÑÑÑанавливаемого паÑамеÑÑа конÑигÑÑаÑии. СпиÑок доÑÑÑпнÑÑ Ð¿Ð°ÑамеÑÑов пÑиведÑн в Ðлаве 20.
знаÑениеÐовое знаÑение паÑамеÑÑа. ÐнаÑениÑми могÑÑ Ð±ÑÑÑ ÑÑÑоковÑе конÑÑанÑÑ, иденÑиÑикаÑоÑÑ, ÑиÑла или ÑпиÑки ÑÐ°ÐºÐ¸Ñ ÑлеменÑов ÑеÑез запÑÑÑÑ, в завиÑимоÑÑи Ð¾Ñ ÐºÐ¾Ð½ÐºÑеÑного паÑамеÑÑа. ÐнаÑениÑ, не ÑвлÑÑÑиеÑÑ ÑиÑлами или дейÑÑвиÑелÑнÑми иденÑиÑикаÑоÑами, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°ÐºÐ»ÑÑаÑÑÑÑ Ð² кавÑÑки. ÐÑли в каÑеÑÑве знаÑÐµÐ½Ð¸Ñ ÑказаÑÑ
DEFAULT, паÑамеÑÑ Ð¸ его знаÑение ÑдалÑÑÑÑÑ Ð¸Ð·postgresql.auto.conf.ÐÐ»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð¿Ð°ÑамеÑÑов, пÑинимаÑÑÐ¸Ñ Ð² каÑеÑÑве знаÑÐµÐ½Ð¸Ñ ÑпиÑок, знаÑÐµÐ½Ð¸Ñ Ð² кавÑÑÐºÐ°Ñ Ð±ÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² Ñайл в двойнÑÑ ÐºÐ°Ð²ÑÑÐºÐ°Ñ Ð´Ð»Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñобелов и запÑÑÑÑ ; в дÑÑÐ³Ð¸Ñ ÑлÑÑаÑÑ Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ñакого ÑÑÑекÑа Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ иÑполÑзоваÑÑ Ð´Ð²Ð¾Ð¹Ð½Ñе кавÑÑки внÑÑÑи ÑÑÑок, заклÑÑÑннÑÑ Ð² одинаÑнÑе кавÑÑки.
ÐÑимеÑаниÑ
С помоÑÑÑ ÑÑой ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð·Ð°Ð´Ð°ÑÑ data_directory, Ñавно как и дÑÑгие паÑамеÑÑÑ, недопÑÑÑимÑе в postgresql.conf (напÑимеÑ, пÑедÑÑÑановленнÑе паÑамеÑÑÑ).
ÐÑÑгие ÑпоÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑойки паÑамеÑÑов опиÑÐ°Ð½Ñ Ð² Разделе 20.1.
ÐÑимеÑÑ
УÑÑановка ÑÑÐ¾Ð²Ð½Ñ Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала ÑÑанзакÑий (wal_level):
ALTER SYSTEM SET wal_level = replica;
ÐÑмена изменениÑ, воÑÑÑановление знаÑениÑ, заданного в postgresql.conf:
ALTER SYSTEM RESET wal_level;
СовмеÑÑимоÑÑÑ
ÐпеÑаÑÐ¾Ñ ALTER SYSTEM ÑвлÑеÑÑÑ ÑаÑÑиÑением PostgreSQL.