假设我有这样的查询:
SELECT * FROM a WHERE a.Category = 'liquid' ORDER BY a.MeasurementTime DESC;
我希望看到结果进入数据库'live'。
如何为Postresql编写一个查询,该查询将在查询完成后立即重复?
答案 0 :(得分:6)
您可以在终端中使用\ watch n命令每n秒重新执行一次查询。
示例:
postgre=# SELECT * FROM TABLE WHERE CONDITION
postgre=# \watch 5
-- now the "SELECT * FROM TABLE WHERE CONDITION" is re-executed every 5 seconds
答案 1 :(得分:1)
你无法看到他们的生活'。在返回调用环境之前完成查询。
你可以将它包装在一个cron作业(取决于你的环境)或类似的调度程序中,让它们每分钟运行一次,或者一个函数,并将其添加到pgagent每分钟运行一次。
让dml语句不断运行并不是一个好主意,我不建议它用于性能和表管理。
但是......
在一个函数中,您可以使用pg_sleep创建一个带有wait子句的循环,并且只是没有break子句,但实际上一个工作是最好的方法。
答案 2 :(得分:0)
<main id="container">
<div class="flexbox col-1">
<img src="http://placehold.it/800x400/f00/000?text=1" />
</div>
<div class="flexbox col-2">
<img src="http://placehold.it/800x400/0f0/000?text=2" />
</div>
<div class="flexbox col-3">
<img src="http://placehold.it/800x400/06f/000?text=3" />
</div>
</main>
确保在环境变量中设置watch -n1 'psql -h {ip} {db} {user} -c "select * from condition;"'
的密码:
Linux> {user}
不客气