[PostgreSQL]모니터링을 위한 반복 실행문 / 새로운 기능의 발견 'watch'

Ja L·2024년 5월 16일
0

[PostgreSQL] Operation

목록 보기
35/39

사이트에 나가게되면 간단하게 반복된 모니터링을 해야할 때가 있습니다.
이 때 간단하게 실행할 수 있는 방법을 기록해두려고 합니다. 또한 \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
20240516() 오후 034718(every 2s)

  count
---------
 1000000
(1 row)

20240516() 오후 034720(every 2s)

  count
---------
 1000000
(1 row)

가장 최근 실행한 쿼리를 반복하는 'Watch'

가장 최근 실행한 쿼리를 정해진 시간마다 반복 실행하게하는 'watch'를 실행해봅시다.

sampledb=# \watch
20240516() 오후 034718(every 2s)

  count
---------
 1000000
(1 row)

20240516() 오후 034720(every 2s)

  count
---------
 1000000
(1 row)

매 2초마다 가장 최근 실행한 쿼리를 실행하고 있습니다. default 주기가 2초이며, 초는 아래와 같이 변경할 수 있습니다.

sampledb=# \watch 3
20240516() 오후 041514(every 3s)

  count
---------
 1000000
(1 row)

20240516() 오후 041517(every 3s)

  count
---------
 1000000
(1 row)
profile
DB Engineer

0개의 댓글

관련 채용 정보