18.8. РегиÑÑÑаÑÐ¸Ñ Ð¾Ñибок и пÑоÑоколиÑование ÑабоÑÑ ÑеÑвеÑа #
- 18.8.1. ÐÑда пÑоÑоколиÑоваÑÑ
- 18.8.2. Ðогда пÑоÑоколиÑоваÑÑ
- 18.8.3. ЧÑо пÑоÑоколиÑоваÑÑ
- 18.8.4. ÐÑполÑзование вÑвода жÑÑнала в ÑоÑмаÑе CSV
- 18.8.5. ÐÑполÑзование вÑвода жÑÑнала в ÑоÑмаÑе JSON
- 18.8.6. Ðаголовок пÑоÑеÑÑа
- 18.8.2. Ðогда пÑоÑоколиÑоваÑÑ
18.8.1. ÐÑда пÑоÑоколиÑоваÑÑ #
log_destination(string) #Postgres Pro поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð½ÐµÑколÑко меÑодов пÑоÑоколиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑообÑений ÑеÑвеÑа: stderr, csvlog, jsonlog и syslog. Ð Windows Ñакже поддеÑживаеÑÑÑ eventlog. РкаÑеÑÑве знаÑениÑ
log_destinationÑказÑваеÑÑÑ Ð¾Ð´Ð¸Ð½ или неÑколÑко меÑодов пÑоÑоколиÑованиÑ, ÑазделÑннÑÑ Ð·Ð°Ð¿ÑÑÑми. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ stderr. ÐаÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в конÑигÑÑаÑионнÑÑ ÑÐ°Ð¹Ð»Ð°Ñ Ð¸Ð»Ð¸ в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ÐÑли в
log_destinationвклÑÑено знаÑение csvlog, Ñо пÑоÑоколиÑование ведÑÑÑÑ Ð² ÑоÑмаÑе CSV (ÑазделÑннÑе запÑÑÑми знаÑениÑ). ÐÑо Ñдобно Ð´Ð»Ñ Ð¿ÑогÑаммной обÑабоÑки жÑÑнала. ÐодÑобнее об ÑÑом в ÐодÑазделе 18.8.4. ÐÐ»Ñ Ð²Ñвода в ÑоÑмаÑе CSV должен бÑÑÑ Ð²ÐºÐ»ÑÑÑн logging_collector.ÐÑли в
log_destinationвклÑÑено знаÑение jsonlog, Ñо пÑоÑоколиÑование ведÑÑÑÑ Ð² ÑоÑмаÑе JSON. ÐÑо Ñдобно Ð´Ð»Ñ Ð¿ÑогÑаммной обÑабоÑки жÑÑнала. ÐодÑобнее об ÑÑом в ÐодÑазделе 18.8.5. ÐÐ»Ñ Ð²Ñвода в ÑоÑмаÑе JSON должен бÑÑÑ Ð²ÐºÐ»ÑÑÑн logging_collector.ÐÑли пÑиÑÑÑÑÑвÑÐµÑ Ñказание stderr, csvlog или jsonlog, ÑоздаÑÑÑÑ Ñайл
current_logfiles, в коÑоÑÑй запиÑÑваеÑÑÑ ÑаÑположение Ñайлов жÑÑнала, в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð¸ÑполÑзÑемÑÑ ÑбоÑÑиком ÑообÑений Ð´Ð»Ñ ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð½Ð°Ð·Ð½Ð°Ñений. ÐÑо позволÑÐµÑ Ð»ÐµÐ³ÐºÐ¾ опÑеделиÑÑ, какие ÑÐ°Ð¹Ð»Ñ Ð¶ÑÑнала иÑполÑзÑÑÑÑÑ Ð² даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑкземплÑÑом ÑеÑвеÑа. ÐапÑимеÑ, он Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ñакое ÑодеÑжание:stderr log/postgresql.log csvlog log/postgresql.csv jsonlog log/postgresql.json
current_logfilesпеÑепиÑÑваеÑÑÑ, когда пÑи пÑокÑÑÑке ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ñй Ñайл жÑÑнала или когда изменÑеÑÑÑ Ð·Ð½Ð°Ñениеlog_destination. Ðн ÑдалÑеÑÑÑ, когда вlog_destinationне задаÑÑÑÑ Ð½Ð¸ stderr, ни csvlog, ни jsonlog, а Ñакже когда ÑбоÑÑик ÑообÑений оÑклÑÑÑн.ÐÑимеÑание
РболÑÑинÑÑве ÑиÑÑем Unix поÑÑебÑеÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑиÑÑемного демона syslog Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð°ÑианÑа syslog в
log_destination. ÐÐ»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñипа пÑоÑоколиÑÑемой пÑогÑÐ°Ð¼Ð¼Ñ (facility), Postgres Pro Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑLOCAL0поLOCAL7(Ñм. syslog_facility). Ðднако на болÑÑинÑÑве плаÑÑоÑм конÑигÑÑаÑÐ¸Ñ syslog по ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ðµ ÑÑиÑÑÐ²Ð°ÐµÑ ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð¾Ð³Ð¾ Ñипа. ЧÑÐ¾Ð±Ñ ÑÑо ÑабоÑало, поÑÑебÑеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð² конÑигÑÑаÑÐ¸Ñ Ð´ÐµÐ¼Ð¾Ð½Ð° syslog ÑÑо-Ñо подобное:local0.* /var/log/postgresql
ÐÐ»Ñ Ð¸ÑполÑзованиÑ
eventlogвlog_destinationна Windows, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ заÑегиÑÑÑиÑоваÑÑ Ð¸ÑÑоÑник ÑобÑÑий и его библиоÑÐµÐºÑ Ð² опеÑаÑионной ÑиÑÑеме. Тогда Windows Event Viewer ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑобÑажаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¶ÑÑнала ÑобÑÑий. ÐодÑобнее в Разделе 17.12.logging_collector(boolean) #ÐаÑамеÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑбоÑÑик ÑообÑений (logging collector). ÐÑо ÑоновÑй пÑоÑеÑÑ, коÑоÑÑй ÑобиÑÐ°ÐµÑ Ð¾ÑпÑавленнÑе в stderr ÑообÑÐµÐ½Ð¸Ñ Ð¸ пеÑенапÑавлÑÐµÑ Ð¸Ñ Ð² жÑÑналÑнÑе ÑайлÑ. Такой Ð¿Ð¾Ð´Ñ Ð¾Ð´ заÑаÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ полезен Ñем запиÑÑ Ð² syslog, поÑколÑÐºÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑообÑÐµÐ½Ð¸Ñ Ð² syslog могÑÑ Ð½Ðµ попаÑÑÑ. (ТипиÑнÑй пÑÐ¸Ð¼ÐµÑ Ñ ÑообÑениÑми об оÑÐ¸Ð±ÐºÐ°Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑкого ÑвÑзÑваниÑ, дÑÑгой пÑÐ¸Ð¼ÐµÑ â оÑибки в ÑкÑипÑÐ°Ñ Ñипа
archive_command.) ÐÐ»Ñ ÑÑÑановки паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑк ÑеÑвеÑа.ÐÑимеÑание
Ðожно обойÑиÑÑ Ð±ÐµÐ· ÑбоÑÑика ÑообÑений и пÑоÑÑо пиÑаÑÑ Ð² stderr. СообÑÐµÐ½Ð¸Ñ Ð±ÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² меÑÑо, кÑда напÑавлен поÑок stderr. Такой ÑпоÑоб подойдÑÑ ÑолÑко Ð´Ð»Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ¸Ñ Ð¾Ð±ÑÑмов пÑоÑоколиÑованиÑ, поÑÐ¾Ð¼Ñ ÑÑо не пÑедоÑÑавлÑÐµÑ ÑдобнÑÑ ÑÑедÑÑв Ð´Ð»Ñ Ð¾ÑганизаÑии ÑоÑаÑии жÑÑналÑнÑÑ Ñайлов. ÐÑоме Ñого, на некоÑоÑÑÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ Ð¾Ñказ Ð¾Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑбоÑÑика ÑообÑений Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑеÑе или иÑÐºÐ°Ð¶ÐµÐ½Ð¸Ñ ÑообÑений, Ñак как неÑколÑко пÑоÑеÑÑов, одновÑеменно пиÑÑÑÐ¸Ñ Ð² один жÑÑналÑнÑй Ñайл, могÑÑ Ð¿ÐµÑезапиÑÑваÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð´ÑÑг дÑÑга.
ÐÑимеÑание
СбоÑÑик ÑпÑоекÑиÑован Ñак, ÑÑÐ¾Ð±Ñ ÑообÑÐµÐ½Ð¸Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не ÑеÑÑлиÑÑ. Ð ÑÑо знаÑиÑ, ÑÑо пÑи оÑÐµÐ½Ñ Ð²ÑÑокой нагÑÑзке, ÑеÑвеÑнÑе пÑоÑеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑÐ¾Ð²Ð°Ð½Ñ Ð¿Ñи попÑÑке оÑпÑавиÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÑÐ±Ð¾Ñ Ñонового пÑоÑеÑÑа ÑбоÑÑика. РпÑоÑивоположноÑÑÑ ÑÑомÑ, syslog пÑедпоÑиÑÐ°ÐµÑ ÑдалÑÑÑ ÑообÑениÑ, пÑи невозможноÑÑи Ð¸Ñ Ð·Ð°Ð¿Ð¸ÑаÑÑ. ÐоÑÑÐ¾Ð¼Ñ ÑаÑÑÑ ÑообÑений Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾ÑеÑÑна, но ÑиÑÑема не бÑÐ´ÐµÑ Ð±Ð»Ð¾ÐºÐ¸ÑоваÑÑÑÑ.
log_directory(string) #ÐÑи вклÑÑÑнном
logging_collector, опÑеделÑÐµÑ ÐºÐ°Ñалог, в коÑоÑом ÑоздаÑÑÑÑ Ð¶ÑÑналÑнÑе ÑайлÑ. Ðожно задаваÑÑ ÐºÐ°Ðº абÑолÑÑнÑй пÑÑÑ, Ñак и оÑноÑиÑелÑнÑй Ð¾Ñ ÐºÐ°Ñалога даннÑÑ ÐºÐ»Ð°ÑÑеÑа. ÐаÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в конÑигÑÑаÑионнÑÑ ÑÐ°Ð¹Ð»Ð°Ñ Ð¸Ð»Ð¸ в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âlog.log_filename(string) #ÐÑи вклÑÑÑнном
logging_collectorзадаÑÑ Ð¸Ð¼ÐµÐ½Ð° жÑÑналÑнÑÑ Ñайлов. ÐнаÑение ÑÑакÑÑеÑÑÑ ÐºÐ°Ðº ÑÑÑока ÑоÑмаÑа в ÑÑнкÑииstrftime, поÑÑÐ¾Ð¼Ñ Ð² ней можно иÑполÑзоваÑÑ ÑпеÑиÑикаÑоÑÑ%Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² имена Ñайлов инÑоÑмаÑии о даÑе и вÑемени. (ÐÑи налиÑии завиÑÑÑÐ¸Ñ Ð¾Ñ ÑаÑового поÑÑа ÑпеÑиÑикаÑоÑов%бÑÐ´ÐµÑ Ð¸ÑполÑзован поÑÑ, заданнÑй в log_timezone.) ÐоддеÑживаемÑе ÑпеÑиÑикаÑоÑÑ%Ð¿Ð¾Ñ Ð¾Ð¶Ð¸ на Ñе, ÑÑо пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² опиÑании strftime ÑпеÑиÑикаÑии Open Group. ÐбÑаÑиÑе внимание, ÑÑо ÑиÑÑÐµÐ¼Ð½Ð°Ñ ÑÑнкÑиÑstrftimeнапÑÑмÑÑ Ð½Ðµ иÑполÑзÑеÑÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð½ÐµÑÑандаÑÑнÑе, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ñ Ð¾ÑобенноÑÑи не бÑдÑÑ ÑабоÑаÑÑ. ÐнаÑение по ÑмолÑаниÑpostgresql-%Y-%m-%d_%H%M%S.log.ÐÑли Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñайлов не иÑполÑзÑÑÑÑÑ ÑпеÑиÑикаÑоÑÑ
%, Ñо Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¸Ñка, ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑилиÑÑ Ð´Ð»Ñ ÑоÑаÑии жÑÑналÑнÑÑ Ñайлов. РвеÑÑиÑÑ Ð´Ð¾ 8.4, пÑи оÑÑÑÑÑÑвии ÑпеÑиÑикаÑоÑов%, PostgreSQL авÑомаÑиÑеÑки добавлÑл вÑÐµÐ¼Ñ Ð² ÑоÑмаÑе Epoch к имени Ñайла. СейÑÐ°Ñ Ð² ÑÑом болÑÑе Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи.ÐÑли в
log_destinationвклÑÑÑн вÑвод в ÑоÑмаÑе CSV, Ñо к имени жÑÑналÑного Ñайла бÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾ ÑаÑÑиÑение.csv. (ÐÑлиlog_filenameзаканÑиваеÑÑÑ Ð½Ð°.log, Ñо ÑÑо ÑаÑÑиÑение замениÑÑÑ Ð½Ð°.csv.)ÐÑли в
log_destinationвклÑÑÑн вÑвод в ÑоÑмаÑе JSON, Ñо к имени жÑÑналÑного Ñайла бÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾ ÑаÑÑиÑение.json. (ÐÑлиlog_filenameзаканÑиваеÑÑÑ Ð½Ð°.log, Ñо ÑÑо ÑаÑÑиÑение замениÑÑÑ Ð½Ð°.json.)ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.log_file_mode(integer) #Ð ÑиÑÑÐµÐ¼Ð°Ñ Unix задаÑÑ Ð¿Ñава доÑÑÑпа к жÑÑналÑнÑм Ñайлам, пÑи вклÑÑÑнном
logging_collector. (Ð Windows ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ.) ÐнаÑение паÑамеÑÑа должно бÑÑÑ ÑиÑловÑм, в ÑоÑмаÑе командchmodиumask. (ÐÐ»Ñ Ð²Ð¾ÑÑмеÑиÑного ÑоÑмаÑа, ÑÑебÑеÑÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð»Ð¸Ð´Ð¸ÑÑÑÑий0(нолÑ).)ÐÑава доÑÑÑпа по ÑмолÑаниÑ
0600, Ñ. е. ÑолÑко Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ ÑеÑвеÑа Ð¼Ð¾Ð¶ÐµÑ ÑиÑаÑÑ Ð¸ пиÑаÑÑ Ð² жÑÑналÑнÑе ÑайлÑ. Также, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм знаÑение0640, ÑазÑеÑаÑÑее ÑÑение Ñайлов Ñленам гÑÑппÑ. Ðднако ÑÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Ñакое знаÑение, нÑжно каÑалог Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¶ÑÑналÑнÑÑ Ñайлов (log_directory) вÑнеÑÑи за пÑÐµÐ´ÐµÐ»Ñ ÐºÐ°Ñалога даннÑÑ ÐºÐ»Ð°ÑÑеÑа. РлÑбом ÑлÑÑае нежелаÑелÑно оÑкÑÑваÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ Ð´Ð¾ÑÑÑп на ÑÑение жÑÑналÑнÑÑ Ñайлов, Ñак как они могÑÑ ÑодеÑжаÑÑ ÐºÐ¾Ð½ÑиденÑиалÑнÑе даннÑе.ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.log_rotation_age(integer) #ÐÑи вклÑÑÑнном
logging_collectorÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑÐµÑ Ð¼Ð°ÐºÑималÑное вÑÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ оÑделÑного жÑÑналÑного Ñайла, по иÑÑеÑении коÑоÑого ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ñй Ñайл. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в минÑÑÐ°Ñ . ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 24 ÑаÑа. ÐÑи нÑлевом знаÑении Ñмена Ñайлов по вÑемени не пÑоизводиÑÑÑ. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.log_rotation_size(integer) #ÐÑи вклÑÑÑнном
logging_collectorÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑÐµÑ Ð¼Ð°ÐºÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÑделÑного жÑÑналÑного Ñайла. ÐÑи доÑÑижении ÑÑого ÑазмеÑа ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ñй Ñайл. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в килобайÑÐ°Ñ . ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 10 мегабайÑ. ÐÑи нÑлевом знаÑении Ñмена Ñайлов по ÑазмеÑÑ Ð½Ðµ пÑоизводиÑÑÑ. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.log_truncate_on_rotation(boolean) #ÐÑли паÑамеÑÑ
logging_collectorвклÑÑÑн, Postgres Pro бÑÐ´ÐµÑ Ð¿ÐµÑезапиÑÑваÑÑ ÑÑÑеÑÑвÑÑÑие жÑÑналÑнÑе ÑайлÑ, а не допиÑÑваÑÑ Ð² Ð½Ð¸Ñ . Ðднако пеÑезапиÑÑ Ð¿Ñи пеÑеклÑÑении на новÑй Ñайл возможна ÑолÑко в ÑезÑлÑÑаÑе ÑоÑаÑии по вÑемени, но не пÑи ÑÑаÑÑе ÑеÑвеÑа или ÑоÑаÑии по ÑазмеÑÑ Ñайла. ÐÑи вÑклÑÑенном паÑамеÑÑе вÑегда пÑодолжаеÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² ÑÑÑеÑÑвÑÑÑий Ñайл. ÐапÑимеÑ, вклÑÑение ÑÑого паÑамеÑÑа в комбинаÑии Ñlog_filenameÑавнÑмpostgresql-%H.log, пÑиведÑÑ Ðº генеÑаÑии 24-Ñ ÑаÑовÑÑ Ð¶ÑÑналÑнÑÑ Ñайлов, коÑоÑÑе ÑиклиÑеÑки пеÑезапиÑÑваÑÑÑÑ. ÐаÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в конÑигÑÑаÑионнÑÑ ÑÐ°Ð¹Ð»Ð°Ñ Ð¸Ð»Ð¸ в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.ÐÑимеÑ: Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¶ÑÑналÑнÑÑ Ñайлов в ÑеÑение 7 дней, по Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ Ð½Ð° каждÑй Ð´ÐµÐ½Ñ Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ вида
server_log.Mon,server_log.Tueи Ñ. д., а Ñакже Ñ Ð°Ð²ÑомаÑиÑеÑкой пеÑезапиÑÑÑ Ñайлов пÑоÑлой недели, нÑжно ÑÑÑановиÑÑlog_filenameвserver_log.%a,log_truncate_on_rotationвonиlog_rotation_ageв1440.ÐÑимеÑ: Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¶ÑÑналÑнÑÑ Ñайлов в ÑеÑение 24 ÑаÑов, по Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ Ð½Ð° ÑаÑ, Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной возможноÑÑÑÑ Ð¿ÐµÑеклÑÑÐµÐ½Ð¸Ñ Ñайла пÑи пÑевÑÑÐµÐ½Ð¸Ñ 1ÐÐ, ÑÑÑановиÑе
log_filenameвserver_log.%H%M,log_truncate_on_rotationвon,log_rotation_ageв60иlog_rotation_sizeв1000000. Ðобавление%Mвlog_filenameÐ¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¿Ñи пеÑеклÑÑении по ÑазмеÑÑ ÑказаÑÑ Ð´ÑÑгое Ð¸Ð¼Ñ Ñайла в пÑÐµÐ´ÐµÐ»Ð°Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑаÑа.syslog_facility(enum) #ÐÑи вклÑÑÑнном пÑоÑоколиÑовании в syslog, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑÐµÑ Ð·Ð½Ð°Ñение «facility». ÐопÑÑÑимÑе знаÑениÑ
LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,LOCAL6,LOCAL7. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑLOCAL0. ÐодÑобнее в докÑменÑаÑии на ÑиÑÑемнÑй демон syslog. ÐаÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в конÑигÑÑаÑионнÑÑ ÑÐ°Ð¹Ð»Ð°Ñ Ð¸Ð»Ð¸ в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.syslog_ident(string) #ÐÑи вклÑÑÑнном пÑоÑоколиÑовании в syslog, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¸Ð¼Ñ Ð¿ÑогÑаммÑ, коÑоÑое бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² syslog Ð´Ð»Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑии ÑообÑений оÑноÑÑÑÐ¸Ñ ÑÑ Ðº Postgres Pro. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ
postgres. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.syslog_sequence_numbers(boolean) #Ðогда ÑообÑÐµÐ½Ð¸Ñ Ð²ÑводÑÑÑÑ Ð² syslog и ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (по ÑмолÑаниÑ), вÑе ÑообÑÐµÐ½Ð¸Ñ Ð±ÑдÑÑ Ð¿ÑедваÑÑÑÑÑÑ Ð¿Ð¾ÑледоваÑелÑно ÑвелиÑиваÑÑимиÑÑ Ð½Ð¾Ð¼ÐµÑами (напÑимеÑ,
[2]). ÐÑо позволÑÐµÑ Ð¾Ð±Ð¾Ð¹Ñи подавление повÑоÑов «--- поÑледнее ÑообÑение повÑоÑилоÑÑ N Ñаз ---», коÑоÑое по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾ÑÑÑеÑÑвлÑеÑÑÑ Ð²Ð¾ Ð¼Ð½Ð¾Ð³Ð¸Ñ ÑеализаÑиÑÑ syslog. Рболее ÑовÑеменнÑÑ ÑеализаÑиÑÑ syslog подавление повÑоÑнÑÑ ÑообÑений можно наÑÑÑоиÑÑ (напÑимеÑ, в rsyslog еÑÑÑ Ð´Ð¸ÑекÑива$RepeatedMsgReduction), Ñак ÑÑо ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð»Ð¸Ñне. ÐÑли же Ð²Ñ Ð´ÐµÐ¹ÑÑвиÑелÑно Ñ Ð¾ÑиÑе, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð²ÑоÑнÑе ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð°Ð²Ð»ÑлиÑÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе оÑклÑÑиÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.syslog_split_messages(boolean) #Ðогда акÑивен вÑвод ÑообÑений в syslog, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑеÑ, как бÑдÑÑ Ð´Ð¾ÑÑавлÑÑÑÑÑ ÑообÑениÑ. ÐÑли он вклÑÑÑн (по ÑмолÑаниÑ), ÑообÑÐµÐ½Ð¸Ñ ÑазделÑÑÑÑÑ Ð¿Ð¾ ÑÑÑокам, а длиннÑе ÑÑÑоки ÑазбиваÑÑÑÑ Ð½Ð° ÑÑÑоки не длиннее 1024 байÑ, ÑÑо ÑоÑÑавлÑÐµÑ ÑипиÑное огÑаниÑение ÑазмеÑа Ð´Ð»Ñ ÑÑадиÑионнÑÑ ÑеализаÑий syslog. Ðогда он оÑклÑÑÑн, ÑообÑÐµÐ½Ð¸Ñ ÑеÑвеÑа Postgres Pro пеÑедаÑÑÑÑ ÑлÑжбе syslog как еÑÑÑ, и она должна Ñама коÑÑекÑно воÑпÑинÑÑÑ Ð¿Ð¾ÑенÑиалÑно длиннÑе ÑообÑениÑ.
ÐÑли syslog в иÑоге вÑÐ²Ð¾Ð´Ð¸Ñ ÑообÑÐµÐ½Ð¸Ñ Ð² ÑекÑÑовÑй Ñайл, ÑезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ñем же и лÑÑÑе оÑÑавиÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑннÑм, Ñак как многие ÑеализаÑии syslog не ÑпоÑÐ¾Ð±Ð½Ñ Ð¾Ð±ÑабаÑÑваÑÑ Ð±Ð¾Ð»ÑÑие ÑообÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¸Ñ Ð½Ñжно ÑпеÑиалÑно наÑÑÑаиваÑÑ Ð´Ð»Ñ ÑÑого. Ðо еÑли syslog напÑавлÑÐµÑ ÑообÑÐµÐ½Ð¸Ñ Ð² некоÑоÑÑÑ Ð´ÑÑгÑÑ ÑÑедÑ, Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð¸Ð»Ð¸ бÑÐ´ÐµÑ Ñдобнее ÑÐ¾Ñ ÑанÑÑÑ Ð»Ð¾Ð³Ð¸ÑеÑкÑÑ ÑелоÑÑноÑÑÑ ÑообÑений.
ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.event_source(string) #ÐÑи вклÑÑÑнном пÑоÑоколиÑовании в event log, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¸Ð¼Ñ Ð¿ÑогÑаммÑ, коÑоÑое бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² жÑÑнале ÑобÑÑий Ð´Ð»Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑии ÑообÑений оÑноÑÑÑÐ¸Ñ ÑÑ Ðº Postgres Pro. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ
Postgres Pro. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
18.8.2. Ðогда пÑоÑоколиÑоваÑÑ #
log_min_messages(enum) #УпÑавлÑÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм ÑÑовнем ÑообÑений, запиÑÑваемÑÑ Ð² жÑÑнал ÑеÑвеÑа. ÐопÑÑÑимÑе знаÑениÑ
DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,INFO,NOTICE,WARNING,ERROR,LOG,FATALиPANIC. ÐаждÑй из пеÑеÑиÑленнÑÑ ÑÑовней вклÑÑÐ°ÐµÑ Ð²Ñе идÑÑие поÑле него. Чем далÑÑе в ÑÑом ÑпиÑке ÑÑÐ¾Ð²ÐµÐ½Ñ ÑообÑениÑ, Ñем менÑÑе ÑообÑений бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸Ñано в жÑÑнал ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑWARNING. ÐбÑаÑиÑе внимание, позиÑиÑLOGздеÑÑ Ð¾ÑлиÑаеÑÑÑ Ð¾Ñ Ð¿ÑинÑÑой в client_min_messages. ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.log_min_error_statement(enum) #УпÑавлÑÐµÑ Ñем, какие SQL-опеÑаÑоÑÑ, завеÑÑивÑиеÑÑ Ð¾Ñибкой, запиÑÑваÑÑÑÑ Ð² жÑÑнал ÑеÑвеÑа. SQL-опеÑаÑÐ¾Ñ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸Ñан в жÑÑнал, еÑли он завеÑÑиÑÑÑ Ð¾Ñибкой Ñ ÑказаннÑм ÑÑовнем важноÑÑи или вÑÑе. ÐопÑÑÑимÑе знаÑениÑ:
DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,INFO,NOTICE,WARNING,ERROR,LOG,FATALиPANIC. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑERROR. ÐÑо ознаÑаеÑ, ÑÑо в жÑÑнал ÑеÑвеÑа бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÐ°Ð½Ñ Ð²Ñе опеÑаÑоÑÑ, завеÑÑивÑиеÑÑ ÑообÑением Ñ ÑÑовнем важноÑÑиERROR,LOG,FATALиPANIC. ЧÑÐ¾Ð±Ñ ÑакÑиÑеÑки оÑклÑÑиÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¾Ð¿ÐµÑаÑоÑов Ñ Ð¾Ñибками, ÑÑÑановиÑе Ð´Ð»Ñ ÑÑого паÑамеÑÑа знаÑениеPANIC. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.log_min_duration_statement(integer) #ÐапиÑÑÐ²Ð°ÐµÑ Ð² жÑÑнал пÑодолжиÑелÑноÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²ÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´, вÑÐµÐ¼Ñ ÑабоÑÑ ÐºÐ¾ÑоÑÑÑ Ð½Ðµ менÑÑе Ñказанного. ÐапÑимеÑ, пÑи знаÑении
250msв жÑÑнал ÑеÑвеÑа бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÐ°Ð½Ñ Ð²Ñе командÑ, вÑполнÑÑÑиеÑÑ 250 миллиÑекÑнд и долÑÑе. С помоÑÑÑ ÑÑого паÑамеÑÑа можно вÑÑвиÑÑ Ð½ÐµÐ¾Ð¿ÑимизиÑованнÑе запÑоÑÑ Ð² пÑиложениÑÑ . ÐÑли знаÑение ÑÑого паÑамеÑÑа задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи нÑлевом знаÑении запиÑÑваеÑÑÑ Ð¿ÑодолжиÑелÑноÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²ÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´. Со знаÑением -1 (по ÑмолÑаниÑ) запиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¾ÑклÑÑаеÑÑÑ. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÐµÑеопÑеделÑÐµÑ log_min_duration_sample, Ñо еÑÑÑ Ð·Ð°Ð¿ÑоÑÑ Ñ Ð´Ð»Ð¸ÑелÑноÑÑÑÑ, пÑевÑÑаÑÑей заданное знаÑение, вÑегда ÑикÑиÑÑÑÑÑÑ Ð² жÑÑнале, вне завиÑимоÑÑи Ð¾Ñ Ð¿Ð°ÑамеÑÑов извлеÑÐµÐ½Ð¸Ñ Ð²ÑбоÑки.
ÐÐ»Ñ ÐºÐ»Ð¸ÐµÐ½Ñов, иÑполÑзÑÑÑÐ¸Ñ ÑаÑÑиÑеннÑй пÑоÑокол запÑоÑов, бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð¿ÑодолжиÑелÑноÑÑÑ Ñаз: ÑазбоÑ, ÑвÑзÑвание и вÑполнение.
ÐÑимеÑание
ÐÑи иÑполÑзовании ÑовмеÑÑно Ñ log_statement, ÑекÑÑ SQL-опеÑаÑоÑов бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ ÑолÑко один Ñаз (Ð¾Ñ Ð¸ÑполÑзованиÑ
log_statement) и не бÑÐ´ÐµÑ Ð·Ð°Ð´ÑблиÑован в ÑообÑении о длиÑелÑноÑÑи вÑполнениÑ. ÐÑли не иÑполÑзÑеÑÑÑ Ð²Ñвод в syslog, Ñо ÑекомендÑеÑÑÑ Ð² log_line_prefix вклÑÑиÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа или ÑеанÑа. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑвÑзаÑÑ ÑекÑÑ Ð·Ð°Ð¿ÑоÑа Ñ Ð·Ð°Ð¿Ð¸ÑÑÑ Ð¾ пÑодолжиÑелÑноÑÑи вÑполнениÑ, коÑоÑÐ°Ñ Ð¿Ð¾ÑвиÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ.log_min_duration_sample(integer) #ÐозволÑÐµÑ ÑделаÑÑ Ð²ÑбоÑÐºÑ Ð¿Ð¾ пÑодолжиÑелÑноÑÑи команд, коÑоÑÑе вÑполнÑлиÑÑ Ð½Ðµ менее Ñем опÑеделÑнное вÑемÑ. ÐÑи ÑÑом в жÑÑнал бÑдÑÑ Ð²Ð½Ð¾ÑиÑÑÑÑ Ñакие же запиÑи, как и пÑи вклÑÑÑнном паÑамеÑÑе log_min_duration_statement, но не Ð´Ð»Ñ Ð²ÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´, а ÑолÑко Ð´Ð»Ñ Ð¸Ñ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑва, огÑаниÑиваемого паÑамеÑÑом log_statement_sample_rate. ÐапÑимеÑ, пÑи знаÑении
100msпÑедваÑиÑелÑно Ð´Ð»Ñ Ð²ÑбоÑки бÑдÑÑ Ð¾ÑобÑÐ°Ð½Ñ Ð²Ñе SQL-опеÑаÑоÑÑ, вÑполнÑÑÑиеÑÑ 100 миллиÑекÑнд и долÑÑе. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, когда колиÑеÑÑво запÑоÑов ÑлиÑком велико, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ Ð² жÑÑнал Ð¸Ñ Ð²Ñе. ÐÑли знаÑение ÑÑого паÑамеÑÑа задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑи нÑлевом знаÑении Ð´Ð»Ñ Ð²ÑбоÑки оÑбиÑаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ñ Ð»Ñбой пÑодолжиÑелÑноÑÑÑÑ. Со знаÑением -1 (по ÑмолÑаниÑ) ÑоÑмиÑование вÑбоÑки по пÑодолжиÑелÑноÑÑи полноÑÑÑÑ Ð¾ÑклÑÑаеÑÑÑ. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð¼ÐµÐ½ÑÑий пÑиоÑиÑеÑ, Ñем
log_min_duration_statement, Ñо еÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ñ Ð´Ð»Ð¸ÑелÑноÑÑÑÑ, пÑевÑÑаÑÑейlog_min_duration_statement, бÑдÑÑ ÑегиÑÑÑиÑоваÑÑÑÑ Ð² жÑÑнале вÑегда, вне завиÑимоÑÑи Ð¾Ñ Ñого, какой бÑÐ´ÐµÑ Ð²ÑбоÑка.ÐÑÑгие замеÑаниÑ, оÑноÑÑÑиеÑÑ Ðº
log_min_duration_statement, пÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ñ Ñак же и к Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð¿Ð°ÑамеÑÑÑ.log_statement_sample_rate(floating point) #ÐпÑеделÑеÑ, ÐºÐ°ÐºÐ°Ñ Ð´Ð¾Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ñ Ð´Ð»Ð¸ÑелÑноÑÑÑÑ, доÑÑигÑей log_min_duration_sample, бÑÐ´ÐµÑ ÑегиÑÑÑиÑоваÑÑÑÑ Ð² жÑÑнале. ÐÑбоÑка ÑоÑмиÑÑеÑÑÑ Ð²ÐµÑоÑÑноÑÑнÑм обÑазом, напÑимеÑ, Ñо знаÑением
0.5можно ÑÑиÑаÑÑ, ÑÑо ÑÐ°Ð½Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ оÑделÑной ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð² вÑбоÑÐºÑ Ñавен один к двÑм. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â1.0, Ñо еÑÑÑ Ð²ÑбиÑаÑÑÑÑ Ð¸ ÑегиÑÑÑиÑÑÑÑÑÑ Ð²Ñе командÑ. Со знаÑением 0 запиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ вÑбоÑки, в завиÑимоÑÑи Ð¾Ñ Ð¸Ñ Ð´Ð»Ð¸ÑелÑноÑÑи, оÑклÑÑаеÑÑÑ, Ñак же как и пÑиlog_min_duration_sample, Ñавном-1. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.log_transaction_sample_rate(floating point) #ÐадаÑÑ Ð´Ð¾Ð»Ñ ÑÑанзакÑий, ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð· коÑоÑÑÑ Ð±ÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² жÑÑнал дополниÑелÑно (помимо команд, запиÑÑваемÑÑ Ð¿Ð¾ дÑÑгим пÑиÑинам). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ Ð½Ð° вÑе ÑÑанзакÑии, незавиÑимо Ð¾Ñ Ð´Ð»Ð¸ÑелÑноÑÑи команд. ÐÑбоÑка оÑÑÑеÑÑвлÑеÑÑÑ Ð²ÐµÑоÑÑноÑÑнÑм обÑазом, напÑимеÑ, Ñо знаÑением
0.1можно ÑÑиÑаÑÑ, ÑÑо ÐºÐ°Ð¶Ð´Ð°Ñ ÑÑанзакÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð¿Ð°ÑÑÑ Ð² жÑÑнал Ñ ÑанÑом один к деÑÑÑи. ÐаÑамеÑÑlog_transaction_sample_rateÐ¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° вÑбоÑки ÑÑанзакÑий. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â0, Ñо еÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð· дополниÑелÑно вÑбиÑаемÑÑ ÑÑанзакÑий не запиÑÑваÑÑÑÑ. ÐÑи знаÑении1запиÑÑваÑÑÑÑ Ð²Ñе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð· вÑÐµÑ ÑÑанзакÑий. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.ÐÑимеÑание
С ÑÑим паÑамеÑÑом, как и Ñо вÑеми оÑÑалÑнÑми, ÑпÑавлÑÑÑими жÑÑналиÑованием команд, могÑÑ Ð±ÑÑÑ ÑвÑÐ·Ð°Ð½Ñ Ð·Ð½Ð°ÑиÑелÑнÑе издеÑжки.
log_startup_progress_interval(integer) #ÐадаÑÑ Ð¸Ð½ÑеÑвал вÑемени, по иÑÑеÑении коÑоÑого пÑоÑеÑÑ Ð·Ð°Ð¿ÑÑка бÑÐ´ÐµÑ Ð²ÑдаваÑÑ ÑообÑение о длиÑелÑной опеÑаÑии, коÑоÑÐ°Ñ Ð²ÑÑ ÐµÑÑ Ð²ÑполнÑеÑÑÑ; Ñ Ñаким же инÑеÑвалом бÑдÑÑ Ð²ÑдаваÑÑÑÑ Ð¸ поÑледÑÑÑие ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± ÑÑой опеÑаÑии. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 10 ÑекÑнд. ÐнаÑение
0оÑклÑÑÐ°ÐµÑ ÑÑÑ ÑÑнкÑиÑ. ÐÑли ÑÑо знаÑение Ñказано без ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐÑÐ¾Ñ Ð¸Ð½ÑеÑвал оÑÑÑиÑÑваеÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ опеÑаÑии в оÑделÑноÑÑи. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в Ñайлеpostgresql.confили в командной ÑÑÑоке ÑеÑвеÑа.ÐапÑимеÑ, пÑи знаÑении по ÑмолÑаниÑ, Ñавном 10 Ñек., еÑли ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ ÐºÐ°Ñалога даннÑÑ Ð¿ÑодолжаеÑÑÑ 25 ÑекÑнд, а поÑле ÑÑого ÑбÑÐ¾Ñ Ð½ÐµÐ¶ÑÑналиÑÑемÑÑ Ð¾ÑноÑений вÑполнÑеÑÑÑ 8 ÑекÑнд, в жÑÑнал бÑÐ´ÐµÑ Ð²Ñдано ÑообÑение об опеÑаÑии ÑÐ¸Ð½Ñ ÑонизаÑии ÑеÑез 10 ÑекÑнд поÑле ÐµÑ Ð½Ð°Ñала, а заÑем еÑÑ Ð¾Ð´Ð½Ð¾ ÑообÑение об ÑÑой опеÑаÑии, когда ÐµÑ Ð¿ÑодолжиÑелÑноÑÑÑ Ð´Ð¾ÑÑÐ¸Ð³Ð½ÐµÑ 20 ÑекÑнд, а ÑообÑений об опеÑаÑии ÑбÑоÑа нежÑÑналиÑÑемÑÑ Ð¾ÑноÑений в жÑÑнале не бÑдеÑ.
РТаблиÑе 18.2 поÑÑнÑÑÑÑÑ ÑÑовни важноÑÑи ÑообÑений в Postgres Pro. Также в ÑÑой ÑаблиÑе показано, как ÑÑи ÑÑовни ÑÑанÑлиÑÑÑÑÑÑ Ð² ÑиÑÑемнÑе пÑи иÑполÑзовании syslog или eventlog в Windows.
ТаблиÑа 18.2. УÑовни важноÑÑи ÑообÑений
| УÑÐ¾Ð²ÐµÐ½Ñ | ÐÑполÑзование | syslog | eventlog |
|---|---|---|---|
DEBUG1 .. DEBUG5 | Ðолее деÑалÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð´Ð»Ñ ÑазÑабоÑÑиков. Чем болÑÑе номеÑ, Ñем деÑалÑнее. | DEBUG | INFORMATION |
INFO | ÐеÑвно запÑоÑÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð»ÑзоваÑелем инÑоÑмаÑиÑ, напÑÐ¸Ð¼ÐµÑ Ð²Ñвод ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ VACUUM VERBOSE. | INFO | INFORMATION |
NOTICE | ÐнÑоÑмаÑиÑ, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹ полÑзоваÑелÑм. ÐапÑимеÑ, ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð± ÑÑеÑении длиннÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов. | NOTICE | INFORMATION |
WARNING | ÐÑедÑпÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾ возможнÑÑ
пÑоблемаÑ
. ÐапÑимеÑ, COMMIT вне ÑÑанзакÑионного блока. | NOTICE | WARNING |
ERROR | СообÑÐ°ÐµÑ Ð¾Ð± оÑибке, из-за коÑоÑой пÑеÑвана ÑекÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°. | WARNING | ERROR |
LOG | ÐнÑоÑмаÑиÑ, Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð´Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑов. ÐапÑимеÑ, вÑполнение конÑÑолÑнÑÑ ÑоÑек. | INFO | INFORMATION |
FATAL | СообÑÐ°ÐµÑ Ð¾Ð± оÑибке, из-за коÑоÑой пÑеÑван ÑекÑÑий ÑеанÑ. | ERR | ERROR |
PANIC | СообÑÐ°ÐµÑ Ð¾Ð± оÑибке, из-за коÑоÑой пÑеÑÐ²Ð°Ð½Ñ Ð²Ñе ÑеанÑÑ. | CRIT | ERROR |
18.8.3. ЧÑо пÑоÑоколиÑоваÑÑ #
ÐÑимеÑание
ÐÑбиÑаÑ, ÑÑо бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² пÑоÑокол, важно ÑÑиÑÑваÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñе ÑиÑки безопаÑноÑÑи; подÑобнее об ÑÑом говоÑиÑÑÑ Ð² Разделе 23.3.
application_name(string) #application_nameâ ÑÑо лÑÐ±Ð°Ñ ÑÑÑока длиной не болееNAMEDATALENÑимволов (64 Ñимвола пÑи ÑÑандаÑÑной ÑбоÑке). ÐбÑÑно ÑÑÑанавливаеÑÑÑ Ð¿Ñиложением пÑи подклÑÑении к ÑеÑвеÑÑ. ÐнаÑение оÑобÑажаеÑÑÑ Ð² пÑедÑÑавленииpg_stat_activityи добавлÑеÑÑÑ Ð² жÑÑнал ÑеÑвеÑа, пÑи иÑполÑзовании ÑоÑмаÑа CSV. ÐÐ»Ñ Ð¿ÑоÑÐ¸Ñ ÑоÑмаÑов,application_nameможно добавиÑÑ Ð² жÑÑнал ÑеÑез паÑамеÑÑ log_line_prefix. ÐнаÑениеapplication_nameÐ¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко пеÑаÑнÑе ASCII ÑимволÑ. ÐÑÑалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð·Ð°Ð¼ÐµÐ½ÑÑÑÑÑ ÑеÑÑнадÑаÑеÑиÑнÑми ÑпеÑÑимволами в ÑÑиле C.debug_print_parse(boolean)debug_print_rewritten(boolean)debug_print_plan(boolean) #ÐÑи паÑамеÑÑÑ Ð²ÐºÐ»ÑÑаÑÑ Ð²Ñвод ÑазлиÑной оÑладоÑной инÑоÑмаÑии. Рименно: вÑвод деÑева запÑоÑа, деÑево запÑоÑа поÑле пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñавил или плана вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа, ÑооÑвеÑÑÑвенно. ÐÑе ÑÑи ÑообÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÑÑ ÑÑовенÑ
LOG. ÐоÑÑомÑ, по ÑмолÑаниÑ, они запиÑÑваÑÑÑÑ Ð² жÑÑнал ÑеÑвеÑа, но не оÑпÑавлÑÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ. ÐÑпÑÐ°Ð²ÐºÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ наÑÑÑоиÑÑ ÑеÑез client_min_messages и/или log_min_messages. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ Ð²ÑклÑÑенÑ.debug_pretty_print(boolean) #ÐклÑÑÐ°ÐµÑ Ð²ÑÑавнивание ÑообÑений, вÑводимÑÑ
debug_print_parse,debug_print_rewrittenилиdebug_print_plan. Ð ÑезÑлÑÑаÑе ÑообÑÐµÐ½Ð¸Ñ Ð»ÐµÐ³Ñе ÑиÑаÑÑ, но они знаÑиÑелÑно длиннее, Ñем в ÑоÑмаÑе «compact», коÑоÑÑй иÑполÑзÑеÑÑÑ Ð¿Ñи вÑклÑÑенном знаÑении. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÐºÐ»ÑÑÑн.log_autovacuum_min_duration(integer) #ÐадаÑÑ Ð²ÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð°Ð²ÑооÑиÑÑки, пÑи пÑевÑÑении коÑоÑого инÑоÑмаÑÐ¸Ñ Ð¾Ð± ÑÑом дейÑÑвии запиÑÑваеÑÑÑ Ð² жÑÑнал. ÐÑи нÑлевом знаÑении в жÑÑнале ÑикÑиÑÑÑÑÑÑ Ð²Ñе дейÑÑÐ²Ð¸Ñ Ð°Ð²ÑооÑиÑÑки. ÐнаÑение
-1оÑклÑÑÐ°ÐµÑ Ð¶ÑÑналиÑование дейÑÑвий авÑооÑиÑÑки. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в миллиÑекÑÐ½Ð´Ð°Ñ . ÐапÑимеÑ, еÑли задаÑÑ Ð·Ð½Ð°Ñение250ms, в жÑÑнале бÑдÑÑ ÑикÑиÑоваÑÑÑÑ Ð²Ñе опеÑаÑии авÑомаÑиÑеÑкой оÑиÑÑки и анализа, вÑполнÑемÑе долÑÑе 250 мÑ. ÐÑоме Ñого, когда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð»Ñбое знаÑение, оÑлиÑное оÑ-1, в жÑÑнал бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ ÑообÑение в ÑлÑÑае пÑопÑÑка дейÑÑÐ²Ð¸Ñ Ð°Ð²ÑооÑиÑÑки из-за конÑликÑÑÑÑей блокиÑовки или паÑаллелÑного ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¾ÑноÑениÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â10min. Ðо вклÑÑÑнном ÑоÑÑоÑнии ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¾ÑÑлеживаÑÑ Ð°ÐºÑивноÑÑÑ Ð°Ð²ÑооÑиÑÑки. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðднако его можно пеÑеопÑеделиÑÑ Ð´Ð»Ñ Ð¾ÑделÑнÑÑ ÑаблиÑ, изменив Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ Ñ ÑанениÑ.log_checkpoints(boolean) #ÐклÑÑÐ°ÐµÑ Ð¿ÑоÑоколиÑование вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑоÑек и ÑоÑек пеÑезапÑÑка ÑеÑвеÑа. ÐÑи ÑÑом запиÑÑваеÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÐ°Ñ ÑÑаÑиÑÑиÑеÑÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑиÑ. ÐапÑимеÑ, ÑиÑло запиÑаннÑÑ Ð±ÑÑеÑов и вÑемÑ, заÑÑаÑенное на Ð¸Ñ Ð·Ð°Ð¿Ð¸ÑÑ. ÐаÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в конÑигÑÑаÑионнÑÑ ÑÐ°Ð¹Ð»Ð°Ñ Ð¸Ð»Ð¸ в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÐºÐ»ÑÑÑн.
log_connections(boolean) #ÐклÑÑÐ°ÐµÑ Ð¿ÑоÑоколиÑование вÑÐµÑ Ð¿Ð¾Ð¿ÑÑок подклÑÑÐµÐ½Ð¸Ñ Ðº ÑеÑвеÑÑ, в Ñом ÑиÑле ÑÑпеÑного завеÑÑÐµÐ½Ð¸Ñ ÐºÐ°Ðº аÑÑенÑиÑикаÑии (еÑли она ÑÑебÑеÑÑÑ), Ñак и авÑоÑизаÑии клиенÑов. ÐзмениÑÑ ÐµÐ³Ð¾ можно ÑолÑко в наÑале ÑеанÑа и ÑделаÑÑ ÑÑо могÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавом
SET. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âoff.ÐÑимеÑание
ÐекоÑоÑÑе пÑогÑаммÑ, напÑÐ¸Ð¼ÐµÑ psql, пÑедпÑинимаÑÑ Ð´Ð²Ðµ попÑÑки подклÑÑÐµÐ½Ð¸Ñ (пеÑÐ²Ð°Ñ Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ, нÑжен ли паÑолÑ). ÐоÑÑÐ¾Ð¼Ñ Ð´ÑблиÑование ÑообÑÐµÐ½Ð¸Ñ Â«connection received» не обÑзаÑелÑно говоÑÐ¸Ñ Ð¾ налиÑии пÑоблемÑ.
log_disconnections(boolean) #ÐклÑÑÐ°ÐµÑ Ð¿ÑоÑоколиÑование завеÑÑÐµÐ½Ð¸Ñ ÑеанÑа. РжÑÑнал вÑводиÑÑÑ Ð¿ÑимеÑно Ñа же инÑоÑмаÑиÑ, ÑÑо и Ñ
log_connections, плÑÑ Ð´Ð»Ð¸ÑелÑноÑÑÑ ÑеанÑа. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в наÑале ÑеанÑа и ÑделаÑÑ ÑÑо могÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âoff.log_duration(boolean) #ÐапиÑÑÐ²Ð°ÐµÑ Ð¿ÑодолжиÑелÑноÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¹ завеÑÑÑнной командÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑклÑÑен. ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавом
SETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.ÐÐ»Ñ ÐºÐ»Ð¸ÐµÐ½Ñов, иÑполÑзÑÑÑÐ¸Ñ ÑаÑÑиÑеннÑй пÑоÑокол запÑоÑов, бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð¿ÑодолжиÑелÑноÑÑÑ Ñаз: ÑазбоÑ, ÑвÑзÑвание и вÑполнение.
ÐÑимеÑание
ÐклÑÑение паÑамеÑÑа
log_durationне ÑавнознаÑно ÑÑÑановке нÑлевого знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ log_min_duration_statement. РазниÑа в Ñом, ÑÑо пÑи пÑевÑÑении знаÑениÑlog_min_duration_statementв жÑÑнал запиÑÑваеÑÑÑ ÑекÑÑ Ð·Ð°Ð¿ÑоÑа, а пÑи вклÑÑении данного паÑамеÑÑа â неÑ. Таким обÑазом, пÑиlog_duration=onи положиÑелÑном знаÑенииlog_min_duration_statementв жÑÑнал запиÑÑваеÑÑÑ Ð´Ð»Ð¸ÑелÑноÑÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´, а ÑекÑÑ Ð·Ð°Ð¿ÑоÑа â ÑолÑко Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ñ Ð´Ð»Ð¸ÑелÑноÑÑÑÑ, пÑевÑÑаÑÑей пÑедел. Такое поведение Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм пÑи ÑбоÑе ÑÑаÑиÑÑики в ÑÑловиÑÑ Ð±Ð¾Ð»ÑÑой нагÑÑзки.log_error_verbosity(enum) #УпÑавлÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑвом деÑалÑной инÑоÑмаÑии, запиÑÑваемой в жÑÑнал ÑеÑвеÑа Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑообÑениÑ. ÐопÑÑÑимÑе знаÑениÑ:
TERSE,DEFAULTиVERBOSE. Ðаждое поÑледÑÑÑее знаÑение добавлÑÐµÑ Ð±Ð¾Ð»ÑÑе полей в вÑводимое ÑообÑение. ÐлÑTERSEиз ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке иÑклÑÑаÑÑÑÑ Ð¿Ð¾Ð»ÑDETAIL,HINT,QUERYиCONTEXT. ÐлÑVERBOSEв ÑообÑение вклÑÑаеÑÑÑ ÐºÐ¾Ð´ оÑибкиSQLSTATE(Ñм. ÐÑиложение A), а Ñакже Ð¸Ð¼Ñ Ñайла Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ñм кодом, Ð¸Ð¼Ñ ÑÑнкÑии и Ð½Ð¾Ð¼ÐµÑ ÑÑÑоки ÑгенеÑиÑовавÑей оÑибкÑ. ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.log_hostname(boolean) #Ðо ÑмолÑаниÑ, ÑообÑÐµÐ½Ð¸Ñ Ð¶ÑÑнала ÑодеÑÐ¶Ð°Ñ Ð»Ð¸ÑÑ IP-адÑÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑивÑегоÑÑ ÐºÐ»Ð¸ÐµÐ½Ñа. ÐÑи вклÑÑении ÑÑого паÑамеÑÑа, дополниÑелÑно бÑÐ´ÐµÑ ÑикÑиÑоваÑÑÑÑ Ð¸ Ð¸Ð¼Ñ ÑеÑвеÑа. ÐбÑаÑиÑе внимание, ÑÑо в завиÑимоÑÑи Ð¾Ñ Ð¿ÑименÑемого ÑпоÑоба ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð¼Ñн, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑиÑаÑелÑно ÑказаÑÑÑÑ Ð½Ð° пÑоизводиÑелÑноÑÑи. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.log_line_prefix(string) #СÑÑока, в ÑÑиле ÑÑнкÑии
printf, коÑоÑÐ°Ñ Ð²ÑводиÑÑÑ Ð² наÑале каждой ÑÑÑоки жÑÑнала ÑообÑений. С Ñимволов%наÑинаÑÑÑÑ ÑпÑавлÑÑÑие поÑледоваÑелÑноÑÑи, коÑоÑÑе заменÑÑÑÑÑ ÑÑаÑÑÑной инÑоÑмаÑией, опиÑанной ниже. ÐеизвеÑÑнÑе ÑпÑавлÑÑÑие поÑледоваÑелÑноÑÑи игноÑиÑÑÑÑÑÑ. ÐÑе оÑÑалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð½Ð°Ð¿ÑÑмÑÑ ÐºÐ¾Ð¿Ð¸ÑÑÑÑÑÑ Ð² вÑводимÑÑ ÑÑÑокÑ. ÐекоÑоÑÑе ÑпÑавлÑÑÑие поÑледоваÑелÑноÑÑи иÑполÑзÑÑÑÑÑ ÑолÑко Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑÐºÐ¸Ñ Ð¿ÑоÑеÑÑов и бÑдÑÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑÑÑ ÑоновÑми пÑоÑеÑÑами, напÑÐ¸Ð¼ÐµÑ Ð¾ÑновнÑм пÑоÑеÑÑом ÑеÑвеÑа. СÑаÑÑÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÑÑовнена по ÑиÑине влево или впÑаво Ñказанием ÑиÑла поÑле % и пеÑед кодом поÑледоваÑелÑноÑÑи. ÐÑÑиÑаÑелÑное ÑиÑло дополнÑÐµÑ Ð·Ð½Ð°Ñение пÑобелами ÑпÑава до заданной ÑиÑинÑ, а положиÑелÑное ÑиÑло â Ñлева. ÐÑÑавнивание Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ ÑлÑÑÑÐµÐ½Ð¸Ñ ÑиÑаемоÑÑи.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение'%m [%p] ', Ñ ÐºÐ¾ÑоÑÑм в жÑÑнал вÑводиÑÑÑ Ð²ÑÐµÐ¼Ñ Ð¸ иденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа (PID).СпеÑÑимвол ÐазнаÑение ТолÑко Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого пÑоÑеÑÑа %aÐÐ¼Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (application_name) да %uÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð° %dÐÐ¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð° %rÐÐ¼Ñ ÑдалÑнного Ñзла или IP-адÑеÑ, а Ñакже Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾ÑÑа да %hÐÐ¼Ñ ÑдалÑнного Ñзла или IP-адÑÐµÑ Ð´Ð° %bТип обÑлÑживаÑÑего пÑоÑеÑÑа Ð½ÐµÑ %pÐденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа Ð½ÐµÑ %PÐденÑиÑикаÑÐ¾Ñ Ð²ÐµÐ´ÑÑего пÑоÑеÑÑа гÑÑппÑ, еÑли ÑекÑÑий пÑоÑеÑÑ ÑвлÑеÑÑÑ Ð¸ÑполниÑелем паÑаллелÑного запÑоÑа Ð½ÐµÑ %tШÑамп вÑемени, без миллиÑекÑнд Ð½ÐµÑ %mШÑамп вÑемени, Ñ Ð¼Ð¸Ð»Ð»Ð¸ÑекÑндами Ð½ÐµÑ %nШÑамп вÑемени, Ñ Ð¼Ð¸Ð»Ð»Ð¸ÑекÑндами (в виде вÑемени Unix) Ð½ÐµÑ %iТег командÑ: Ñип ÑекÑÑей ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð² ÑеанÑе да %eÐод оÑибки SQLSTATE Ð½ÐµÑ %cÐденÑиÑикаÑÐ¾Ñ ÑеанÑа. ÐодÑобноÑÑи ниже Ð½ÐµÑ %lÐÐ¾Ð¼ÐµÑ ÑÑÑоки жÑÑнала Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑеанÑа или пÑоÑеÑÑа. ÐаÑинаеÑÑÑ Ñ 1 Ð½ÐµÑ %sШÑамп вÑемени наÑала пÑоÑеÑÑа Ð½ÐµÑ %vÐденÑиÑикаÑÐ¾Ñ Ð²Ð¸ÑÑÑалÑной ÑÑанзакÑии (backendID/localXID); Ñм. Раздел 71.1 Ð½ÐµÑ %xÐденÑиÑикаÑÐ¾Ñ ÑÑанзакÑии (0 еÑли не пÑиÑвоен); Ñм. Раздел 71.1 Ð½ÐµÑ %qÐиÑего не вÑводиÑ. ÐеполÑзоваÑелÑÑкие пÑоÑеÑÑÑ Ð¾ÑÑанавливаÑÑÑÑ Ð² ÑÑой ÑоÑке. ÐгноÑиÑÑеÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкими пÑоÑеÑÑами Ð½ÐµÑ %QÐденÑиÑикаÑÐ¾Ñ ÑекÑÑего запÑоÑа. ÐÑÑиÑление иденÑиÑикаÑоÑов запÑоÑа по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾ÑклÑÑено, поÑÑÐ¾Ð¼Ñ Ð² ÑÑом поле бÑÐ´ÐµÑ Ð²ÑводиÑÑÑÑ Ð·Ð½Ð°Ñение 0, еÑли не вклÑÑÑн паÑамеÑÑ compute_query_id или не наÑÑÑоен дополниÑелÑнÑй модÑлÑ, вÑÑиÑлÑÑÑий иденÑиÑикаÑоÑÑ Ð·Ð°Ð¿ÑоÑов. да %%ÐÑÐ²Ð¾Ð´Ð¸Ñ %Ð½ÐµÑ Ð¢Ð¸Ð¿ обÑлÑживаÑÑего пÑоÑеÑÑа ÑооÑвеÑÑÑвÑÐµÑ ÑодеÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ ÑÑолбÑа
backend_typeв пÑедÑÑавленииpg_stat_activity, но в жÑÑнале могÑÑ ÑигÑÑиÑоваÑÑ Ð¸ дÑÑгие ÑипÑ, коÑоÑÑе не показÑваÑÑÑÑ Ð² ÑÑом пÑедÑÑавлении.СпеÑпоÑледоваÑелÑноÑÑÑ
%cзаменÑеÑÑÑ Ð½Ð° пÑакÑиÑеÑки ÑникалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑеанÑа, ÑодеÑжаÑий из 4 ÑеÑÑнадÑаÑеÑиÑнÑÑ ÑиÑел (без ведÑÑÐ¸Ñ Ð½Ñлей), ÑазделÑннÑÑ ÑоÑками. ÐÑи ÑиÑла пÑедÑÑавлÑÑÑ Ð²ÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка пÑоÑеÑÑа и его PID, Ñак ÑÑо%cможно иÑполÑзоваÑÑ ÐºÐ°Ðº более компакÑнÑÑ Ð°Ð»ÑÑеÑнаÑÐ¸Ð²Ñ ÑовокÑпноÑÑи ÑÑÐ¸Ñ Ð´Ð²ÑÑ ÑлеменÑов. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ñакой иденÑиÑикаÑÐ¾Ñ ÑеанÑа, напÑÐ¸Ð¼ÐµÑ Ð¸Ð·pg_stat_activity, воÑполÑзÑйÑеÑÑ ÑÑим запÑоÑом:SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' || to_hex(pid) FROM pg_stat_activity;ÐодÑказка
ÐоÑледним Ñимволом в
log_line_prefixлÑÑÑе оÑÑавлÑÑÑ Ð¿Ñобел, ÑÑÐ¾Ð±Ñ Ð¾ÑделиÑÑ Ð¾Ñ Ð¾ÑÑалÑной ÑÑÑоки. Ðожно иÑполÑзоваÑÑ Ð¸ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿ÑнкÑÑаÑии.ÐодÑказка
Syslog Ñакже ÑоÑмиÑÑÐµÑ ÑÑамп вÑемени и иденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа, поÑÑÐ¾Ð¼Ñ Ð²ÐµÑоÑÑно Ð½ÐµÑ ÑмÑÑла иÑполÑзоваÑÑ ÑооÑвеÑÑÑвÑÑÑие ÑпÑавлÑÑÑие поÑледоваÑелÑноÑÑи пÑи иÑполÑзовании syslog.
ÐодÑказка
СпеÑпоÑледоваÑелÑноÑÑÑ
%qполезна Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии, коÑоÑÐ°Ñ ÑÑÑеÑÑвÑÐµÑ ÑолÑко в конÑекÑÑе ÑеанÑа (обÑлÑживаÑÑего пÑоÑеÑÑа), напÑимеÑ, Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐапÑимеÑ:log_line_prefix = '%m [%p] %q%u@%d/%a '
ÐÑимеÑание
СпеÑпоÑледоваÑелÑноÑÑÑ
%QвÑегда вÑдаÑÑ Ð½Ñлевой иденÑиÑикаÑÐ¾Ñ Ð´Ð»Ñ ÑÑÑок, вÑводимÑÑ Ð¿Ð¾ÑÑедÑÑвом log_statement, поÑÐ¾Ð¼Ñ ÑÑо ÑооÑвеÑÑÑвÑÑÑий вÑводlog_statementÑоÑмиÑÑеÑÑÑ Ð´Ð¾ вÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑого иденÑиÑикаÑоÑа, в Ñом ÑиÑле и Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑÑекÑнÑÑ Ð¾Ð¿ÐµÑаÑоÑов, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð²ÑÑиÑлиÑÑ Ð½ÐµÐ»ÑзÑ.log_lock_waits(boolean) #ÐпÑеделÑеÑ, нÑжно ли ÑикÑиÑоваÑÑ Ð² жÑÑнале ÑобÑÑиÑ, когда ÑÐµÐ°Ð½Ñ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовки долÑÑе, Ñем Ñказано в deadlock_timeout. ÐÑо позволÑÐµÑ Ð²ÑÑÑниÑÑ, не ÑвÑзана ли Ð½Ð¸Ð·ÐºÐ°Ñ Ð¿ÑоизводиÑелÑноÑÑÑ Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸ÐµÐ¼ блокиÑовок. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾ÑклÑÑÑн. ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавом
SETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.log_recovery_conflict_waits(boolean) #ÐпÑеделÑеÑ, нÑжно ли ÑикÑиÑоваÑÑ Ð² жÑÑнале ÑобÑÑиÑ, когда ÑÐµÐ°Ð½Ñ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовки долÑÑе, Ñем Ñказано в
deadlock_timeoutÐ´Ð»Ñ ÐºÐ¾Ð½ÑликÑов воÑÑÑановлениÑ. ÐÑо позволÑÐµÑ Ð²ÑÑÑниÑÑ, пÑепÑÑÑÑвÑÑÑ Ð»Ð¸ конÑликÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ WAL.ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
off(вÑкл.). ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.log_parameter_max_length(integer) #ÐоложиÑелÑное знаÑение ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво байÑ, до коÑоÑого бÑдÑÑ ÑÑекаÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿ÑивÑзаннÑÑ SQL-паÑамеÑÑов, вÑводимÑе в ÑообÑениÑÑ Ð²Ð¼ÐµÑÑе Ñ SQL-опеÑаÑоÑами (ÑÑо не оÑноÑиÑÑÑ Ðº ÑегиÑÑÑаÑии оÑибок). ÐÐ¾Ð»Ñ Ð¾ÑклÑÑÐ°ÐµÑ Ð²Ñвод знаÑений пÑивÑзаннÑÑ Ð¿Ð°ÑамеÑÑов в ÑÐ°ÐºÐ¸Ñ ÑообÑениÑÑ . ÐнаÑение
-1(по ÑмолÑаниÑ) позволÑÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð² жÑÑнале пÑивÑзаннÑе паÑамеÑÑÑ Ð² полном обÑÑме. ÐÑли знаÑение ÑÑого паÑамеÑÑа задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в байÑÐ°Ñ . ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²Ð»Ð¸ÑÐµÑ ÑолÑко на ÑообÑениÑ, вÑводимÑе в жÑÑнал по кÑиÑеÑиÑм, коÑоÑÑе ÑÑÑанавливаÑÑ Ð¿Ð°ÑамеÑÑÑ log_statement, log_duration и ÑвÑзаннÑе Ñ Ð½Ð¸Ð¼Ð¸. С ненÑлевÑми знаÑениÑми ÑÑого паÑамеÑÑа ÑопÑÑÐ¶ÐµÐ½Ñ Ð½ÐµÐºÐ¾ÑоÑÑе издеÑжки, оÑобенно еÑли пÑивÑзаннÑе знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑедаÑÑÑÑ Ð² двоиÑной ÑоÑме, Ñак как Ð¸Ñ Ð½Ñжно бÑÐ´ÐµÑ Ð¿ÐµÑеводиÑÑ Ð² ÑекÑÑовÑй вид.
log_parameter_max_length_on_error(integer) #ÐоложиÑелÑное знаÑение ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво байÑ, до коÑоÑого бÑдÑÑ ÑÑекаÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿ÑивÑзаннÑÑ SQL-паÑамеÑÑов, вÑводимÑе вмеÑÑе Ñ SQL-опеÑаÑоÑами пÑи ÑегиÑÑÑаÑии оÑибок. ÐÑлевое знаÑение оÑклÑÑÐ°ÐµÑ Ð²Ñвод знаÑений пÑивÑзаннÑÑ Ð¾Ð¿ÐµÑаÑоÑов в ÑообÑениÑÑ Ð¾Ð± оÑÐ¸Ð±ÐºÐ°Ñ . ÐнаÑение
-1(по ÑмолÑаниÑ) позволÑÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð² жÑÑнале пÑивÑзаннÑе паÑамеÑÑÑ Ð² полном обÑÑме. ÐÑли знаÑение ÑÑого паÑамеÑÑа задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в байÑÐ°Ñ .С ненÑлевÑми знаÑениÑми ÑÑого паÑамеÑÑа ÑопÑÑÐ¶ÐµÐ½Ñ Ð½ÐµÐºÐ¾ÑоÑÑе издеÑжки, Ñак как Postgres Pro должен бÑÐ´ÐµÑ ÑÑоÑмиÑоваÑÑ Ð² памÑÑи ÑекÑÑовÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÑÐµÑ Ð·Ð½Ð°Ñений паÑамеÑÑов пеÑед вÑполнением вÑÐµÑ Ð¾Ð¿ÐµÑаÑоÑов, в Ñом ÑиÑле, вÑполненнÑÑ Ð² иÑоге без оÑибок. ÐздеÑжки дополниÑелÑно возÑаÑÑаÑÑ, когда пÑивÑзаннÑе паÑамеÑÑÑ Ð¿ÐµÑедаÑÑÑÑ Ð½Ðµ в ÑекÑÑовой, а в двоиÑной ÑоÑме, Ñак как Ð¸Ñ Ð½ÐµÐ´Ð¾ÑÑаÑоÑно пÑоÑÑо ÑкопиÑоваÑÑ Ð² ÑÑÑокÑ, Ð¸Ñ Ð½Ñжно еÑÑ Ð¿ÑеобÑазоваÑÑ.
log_statement(enum) #УпÑавлÑÐµÑ Ñем, какие SQL-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ Ð² жÑÑнал. ÐопÑÑÑимÑе знаÑениÑ:
none(оÑклÑÑено),ddl,modиall(вÑе командÑ).ddlзапиÑÑÐ²Ð°ÐµÑ Ð²Ñе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñакие какCREATE,ALTER,DROP.modзапиÑÑÐ²Ð°ÐµÑ Ð²Ñе командÑddl, а Ñакже ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑие даннÑе, Ñакие какINSERT,UPDATE,DELETE,TRUNCATEиCOPY FROM.PREPARE,EXECUTEиEXPLAIN ANALYZEÑакже запиÑÑваÑÑÑÑ, еÑли вÑÐ·Ð²Ð°Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑооÑвеÑÑÑвÑÑÑего Ñипа. ÐÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ÑполÑзÑÐµÑ ÑаÑÑиÑеннÑй пÑоÑокол запÑоÑов, Ñо запиÑÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð½Ð° Ñазе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ ÑодеÑÐ¶Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð²ÑÐµÑ ÑвÑзаннÑÑ Ð¿ÐµÑеменнÑÑ (еÑли еÑÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¾ÑнÑÑ ÐºÐ°Ð²ÑÑек, Ñо они дÑблиÑÑÑÑÑÑ).Ðо ÑмолÑаниÑ
none. ТолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSETмогÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.ÐÑимеÑание
ÐÐ¾Ð¼Ð°Ð½Ð´Ñ Ñ ÑинÑакÑиÑеÑкими оÑибками не запиÑÑваÑÑÑÑ, даже еÑли
log_statement=all, Ñак как ÑообÑение ÑоÑмиÑÑеÑÑÑ ÑолÑко поÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑедваÑиÑелÑного ÑазбоÑа, опÑеделÑÑÑего Ñип командÑ. ÐÑи ÑаÑÑиÑенном пÑоÑоколе запÑоÑов, Ð¿Ð¾Ñ Ð¾Ð¶Ð¸Ð¼ обÑазом не бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, неÑÑпеÑно завеÑÑивÑиеÑÑ Ð´Ð¾ ÑÐ°Ð·Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (напÑимеÑ, пÑи ÑазбоÑе или поÑÑÑоении плана запÑоÑа). ÐÐ»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² жÑÑнал ÑÐ°ÐºÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ ÑÑÑановиÑеlog_min_error_statementвERROR(или ниже).ÐапиÑÑваемÑе в жÑÑнал ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð³ÑÑ ÑаÑкÑÑваÑÑ ÐºÐ¾Ð½ÑиденÑиалÑнÑе даннÑе. Ðднако пÑи запиÑи в жÑÑнал ÑеÑвеÑа паÑоли маÑкиÑÑÑÑÑÑ.
log_replication_commands(boolean) #ÐклÑÑÐ°ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² жÑÑнал ÑеÑвеÑа вÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ ÑепликаÑии. ÐодÑобнее о ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ ÑепликаÑии можно ÑзнаÑÑ Ð² Разделе 54.4. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
off. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.log_temp_files(integer) #УпÑавлÑÐµÑ ÑегиÑÑÑаÑией в жÑÑнале имÑн и ÑазмеÑов вÑеменнÑÑ Ñайлов. ÐÑеменнÑе ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑоÑÑиÑовки, Ñ ÐµÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑеменного Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑезÑлÑÑаÑов запÑоÑов. Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн, пÑи Ñдалении вÑеменного Ñайла инÑоÑмаÑÐ¸Ñ Ð¾ нÑм Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² жÑÑнал Ñ Ñказанием ÑазмеÑа Ñайла в байÑÐ°Ñ . ÐÑи нÑлевом знаÑении запиÑÑваеÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð±Ð¾ вÑÐµÑ ÑÐ°Ð¹Ð»Ð°Ñ , а пÑи положиÑелÑном â о ÑÐ°Ð¹Ð»Ð°Ñ , ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ¾ÑоÑÑÑ Ð½Ðµ менÑÑе заданной велиÑинÑ. ÐÑли ÑÑо знаÑение задаÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, оно ÑÑиÑаеÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñм в килобайÑÐ°Ñ . ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ñавно -1, Ñо еÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ñакой инÑоÑмаÑии оÑклÑÑена. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавом
SET.log_timezone(string) #УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑаÑовой поÑÑ Ð´Ð»Ñ ÑÑампов вÑемени пÑи запиÑи в жÑÑнал ÑеÑвеÑа. РоÑлиÑие Ð¾Ñ TimeZone, ÑÑо знаÑение одинаково Ð´Ð»Ñ Ð²ÑÐµÑ Ð±Ð°Ð· даннÑÑ ÐºÐ»Ð°ÑÑеÑа, поÑÑÐ¾Ð¼Ñ Ð´Ð»Ñ Ð²ÑÐµÑ ÑеанÑов иÑполÑзÑÑÑÑÑ ÑоглаÑованнÑе знаÑÐµÐ½Ð¸Ñ ÑÑампов вÑемени. ÐÑÑÑоенное знаÑение по ÑмолÑаниÑ
GMT, но оно пеÑеопÑеделÑеÑÑÑ Ð²postgresql.conf: initdb запиÑÑÐ²Ð°ÐµÑ Ð² него знаÑение, ÑооÑвеÑÑÑвÑÑÑее ÑиÑÑемной ÑÑеде. ÐодÑобнее об ÑÑом в ÐодÑазделе 8.5.3. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко вpostgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.
18.8.4. ÐÑполÑзование вÑвода жÑÑнала в ÑоÑмаÑе CSV #
Ðобавление csvlog в log_destination Ð´ÐµÐ»Ð°ÐµÑ ÑдобнÑм загÑÑÐ·ÐºÑ Ð¶ÑÑналÑнÑÑ
Ñайлов в ÑаблиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
. СÑÑоки жÑÑнала пÑедÑÑавлÑÑÑ Ñобой знаÑениÑ, ÑазделÑннÑе запÑÑÑми (ÑоÑÐ¼Ð°Ñ CSV), Ñо ÑледÑÑÑими полÑми: ÑÑамп вÑемени Ñ Ð¼Ð¸Ð»Ð»Ð¸ÑекÑндами; Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ; Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
; иденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа; клиенÑÑкий Ñзел:Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾ÑÑа; иденÑиÑикаÑÐ¾Ñ ÑеанÑа; Ð½Ð¾Ð¼ÐµÑ ÑÑÑоки каждого ÑеанÑа; Ñег командÑ; вÑÐµÐ¼Ñ Ð½Ð°Ñала ÑеанÑа; виÑÑÑалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑÑанзакÑии; иденÑиÑикаÑÐ¾Ñ ÑÑанзакÑии; ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ð¾ÑÑи оÑибки; код оÑибки SQLSTATE; ÑообÑение об оÑибке; подÑобноÑÑи к ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке; подÑказка к ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке; внÑÑÑенний запÑоÑ, пÑиведÑий к оÑибке (еÑли еÑÑÑ); Ð½Ð¾Ð¼ÐµÑ Ñимвола внÑÑÑеннего запÑоÑа, где пÑоизоÑла оÑибка; конÑекÑÑ Ð¾Ñибки; запÑÐ¾Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, пÑиведÑий к оÑибке (еÑли еÑÑÑ Ð¸ вклÑÑÑн log_min_error_statement); Ð½Ð¾Ð¼ÐµÑ Ñимвола в запÑоÑе полÑзоваÑелÑ, где пÑоизоÑла оÑибка; ÑаÑположение оÑибки в иÑÑ
одном коде Postgres Pro (еÑли log_error_verbosity ÑÑÑановлен в verbose), Ð¸Ð¼Ñ Ð¿ÑиложениÑ, Ñип обÑлÑживаÑÑего пÑоÑеÑÑа, иденÑиÑикаÑÐ¾Ñ Ð²ÐµÐ´ÑÑего пÑоÑеÑÑа гÑÑÐ¿Ð¿Ñ Ð¸ иденÑиÑикаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑа. ÐÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑаблиÑÑ, Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¶ÑÑналов в ÑоÑмаÑе CSV:
CREATE TABLE postgres_log ( log_time timestamp(3) with time zone, user_name text, database_name text, process_id integer, connection_from text, session_id text, session_line_num bigint, command_tag text, session_start_time timestamp with time zone, virtual_transaction_id text, transaction_id bigint, error_severity text, sql_state_code text, message text, detail text, hint text, internal_query text, internal_query_pos integer, context text, query text, query_pos integer, location text, application_name text, backend_type text, leader_pid integer, query_id bigint, PRIMARY KEY (session_id, session_line_num) );
ÐÐ»Ñ Ð·Ð°Ð³ÑÑзки жÑÑналÑного Ñайла в ÑакÑÑ ÑаблиÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ COPY FROM:
COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
Также можно обÑаÑиÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ ÐºÐ°Ðº к ÑÑоÑонней ÑаблиÑе, иÑполÑзÑÑ Ð¿Ð¾ÑÑавлÑемÑй модÑÐ»Ñ file_fdw.
ÐÐ»Ñ ÑпÑоÑÐµÐ½Ð¸Ñ Ð·Ð°Ð³ÑÑзки жÑÑналов в CSV ÑоÑмаÑе иÑполÑзÑйÑе ÑледÑÑÑее:
УÑÑановиÑе длÑ
log_filenameиlog_rotation_ageзнаÑениÑ, гаÑанÑиÑÑÑÑие ÑоглаÑованнÑÑ Ð¸ пÑедÑказÑемÑÑ ÑÑ ÐµÐ¼Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¶ÑÑналÑнÑÑ Ñайлов. ÐнаÑ, какие имена бÑдÑÑ Ñ Ð¶ÑÑналÑнÑÑ Ñайлов, можно опÑеделиÑÑ, когда конкÑеÑнÑй Ñайл заполнен и гоÑов к загÑÑзке.УÑÑановиÑе
log_rotation_sizeв 0, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑеÑиÑÑ ÑоÑаÑÐ¸Ñ Ñайлов по доÑÑижении опÑеделÑнного ÑазмеÑа, Ñак как ÑÑо Ð´ÐµÐ»Ð°ÐµÑ Ð½ÐµÐ¿ÑедÑказÑемой ÑÑ ÐµÐ¼Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¶ÑÑналÑнÑÑ Ñайлов.УÑÑановиÑе
log_truncate_on_rotationвon, ÑÑÐ¾Ð±Ñ Ð½Ð¾Ð²Ñе ÑообÑÐµÐ½Ð¸Ñ Ð½Ðµ ÑмеÑивалиÑÑ Ñо ÑÑаÑÑми пÑи пеÑеклÑÑении на ÑÑÑеÑÑвÑÑÑий Ñайл.ÐпÑеделение ÑаблиÑÑ ÑодеÑÐ¶Ð¸Ñ Ð¿ÐµÑвиÑнÑй клÑÑ. ÐÑо полезно Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ ÑлÑÑайной повÑоÑной загÑÑзки даннÑÑ . Ðоманда
COPYÑикÑиÑÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð´Ð¸Ð½ Ñаз, поÑÑÐ¾Ð¼Ñ Ð»ÑÐ±Ð°Ñ Ð¾Ñибка пÑиведÑÑ Ðº оÑмене вÑей загÑÑзки. ÐÑли ÑнаÑала загÑÑзиÑÑ Ð½ÐµÐ¿Ð¾Ð»Ð½Ñй жÑÑналÑнÑй Ñайл, Ñо его повÑоÑÐ½Ð°Ñ Ð·Ð°Ð³ÑÑзка (по заполнении) пÑиведÑÑ Ðº наÑÑÑÐµÐ½Ð¸Ñ Ð¿ÐµÑвиÑного клÑÑа и, ÑледоваÑелÑно, к оÑибке загÑÑзки. ÐоÑÑÐ¾Ð¼Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ дожидаÑÑÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи в жÑÑналÑнÑй Ñайл пеÑед наÑалом загÑÑзки. ÐÐ¾Ñ Ð¾Ð¶Ð¸Ð¼ обÑазом пÑедоÑвÑаÑаеÑÑÑ ÑлÑÑÐ°Ð¹Ð½Ð°Ñ Ð·Ð°Ð³ÑÑзка ÑаÑÑиÑно ÑÑоÑмиÑованной ÑÑÑоки ÑообÑениÑ, ÑÑо Ñакже пÑиведÑÑ Ðº ÑÐ±Ð¾Ñ Ð² командеCOPY.
18.8.5. ÐÑполÑзование вÑвода жÑÑнала в ÑоÑмаÑе JSON #
Ðобавление jsonlog в ÑпиÑок log_destination позволÑÐµÑ Ð»ÐµÐ³ÐºÐ¾ импоÑÑиÑоваÑÑ ÑÐ°Ð¹Ð»Ñ Ð¶ÑÑналов в ÑазлиÑнÑе пÑогÑаммÑ. Ðогда вÑбÑан ÑÑÐ¾Ñ Ð¼ÐµÑод, ÑÑÑоки жÑÑнала вÑводÑÑÑÑ Ð² ÑоÑмаÑе JSON.
Ð ÑÑом ÑоÑмаÑе ÑÑÑоковÑе полÑ, ÑодеÑжаÑие NULL, не вÑводÑÑÑÑ. ÐпиÑаннÑй ниже Ð½Ð°Ð±Ð¾Ñ Ð¿Ð¾Ð»ÐµÐ¹ не оконÑаÑелÑнÑй, в бÑдÑÑем могÑÑ Ð¿Ð¾ÑвиÑÑÑÑ Ð½Ð¾Ð²Ñе полÑ. ÐÑи обÑабоÑке вÑвода jsonlog в полÑзоваÑелÑÑкиÑ
пÑиложениÑÑ
полÑ, неизвеÑÑнÑе Ð´Ð»Ñ ÑÑиÑ
пÑиложений, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑÑÑ.
ÐÐ°Ð¶Ð´Ð°Ñ ÑÑÑока жÑÑнала ÑеÑиализÑеÑÑÑ Ð² виде обÑекÑа JSON Ñ Ð½Ð°Ð±Ð¾Ñом клÑÑей и ÑвÑзаннÑÑ Ñ Ð½Ð¸Ð¼Ð¸ знаÑений, пеÑеÑиÑленнÑÑ Ð² ТаблиÑа 18.3.
ТаблиÑа 18.3. ÐлÑÑи и знаÑÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей жÑÑнала в ÑоÑмаÑе JSON
| ÐÐ¼Ñ ÐºÐ»ÑÑа | Тип | ÐпиÑание |
|---|---|---|
timestamp | ÑÑÑока | ШÑамп вÑемени, Ñ Ð¼Ð¸Ð»Ð»Ð¸ÑекÑндами |
user | ÑÑÑока | ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ |
dbname | ÑÑÑока | ÐÐ¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ |
pid | ÑиÑло | ÐденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа |
remote_host | ÑÑÑока | ÐомпÑÑÑÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñа |
remote_port | ÑиÑло | ÐоÑÑ ÐºÐ»Ð¸ÐµÐ½Ñа |
session_id | ÑÑÑока | ÐденÑиÑикаÑÐ¾Ñ ÑеанÑа |
line_num | ÑиÑло | ÐÐ¾Ð¼ÐµÑ ÑÑÑоки внÑÑÑи ÑеанÑа |
ps | ÑÑÑока | ТекÑÑÐ°Ñ ÑÑÑока Ð´Ð»Ñ ps |
session_start | ÑÑÑока | ÐÑÐµÐ¼Ñ Ð½Ð°Ñала ÑеанÑа |
vxid | ÑÑÑока | ÐденÑиÑикаÑÐ¾Ñ Ð²Ð¸ÑÑÑалÑной ÑÑанзакÑии |
txid | ÑÑÑока | ÐденÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑÑной ÑÑанзакÑии |
error_severity | ÑÑÑока | УÑÐ¾Ð²ÐµÐ½Ñ Ð¾Ñибки |
state_code | ÑÑÑока | Ðод SQLSTATE |
message | ÑÑÑока | СообÑение об оÑибке |
detail | ÑÑÑока | ÐодÑобное ÑообÑение об оÑибке |
hint | ÑÑÑока | ÐодÑказка, ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ Ð¾Ñибкой |
internal_query | ÑÑÑока | ÐнÑÑÑенний запÑоÑ, вÑзвавÑий оÑÐ¸Ð±ÐºÑ |
internal_position | ÑиÑло | Ðоложение кÑÑÑоÑа в ÑекÑÑе внÑÑÑеннего запÑоÑа |
context | ÑÑÑока | ÐонÑекÑÑ Ð¾Ñибки |
statement | ÑÑÑока | СÑÑока запÑоÑа, пÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð½Ð°Ñ ÐºÐ»Ð¸ÐµÐ½Ñом |
cursor_position | ÑиÑло | Ðоложение кÑÑÑоÑа в ÑÑÑоке запÑоÑа |
func_name | ÑÑÑока | ÐÐ¼Ñ ÑÑнкÑии, в коÑоÑой пÑоизоÑла оÑибка |
file_name | ÑÑÑока | ÐÐ¼Ñ Ñайла, в коÑоÑом пÑоизоÑла оÑибка |
file_line_num | ÑиÑло | ÐÐ¾Ð¼ÐµÑ ÑÑÑоки в Ñайле, где пÑоизоÑла оÑибка |
application_name | ÑÑÑока | ÐÐ¼Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑкого пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ |
backend_type | ÑÑÑока | Тип обÑлÑживаÑÑего пÑоÑеÑÑа |
leader_pid | ÑиÑло | ÐденÑиÑикаÑÐ¾Ñ Ð²ÐµÐ´ÑÑего пÑоÑеÑÑа гÑÑÐ¿Ð¿Ñ Ð¿Ð°ÑаллелÑнÑÑ Ð¸ÑполниÑелей |
query_id | ÑиÑло | ÐденÑиÑикаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑа |
18.8.6. Ðаголовок пÑоÑеÑÑа #
ÐÑи паÑамеÑÑÑ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° Ñо, как ÑоÑмиÑÑÑÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ ÑеÑвеÑнÑÑ Ð¿ÑоÑеÑÑов. Ðаголовок пÑоÑеÑÑа обÑÑно можно наблÑдаÑÑ Ð² пÑогÑÐ°Ð¼Ð¼Ð°Ñ Ñипа ps, а в Windows â в Process Explorer. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 26.1.
cluster_name(string) #ÐадаÑÑ Ð¸Ð¼Ñ, коÑоÑое иденÑиÑиÑиÑÑÐµÑ Ð´Ð°Ð½Ð½Ñй клаÑÑÐµÑ (ÑкземплÑÑ ÑеÑвеÑа) Ð´Ð»Ñ ÑазлиÑнÑÑ Ñелей. ÐÐ¼Ñ ÐºÐ»Ð°ÑÑеÑа вÑводиÑÑÑ Ð² заголовке пÑоÑеÑÑа Ð´Ð»Ñ Ð²ÑÐµÑ ÑеÑвеÑнÑÑ Ð¿ÑоÑеÑÑов в данном клаÑÑеÑе. Ðолее Ñого, ÑÑо Ð¸Ð¼Ñ Ð±ÑÐ´ÐµÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ, иÑполÑзÑемÑм пÑи подклÑÑении ведомого ÑеÑвеÑа (Ñм. synchronous_standby_names).
ÐÑо Ð¸Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ñбой ÑÑÑокой не длиннее
NAMEDATALENÑимволов (64 Ñимвола в ÑÑандаÑÑной ÑбоÑке). Ð ÑÑÑокеcluster_nameмогÑÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко пеÑаÑаемÑе ASCII-ÑимволÑ. ÐÑÑалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð·Ð°Ð¼ÐµÐ½ÑÑÑÑÑ ÑеÑÑнадÑаÑеÑиÑнÑми ÑпеÑÑимволами в ÑÑиле C. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑодеÑÐ¶Ð¸Ñ Ð¿ÑÑÑÑÑ ÑÑÑокÑ''(ÑÑо знаÑение по ÑмолÑаниÑ), никакое Ð¸Ð¼Ñ Ð½Ðµ вÑводиÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.update_process_title(boolean) #ÐклÑÑÐ°ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ заголовка пÑоÑеÑÑа пÑи полÑÑении ÑеÑвеÑом каждой оÑеÑедной ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SQL. Ðа болÑÑинÑÑве плаÑÑоÑм он вклÑÑÑн (Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение
on), но в Windows по ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑклÑÑен (off) Ð²Ð²Ð¸Ð´Ñ Ð±Ð¾Ð»ÑÑÐ¸Ñ Ð¸Ð·Ð´ÐµÑжек на изменение ÑÑого заголовка. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и полÑзоваÑели Ñ ÑооÑвеÑÑÑвÑÑÑим пÑавомSET.