InglesPransesEspanyol

Ad


OnWorks favicon

check_postgres_database_sizep - Online sa Cloud

Patakbuhin ang check_postgres_database_sizep sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command check_postgres_database_sizep na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


check_postgres - isang script ng pagsubaybay ng Postgres para sa Nagios, MRTG, Cacti, at iba pa

Inilalarawan ng dokumentong ito ang check_postgres bersyon 2.22.0

SINOPSIS


## Lumikha ng lahat ng symlink
check_postgres --symlinks

## Suriin ang koneksyon sa Postgres database 'pluto':
check_postgres --action=koneksyon --db=pluto

## Parehong bagay, ngunit gamit ang symlink
check_postgres_connection --db=pluto

## Babala kung > 100 lock, kritikal kung > 200, o > 20 eksklusibo
check_postgres_locks --warning=100 --critical="total=200:exclusive=20"

## Ipakita ang kasalukuyang bilang ng mga idle na koneksyon sa port 6543:
check_postgres_txn_idle --port=6543 --output=simple

## Maraming iba pang aksyon at opsyon, mangyaring ipagpatuloy ang pagbabasa.

Ang pinakabagong mga balita at dokumentasyon ay palaging matatagpuan sa:
http://bucardo.org/check_postgres/

DESCRIPTION


check_postgres ay isang Perl script na nagpapatakbo ng maraming iba't ibang mga pagsubok laban sa isa o higit pa
Mga database ng postgres. Ito ay gumagamit ng psql program upang mangalap ng impormasyon, at naglalabas ng
mga resulta sa isa sa tatlong mga format: Nagios, MRTG, o simple.

Pagbubuhos Mga Mode
Ang output ay maaaring baguhin sa pamamagitan ng paggamit ng "--output" na opsyon. Ang default na output ay nagios,
kahit na ito ay maaaring baguhin sa tuktok ng script kung nais mo. Ang kasalukuyang opsyon
mga pagpipilian ay nagios, mrtg, at simple. Upang maiwasang ipasok ang output argument bawat isa
oras, ang uri ng output ay awtomatikong itatakda kung walang --output argument ay ibinigay, at kung ang
Ang kasalukuyang direktoryo ay may isa sa mga opsyon sa output sa pangalan nito. Halimbawa, ang paglikha ng a
direktoryo na pinangalanang mrtg at i-populate ito ng mga symlink sa pamamagitan ng --symlinks argument ay
siguraduhin na ang anumang mga aksyon na tumatakbo mula sa direktoryo na iyon ay palaging magiging default sa isang output ng "mrtg"
Bilang isang shortcut para sa --output=simple, maaari mong ilagay ang --simple, na override din ang
trick sa pagpapangalan ng direktoryo.

Nagios output

Ang default na format ng output ay para sa Nagios, na isang linya ng impormasyon, kasama ng
apat na partikular na exit code:

0 (OK)
1 (BABALA)
2 (KRITIKAL)
3 (HINDI ALAM)

Ang linya ng output ay isa sa mga salita sa itaas, isang tutuldok, at pagkatapos ay isang maikling paglalarawan ng kung ano
ay sinukat. Karagdagang impormasyon sa istatistika, pati na rin ang kabuuang oras ng utos
kinuha, maaari ring maging output: tingnan ang dokumentasyon sa mga argumento --showperf,
--perflimit, at --showtime.

Ang MRTG output

Ang output ng MRTG ay apat na linya, na ang unang linya ay palaging nagbibigay ng isang solong bilang ng
kahalagahan. Kapag posible, ang numerong ito ay kumakatawan sa isang aktwal na halaga gaya ng bilang ng
bytes, ngunit maaari rin itong maging 1 o 0 para sa mga aksyon na nagbabalik lamang ng "true" o "false", tulad ng
bilang check_postgres_version. Ang pangalawang linya ay isang karagdagang istatistika at ginagamit lamang para sa
ilang aksyon. Ang ikatlong linya ay nagpapahiwatig ng "uptime" at hindi ginagamit. Ang ikaapat na linya ay a
paglalarawan at karaniwang nagpapahiwatig ng pangalan ng database ang stat mula sa unang linya
ay nakuha mula sa, ngunit maaaring iba depende sa aksyon.

Ang ilang mga aksyon ay tumatanggap ng opsyonal --mrtg argumento upang higit pang kontrolin ang output.

Tingnan ang dokumentasyon sa bawat aksyon para sa mga detalye sa eksaktong output ng MRTG para sa bawat isa.

Simple output

Ang simpleng output ay simpleng pinutol na bersyon ng MRTG, at ibinabalik lamang ang
unang numero at wala nang iba pa. Ito ay lubhang kapaki-pakinabang kapag gusto mo lang suriin ang estado
ng isang bagay, anuman ang anumang threshold. Maaari mong baguhin ang numeric na output sa pamamagitan ng
pagdaragdag ng KB, MB, GB, TB, o EB sa output argument, halimbawa:

--output=simple,MB

Cacti output

Ang output ng Cacti ay binubuo ng isa o higit pang mga item sa parehong linya, na may simpleng pangalan, a
colon, at pagkatapos ay isang numero. Sa ngayon, ang tanging aksyon na may tahasang Cacti output ay
'dbstats', at ang paggamit ng --output na opsyon ay hindi kailangan sa kasong ito, dahil ang Cacti ay ang tanging
output para sa pagkilos na ito. Para sa maraming iba pang mga aksyon, ang paggamit ng --simple ay sapat na upang makagawa ng Cacti
masaya.

DATABASE cONNECTION Opsyon


Lahat ng mga aksyon ay tumatanggap ng isang karaniwang hanay ng mga opsyon sa database.

-H NAME or --host=NAME
Kumonekta sa host na ipinahiwatig ni NAME. Maaaring isang listahan ng mga pangalan na pinaghihiwalay ng kuwit.
Pinapayagan ang maramihang mga argumento ng host. Kung walang ibinigay na host, magiging default sa "PGHOST"
environment variable o walang host (na nagpapahiwatig ng paggamit ng lokal na Unix socket).
Maaari mo ring gamitin ang "--dbhost".

-p PORT or --port=PORT
Kumokonekta gamit ang tinukoy na numero ng PORT. Maaaring isang listahan ng port na pinaghihiwalay ng kuwit
numero, at maramihang port argument ay pinapayagan. Kung walang ibinigay na numero ng port, ang mga default
sa variable ng kapaligiran na "PGPORT". Kung hindi iyon nakatakda, ito ay magiging default sa 5432. Maaari mong
gumamit din ng "--dbport"

-db NAME or --dbname=NAME
Tinutukoy kung saang database kumonekta. Maaaring isang listahan ng mga pangalan na pinaghihiwalay ng kuwit, at
pinapayagan ang maramihang mga argumento ng dbname. Kung walang ibinigay na opsyon sa dbname, ang default ay sa
ang variable ng kapaligiran na "PGDATABASE". Kung hindi iyon nakatakda, ito ay magiging default sa 'postgres'
kung ang psql ay bersyon 8 o mas mataas, at 'template1' kung hindi man.

-u USERNAME or --dbuser=USERNAME
Ang pangalan ng gumagamit ng database upang kumonekta bilang. Maaaring isang listahan na pinaghihiwalay ng kuwit ng
username, at maramihang mga argumento ng dbuser ay pinapayagan. Kung hindi ito ibinigay, ito
Default sa variable ng environment na "PGUSER", kung hindi, magiging default ito sa 'postgres'.

--dbpass=PASSWORD
Nagbibigay ng password para kumonekta sa database. Ang paggamit ng pagpipiliang ito ay lubos
pinanghinaan ng loob. Sa halip, dapat gumamit ng .pgpass o pg_service.conf file.

--dbservice=NAME
Ang pangalan ng isang serbisyo sa loob ng pg_service.conf file. Bago ang bersyon 9.0 ng
Postgres, isa itong pandaigdigang file, kadalasang makikita sa /etc/pg_service.conf. Kung ikaw ay
gamit ang bersyon 9.0 o mas mataas ng Postgres, maaari mong gamitin ang file na ".pg_service.conf" sa
ang home directory ng user na nagpapatakbo ng script, hal. nagios.

Ang file na ito ay naglalaman ng isang simpleng listahan ng mga opsyon sa koneksyon. Maaari ka ring magpasa ng karagdagang
impormasyon kapag ginagamit ang opsyong ito tulad ng --dbservice="maindatabase sslmode=require"

Ang dokumentasyon para sa file na ito ay matatagpuan sa
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

Ang mga opsyon sa koneksyon sa database ay maaaring ipangkat: --host=a,b --host=c --port=1234
--port=3344 ay kumonekta sa a-1234, b-1234, at c-3344. Tandaan na kapag naitakda, isang opsyon
nagpapatuloy hanggang sa muling mapalitan.

Halimbawa:

--host=a,b --port=5433 --db=c
Dalawang beses kumokonekta sa port 5433, gamit ang database c, sa mga host a at b: a-5433-c b-5433-c

--host=a,b --port=5433 --db=c,d
Kumokonekta ng apat na beses: a-5433-c a-5433-d b-5433-c b-5433-d

--host=a,b --host=foo --port=1234 --port=5433 --db=e,f
Anim na beses kumokonekta: a-1234-e a-1234-f b-1234-e b-1234-f foo-5433-e foo-5433-f

--host=a,b --host=x --port=5432,5433 --dbuser=alice --dbuser=bob -db=baz
Kumokonekta ng tatlong beses: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice="foo" --port=5433
Kumokonekta gamit ang pinangalanang serbisyo na 'foo' sa pg_service.conf file, ngunit ino-override ang port

OTHER Opsyon


Kabilang sa iba pang mga opsyon ang:

--action=NAME
Sabihin kung anong aksyon ang ating ginagawa. Kinakailangan maliban kung gumagamit ng isang naka-symlink na file, kung saan
kaso ang pangalan ng file ay ginagamit upang malaman ang aksyon.

--warning=VAL or -w Val
Itinatakda ang threshold kung saan pinapagana ang alerto ng babala. Ang wastong mga pagpipilian para dito
ang opsyon ay depende sa aksyon na ginamit.

--critical=VAL or -c Val
Itinatakda ang threshold kung saan pinapagana ang isang kritikal na alerto. Ang wastong mga pagpipilian para dito
ang opsyon ay depende sa aksyon na ginamit.

-t Val or --timeout=VAL
Itinatakda ang timeout sa ilang segundo pagkatapos nito ay ia-abort ng script ang anumang ginagawa nito at
ibalik ang isang UNKNOWN status. Ang timeout ay bawat Postgres cluster, hindi para sa kabuuan
iskrip. Ang default na halaga ay 10; ang mga yunit ay palaging nasa segundo.

--assume-standby-mode
Kung tinukoy, suriin muna kung ang server sa standby mode ay isasagawa (--datadir
ay kinakailangan), kung gayon, lahat ng mga tseke na nangangailangan ng mga query sa SQL ay hindi papansinin at "Server
sa standby mode" na may katayuang OK ay ibabalik sa halip.

Halimbawa:

postgres@db$./check_postgres --action=version --warning=8.1 --datadir /var/lib/postgresql/8.3/main/ --assume-standby-mode
POSTGRES_VERSION OK: Server sa standby mode | oras=0.00

--assume-prod
Kung tinukoy, tingnan kung ang server sa production mode ay gumanap (--datadir ay kinakailangan).
Ang opsyon ay may kaugnayan lamang para sa ("symlink: check_postgres_checkpoint").

Halimbawa:

postgres@db$./check_postgres --action=checkpoint --datadir /var/lib/postgresql/8.3/main/ --assume-prod
POSTGRES_CHECKPOINT OK: Ang huling checkpoint ay 72 segundo ang nakalipas | edad=72;;300 mode=MASTER

-h or - Tumulong
Nagpapakita ng screen ng tulong na may buod ng lahat ng pagkilos at opsyon.

--lalaki
Ipinapakita ang buong manual.

-V or --bersyon
Ipinapakita ang kasalukuyang bersyon.

-v or --verbose
Itakda ang antas ng verbosity. Maaaring tumawag ng higit sa isang beses para i-boost ang level. Pagtatakda nito sa
tatlo o mas mataas (sa madaling salita, ang pag-isyu ng "-v -v -v") ay ino-on ang impormasyon sa pag-debug
para sa program na ito na ipinadala sa stderr.

--showperf=VAL
Tinutukoy kung maglalabas kami ng karagdagang data ng pagganap sa karaniwang format ng Nagios (sa dulo
ng string, pagkatapos ng simbolo ng pipe, gamit ang name=value). Ang VAL ay dapat na 0 o 1. Ang default
ay 1. Magkakabisa lamang kung gumagamit ng Nagios output mode.

--perflimit=i
Nagtatakda ng limitasyon kung gaano karaming mga item ng interes ang naiulat pabalik kapag ginagamit ang
showperf opsyon. May epekto lang ito para sa mga pagkilos na nagbabalik ng malaking bilang ng
aytem, ​​tulad ng table_size. Ang default ay 0, o walang limitasyon. Mag-ingat sa paggamit nito
sa --isama or --ibukod mga opsyon, dahil tapos na ang mga paghihigpit na iyon pagkatapos ang
naisagawa na ang query, at sa gayon ang iyong limitasyon ay maaaring hindi kasama ang mga item na gusto mo. Tanging tumatagal
epekto kung gumagamit ng Nagios output mode.

--showtime=VAL
Tinutukoy kung ang oras na kinuha upang patakbuhin ang bawat query ay ipinapakita sa output. Ang VAL ay dapat na 0
o 1. Ang default ay 1. Walang epekto maliban kung showperf ay sa. Magkakabisa lamang kung gagamit
Nagios output mode.

--pagsusulit
Pinapagana ang mode ng pagsubok. Tingnan ang seksyong "TEST MODE" sa ibaba.

--PGBINDIR=PATH
Sinasabi sa script kung saan mahahanap ang mga binary ng psql. Kapaki-pakinabang kung mayroon kang higit sa isa
bersyon ng mga executable ng PostgreSQL sa iyong system, o kung wala sa iyong
landas. Tandaan na ang opsyong ito ay nasa lahat ng uppercase. Bilang default, ang pagpipiliang ito ay hindi
pinapayagan. Upang paganahin ito, dapat mong baguhin ang $NO_PSQL_OPTION malapit sa tuktok ng script
hanggang 0. Iwasang gamitin ang opsyong ito kung kaya mo, at sa halip ay gumamit ng environment variable
c o hard-coded na variable na $PGBINDIR, malapit din sa tuktok ng script, upang itakda
ang landas sa PostgreSQL na gagamitin.

--PSQL=PATH
(hindi na ginagamit, ito opsyon maaari be inalis in a hinaharap bitawan!) Sinasabi sa script kung saan
upang mahanap ang psql program. Kapaki-pakinabang kung mayroon kang higit sa isang bersyon ng psql
maipapatupad sa iyong system, o kung walang psql program sa iyong landas. Tandaan na ito
ang opsyon ay nasa lahat ng uppercase. Bilang default, ang pagpipiliang ito ay hindi pinapayagan. Upang paganahin ito, ikaw
dapat baguhin ang $NO_PSQL_OPTION malapit sa tuktok ng script sa 0. Iwasang gamitin ito
opsyon kung magagawa mo, at sa halip ay i-hard-code ang iyong lokasyon ng psql sa $PSQL variable,
malapit din sa tuktok ng script.

--symlinks
Lumilikha ng mga symlink sa pangunahing programa para sa bawat aksyon.

--output=VAL
Tinutukoy ang format ng output, para magamit sa iba't ibang mga programa. Ang default ay
'nagios'. Ang mga available na opsyon ay 'nagios', 'mrtg', 'simple' at 'cacti'.

--mrtg=VAL
Ginagamit lang para sa MRTG o simpleng output, para sa ilang partikular na pagkilos.

--debugoutput=VAL
Naglalabas ng eksaktong string na ibinalik ng psql, para magamit sa pag-debug. Ang halaga ay isa o
higit pang mga titik, na tumutukoy kung ang output ay ipinapakita o hindi, kung saan 'a' = lahat, 'c'
= kritikal, 'w' = babala, 'o' = ok, at 'u' = hindi alam. Maaaring pagsamahin ang mga titik.

--get_method=VAL
Nagbibigay-daan sa pagtutukoy ng paraan na ginamit upang kumuha ng impormasyon para sa "new_version_cp",
"new_version_pg", "new_version_bc", "new_version_box", at "new_version_tnm" na mga pagsusuri.
Ang mga sumusunod na programa ay sinubukan, upang makuha ang impormasyon mula sa web: GET,
wget, fetch, curl, lynx, mga link. Upang pilitin ang paggamit ng isa lamang (at sa gayon ay alisin ang
higit sa pagsubok sa lahat ng iba pa hanggang sa isa sa mga gawang iyon), ilagay ang isa sa mga pangalan bilang
ang argumento sa get_method. Halimbawa, maaaring pumasok ang isang BSD box sa sumusunod na linya
kanilang ".check_postgresrc" na file:

get_method=fetch

--language=VAL
Itakda ang wikang gagamitin para sa lahat ng output na mensahe. Karaniwan, ito ay natutukoy ng
sinusuri ang mga variable ng kapaligiran na LC_ALL, LC_MESSAGES, at LANG, ngunit itinatakda ito
i-o-override ng opsyon ang anumang naturang pagtuklas.

MGA PAGKILOS


Ang script ay nagpapatakbo ng isa o higit pang mga aksyon. Maaari itong gawin gamit ang --action flag, o sa pamamagitan ng
gamit ang isang symlink sa pangunahing file na naglalaman ng pangalan ng aksyon sa loob nito. Para sa
halimbawa, upang patakbuhin ang aksyon na "timesync", maaari kang magbigay ng:

check_postgres --action=timesync

o gumamit ng program na pinangalanang:

check_postgres_timesync

Lahat ng mga symlink ay nilikha para sa iyo sa kasalukuyang direktoryo kung gagamitin ang opsyon --symlinks

perl check_postgres --symlinks

Kung mayroon nang pangalan ng file, hindi ito ma-overwrite. Kung ang file ay umiiral at ay a
symlink, maaari mo itong pilitin na i-overwrite sa pamamagitan ng paggamit ng "--action=build_symlinks_force"

Karamihan sa mga aksyon ay nagsasagawa ng a --babala at --mapanganib opsyon, na nagsasaad kung saang punto tayo magbabago
mula OK hanggang BABALA, at kung saan tayo pupunta sa KRITIKAL. Tandaan na dahil ang mga kritikal ay
palaging sinusuri muna, ang pagtatakda ng babala na katumbas ng kritikal ay isang mabisang paraan upang
patayin ang mga babala at laging magbigay ng kritikal.

Ang kasalukuyang mga sinusuportahang aksyon ay:

archive_ready
("symlink: check_postgres_archive_ready") Sinusuri kung ilang WAL file ang may extension .handa na
umiiral sa pg_xlog/archive_status direktoryo, na matatagpuan sa iyong data_directory.
Ang pagkilos na ito ay dapat na patakbuhin bilang isang superuser, upang ma-access ang mga nilalaman ng
pg_xlog/archive_status direktoryo. Ang pinakamababang bersyon upang magamit ang pagkilos na ito ay Postgres 8.1.
Ang --babala at --mapanganib ang mga pagpipilian ay ang bilang lamang ng .handa na mga file sa
pg_xlog/archive_status direktoryo. Karaniwan, ang mga halagang ito ay dapat na mababa, na i-on ang
mekanismo ng pag-archive, karaniwan naming gusto nitong i-archive ang mga WAL file nang mabilis hangga't maaari.

Kung nabigo ang command sa archive, bilang ng WAL sa iyong pg_xlog lalago ang direktoryo hanggang
inuubos ang lahat ng espasyo sa disk at pilitin ang PostgreSQL na huminto kaagad.

Halimbawa 1: Tingnan kung ang bilang ng mga handa na WAL file ay 10 o mas kaunti sa host na "pluto"

check_postgres_archive_ready --host=pluto --critical=10

Para sa output ng MRTG, iniuulat ang bilang ng mga handa na WAL file sa linya 1.

autovac_freeze
("symlink: check_postgres_autovac_freeze") Sinusuri kung gaano kalapit ang bawat database sa
Mga postgres autovacuum_freeze_max_age setting. Ang pagkilos na ito ay gagana lamang para sa mga database
bersyon 8.2 o mas mataas. Ang --babala at --mapanganib ang mga pagpipilian ay dapat ipahayag bilang
mga porsyento. Ang 'edad' ng mga transaksyon sa bawat database ay inihambing sa
autovacuum_freeze_max_age na setting (200 milyon bilang default) upang makabuo ng isang bilugan
porsyento. Ang mga default na halaga ay 90% para sa babala at 95% para sa mga kritikal. Mga database
maaaring i-filter sa pamamagitan ng paggamit ng --isama at --ibukod mga pagpipilian. Tingnan ang "BASIC FILTERING"
seksyon para sa karagdagang detalye.

Halimbawa 1: Magbigay ng babala kapag ang anumang mga database sa port 5432 ay higit sa 97%

check_postgres_autovac_freeze --port=5432 --warning="97%"

Para sa output ng MRTG, ang pinakamataas na kabuuang porsyento ay iniuulat sa unang linya, at ang
ang pinakamataas na edad ay iniulat sa pangalawang linya. Lahat ng mga database na may porsyento mula sa
ang unang linya ay iniulat sa ikaapat na linya, na pinaghihiwalay ng isang simbolo ng tubo.

mga backend
("symlink: check_postgres_backends") Sinusuri ang kasalukuyang bilang ng mga koneksyon para sa isa o
higit pang mga database, at opsyonal na inihambing ito sa maximum na pinapayagan, na tinutukoy ng
ang variable ng pagsasaayos ng Postgres max_connections. ang --babala at --mapanganib pagpipilian
maaaring tumagal ng isa sa tatlong anyo. Una, maaaring magbigay ng isang simpleng numero, na kumakatawan sa
bilang ng mga koneksyon kung saan ibibigay ang alerto. Ang pagpipiliang ito ay hindi gumagamit ng
max_connections setting. Pangalawa, ang porsyento ng mga magagamit na koneksyon ay maaaring ibigay.
Pangatlo, maaaring magbigay ng negatibong numero na kumakatawan sa bilang ng natitirang mga koneksyon
hanggang max_connections ay naabot. Ang mga default na halaga para sa --babala at --mapanganib ay
'90%' at '95%'. Maaari mo ring i-filter ang mga database sa pamamagitan ng paggamit ng --isama at --ibukod
mga pagpipilian. Tingnan ang seksyong "BASIC FILTERING" para sa higit pang mga detalye.

Upang tingnan lamang ang mga di-idle na proseso, maaari mong gamitin ang --noidle argumento. Tandaan na ang user mo
ay kumokonekta bilang dapat ay isang superuser para ito ay gumana ng maayos.

Halimbawa 1: Magbigay ng babala kapag ang bilang ng mga koneksyon sa host quirm ay umabot sa 120, at isang
kritikal kung umabot sa 150.

check_postgres_backends --host=quirm --warning=120 --critical=150

Halimbawa 2: Magbigay ng kritikal kapag naabot namin ang 75% ng aming max_connections na setting sa mga host
lancre o lancre2.

check_postgres_backends --warning='75%' --critical='75%' --host=lancre,lancre2

Halimbawa 3: Magbigay ng babala kapag may natitira pang 10 na puwang ng koneksyon sa host
plasmid, at isang kritikal kapag 5 na lang ang natitira namin.

check_postgres_backends --warning=-10 --critical=-5 --host=plasmid

Halimbawa 4: Suriin ang lahat ng mga database maliban sa mga may "pagsubok" sa kanilang pangalan, ngunit payagan ang mga iyon
ay pinangalanang "pg_greatest". Kumonekta bilang port 5432 sa unang dalawang host, at bilang port 5433 sa
ang pangatlo. Gusto naming palaging maghagis ng kritikal kapag umabot kami ng 30 o higit pang mga koneksyon.

check_postgres_backends --dbhost=hong,kong --dbhost=fooey --dbport=5432 --dbport=5433 --warning=30 --critical=30 --exclude="~test" --include="pg_greatest,~prod "

Para sa output ng MRTG, ang bilang ng mga koneksyon ay iniulat sa unang linya, at sa ikaapat
Ang linya ay nagbibigay ng pangalan ng database, kasama ang kasalukuyang maximum_connections. Kung higit sa
isang database ang na-query, ang isa na may pinakamataas na bilang ng mga koneksyon ay output.

pamumulaklak
("symlink: check_postgres_bloat") Sinusuri ang dami ng bloat sa mga talahanayan at index. (Bloat
ay karaniwang ang dami ng patay na hindi nagamit na espasyo na kinuha sa isang talahanayan o index. Ang espasyong ito ay
kadalasang kinukuha sa pamamagitan ng paggamit ng VACUUM command.) Ang pagkilos na ito ay nangangailangan ng mga istatistika
paganahin ang koleksyon sa mga target na database, at nangangailangan na ang ANALYZE ay patakbuhin
madalas. Ang --isama at --ibukod maaaring gamitin ang mga opsyon upang i-filter kung aling mga talahanayan ang pupuntahan
tingnan mo. Tingnan ang seksyong "BASIC FILTERING" para sa higit pang mga detalye.

Ang --babala at --mapanganib maaaring tukuyin ang mga opsyon bilang mga laki, porsyento, o pareho. Wasto
ang mga unit ng laki ay bytes, kilobytes, megabytes, gigabytes, terabytes, exabytes, petabytes, at
zettabytes. Maaari mong paikliin ang lahat ng may unang titik. Ang mga bagay na walang mga yunit ay
ipinapalagay na 'bytes'. Ang mga default na halaga ay '1 GB' at '5 GB'. Ang halaga ay kumakatawan sa
bilang ng "nasayang na byte", o ang pagkakaiba sa pagitan ng aktwal na ginagamit ng talahanayan at
index, at kung ano ang kinukuwenta namin na dapat.

Tandaan na ang pagkilos na ito ay may dalawang hard-coded na halaga upang maiwasan ang mga maling alarma sa mas maliit
relasyon. Ang mga talahanayan ay dapat na may hindi bababa sa 10 mga pahina, at ini-index ng hindi bababa sa 15, bago sila maging
isinasaalang-alang ng pagsusulit na ito. Kung gusto mo talagang ayusin ang mga halagang ito, maaari mong hanapin ang
mga variable $MINPAGES at $MINIPAGES sa itaas ng subroutine na "check_bloat." Ang mga ito
ang mga halaga ay binabalewala kung alinman --ibukod or --isama Ginagamit.

Tanging ang nangungunang 10 pinaka-bloated na relasyon ang ipinapakita. Maaari mong baguhin ang numerong ito sa pamamagitan ng paggamit ng
--perflimit opsyon upang itakda ang iyong sariling limitasyon.

Ang schema na pinangalanang 'information_schema' ay hindi kasama sa pagsubok na ito, dahil ang tanging mga talahanayan nito
naglalaman ay maliit at hindi nagbabago.

Pakitandaan na ang mga value na nakalkula ng pagkilos na ito ay hindi tumpak, at dapat gamitin bilang
isang gabay lamang. Malaking pagsisikap ang ginawa upang tantiyahin ang tamang sukat ng isang talahanayan, ngunit sa
ang katapusan ito ay isang pagtatantya lamang. Ang tamang sukat ng index ay higit pa sa isang hula kaysa sa
tamang sukat ng mesa, ngunit ang dalawa ay dapat magbigay ng magaspang na ideya kung gaano kalaki ang mga bagay.

Halimbawa 1: Babala kung ang anumang talahanayan sa port 5432 ay lampas sa 100 MB na bloated, at kritikal kung higit sa 200
MB

check_postgres_bloat --port=5432 --warning='100 M' --critical='200 M'

Halimbawa 2: Magbigay ng kritikal kung ang 'mga order' ng talahanayan sa host na 'sami' ay may higit sa 10 megs ng bloat

check_postgres_bloat --host=sami --include=orders --critical='10 MB'

Halimbawa 3: Magbigay ng kritikal kung ang talahanayan na 'q4' sa database na 'benta' ay higit sa 50% bloated

check_postgres_bloat --db=sales --include=q4 --critical='50%'

Halimbawa 4: Magbigay ng isang kritikal na anumang talahanayan ay higit sa 20% bloated at ay may higit sa 150 MB ng bloat:

check_postgres_bloat --port=5432 --critical='20% at 150 M'

Halimbawa 5: Magbigay ng isang kritikal na anumang talahanayan ay higit sa 40% bloated or ay may higit sa 500 MB ng bloat:

check_postgres_bloat --port=5432 --warning='500 M o 40%'

Para sa output ng MRTG, ang unang linya ay nagbibigay ng pinakamataas na bilang ng mga nasayang na byte para sa mga talahanayan,
at ang pangalawang linya ay nagbibigay ng pinakamataas na bilang ng mga nasayang na byte para sa mga index. Ang ikaapat
Ang linya ay nagbibigay ng pangalan ng database, pangalan ng talahanayan, at impormasyon ng pangalan ng index. Kung gusto mo
ilabas ang bloat ratio sa halip (ilang beses na mas malaki ang kaugnayan kung ikukumpara sa kung paano
malaki dapat), ipasa lang sa "--mrtg=ratio".

checkpoint
("symlink: check_postgres_checkpoint") Tinutukoy kung gaano katagal na ang huling checkpoint
tinakbo. Dapat itong tumakbo sa parehong server bilang ang database na sinusuri (hal
-h flag ay hindi gagana). Ang tseke na ito ay nilalayong tumakbo sa isang "warm standby" na server
aktibong nagpoproseso ng mga naipadalang WAL file, at nilayon upang suriin kung ang iyong mainit na standby ay
talagang 'mainit'. Dapat itakda ang direktoryo ng data, alinman sa variable ng kapaligiran
"PGDATA", o pagpasa ng "--datadir" argument. Ibinabalik nito ang bilang ng mga segundo mula noong
pinatakbo ang huling checkpoint, gaya ng natukoy sa pamamagitan ng pag-parse ng tawag sa "pg_controldata". Dahil sa
ito, ang pg_controldata executable ay dapat na available sa kasalukuyang path. Bilang kahalili,
maaari mong tukuyin ang "PGBINDIR" bilang direktoryo kung saan ito nakatira. Posible rin itong gamitin
ang mga espesyal na opsyon --assume-prod or --assume-standby-mode, kung ang nahanap na mode ay hindi ang
isang inaasahan, isang KRITIKAL ang ibinubuga.

Dapat magtakda ng kahit isang babala o kritikal na argumento.

Ang pagkilos na ito ay nangangailangan ng Date::Parse module.

Para sa MRTG o simpleng output, ibinabalik ang bilang ng mga segundo.

cluster_id
("symlink: check_postgres_cluster-id") Sinusuri na ibinigay ng Database System Identifier
by pg_controldata ay kapareho ng huling beses na iyong sinuri. Dapat itong tumakbo sa parehong server
bilang database na sinusuri (hal. ang -h flag ay hindi gagana). Alinman sa
--babala o ang --mapanganib dapat ibigay ang opsyon, ngunit hindi pareho. Ang halaga ng bawat isa ay
ang cluster identifier, isang integer na halaga. Maaari kang tumakbo gamit ang espesyal na "--critical=0"
opsyon upang malaman ang isang umiiral nang cluster identifier.

Halimbawa 1: Hanapin ang paunang identifier

check_postgres_cluster_id --critical=0 --datadir=/var//lib/postgresql/9.0/main

Halimbawa 2: Tiyaking pareho ang cluster at bigyan ng babala kung hindi, gamit ang resulta mula sa itaas.

check_postgres_cluster_id --critical=5633695740047915135

Para sa output ng MRTG, nagbabalik ng 1 o 0 na nagsasaad ng tagumpay ng pagkabigo ng identifier sa
tugma. Dapat magbigay ng identifier bilang argument na "--mrtg". Ang pang-apat na linya palagi
nagbibigay ng kasalukuyang identifier.

commitratio
("symlink: check_postgres_commitratio") Sinusuri ang commit ratio ng lahat ng database at
nagrereklamo kapag sila ay masyadong mababa. Hindi na kailangang patakbuhin ang utos na ito nang higit sa isang beses bawat
kumpol ng database. Maaaring i-filter ang mga database gamit ang --isama at --ibukod mga pagpipilian. Tingnan mo
ang seksyong "BASIC FILTERING" para sa higit pang mga detalye. Maaari din silang i-filter ng may-ari ng
ang database na may --includeuser at --excludeuser mga pagpipilian. Tingnan ang "USER NAME
PAG-FILTER" na seksyon para sa higit pang mga detalye.

Ang mga babala at kritikal na opsyon ay dapat na tukuyin bilang mga porsyento. Walang
mga default para sa pagkilos na ito: dapat na tukuyin ang babala at kritikal. Ang halaga ng babala
hindi maaaring mas malaki kaysa sa kritikal na halaga. Ibinabalik ng output ang lahat ng database na pinagsunod-sunod
commitratio, pinakamaliit muna.

Halimbawa: Babala kung ang anumang database sa host flagg ay mas mababa sa 90% sa commitratio, at kritikal
kung mas mababa sa 80%.

check_postgres_database_commitratio --host=flagg --warning='90%' --critical='80%'

Para sa MRTG output, ibinabalik ang porsyento ng database na may pinakamaliit na commitratio sa
ang unang linya, at ang pangalan ng database sa ikaapat na linya.

koneksyon
("symlink: check_postgres_connection") Kumokonekta lang, naglalabas ng 'SELECT bersyon()', at
dahon. Kumukuha ng no --babala or --mapanganib mga pagpipilian.

Para sa output ng MRTG, maglalabas lang ng 1 (magandang koneksyon) o 0 (masamang koneksyon) sa una
linya.

custom_query
("symlink: check_postgres_custom_query") Nagpapatakbo ng custom na query na iyong pinili, at nag-parse
ang mga resulta. Ang query mismo ay ipinapasa sa pamamagitan ng "query" argument, at dapat ay
pinananatiling simple hangga't maaari. Kung maaari, balutin ito sa isang view o isang function na dapat panatilihin
mas madaling pamahalaan ang mga bagay. Ang query ay dapat magbalik ng isa o dalawang column. Kinakailangan iyon
isa sa mga column ay pinangalanang "resulta" at ang item na susuriin laban sa iyong
babala at kritikal na mga halaga. Ang pangalawang column ay para sa data ng pagganap at anumang pangalan
maaaring gamitin: ito ang magiging 'halaga' sa loob ng seksyon ng data ng pagganap.

Dapat tukuyin ang kahit isang babala o kritikal na argumento. Depende sa kung ano ang itinakda ng mga ito
sa uri ng query na iyong pinapatakbo. May apat na uri ng custom_queries na maaaring
run, na tinukoy ng "valtype" na argumento. Kung walang tinukoy, ang pagkilos na ito ay magde-default sa
'integer'. Ang apat na uri ay:

kabuuan: Gumagawa ng isang simpleng paghahambing ng integer. Ang unang column ay dapat na isang simpleng integer,
at ang babala at kritikal na mga halaga ay dapat na pareho.

pisi: Ang babala at kritikal ay mga string, at na-trigger lamang kung ang halaga sa
eksaktong tumutugma ang unang hanay dito. Ito ay case-sensitive.

oras: Ang babala at ang kritikal ay mga oras, at maaaring magkaroon ng mga yunit ng segundo, minuto,
oras, o araw. Ang bawat isa ay maaaring nakasulat na isahan o dinaglat sa unang titik lamang. Kung
walang ibinigay na mga yunit, ipinapalagay ang mga segundo. Ang unang column ay dapat na isang integer
kumakatawan sa bilang ng mga segundo upang suriin.

laki: Ang babala at ang kritikal ay mga laki, at maaaring magkaroon ng mga yunit ng byte, kilobytes,
megabytes, gigabytes, terabytes, o exabytes. Ang bawat isa ay maaaring paikliin sa unang titik.
Kung walang ibinigay na mga yunit, ang mga byte ay ipinapalagay. Ang unang column ay dapat na isang integer
kumakatawan sa bilang ng mga byte na susuriin.

Karaniwan, ang isang alerto ay na-trigger kung ang mga halaga na ibinalik ay lalong malaki kaysa o katumbas ng
kritikal o babala na halaga. Gayunpaman, isang opsyon ng --baligtad ay magpapalitaw ng alerto kung ang
ang ibinalik na halaga ay ibaba kaysa o katumbas ng kritikal o babala na halaga.

Halimbawa 1: Babala kung ang anumang kaugnayan na higit sa 100 mga pahina ay pinangalanang "rad", ilagay ang bilang ng mga pahina
sa loob ng seksyon ng data ng pagganap.

check_postgres_custom_query --valtype=string -w "rad" --query=
"PUMILI ng relname BILANG resulta, mga relpage BILANG mga pahina MULA sa pg_class WHERE relpages > 100"

Halimbawa 2: Magbigay ng kritikal kung ang function na "foobar" ay nagbabalik ng numero na higit sa 5MB:

check_postgres_custom_query --critical='5MB'--valtype=size --query="SELECT foobar() BILANG resulta"

Halimbawa 2: Magbabala kung ang function na "snazzo" ay magbabalik ng mas mababa sa 42:

check_postgres_custom_query --critical=42 --query="SELECT snazzo() BILANG resulta" --reverse

Kung makabuo ka ng isang kapaki-pakinabang na custom_query, isaalang-alang ang pagpapadala ng isang patch sa program na ito sa
gawin itong isang karaniwang aksyon na magagamit ng ibang tao.

Hindi pa sinusuportahan ng pagkilos na ito ang MRTG o simpleng output.

database_size
("symlink: check_postgres_database_size") Sinusuri ang laki ng lahat ng database at nagrereklamo
kapag sila ay masyadong malaki. Hindi na kailangang patakbuhin ang command na ito nang higit sa isang beses bawat database
kumpol. Maaaring i-filter ang mga database gamit ang --isama at --ibukod mga pagpipilian. Tingnan ang
"BASIC FILTERING" na seksyon para sa higit pang mga detalye. Maaari din silang i-filter ng may-ari ng
database na may --includeuser at --excludeuser mga pagpipilian. Tingnan ang "USER NAME FILTERING"
seksyon para sa karagdagang detalye.

Ang babala at kritikal na mga opsyon ay maaaring tukuyin bilang bytes, kilobytes, megabytes,
gigabytes, terabytes, o exabytes. Ang bawat isa ay maaaring paikliin sa unang titik din.
Kung walang ibinigay na yunit, ang mga yunit ay ipinapalagay na mga byte. Walang mga default para dito
aksyon: dapat tukuyin ang babala at kritikal. Hindi maaaring mas malaki ang halaga ng babala
kaysa sa kritikal na halaga. Ibinabalik ng output ang lahat ng mga database na pinagsunod-sunod ayon sa laki na pinakamalaki muna,
na nagpapakita ng parehong mga raw byte at isang "maganda" na bersyon ng laki.

Halimbawa 1: Babala kung ang anumang database sa host flagg ay higit sa 1 TB ang laki, at kritikal kung lumampas
1.1 TB.

check_postgres_database_size --host=flagg --warning='1 TB' --critical='1.1 t'

Halimbawa 2: Magbigay ng kritikal kung ang database template1 sa port 5432 ay higit sa 10 MB.

check_postgres_database_size --port=5432 --include=template1 --warning='10MB' --critical='10MB'

Halimbawa 3: Magbigay ng babala kung tapos na ang anumang database sa host na 'tardis' na pag-aari ng user na 'tom'
5 GB

check_postgres_database_size --host=tardis --includeuser=tom --warning='5 GB' --critical='10 GB'

Para sa output ng MRTG, ibinabalik ang laki sa bytes ng pinakamalaking database sa unang linya, at
ang pangalan ng database sa ikaapat na linya.

dbstats
("symlink: check_postgres_dbstats") Nag-uulat ng impormasyon mula sa pg_stat_database view,
at inilalabas ito sa isang Cacti-friendly na paraan. Walang ibang output ang sinusuportahan, gaya ng output
impormasyon at hindi nagpapahiram sa sarili sa mga alerto, gaya ng ginamit sa Nagios. Kung walang pagpipilian
ay ibinigay, ang lahat ng mga database ay ibinalik, isa sa bawat linya. Maaari kang magsama ng isang partikular na database
sa pamamagitan ng paggamit ng "--include" na opsyon, o maaari mong gamitin ang "--dbname" na opsyon.

Labing-isang item ang ibinabalik sa bawat linya, sa format name:value, na pinaghihiwalay ng isang solong
space. Ang mga item ay:

mga backend
Ang bilang ng kasalukuyang tumatakbong mga backend para sa database na ito.

gumawa
Ang kabuuang bilang ng mga commit para sa database na ito mula noong ginawa o na-reset ito.

mga rollback
Ang kabuuang bilang ng mga rollback para sa database na ito mula noong ginawa o na-reset ito.

basahin
Ang kabuuang bilang ng mga bloke ng disk na nabasa.

hit Ang kabuuang bilang ng mga buffer hit.

ret Ang kabuuang bilang ng mga row na ibinalik.

kunin
Ang kabuuang bilang ng mga row na nakuha.

ins Ang kabuuang bilang ng mga row na ipinasok.

upd Ang kabuuang bilang ng mga row na na-update.

del Ang kabuuang bilang ng mga row na tinanggal.

dbname
Ang pangalan ng database.

Tandaan na ang ret, fetch, ins, upd, at del item ay palaging magiging 0 kung ang Postgres ay bersyon 8.2
o mas mababa, dahil hindi available ang mga istatistikang iyon sa mga bersyong iyon.

Kung ibinigay ang argumento ng dbname, ibabalik ang pitong karagdagang item:

idxscan
Kabuuang bilang ng mga pag-scan ng index ng user.

idxtupread
Kabuuang bilang ng mga entry sa index ng user na ibinalik.

idxtupfetch
Kabuuang bilang ng mga row na kinukuha ng mga simpleng pag-scan ng index ng user.

idxblksread
Kabuuang bilang ng mga bloke ng disk na nabasa para sa lahat ng mga index ng user.

idxblkshit
Kabuuang bilang ng mga buffer hit para sa lahat ng mga index ng user.

seqscan
Kabuuang bilang ng mga sunud-sunod na pag-scan laban sa lahat ng mga talahanayan ng user.

seqtupread
Kabuuang bilang ng mga tuple na ibinalik mula sa lahat ng mga talahanayan ng user.

Halimbawa 1: Kunin ang mga istatistika para sa isang database na pinangalanang "mga produkto" sa host na "willow":

check_postgres_dbstats --dbhost willow --dbname na mga produkto

Ang ibinalik na output ay magiging ganito (lahat sa isang linya, hindi nakabalot):

backends:82 commits:58374408 rollbacks:1651 read:268435543 hit:2920381758 idxscan:310931294 idxtupread:2777040927
idxtupfetch:1840241349 idxblksread:62860110 idxblkshit:1107812216 seqscan:5085305 seqtupread:5370500520
ret:0 fetch:0 ins:0 upd:0 del:0 dbname:willow

disabled_triggers
("symlink: check_postgres_disabled_triggers") Sinusuri ang bilang ng mga na-disable na trigger
sa loob ng database. Ang --babala at --mapanganib Ang mga pagpipilian ay ang bilang ng mga naturang pag-trigger
natagpuan, at parehong default sa "1", tulad ng sa normal na paggamit, ang pagkakaroon ng hindi pinaganang mga trigger ay isang mapanganib
kaganapan. Kung ang database na sinusuri ay 8.3 o mas mataas, ang tseke ay para sa bilang ng
mga trigger na nasa status na 'naka-disable' (kumpara sa pagiging 'palagi' o 'replica'). Ang
ipapakita ng output ang pangalan ng talahanayan at ang pangalan ng trigger para sa bawat hindi pinagana
gatilyo

Halimbawa 1: Tiyaking walang mga naka-disable na trigger

check_postgres_disabled_triggers

Para sa output ng MRTG, ibinabalik ang bilang ng mga na-disable na trigger sa unang linya.

disk_space
("symlink: check_postgres_disk_space") Sinusuri ang magagamit na pisikal na espasyo sa disk na ginagamit ni
Mga postgres. Ang pagkilos na ito ay nangangailangan na mayroon kang executable "/bin/df" magagamit upang iulat
sa mga laki ng disk, at kailangan din itong patakbuhin bilang isang superuser, upang masuri nito ang
data_directory setting sa loob ng Postgres. Ang --babala at --mapanganib ibinibigay ang mga pagpipilian
sa alinman sa laki o porsyento o pareho. Kung gumagamit ng mga laki, ang mga karaniwang uri ng unit ay
pinapayagan: byte, kilobytes, gigabytes, megabytes, gigabytes, terabytes, o exabytes. Bawat isa
maaaring paikliin sa unang titik lamang; walang mga yunit sa lahat ay nagpapahiwatig ng 'bytes'. Ang
ang mga default na halaga ay '90%' at '95%'.

Sinusuri ng command na ito ang mga sumusunod na bagay upang matukoy ang lahat ng iba't ibang mga pisikal na disk
ginagamit ng Postgres.

data_directory - Ang disk kung saan naka-on ang pangunahing direktoryo ng data.

mag-log direktoryo - Ang disk kung saan naka-on ang mga log file.

Wal file direktoryo - Ang disk kung saan naka-on ang write-ahead logs (eg symlinked pg_xlog)

mga mesa - Ang bawat tablespace na nasa isang hiwalay na disk.

Ipinapakita ng output ang kabuuang sukat na ginamit at magagamit sa bawat disk, pati na rin ang
porsyento, inayos ayon sa pinakamataas hanggang pinakamababang porsyento na ginamit. Ang bawat item sa itaas ay nagmamapa sa isang file
system: maaaring isama o ibukod ang mga ito. Tingnan ang seksyong "BASIC FILTERING" para sa higit pa
mga detalye.

Halimbawa 1: Tiyaking walang file system na higit sa 90% para sa database sa port 5432.

check_postgres_disk_space --port=5432 --warning='90%' --critical='90%'

Halimbawa 2: Suriin na ang lahat ng mga file system na nagsisimula sa /dev/sda ay mas maliit sa 10 GB at
11 GB (babala at kritikal)

check_postgres_disk_space --port=5432 --warning='10 GB' --critical='11 GB' --include="~^/dev/sda"

Halimbawa 4: Tiyaking walang file system na parehong higit sa 50% at ay may higit sa 15 GB

check_postgres_disk_space --critical='50% at 15 GB'

Halimbawa 5: Mag-isyu ng babala kung ang anumang file system ay higit sa 70% na puno or ay may higit sa 1T

check_postgres_disk_space --warning='1T o 75'

Para sa MRTG output, ibinabalik ang laki sa bytes ng file system sa unang linya, at ang
pangalan ng file system sa ikaapat na linya.

fsm_pages
("symlink: check_postgres_fsm_pages") Sinusuri kung gaano kalapit ang isang cluster sa Postgres
max_fsm_pages setting. Ang aksyon na ito ay gagana lamang para sa mga database ng 8.2 o mas mataas, at ito
nangangailangan ng contrib module pg_freespacemap mai-install. Ang --babala at --mapanganib
ang mga opsyon ay dapat ipahayag bilang porsyento. Ang bilang ng mga ginamit na pahina sa free-space-map
ay tinutukoy sa pamamagitan ng pagtingin sa pg_freespacemap_relations view, at pagpapatakbo ng formula
batay sa formula na ginamit para sa pag-output ng mga free-space-map pageslot sa vacuum verbose
utos. Ang mga default na halaga ay 85% para sa babala at 95% para sa mga kritikal.

Halimbawa 1: Magbigay ng babala kapag naubos na ng aming cluster ang 76% ng mga free-space na mga pagelot,
na may pg_freespacemap na naka-install sa database na si robert

check_postgres_fsm_pages --dbname=robert --warning="76%"

Habang kailangan mong ipasa ang pangalan ng database kung saan naka-install ang pg_freespacemap, ikaw
kailangan lang patakbuhin ang pagsusuring ito nang isang beses bawat cluster. Gayundin, ang pagsuri sa impormasyong ito ay nangangailangan
pagkuha ng mga espesyal na lock sa free-space-map, kaya inirerekomenda na huwag mong patakbuhin ito
suriin nang may maikling pagitan.

Para sa output ng MRTG, ibinabalik ang porsyento ng free-space-map sa unang linya, at ang numero
ng mga pahinang kasalukuyang ginagamit sa pangalawang linya.

fsm_relations
("symlink: check_postgres_fsm_relations") Sinusuri kung gaano kalapit ang isang cluster sa Postgres
max_fsm_relations setting. Ang pagkilos na ito ay gagana lamang para sa mga database na 8.2 o mas mataas, at
nangangailangan ito ng contrib module pg_freespacemap mai-install. Ang --babala at --mapanganib
ang mga opsyon ay dapat ipahayag bilang porsyento. Ang bilang ng mga ginamit na relasyon sa libreng-
natutukoy ang space-map sa pamamagitan ng pagtingin sa pg_freespacemap_relations view. Ang default
ang mga halaga ay 85% para sa babala at 95% para sa mga kritikal.

Halimbawa 1: Magbigay ng babala kapag naubos na ng aming cluster ang 80% ng mga relasyon sa libreng espasyo,
na may pg_freespacemap na naka-install sa database dylan

check_postgres_fsm_relations --dbname=dylan --warning="75%"

Habang kailangan mong ipasa ang pangalan ng database kung saan naka-install ang pg_freespacemap, ikaw
kailangan lang patakbuhin ang pagsusuring ito nang isang beses bawat cluster. Gayundin, ang pagsuri sa impormasyong ito ay nangangailangan
pagkuha ng mga espesyal na lock sa free-space-map, kaya inirerekomenda na huwag mong patakbuhin ito
suriin nang may maikling pagitan.

Para sa output ng MRTG, ibinabalik ang porsyento ng free-space-map sa unang linya, ang bilang ng
mga relasyon na kasalukuyang ginagamit sa pangalawang linya.

hit ratio
("symlink: check_postgres_hitratio") Sinusuri ang hit ratio ng lahat ng database at nagrereklamo
kapag sila ay masyadong mababa. Hindi na kailangang patakbuhin ang command na ito nang higit sa isang beses bawat database
kumpol. Maaaring i-filter ang mga database gamit ang --isama at --ibukod mga pagpipilian. Tingnan ang
"BASIC FILTERING" na seksyon para sa higit pang mga detalye. Maaari din silang i-filter ng may-ari ng
database na may --includeuser at --excludeuser mga pagpipilian. Tingnan ang "USER NAME FILTERING"
seksyon para sa karagdagang detalye.

Ang mga babala at kritikal na opsyon ay dapat na tukuyin bilang mga porsyento. Walang
mga default para sa pagkilos na ito: dapat na tukuyin ang babala at kritikal. Ang halaga ng babala
hindi maaaring mas malaki kaysa sa kritikal na halaga. Ibinabalik ng output ang lahat ng database na pinagsunod-sunod
hitratio, pinakamaliit muna.

Halimbawa: Babala kung ang anumang database sa host flagg ay mas mababa sa 90% sa hitratio, at kritikal kung
mas mababa sa 80%.

check_postgres_hitratio --host=flagg --warning='90%' --critical='80%'

Para sa output ng MRTG, ibinabalik ang porsyento ng database na may pinakamaliit na hitratio sa
unang linya, at ang pangalan ng database sa ikaapat na linya.

mainit_standby_antala
("symlink: check_hot_standby_delay") Sinusuri ang streaming replication lag sa pamamagitan ng pag-compute ng
delta sa pagitan ng kasalukuyang posisyon ng xlog ng isang master server at ng lokasyon ng replay ng a
aliping konektado dito. Ang slave server ay dapat nasa hot_standby (eg read only) mode,
samakatuwid ang pinakamababang bersyon upang magamit ang pagkilos na ito ay Postgres 9.0. Ang --babala at
--mapanganib Ang mga pagpipilian ay ang delta sa pagitan ng mga lokasyon ng xlog. Dahil ang mga halagang ito ay byte
offset sa WAL dapat silang tumugma sa inaasahang dami ng transaksyon ng iyong aplikasyon
upang maiwasan ang mga maling positibo o negatibo.

Ang unang "--dbname", "--host", at "--port", atbp. na mga opsyon ay itinuturing na master; ang
pangalawa ay sa alipin.

Ang mga halaga ng byte ay dapat na nakabatay sa dami ng mga transaksyong kailangan para magkaroon ng streaming
replication disconnect mula sa master dahil sa masyadong maraming lag, tinutukoy ng Postgres
variable ng pagsasaayos wal_keep_segments. Para sa mga yunit ng oras, ang mga wastong yunit ay 'segundo',
'minuto', 'oras', o 'araw'. Ang bawat isa ay maaaring isulat na isahan o dinaglat sa lamang
unang titik. Kapag tinukoy ang pareho, sa form na 'bytes at oras', ang parehong mga kondisyon ay dapat na
totoo para maabot ang threshold.

Dapat kang magbigay ng impormasyon kung paano maabot ang mga database sa pamamagitan ng pagbibigay ng comma separated
listahan sa --dbhost at --dbport na mga parameter, gaya ng "--dbport=5432,5543". Kung hindi ibinigay,
nabigo ang aksyon.

Halimbawa 1: Babalaan ang isang database na may lokal na replika sa port 5433 ay nasa likod sa anumang xlog replay
sa anumang paraan

check_hot_standby_delay --dbport=5432,5433 --warning='1'

Halimbawa 2: Magbigay ng kritikal kung ang huling transaksyon na replica1 na natanggap ay higit sa 10
minuto ang nakalipas

check_hot_standby_delay --dbhost=master,replica1 --critical='10 min'

Halimbawa 3: Payagan ang replica1 na maging 1 WAL segment sa likod, kung panandaliang nakikita ng master
mas maraming aktibidad kaysa sa kayang hawakan ng koneksyon sa pagtitiklop ng streaming, o pagkaraan ng 10 minuto,
kung ang master ay nakakakita ng napakakaunting aktibidad at hindi nagpoproseso ng anumang mga transaksyon, ngunit hindi
pareho, na magsasaad ng pangmatagalang problema sa koneksyon ng pagtitiklop.

check_hot_standby_delay --dbhost=master,replica1 --warning='1048576 at 2 min' --critical='16777216 at 10 min'

index_size
table_size
ugnayan_laki
(mga symlink: "check_postgres_index_size", "check_postgres_table_size", at
"check_postgres_relation_size") Ang mga aksyon table_size at index_size ay simple
mga pagkakaiba-iba ng ugnayan_laki aksyon, na sumusuri para sa isang relasyon na lumago din
malaki. Ang mga relasyon (sa madaling salita, mga talahanayan at index) ay maaaring i-filter gamit ang --isama
at --ibukod mga pagpipilian. Tingnan ang seksyong "BASIC FILTERING" para sa higit pang mga detalye. Pwede ang relasyon
ma-filter din ng user na nagmamay-ari sa kanila, sa pamamagitan ng paggamit ng --includeuser at --excludeuser
mga pagpipilian. Tingnan ang seksyong "USER NAME FILTERING" para sa higit pang mga detalye.

Ang mga halaga para sa --babala at --mapanganib Ang mga opsyon ay mga laki ng file, at maaaring may mga unit ng
byte, kilobytes, megabytes, gigabytes, terabytes, o exabytes. Ang bawat isa ay maaaring paikliin
sa unang titik. Kung walang ibinigay na mga yunit, ang mga byte ay ipinapalagay. Walang mga default
mga halaga: ang babala at ang kritikal na opsyon ay dapat ibigay. Ipinapakita ng tekstong ibinalik ang
laki ng pinakamalaking kaugnayang natagpuan.

Kung ang --showperf pinagana ang opsyon, lahat ng mga relasyon sa kanilang mga sukat ay ibibigay.
Upang maiwasan ito, inirerekomenda na itakda mo ang --perflimit opsyon, na magiging sanhi
ang query na gumawa ng "ORDER BY size DESC LIMIT (perflimit)".

Halimbawa 1: Magbigay ng kritikal kung anumang talahanayan ay mas malaki sa 600MB sa host burrick.

check_postgres_table_size --critical='600 MB' --warning='600 MB' --host=burrick

Halimbawa 2: Magbabala kung ang mga produkto ng talahanayan ay higit sa 4 GB ang laki, at magbigay ng kritikal sa 4.5 GB.

check_postgres_table_size --host=burrick --warning='4 GB' --critical='4.5 GB' --include=products

Halimbawa 3: Magbabala kung ang anumang index na hindi pagmamay-ari ng mga postgres ay lumampas sa 500 MB.

check_postgres_index_size --port=5432 --excludeuser=postgres -w 500MB -c 600MB

Para sa output ng MRTG, ibinabalik ang laki sa bytes ng pinakamalaking kaugnayan, at ang pangalan ng
database at kaugnayan bilang ikaapat na linya.

huling_pagsusuri
huling_vacuum
last_autoanalyze
last_autovacuum
(symlinks: "check_postgres_last_analyze", "check_postgres_last_vacuum",
"check_postgres_last_autoanalyze", at "check_postgres_last_autovacuum") Sinusuri kung gaano katagal
ito ay mula noong huling tumakbo ang vacuum (o pagsusuri) sa bawat talahanayan sa isa o higit pang mga database.
Ang paggamit ng mga pagkilos na ito ay nangangailangan na ang target na database ay bersyon 8.3 o mas mataas, o iyon
ang bersyon ay 8.2 at ang configuration variable stats_row_level ay pinagana. Mga mesa
maaaring i-filter gamit ang --isama at --ibukod mga pagpipilian. Tingnan ang "BASIC FILTERING"
seksyon para sa higit pang mga detalye. Ang mga talahanayan ay maaari ding i-filter ng kanilang may-ari sa pamamagitan ng paggamit ng
--includeuser at --excludeuser mga pagpipilian. Tingnan ang seksyong "USER NAME FILTERING" para sa higit pa
mga detalye.

Ang mga yunit para sa --babala at --mapanganib ay tinukoy bilang mga oras. Ang mga wastong unit ay segundo,
minuto, oras, at araw; lahat ay maaaring paikliin sa unang titik. Kung walang units
ibinigay, 'mga segundo' ay ipinapalagay. Ang mga default na halaga ay '1 araw' at '2 araw'. Pakitandaan
na may mga kaso kung saan hindi awtomatikong napupuno ang field na ito. Kung tiyak
ang mga talahanayan ay nagbibigay sa iyo ng mga problema, siguraduhin na mayroon silang mga patay na hanay upang i-vacuum, o lamang
ibukod sila sa pagsusulit.

Ang schema na pinangalanang 'information_schema' ay hindi kasama sa pagsubok na ito, dahil ang tanging mga talahanayan nito
naglalaman ay maliit at hindi nagbabago.

Tandaan na ang mga hindi 'auto' na bersyon ay titingnan din ang mga auto na bersyon. Sa iba
salita, gamit ang last_vacuum ay mag-uulat sa huling vacuum, maging ito ay isang normal na vacuum,
o isa na pinapatakbo ng autovacuum daemon.

Halimbawa 1: Magbabala kung anumang talahanayan ang hindi na-vacuum sa loob ng 3 araw, at magbigay ng kritikal sa a
linggo, para sa host wormwood

check_postgres_last_vacuum --host=wormwood --warning='3d' --critical='7d'

Halimbawa 2: Pareho sa itaas, ngunit laktawan ang mga talahanayan na kabilang sa mga user 'eve' o 'mallory'

check_postgres_last_vacuum --host=wormwood --warning='3d' --critical='7d' --excludeusers=eve,mallory

Para sa output ng MRTG, ibinabalik (sa unang linya) ang PINAKAMABABANG tagal ng oras sa mga segundo mula noong a
huling na-vacuum o nasuri ang talahanayan. Ibinabalik ng ikaapat na linya ang pangalan ng database at
pangalan ng talahanayan.

nakikinig
("symlink: check_postgres_listener") Kumpirmahin na may nakikinig sa isa o higit pa
mga tiyak na string (gamit ang LISTEN/NOTIFY system), sa pamamagitan ng pagtingin sa pg_listener table.
Isang babala o kritikal lamang ang kailangan. Ang format ay isang simpleng string na kumakatawan sa
LISTEN target, o isang tilde character na sinusundan ng isang string para sa isang regular na pagsusuri ng expression.
Tandaan na ang pagsusuring ito ay hindi gagana sa mga bersyon ng Postgres 9.0 o mas mataas.

Halimbawa 1: Magbigay ng babala kung walang nakikinig para sa string na bucardo_mcp_ping sa mga port
5555 5556 at

check_postgres_listener --port=5555,5556 --warning=bucardo_mcp_ping

Halimbawa 2: Magbigay ng kritikal kung walang aktibong LISTEN na kahilingan na tumutugma sa 'grimm' sa
database oskar

check_postgres_listener --db oskar --critical=~grimm

Para sa output ng MRTG, nagbabalik ng 1 o 0 sa una, na nagpapahiwatig ng tagumpay o kabiguan. Ang pangalan
ng paunawa ay dapat ibigay sa pamamagitan ng --mrtg pagpipilian.

kandado
("symlink: check_postgres_locks") Suriin ang kabuuang bilang ng mga lock sa isa o higit pa
mga database. Hindi na kailangang patakbuhin ito nang higit sa isang beses bawat database cluster. Ang mga database ay maaari
ma-filter gamit ang --isama at --ibukod mga pagpipilian. Tingnan ang seksyong "BASIC FILTERING".
para sa karagdagang detalye.

Ang --babala at --mapanganib ang mga opsyon ay maaaring tukuyin bilang mga simpleng numero, na kumakatawan
ang kabuuang bilang ng mga lock, o maaari silang hatiin ayon sa uri ng lock. Mga wastong pangalan ng lock
ay 'kabuuan', 'naghihintay', o ang pangalan ng isang uri ng lock na ginagamit ng Postgres. Ang mga pangalang ito ay
case-insensitive at hindi kailangan ang "lock" na bahagi sa dulo, kaya eksklusibo magtutugma
'ExclusiveLock'. Ang format ay name=number, na may iba't ibang mga item na pinaghihiwalay ng mga colon o
semicolon (o anumang iba pang simbolo).

Halimbawa 1: Magbabala kung ang bilang ng mga lock ay 100 o higit pa, at kritikal kung 200 o higit pa, sa
host garrett

check_postgres_locks --host=garrett --warning=100 --critical=200

Halimbawa 2: Sa host artemus, bigyan ng babala kung mayroong 200 o higit pang mga lock, at magbigay ng kritikal kung
mahigit 250 kabuuang lock ang umiiral, o kung mahigit 20 eksklusibong lock ang umiiral, o kung mahigit 5 ​​koneksyon
naghihintay ng lock.

check_postgres_locks --host=artemus --warning=200 --critical="total=250:waiting=5:exclusive=20"

Para sa output ng MRTG, ibinabalik ang bilang ng mga lock sa unang linya, at ang pangalan ng
database sa ikaapat na linya.

logfile
("symlink: check_postgres_logfile") Tinitiyak na ang logfile ay nasa inaasahang lokasyon
at naka-log sa. Ang pagkilos na ito ay naglalabas ng isang utos na nagbibigay ng error sa bawat isa
database na sinusuri nito, at tinitiyak na ang mensahe ay lalabas sa mga log. Ini-scan nito ang
iba't ibang mga setting ng log_* sa loob ng Postgres upang malaman kung saan dapat ang mga log. kung ikaw
ay gumagamit ng syslog, ito ay isang magaspang (ngunit hindi palya) na pag-scan ng /etc/syslog.conf.
Bilang kahalili, maaari mong ibigay ang pangalan ng logfile kasama ang --logfile opsyon. Ito ay
lalong kapaki-pakinabang kung ang mga log ay may custom na rotation scheme na hinimok ay isang panlabas na programa.
Ang --logfile Sinusuportahan ng opsyon ang mga sumusunod na escape character: "%Y %m %d %H", na
kumakatawan sa kasalukuyang taon, buwan, petsa, at oras ayon sa pagkakabanggit. Laging may error
iniulat bilang kritikal maliban kung ang opsyon sa babala ay naipasa bilang isang non-zero na halaga.
Maliban sa partikular na paggamit na iyon, ang "--babala" at "--kritikal" na mga opsyon ay dapat hindi be
ginagamit.

Halimbawa 1: Sa port 5432, tiyaking isinusulat ang logfile sa file
/home/greg/pg8.2.log

check_postgres_logfile --port=5432 --logfile=/home/greg/pg8.2.log

Halimbawa 2: Pareho sa itaas, ngunit magtaas ng babala, hindi kritikal

check_postgres_logfile --port=5432 --logfile=/home/greg/pg8.2.log -w 1

Para sa output ng MRTG, nagbabalik ng 1 o 0 sa unang linya, na nagpapahiwatig ng tagumpay o kabiguan. Sa
kaso ng pagkabigo, ang ikaapat na linya ay magbibigay ng higit pang detalye sa pagkabigo na naranasan.

new_version_bc
("symlink: check_postgres_new_version_bc") Sinusuri kung mas bagong bersyon ng Bucardo
magagamit ang programa. Ang kasalukuyang bersyon ay nakuha sa pamamagitan ng pagpapatakbo ng "bucardo_ctl --version".
Kung ang isang malaking pag-upgrade ay magagamit, isang babala ay ibinalik. Kung ang pag-upgrade ng rebisyon ay
magagamit, isang kritikal ang ibinalik. (Si Bucardo ay panginoon sa alipin, at panginoon sa panginoon
sistema ng pagtitiklop para sa Postgres: tingnan http://bucardo.org para sa karagdagang impormasyon). Tingnan din
ang impormasyon sa opsyong "--get_method".

new_version_box
("symlink: check_postgres_new_version_box") Sinusuri kung mas bagong bersyon ng boxinfo
magagamit ang programa. Ang kasalukuyang bersyon ay nakuha sa pamamagitan ng pagpapatakbo ng "boxinfo.pl --version".
Kung ang isang malaking pag-upgrade ay magagamit, isang babala ay ibinalik. Kung ang pag-upgrade ng rebisyon ay
magagamit, isang kritikal ang ibinalik. (Ang boxinfo ay isang programa para sa pagkuha ng mahalaga
impormasyon mula sa isang server at inilalagay ito sa isang HTML na format: tingnan
http://bucardo.org/wiki/boxinfo para sa karagdagang impormasyon). Tingnan din ang impormasyon sa
"--get_method" na opsyon.

new_version_cp
("symlink: check_postgres_new_version_cp") Sinusuri kung mas bagong bersyon ng program na ito
(check_postgres) ay magagamit, sa pamamagitan ng pagkuha ng bersyon mula sa isang maliit na text file sa pangunahing
pahina ng home page para sa proyekto. Nagbabalik ng babala kung ang ibinalik na bersyon ay hindi
tumugma sa iyong tumatakbo. Ang inirerekomendang agwat upang suriin ay isang beses sa isang araw. Tingnan din ang
impormasyon sa opsyong "--get_method".

new_version_pg
("symlink: check_postgres_new_version_pg") Sinusuri kung may mas bagong rebisyon ng Postgres
para sa bawat database na konektado sa. Tandaan na ito ay nagsusuri lamang ng rebisyon, hal
8.3.6 hanggang 8.3.7. Ang mga pagbabago ay palaging 100% binary compatible at walang kasamang dump at
ibalik upang mag-upgrade. Ang mga pagbabago ay ginawa upang matugunan ang mga bug, kaya mag-upgrade sa lalong madaling panahon
ay palaging inirerekomenda. Nagbabalik ng babala kung wala kang pinakabagong rebisyon. Ito ay
Inirerekomenda na ang tseke na ito ay patakbuhin nang hindi bababa sa isang beses sa isang araw. Tingnan din ang impormasyon sa
"--get_method" na opsyon.

new_version_tnm
("symlink: check_postgres_new_version_tnm") Sinusuri kung mas bagong bersyon ng tail_n_mail
magagamit ang programa. Ang kasalukuyang bersyon ay nakuha sa pamamagitan ng pagpapatakbo ng "tail_n_mail --version".
Kung ang isang malaking pag-upgrade ay magagamit, isang babala ay ibinalik. Kung ang pag-upgrade ng rebisyon ay
magagamit, isang kritikal ang ibinalik. (tail_n_mail ay isang log monitoring tool na maaaring magpadala
mail kapag lumitaw ang mga interesanteng kaganapan sa iyong mga Postgres log. Tingnan:
http://bucardo.org/wiki/Tail_n_mail para sa karagdagang impormasyon). Tingnan din ang impormasyon sa
ang "--get_method" na opsyon.

pgb_pool_cl_active
pgb_pool_cl_waiting
pgb_pool_sv_active
pgb_pool_sv_idle
pgb_pool_sv_used
pgb_pool_sv_tested
pgb_pool_sv_login
pgb_pool_maxwait
(mga symlink: "check_postgres_pgb_pool_cl_active", "check_postgres_pgb_pool_cl_waiting",
"check_postgres_pgb_pool_sv_active", "check_postgres_pgb_pool_sv_idle",
"check_postgres_pgb_pool_sv_used", "check_postgres_pgb_pool_sv_tested",
"check_postgres_pgb_pool_sv_login", at "check_postgres_pgb_pool_maxwait")

Sinusuri ang mga istatistika ng pool ng pgbouncer. Ang bawat pool ay may isang hanay ng mga "kliyente" na koneksyon,
tumutukoy sa mga koneksyon mula sa mga panlabas na kliyente, at "server" na mga koneksyon, na tumutukoy sa
mga koneksyon sa PostgreSQL mismo. Ang mga kaugnay na check_postgres na aksyon ay prefix ng "cl_"
at "sv_", ayon sa pagkakabanggit. Ang mga aktibong koneksyon ng kliyente ay ang mga koneksyong kasalukuyang naka-link
na may aktibong koneksyon sa server. Ang mga koneksyon ng kliyente ay maaari ding "naghihintay", ibig sabihin ay sila
hindi pa nabibigyan ng koneksyon sa server. Ang mga koneksyon sa server ay "aktibo" (naka-link
sa isang kliyente), "idle" (standing by for a client connection to link with), "ginamit" (just
na-unlink mula sa isang kliyente, at hindi pa naibabalik sa idle pool), "nasubok" (kasalukuyang pagiging
sinubukan) at "pag-login" (sa proseso ng pag-log in). Ipinapakita ng maxwait value kung gaano katagal
segundo ang pinakalumang naghihintay na koneksyon ng kliyente ay naghihintay.

pgbouncer_backends
("symlink: check_postgres_pgbouncer_backends") Sinusuri ang kasalukuyang bilang ng mga koneksyon
para sa isa o higit pang mga database sa pamamagitan ng pgbouncer, at opsyonal na ikumpara ito sa maximum
pinapayagan, na tinutukoy ng variable ng pagsasaayos ng pgbouncer max_client_conn. ang
--babala at --mapanganib ang mga opsyon ay maaaring tumagal ng isa sa tatlong anyo. Una, ang isang simpleng numero ay maaari
ibibigay, na kumakatawan sa bilang ng mga koneksyon kung saan ibibigay ang alerto.
Ang pagpipiliang ito ay hindi gumagamit ng max_connections setting. Pangalawa, ang porsyento ng magagamit
maaaring ibigay ang mga koneksyon. Pangatlo, maaaring magbigay ng negatibong numero na kumakatawan sa
bilang ng mga koneksyon na natitira hanggang max_connections ay naabot. Ang mga default na halaga para sa
--babala at --mapanganib ay '90%' at '95%'. Maaari mo ring i-filter ang mga database sa pamamagitan ng paggamit ng
ang --isama at --ibukod mga pagpipilian. Tingnan ang seksyong "BASIC FILTERING" para sa higit pang mga detalye.

Upang tingnan lamang ang mga di-idle na proseso, maaari mong gamitin ang --noidle argumento. Tandaan na ang user mo
ay kumokonekta bilang dapat ay isang superuser para ito ay gumana ng maayos.

Halimbawa 1: Magbigay ng babala kapag ang bilang ng mga koneksyon sa host quirm ay umabot sa 120, at isang
kritikal kung umabot sa 150.

check_postgres_pgbouncer_backends --host=quirm --warning=120 --critical=150 -p 6432 -u pgbouncer

Halimbawa 2: Magbigay ng kritikal kapag naabot namin ang 75% ng aming max_connections na setting sa mga host
lancre o lancre2.

check_postgres_pgbouncer_backends --warning='75%' --critical='75%' --host=lancre,lancre2 -p 6432 -u pgbouncer

Halimbawa 3: Magbigay ng babala kapag may natitira pang 10 na puwang ng koneksyon sa host
plasmid, at isang kritikal kapag 5 na lang ang natitira namin.

check_postgres_pgbouncer_backends --babala=-10 --kritikal=-5 --host=plasmid -p 6432 -u pgbouncer

Para sa output ng MRTG, ang bilang ng mga koneksyon ay iniulat sa unang linya, at sa ikaapat
line ay nagbibigay ng pangalan ng database, kasama ang kasalukuyang max_client_conn. Kung higit sa isa
database ay na-query, ang isa na may pinakamataas na bilang ng mga koneksyon ay output.

pgbouncer_checksum
("symlink: check_postgres_pgbouncer_checksum") Sinusuri kung ang lahat ng mga setting ng pgBouncer ay
katulad ng huling beses mong sinuri. Ginagawa ito sa pamamagitan ng pagbuo ng checksum ng isang pinagsunod-sunod na listahan
ng pagtatakda ng mga pangalan at ang kanilang mga halaga. Tandaan na hindi mo dapat tukuyin ang pangalan ng database, ito
ay awtomatikong magiging default sa pgbouncer. Alinman sa --babala o ang --mapanganib opsyon
dapat ibigay, ngunit hindi pareho. Ang halaga ng bawat isa ay ang checksum, isang 32-character
hexadecimal na halaga. Maaari kang tumakbo gamit ang espesyal na "--critical=0" na opsyon upang malaman ang isang
umiiral na checksum.

Ang pagkilos na ito ay nangangailangan ng Digest::MD5 module.

Halimbawa 1: Hanapin ang paunang checksum para sa configuration ng pgbouncer sa port 6432 gamit ang
default na user (karaniwan ay postgres)

check_postgres_pgbouncer_checksum --port=6432 --critical=0

Halimbawa 2: Tiyaking walang mga setting na nagbago at magbabala kung gayon, gamit ang checksum mula sa
sa itaas.

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Para sa output ng MRTG, nagbabalik ng 1 o 0 na nagsasaad ng tagumpay ng pagkabigo ng checksum upang tumugma.
Dapat magbigay ng checksum bilang argumentong "--mrtg". Ang ikaapat na linya ay palaging nagbibigay ng
kasalukuyang checksum.

pgagent_jobs
("symlink: check_postgres_pgagent_jobs") Sinusuri kung ang lahat ng mga pgAgent na trabaho na mayroong
natupad sa naunang pagitan ng oras ay nagtagumpay. Ginagawa ito sa pamamagitan ng pagsuri para sa
anumang mga hakbang na may di-zero na resulta.

Maaaring tukuyin ang alinman sa "--babala" o "--kritikal", o pareho, at ang mga trabaho ay
sinuri para sa mga pagkabigo sa mga tinukoy na tagal ng panahon bago ang kasalukuyang oras. Wasto
ang mga yunit ay segundo, minuto, oras, at araw; lahat ay maaaring paikliin sa unang titik.
Kung walang ibinigay na mga yunit, ang 'segundo' ay ipinapalagay.

Halimbawa 1: Magbigay ng kritikal kapag nabigo ang anumang mga trabahong naisagawa sa huling araw.

check_postgres_pgagent_jobs --critical=1d

Halimbawa 2: Magbigay ng babala kapag nabigo ang anumang mga trabahong naisagawa noong nakaraang linggo.

check_postgres_pgagent_jobs --warning=7d

Halimbawa 3: Magbigay ng kritikal para sa mga trabahong nabigo sa nakalipas na 2 oras at babala para sa
mga trabahong nabigo sa nakalipas na 4 na oras:

check_postgres_pgagent_jobs --critical=2h --warning=4h

prepared_txns
("symlink: check_postgres_prepared_txns") Suriin ang edad ng anumang kasalukuyang inihanda
mga transaksyon. Tandaan na karamihan sa mga tao ay HINDI gagamit ng mga inihandang transaksyon, dahil bahagi sila
ng dalawang bahagi na commit at kumplikadong panatilihin. Hindi rin sila dapat malito sa
mga inihandang PAHAYAG, na kung ano ang iniisip ng karamihan sa mga tao kapag nakarinig sila ng paghahanda. Ang
Ang default na halaga para sa isang babala ay 1 segundo, upang makita ang anumang paggamit ng mga inihandang transaksyon, na
marahil ay isang pagkakamali sa karamihan ng mga sistema. Ang babala at kritikal ay ang bilang ng mga segundo a
ang inihandang transaksyon ay bukas bago magbigay ng alerto.

Halimbawa 1: Magbigay ng babala sa pagtukoy ng anumang mga inihandang transaksyon:

check_postgres_prepared_txns -w 0

Halimbawa 2: Magbigay ng kritikal kung ang anumang inihandang transaksyon ay bukas nang mas mahaba kaysa sa 10
segundo, ngunit payagan ang hanggang 360 segundo para sa 'shrike' ng database:

check_postgres_prepared_txns --critical=10 --exclude=shrike
check_postgres_prepared_txns --critical=360 --include=shrike

Para sa output ng MRTG, ibinabalik ang bilang ng mga segundo na nabuksan ang pinakalumang transaksyon bilang ang
unang linya, at kung aling database ang nagmula bilang huling linya.

query_runtime
("symlink: check_postgres_query_runtime") Sinusuri kung gaano katagal tumakbo ang isang partikular na query,
sa pamamagitan ng pagsasagawa ng "EXPLAIN ANALYZE" laban dito. Ang --babala at --mapanganib ang mga pagpipilian ay ang
maximum na tagal ng oras na dapat tumagal ng query. Ang mga wastong unit ay segundo, minuto, at oras;
anumang maaaring paikliin sa unang titik. Kung walang ibinigay na mga yunit, ang 'segundo' ay ipinapalagay.
Ang babala at ang kritikal na opsyon ay dapat ibigay. Ang pangalan ng view o function
na tatakbo ay kailangang maipasa sa --queryname opsyon. Dapat itong binubuo ng isang salita
(o schema.word), na may mga opsyonal na pare sa dulo.

Halimbawa 1: Magbigay ng kritikal kung ang function na pinangalanang "speedtest" ay nabigong tumakbo sa loob ng 10 segundo o
mas mababa.

check_postgres_query_runtime --queryname='speedtest()' --critical=10 --warning=10

Para sa output ng MRTG, iniuulat ang oras sa mga segundo para makumpleto ang query sa unang linya.
Ang ikaapat na linya ay naglilista ng database.

query_time
("symlink: check_postgres_query_time") Sinusuri ang haba ng pagpapatakbo ng mga query sa isa o higit pa
mga database. Hindi na kailangang patakbuhin ito nang higit sa isang beses sa parehong kumpol ng database. Tandaan
na hindi na nito kasama ang mga query na "idle sa transaksyon." Ang mga database ay maaaring
na-filter sa pamamagitan ng paggamit ng --isama at --ibukod mga pagpipilian. Tingnan ang seksyong "BASIC FILTERING".
para sa karagdagang detalye. Maaari mo ring i-filter ang user na nagpapatakbo ng query gamit ang --includeuser
at --excludeuser mga pagpipilian. Tingnan ang seksyong "USER NAME FILTERING" para sa higit pang mga detalye.

Ang mga halaga para sa --babala at --mapanganib ang mga pagpipilian ay mga tagal ng oras, at default sa '2
minuto' at '5 minuto' ayon sa pagkakabanggit. Ang mga wastong unit ay 'segundo', 'minuto', 'oras', o
'mga araw'. Ang bawat isa ay maaaring nakasulat na isahan o dinaglat sa unang titik lamang. Kung walang units
ay ibinigay, ang yunit ay ipinapalagay na mga segundo.

Ang pagkilos na ito ay nangangailangan ng Postgres 8.1 o mas mahusay.

Halimbawa 1: Magbigay ng babala kung ang anumang query ay tumatakbo nang mas mahaba kaysa sa 3 minuto, at a
kritikal kung higit sa 5 minuto.

check_postgres_query_time --port=5432 --warning='3 minuto' --critical='5 minuto'

Halimbawa 2: Gamit ang mga default na halaga (2 at 5 minuto), suriin ang lahat ng database maliban sa mga iyon
nagsisimula sa 'template'.

check_postgres_query_time --port=5432 --exclude=~^template

Halimbawa 3: Magbabala kung ang user na 'don' ay may query na tumatakbo sa loob ng 20 segundo

check_postgres_query_time --port=5432 --includeuser=don --warning=20s

Para sa output ng MRTG, ibinabalik ang haba sa mga segundo ng pinakamatagal na tumatakbong query sa una
linya. Ang ikaapat na linya ay nagbibigay ng pangalan ng database.

replicate_row
("symlink: check_postgres_replicate_row") Sinusuri kung gumagana ang master-slave replication
sa isa o higit pang alipin.

Ang unang "--dbname", "--host", at "--port", atbp. na mga opsyon ay itinuturing na master;
ang mga kasunod na gamit ay ang mga alipin. Ang mga halaga o ang --babala at --mapanganib ang mga pagpipilian ay
mga yunit ng oras, at hindi bababa sa isa ang dapat ibigay (walang mga default). Ang mga wastong unit ay 'segundo',
'minuto', 'oras', o 'araw'. Ang bawat isa ay maaaring isulat na isahan o dinaglat sa lamang
unang titik. Kung walang ibinigay na mga yunit, ang mga yunit ay ipinapalagay na mga segundo.

Ang check na ito ay nag-a-update ng isang solong row sa master, at pagkatapos ay sinusukat kung gaano ito katagal
inilapat sa mga alipin. Upang gawin ito, kailangan mong pumili ng isang talahanayan na ginagaya, kung gayon
humanap ng row na maaaring baguhin, at hindi na babaguhin ng anumang iba pang proseso. A
ang partikular na column ng row na ito ay babaguhin mula sa isang value patungo sa isa pa. Ang lahat ng ito ay pinakain
sa opsyong "repinfo", at dapat maglaman ng mga sumusunod na opsyon, na pinaghihiwalay ng mga kuwit:
pangalan ng talahanayan, pangunahing key, key id, column, unang halaga, pangalawang halaga.

Halimbawa 1: Ang Slony ay kinokopya ang isang talahanayan na pinangalanang 'mga order' mula sa host na 'alpha' patungo sa host na 'beta',
sa database na 'benta'. Ang pangunahing susi ng talahanayan ay pinangalanang id, at pupunta tayo sa
subukan ang row na may id na 3 (na makasaysayan at hindi kailanman nagbago). May column
pinangalanang 'salesrep' na kami ay magpapalipat-lipat mula sa isang halaga ng 'slon' patungo sa 'nols' upang tingnan
ang pagtitiklop. Nais naming magbigay ng babala kung ang pagtitiklop ay hindi mangyayari sa loob ng 10
segundo.

check_postgres_replicate_row --host=alpha --dbname=sales --host=beta
--dbname=sales --warning=10 --repinfo=orders,id,3,salesrep,slon,nols

Halimbawa 2: Kinokopya ni Bucardo ang isang talahanayan na pinangalanang 'resibo' mula sa host na 'berde' patungo sa mga host
'pula', 'asul', at 'dilaw'. Ang database para sa magkabilang panig ay 'pampubliko'. Ang mga database ng alipin
ay tumatakbo sa port 5455. Ang pangunahing key ay pinangalanang 'receipt_id', ang row na gusto naming gamitin
ay may halaga na 9, at ang column na gusto naming baguhin para sa pagsubok ay tinatawag na 'zone'. gagawin namin
magpalipat-lipat sa pagitan ng 'north' at 'south' para sa halaga ng column na ito, at magtapon ng critical if
ang pagbabago ay wala sa lahat ng tatlong alipin sa loob ng 5 segundo.

check_postgres_replicate_row --host=berde --port=5455 --host=pula, asul, dilaw
--critical=5 --repinfo=resibo,receipt_id,9,zone,north,south

Para sa output ng MRTG, bumabalik sa unang linya sa oras sa mga segundo na aabutin ng pagtitiklop
tapusin. Ang maximum na oras ay nakatakda sa 4 minuto 30 segundo: kung walang pagkopya na naganap
lugar sa mahabang panahon na iyon, isang error ang itinapon.

same_schema
("symlink: check_postgres_same_schema") Bine-verify na ang dalawa o higit pang mga database ay magkapareho
hanggang sa kanilang schema (ngunit hindi ang data sa loob). Ito ay partikular na madaling gamitin para sa paggawa
siguraduhin na ang iyong mga alipin ay hindi nabago o napinsala sa anumang paraan kapag ginagamit ang master sa alipin
pagtitiklop. Hindi tulad ng karamihan sa iba pang mga aksyon, wala itong babala o kritikal na pamantayan - ang
ang mga database ay alinman sa naka-sync, o hindi. Kung magkaiba ang mga ito, isang detalyadong listahan ng
ang mga pagkakaiba ay ipinakita.

Maaaring gusto mong ibukod o i-filter ang ilang partikular na pagkakaiba. Ang paraan upang gawin ito ay magdagdag
mga string sa opsyong "--filter". Upang ibukod ang isang uri ng bagay, gamitin ang "noname", kung saan ang 'pangalan'
ay ang uri ng bagay, halimbawa, "noschema". Upang ibukod ang mga bagay ng isang tiyak na uri sa pamamagitan ng a
regular na expression laban sa kanilang pangalan, gamitin ang "noname=regex". Tingnan ang mga halimbawa sa ibaba para sa a
mabuting pang-unawa.

Ang mga uri ng mga bagay na maaaring i-filter ay kinabibilangan ng:

gumagamit
pamamaraan
mesa
tingnan
index
pagkakasunud-sunod
pagpilit
trigger
tungkulin

Pinipigilan ng opsyon sa filter na "noposition" ang pag-verify ng posisyon ng mga column sa loob ng a
table.

Pinipigilan ng opsyon sa filter na "nofuncbody" ang paghahambing ng mga katawan ng lahat ng mga function.

Pinipigilan ng opsyon sa filter na "noperm" ang paghahambing ng mga pahintulot sa bagay.

Upang maibigay ang pangalawang database, idagdag lamang ang mga pagkakaiba sa una sa pamamagitan ng isang tawag sa
ang naaangkop na argumento ng koneksyon. Halimbawa, upang ihambing ang mga database sa mga host alpha at
bravo, gamitin ang "--dbhost=alpha,bravo". Tingnan din ang mga halimbawa sa ibaba.

Kung iisang host lang ang ibinigay, ipinapalagay na gumagawa kami ng "time-based" na ulat. Ang
unang pagkakataon na ito ay magpatakbo ng isang snapshot ng lahat ng mga item sa database ay nai-save sa isang lokal
file. Kapag pinatakbo mo itong muli, mababasa ang snapshot na iyon at magiging "database #2" at ito
kumpara sa kasalukuyang database.

Upang palitan ang lumang nakaimbak na file ng bagong bersyon, gamitin ang --replace argument.

Upang paganahin ang mga snapshot sa iba't ibang mga punto sa oras, maaari mong gamitin ang argumentong "--suffix" upang gawin
ang mga filename na natatangi sa bawat run. Tingnan ang mga halimbawa sa ibaba.

Halimbawa 1: I-verify na ang dalawang database sa host star at line ay pareho:

check_postgres_same_schema --dbhost=star,line

Halimbawa 2: Katulad ng dati, ngunit ibukod ang anumang mga trigger na may "slony" sa kanilang pangalan

check_postgres_same_schema --dbhost=star,line --filter="notrigger=slony"

Halimbawa 3: Katulad ng dati, ngunit ibukod din ang lahat ng mga index

check_postgres_same_schema --dbhost=star,line --filter="notrigger=slony noindexes"

Halimbawa 4: Suriin ang mga pagkakaiba para sa database na "battlestar" sa iba't ibang port

check_postgres_same_schema --dbname=battlestar --dbport=5432,5544

Halimbawa 5: Gumawa ng pang-araw-araw at lingguhang snapshot file

check_postgres_same_schema --dbname=cylon --suffix=dayly
check_postgres_same_schema --dbname=cylon --suffix=weekly

Halimbawa 6: Magpatakbo ng makasaysayang paghahambing, pagkatapos ay palitan ang file

check_postgres_same_schema --dbname=cylon --suffix=araw-araw --palitan

pagkakasunud-sunod
("symlink: check_postgres_sequence") Sinusuri kung gaano karaming espasyo ang natitira sa lahat ng sequence sa
database. Ito ay sinusukat bilang ang porsyento ng kabuuang posibleng mga halaga na ginamit
para sa bawat sequence. Ang --babala at --mapanganib ang mga pagpipilian ay dapat ipahayag bilang
mga porsyento. Ang mga default na halaga ay 85% para sa babala at 95% para sa mga kritikal. Maaari mong
gamitin ang --include at --exclude upang makontrol kung aling mga sequence ang susuriin. Tandaan na ito
ang check ay account para sa hindi karaniwan minvalue at pagtaas by mga halaga, ngunit walang pakialam kung ang
sequence ay nakatakda sa cycle o hindi.

Ang output para sa Nagios ay nagbibigay ng pangalan ng sequence, ang porsyento na ginamit, at ang numero
ng 'mga tawag' na natitira, na nagsasaad kung ilang beses pang matatawag ang nextval sa sequence na iyon
bago tumakbo sa pinakamataas na halaga.

Ang output para sa MRTG ay nagbabalik ng pinakamataas na porsyento sa lahat ng mga sequence sa unang linya,
at ang pangalan ng bawat sequence na may ganoong porsyento sa ikaapat na linya, na pinaghihiwalay ng "|"
(pipe) kung mayroong higit sa isang sequence sa porsyentong iyon.

Halimbawa 1: Magbigay ng babala kung ang anumang mga sequence ay papalapit sa 95% na puno.

check_postgres_sequence --dbport=5432 --warning=95%

Halimbawa 2: Suriin na ang sequence na pinangalanang "orders_id_seq" ay hindi hihigit sa kalahating puno.

check_postgres_sequence --dbport=5432 --critical=50% --include=orders_id_seq

settings_checksum
("symlink: check_postgres_settings_checksum") Sinusuri kung ang lahat ng mga setting ng Postgres ay
katulad ng huling beses mong sinuri. Ginagawa ito sa pamamagitan ng pagbuo ng checksum ng isang pinagsunod-sunod na listahan
ng pagtatakda ng mga pangalan at ang kanilang mga halaga. Tandaan na maaaring mayroon ang iba't ibang user sa parehong database
iba't ibang checksum, dahil sa paggamit ng ALTER USER, at dahil sa katotohanang mas nakikita ng mga superuser
mga setting kaysa sa mga ordinaryong user. Alinman sa --babala o ang --mapanganib pagpipilian ay dapat na
ibinigay, ngunit hindi pareho. Ang halaga ng bawat isa ay ang checksum, isang 32-character na hexadecimal
halaga. Maaari kang tumakbo gamit ang espesyal na "--critical=0" na opsyon upang malaman ang isang umiiral na
checksum.

Ang pagkilos na ito ay nangangailangan ng Digest::MD5 module.

Halimbawa 1: Hanapin ang paunang checksum para sa database sa port 5555 gamit ang default na user
(karaniwan ay mga postgres)

check_postgres_settings_checksum --port=5555 --critical=0

Halimbawa 2: Tiyaking walang mga setting na nagbago at magbabala kung gayon, gamit ang checksum mula sa
sa itaas.

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Para sa output ng MRTG, nagbabalik ng 1 o 0 na nagsasaad ng tagumpay ng pagkabigo ng checksum upang tumugma.
Dapat magbigay ng checksum bilang argumentong "--mrtg". Ang ikaapat na linya ay palaging nagbibigay ng
kasalukuyang checksum.

slony_status
("symlink: check_postgres_slony_status") Sinusuri ang katayuan ng isang Slony cluster sa pamamagitan ng
tinitingnan ang mga resulta ng sl_status view ni Slony. Ibinalik ito bilang bilang ng
segundo ng "lag time". Ang --babala at --mapanganib ang mga pagpipilian ay dapat ipahayag bilang mga oras.
Ang mga default na halaga ay 60 segundo para sa babala at 300 segundo para sa mga kritikal.

Ang opsyonal na argumento --schema ipinahiwatig ang schema kung saan naka-install si Slony. Kung ito
ay hindi ibinigay, ang schema ay awtomatikong matutukoy sa tuwing tatakbo ang pagsusuring ito.

Halimbawa 1: Magbigay ng babala kung ang anumang Slony ay na-lag ng higit sa 20 segundo

check_postgres_slony_status --babala 20

Halimbawa 2: Magbigay ng kritikal kung ang Slony, na naka-install sa ilalim ng schema na "_slony", ay higit sa 10
natagalan ang mga minuto

check_postgres_slony_status --schema=_slony --critical=600

timesync
("symlink: check_postgres_timesync") Inihahambing ang oras ng lokal na system sa oras na iniulat
sa pamamagitan ng isa o higit pang mga database. Ang --babala at --mapanganib ang mga opsyon ay kumakatawan sa bilang ng
segundo sa pagitan ng dalawang sistema bago magbigay ng alerto. Kung walang tinukoy, ang
ginagamit ang mga default na halaga, na '2' at '5'. Ang halaga ng babala ay hindi maaaring mas malaki kaysa sa
ang kritikal na halaga. Dahil sa hindi eksaktong katangian ng pagsusulit na ito, ang mga halaga ng '0' o '1' ay hindi
inirerekumenda.

Ang string na ibinalik ay nagpapakita ng pagkakaiba sa oras pati na rin ang oras sa bawat panig na nakasulat
out.

Halimbawa 1: Suriin na ang mga database sa mga host na ankh, morpork, at klatch ay hindi hihigit sa 3
ilang segundo mula sa lokal na oras:

check_postgres_timesync --host=ankh,morpork,klatch --critical=3

Para sa output ng MRTG, ibinabalik sa isa sa unang linya ang bilang ng mga segundong pagkakaiba sa pagitan ng
lokal na oras at ang oras ng database. Ibinabalik ng ikaapat na linya ang pangalan ng database.

txn_idle
("symlink: check_postgres_txn_idle") Sinusuri ang bilang at tagal ng "idle in
transaction" na mga query sa isa o higit pang mga database. Hindi na kailangang patakbuhin ito nang higit sa isang beses
sa parehong kumpol ng database. Maaaring i-filter ang mga database sa pamamagitan ng paggamit ng --isama at
--ibukod mga pagpipilian. Tingnan ang seksyong "BASIC FILTERING" sa ibaba para sa higit pang mga detalye.

Ang --babala at --mapanganib ang mga opsyon ay ibinibigay bilang mga yunit ng oras, mga naka-sign integer, o
integer para sa mga yunit ng oras, at pareho dapat ibigay (walang mga default). Mga wastong unit
ay 'segundo', 'minuto', 'oras', o 'araw'. Ang bawat isa ay maaaring nakasulat na isahan o dinaglat
sa unang letra pa lang. Kung walang ibinigay na mga yunit at ang mga numero ay hindi nalagdaan, ang mga yunit
ay ipinapalagay na mga segundo.

Ang pagkilos na ito ay nangangailangan ng Postgres 8.3 o mas mahusay.

Halimbawa 1: Magbigay ng babala kung ang anumang koneksyon ay idle sa transaksyon nang higit sa 15
segundo:

check_postgres_txn_idle --port=5432 --warning='15 segundo'

Halimbawa 2: Magbigay ng babala kung mayroong 50 o higit pang mga transaksyon

check_postgres_txn_idle --port=5432 --warning='+50'

Halimbawa 3: Magbigay ng kritikal kung 5 o higit pang koneksyon ang naging idle sa transaksyon para sa higit pa
higit sa 10 segundo:

check_postgres_txn_idle --port=5432 --critical='5 sa loob ng 10 segundo'

Para sa output ng MRTG, ibinabalik ang oras sa mga segundo na naging pinakamatagal na transaksyon
tumatakbo. Ibinabalik ng ikaapat na linya ang pangalan ng database at iba pang impormasyon tungkol sa
pinakamatagal na transaksyon.

txn_time
("symlink: check_postgres_txn_time") Sinusuri ang haba ng mga bukas na transaksyon sa isa o higit pa
mga database. Hindi na kailangang patakbuhin ang command na ito nang higit sa isang beses sa bawat database cluster.
Maaaring i-filter ang mga database sa pamamagitan ng paggamit ng --isama at --ibukod mga pagpipilian. Tingnan ang "BASIC
PAG-FILTERING" na seksyon para sa higit pang mga detalye. Ang may-ari ng transaksyon ay maaari ding i-filter, sa pamamagitan ng
paggamit ng --includeuser at --excludeuser mga pagpipilian. Tingnan ang seksyong "USER NAME FILTERING".
para sa karagdagang detalye.

Ang mga halaga o ang --babala at --mapanganib ang mga opsyon ay mga yunit ng oras, at dapat ibigay
(walang default). Ang mga wastong unit ay 'segundo', 'minuto', 'oras', o 'araw'. Ang bawat isa ay maaaring
nakasulat na isahan o dinaglat sa unang titik lamang. Kung walang unit na ibibigay, ang
ang mga yunit ay ipinapalagay na mga segundo.

Ang pagkilos na ito ay nangangailangan ng Postgres 8.3 o mas mahusay.

Halimbawa 1: Magbigay ng kritikal kung ang anumang transaksyon ay bukas nang higit sa 10 minuto:

check_postgres_txn_time --port=5432 --critical='10 minuto'

Halimbawa 1: Magbabala kung ang 'warehouse' ng user ay may bukas na transaksyon sa loob ng 30 segundo

check_postgres_txn_time --port-5432 --warning=30s --includeuser=warehouse

Para sa output ng MRTG, ibinabalik ang maximum na oras sa mga segundo na bukas ang isang transaksyon sa
unang linya. Ang ikaapat na linya ay nagbibigay ng pangalan ng database.

txn_wraparound
("symlink: check_postgres_txn_wraparound") Sinusuri kung gaano kalapit sa isang transaksyon wraparound
o higit pang mga database ang nakukuha. Ang --babala at --mapanganib ang mga pagpipilian ay nagpapahiwatig ng numero
ng mga transaksyong ginawa, at dapat ay isang positive integer. Kung ang alinmang opsyon ay hindi ibinigay, ang
ginagamit ang mga default na halaga na 1.3 at 1.4 bilyon. Hindi na kailangang patakbuhin ang utos na ito nang higit pa
kaysa sa isang beses bawat database cluster. Para sa mas detalyadong talakayan kung ano ang numerong ito
kumakatawan at kung ano ang gagawin tungkol dito, mangyaring bisitahin ang pahina
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND>

Ang babala at kritikal na mga halaga ay maaaring magkaroon ng mga salungguhit sa numero para sa pagiging madaling mabasa, bilang Perl
ang.

Halimbawa 1: Suriin ang mga default na halaga para sa localhost database

check_postgres_txn_wraparound --host=localhost

Halimbawa 2: Suriin ang port 6000 at magbigay ng kritikal kapag naabot ang 1.7 bilyong transaksyon:

check_postgres_txn_wraparound --port=6000 --critical=1_700_000_000

Para sa output ng MRTG, ibinabalik ang pinakamataas na bilang ng mga transaksyon para sa lahat ng database sa unang linya,
habang ang linya 4 ay nagpapahiwatig kung aling database ito.

bersyon
("symlink: check_postgres_version") Sinusuri kung ang kinakailangang bersyon ng Postgres ay
tumatakbo. Ang --babala at --mapanganib mga opsyon (isa lang ang kailangan) dapat nasa format
XY or XYZ saan X ay ang pangunahing numero ng bersyon, Y ay ang minor na numero ng bersyon, at Z is
ang rebisyon.

Halimbawa 1: Magbigay ng babala kung ang database sa port 5678 ay hindi bersyon 8.4.10:

check_postgres_version --port=5678 -w=8.4.10

Halimbawa 2: Magbigay ng babala kung ang anumang mga database sa hosts valley, grain, o sikat ng araw ay hindi 8.3:

check_postgres_version -H valley,grain,sunshine --critical=8.3

Para sa output ng MRTG, nag-uulat ng 1 o 0 na nagsasaad ng tagumpay o pagkabigo sa unang linya. Ang
ang ikaapat na linya ay nagpapahiwatig ng kasalukuyang bersyon. Ang bersyon ay dapat ibigay sa pamamagitan ng "--mrtg"
pagpipilian.

wal_files
("symlink: check_postgres_wal_files") Sinusuri kung gaano karaming mga WAL file ang umiiral sa pg_xlog
direktoryo, na matatagpuan sa iyong data_directory, minsan bilang isang symlink sa isa pa
pisikal na disk para sa mga dahilan ng pagganap. Ang pagkilos na ito ay dapat na patakbuhin bilang isang superuser, upang
i-access ang mga nilalaman ng pg_xlog direktoryo. Ang pinakamababang bersyon para magamit ang pagkilos na ito ay
Postgres 8.1. Ang --babala at --mapanganib Ang mga pagpipilian ay ang bilang lamang ng mga file sa
pg_xlog direktoryo. Kung anong numero ang itatakda nito ay mag-iiba, ngunit isang pangkalahatang patnubay ang ilalagay
isang numero na bahagyang mas mataas kaysa sa karaniwan doon, upang mahuli ang mga problema nang maaga.

Karaniwan, ang mga WAL file ay sarado at pagkatapos ay muling ginagamit, ngunit isang matagal nang bukas na transaksyon, o a
may mga mali archive_command script, ay maaaring maging sanhi ng Postgres upang lumikha ng masyadong maraming mga file. Sa huli,
ito ay magiging sanhi ng disk kung saan sila ay naubusan ng espasyo, kung saan ang mga Postgres ay magkakaroon
isara.

Halimbawa 1: Suriin na ang bilang ng mga WAL file ay 20 o mas kaunti sa host na "pluto"

check_postgres_wal_files --host=pluto --critical=20

Para sa output ng MRTG, iniuulat ang bilang ng mga WAL file sa linya 1.

rebuild_symlinks
rebuild_symlinks_force
Ang pagkilos na ito ay hindi nangangailangan ng iba pang mga argumento, at hindi kumonekta sa anumang mga database, ngunit simple
lumilikha ng mga symlink sa kasalukuyang direktoryo para sa bawat aksyon, sa form
check_postgres_. Kung mayroon nang file, hindi ito ma-overwrite. Kung
ang aksyon ay rebuild_symlinks_force, pagkatapos ay ma-overwrite ang mga symlink. Ang pagpipilian
--symlinks ay isang mas maikling paraan ng pagsasabi --action=rebuild_symlinks

BATAYANG PAG-FILTER


Ang mga pagpipilian --isama at --ibukod maaaring pagsamahin upang limitahan kung aling mga bagay ang sinusuri,
depende sa aksyon. Maaaring i-filter ang pangalan ng database kapag ginagamit ang sumusunod
actions: backends, database_size, lock, query_time, txn_idle, at txn_time. Ang pangalan ng
maaaring i-filter ang isang kaugnayan kapag ginagamit ang mga sumusunod na pagkilos: bloat, index_size,
table_size, relation_size, last_vacuum, last_autovacuum, last_analyze, at
last_autoanalyze. Maaaring i-filter ang pangalan ng isang setting kapag ginagamit ang settings_checksum
aksyon. Maaaring i-filter ang pangalan ng isang file system kapag ginagamit ang disk_space action.

Kung bibigyan lang ng opsyon sa pagsasama, LAMANG ang mga entry na tumutugma ang susuriin.
Gayunpaman, kung bibigyan ng parehong ibukod at isama, ang pagbubukod ay gagawin muna, at ang pagsasama
pagkatapos, upang ibalik ang mga bagay na maaaring hindi kasama. pareho --isama at --ibukod maaari
ibibigay nang maraming beses, at/o bilang mga listahang pinaghihiwalay ng kuwit. Isang nangungunang tilde ang tutugma sa
sumusunod na salita bilang isang regular na expression.

Upang tumugma sa isang schema, tapusin ang termino para sa paghahanap sa isang solong tuldok. Maaaring gamitin ang mga nangungunang tilde
para sa mga schemas din.

Mag-ingat kapag gumagamit ng pag-filter: isang panuntunan sa pagsasama sa mga backend, halimbawa, ay maaaring
mag-ulat ng walang mga problema hindi lamang dahil ang katugmang database ay walang mga backend, ngunit dahil ikaw
mali ang spelling ng pangalan ng database!

Halimbawa:

Sinusuri lamang ang mga item na pinangalanang pg_class:

--include=pg_class

Sinusuri lamang ang mga item na naglalaman ng mga titik na 'pg_':

--include=~pg_

Suriin lamang ang mga item na nagsisimula sa 'pg_':

--include=~^pg_

Ibukod ang item na pinangalanang 'test':

--exclude=test

Ibukod ang lahat ng mga item na naglalaman ng mga titik na pagsubok:

--exclude=~subok

Ibukod ang lahat ng mga item sa schema na 'pg_catalog':

--exclude='pg_catalog.'

Ibukod ang lahat ng item na naglalaman ng mga titik na 'ace', ngunit payagan ang item na 'faceoff':

--exclude=~ace --include=faceoff

Ibukod ang lahat ng mga item na nagsisimula sa mga titik na 'pg_', na naglalaman ng mga titik na 'slon', o
na pinangalanang 'sql_settings' o 'berde'. Partikular na suriin ang mga item na may mga titik
'prod' sa kanilang mga pangalan, at palaging suriin ang item na pinangalanang 'pg_relname':

--exclude=~^pg_,~slon,sql_settings --exclude=green --include=~prod,pg_relname

USER NAME PAG-FILTER


Ang mga pagpipilian --includeuser at --excludeuser ay maaaring gamitin sa ilang mga aksyon upang suriin lamang
mga object ng database na pagmamay-ari ng (o hindi pag-aari ng) isa o higit pang mga user. An --includeuser opsyon
laging trumps an --excludeuser opsyon. Maaari mong bigyan ang bawat opsyon nang higit sa isang beses para sa
maraming user, o maaari kang magbigay ng listahan na pinaghihiwalay ng kuwit. Ang mga aksyon na kasalukuyang ginagamit
ang mga pagpipiliang ito ay:

database_size
huling_pagsusuri
last_autoanalyze
huling_vacuum
last_autovacuum
query_time
ugnayan_laki
txn_time

Halimbawa:

Suriin lamang ang mga item na pagmamay-ari ng user na pinangalanang greg:

--includeuser=greg

Suriin lamang ang mga item na pagmamay-ari ni watson o crick:

--includeuser=watson,crick

Suriin lamang ang mga item na pagmamay-ari ni crick,franklin, watson, o wilkins:

--includeuser=watson --includeuser=franklin --includeuser=crick,wilkins

Suriin ang lahat ng mga item maliban sa mga pag-aari ng user scott:

--excludeuser=scott

PAGSUBOK MODE


Upang makatulong sa pag-set up ng mga bagay-bagay, ang program na ito ay maaaring patakbuhin sa isang "test mode" sa pamamagitan ng pagtukoy sa
--pagsusulit opsyon. Magsasagawa ito ng ilang pangunahing pagsubok upang matiyak na ang mga database ay magagawa
nakipag-ugnayan, at natutugunan ang ilang partikular na kinakailangan sa bawat aksyon, gaya ng kung ang user ay
isang superuser, kung ang bersyon ng Postgres ay sapat na bago, at kung ang stats_row_level ay pinagana.

Gamitin ang check_postgres_database_sizep online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    OfficeFloor
    OfficeFloor
    Nagbibigay ang OfficeFloor ng inversion ng
    kontrol ng pagkabit, kasama ang: - dependency
    iniksyon - pagpapatuloy ng iniksyon -
    thread injection Para sa karagdagang impormasyon
    bisitahin ang...
    I-download ang OfficeFloor
  • 2
    DivKit
    DivKit
    Ang DivKit ay isang open source na Server-Driven
    Framework ng UI (SDUI). Pinapayagan ka nitong
    ilunsad ang mga update mula sa server sa
    iba't ibang bersyon ng app. Gayundin, maaari itong maging
    ginagamit para...
    I-download ang DivKit
  • 3
    subconverter
    subconverter
    Utility upang i-convert sa pagitan ng iba't-ibang
    format ng subscription. Mga gumagamit ng Shadowrocket
    dapat gumamit ng ss, ssr o v2ray bilang target.
    Maaari mong idagdag ang &remark= sa
    Telegram-like na HT...
    I-download ang subconverter
  • 4
    SWASH
    SWASH
    Ang SWASH ay isang pangkalahatang layunin na numero
    tool para sa pagtulad sa hindi matatag,
    non-hydrostatic, free-surface,
    rotational flow at transport phenomena
    sa tubig sa baybayin bilang ...
    I-download ang SWASH
  • 5
    VBA-M (Naka-archive - Ngayon sa Github)
    VBA-M (Naka-archive - Ngayon sa Github)
    Lumipat ang proyekto sa
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Mga Tampok:Paglikha ng cheatsave statesmulti
    system, sumusuporta sa gba, gbc, gb, sgb,
    sgb2Tu...
    I-download ang VBA-M (Naka-archive - Ngayon sa Github)
  • 6
    Stacer
    Stacer
    Linux System Optimizer at Pagsubaybay
    Github Repository:
    https://github.com/oguzhaninan/Stacer.
    Audience: Mga End User/Desktop. Gumagamit
    interface: Qt. Programming La...
    I-download ang Stacer
  • Marami pa »

Linux command

Ad