사이트에 나가게되면 간단하게 반복된 모니터링을 해야할 때가 있습니다.
이 때 간단하게 실행할 수 있는 방법을 기록해두려고 합니다. 또한 \watch 기능을 처음 발견하게되어 잊어버리지 않도록 기록합니다.
저는 주로 일회성 쿼리 실행은 다음과 같이 수행합니다.
asql -U agens -d sampledb -p 5321 <<EOF
select version();
select now();
EOF
우선, 반복된 모니터링은 다음과 같이 수행했습니다.
[agens2@lenovo2 ~]$ vi continue.sql
# continue.sql
select version();
select now();
:wq
[agens2@lenovo2 ~]$ while :
> do
> echo "\i shell.sh"
> sleep 5
> done | psql -U agens -d sampledb -p 5321
version
---------------------------------------------------------------------------------------------------------------------------
PostgreSQL 14.5 (AgensSQL 14.5.1) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
(1 row)
now
------------------------------
2024-05-16 15:26:20.21063+09
(1 row)
version
---------------------------------------------------------------------------------------------------------------------------
PostgreSQL 14.5 (AgensSQL 14.5.1) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
(1 row)
now
------------------------------
2024-05-16 15:26:25.20813+09
(1 row)
version
---------------------------------------------------------------------------------------------------------------------------
PostgreSQL 14.5 (AgensSQL 14.5.1) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
(1 row)
now
-------------------------------
2024-05-16 15:26:30.209653+09
(1 row)
version
---------------------------------------------------------------------------------------------------------------------------
PostgreSQL 14.5 (AgensSQL 14.5.1) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
(1 row)
이하 동일.. 5초마다 반복됩니다.
sampledb=# \watch
2024년 05월 16일 (목) 오후 03시 47분 18초 (every 2s)
count
---------
1000000
(1 row)
2024년 05월 16일 (목) 오후 03시 47분 20초 (every 2s)
count
---------
1000000
(1 row)
가장 최근 실행한 쿼리를 정해진 시간마다 반복 실행하게하는 'watch'를 실행해봅시다.
sampledb=# \watch
2024년 05월 16일 (목) 오후 03시 47분 18초 (every 2s)
count
---------
1000000
(1 row)
2024년 05월 16일 (목) 오후 03시 47분 20초 (every 2s)
count
---------
1000000
(1 row)
매 2초마다 가장 최근 실행한 쿼리를 실행하고 있습니다. default 주기가 2초이며, 초는 아래와 같이 변경할 수 있습니다.
sampledb=# \watch 3
2024년 05월 16일 (목) 오후 04시 15분 14초 (every 3s)
count
---------
1000000
(1 row)
2024년 05월 16일 (목) 오후 04시 15분 17초 (every 3s)
count
---------
1000000
(1 row)