初めに
Qiita Engineer Festa 2024に参加中。完走目指してます。
他のメタコマンドについては以下から読んでください。
\watchとは
中断するか問い合わせが失敗するまで、現在の問い合わせバッファを繰り返し(
\g
と同じように)実行します。 実行の間に指定秒数(デフォルトは2)の休止が入ります。 各問い合わせの結果には、\pset title
の文字列(あれば)、問い合わせ開始時の時刻、および遅延間隔を含むヘッダとともに表示されます。現在の問い合わせバッファが空の場合、最も最近に送信された問い合わせが再実行されます。
試してみた
アクティブな接続状況を5秒ごとに更新しながら確認する
SELECT * FROM pg_stat_activity;
\watch 5
Thu 20 Jun 2024 06:28:28 AM UTC (every 5s)
-[ RECORD 1 ]----+------------------------------------------------------------------
datid |
datname |
pid | 31
leader_pid |
usesysid |
usename |
application_name |
client_addr |
client_hostname |
client_port |
backend_start | 2024-06-20 06:26:19.653923+00
xact_start |
query_start |
state_change |
wait_event_type | Activity
wait_event | AutoVacuumMain
state |
backend_xid |
backend_xmin |
query_id |
query |
backend_type | autovacuum launcher
-[ RECORD 2 ]----+------------------------------------------------------------------
datid |
datname |
pid | 32
leader_pid |
usesysid | 10
~~~~ 省略 ~~~~
Ctrl+cで中断できる
まとめ
実務の中ではストリーミングレプリケーションの設定をしているときに同期ができているかの確認で利用していました。
あとは障害時にpg_stat_activityを流し続けていたりと活用シーンは割とあります。