クエリを一定時間毎に実行

\watchコマンドを使います。SQL文; \watch 2のように実行すると SQL 文を2秒毎に実行してくれます。

watchコマンドを確認する

ターミナルを2つ開いて以下のようにして見てみます。テーブルはfooという名前のものを使います。

  1. テーブルに3秒毎にinsertする
  2. テーブルの最新1件を2秒毎に表示する

準備

とりあえず以下でfooを作ります。

create table foo (
  id serial primary key not null
);

1番目の方では以下でinsertを走らせます。\watch 3で3秒毎走らせるということになります。
ちなみにdefault valuesはすべてのカラムでデフォルト値を使うということになるのでvaluesを省略できます、

insert into foo default values; \watch 3

2番目の方では以下でselectを走らせます。

select * from foo order by id desc limit 1; \watch 2

これで3秒毎に新しいidのデータが増えていくので、その度selectで取得するデータも変わるはずです。

実行結果

右が1です。左側には1,2回毎に新しいレコードが表示されています。(\xで縦表示にしています)

色々と結果を見ながらいじりたい時に便利だと思います。