PostgreSQL のコマンドラインで SQL を定期的に実行する方法

PostgreSQL のコマンドラインで SQL を定期的に実行する方法

PostgreSQL の psql コマンドラインで、繰り返し同じ間隔で SQL を実行する方法を紹介します。何度も SQL を実行しなくても、psql の機能を使えば定期的に SQL を実行することが出来ます。

PostgreSQL-9.3 以降のバージョンから、\watch というコマンドが使えるようになりました。\watch の後に秒数を指定することで、指定秒数毎に SQL を実行して結果を取得することが出来ます。




使い方は psql コマンドラインで定期的に実行したい SQL を書き、その後 \watch [秒数] を入力することにより指定した SQL が指定秒数毎に実行されます。

以下の例は SELECT now(); という現在日時を表示する SQL を3秒毎に実行するというものです。

=> select now(); \watch 3

データベース状態を常に確認したい場合には、\watch を使って定期的に実行するととても管理が楽になります。