我在 PostgreSQL 中有三个物化视图,它们需要很长时间才能刷新(每个都超过几个小时),而且我需要每天刷新它们。
我目前正在使用一个 Python 脚本来执行此操作,该脚本一个接一个地刷新视图,但与在 pgAdmin 中手动刷新视图相比,它需要三倍的时间(我可以在不同的选项卡中同时运行所有三个刷新)。
这就是我的代码现在的样子:
import psycopg2
config = {'connection details'}
conn = psycopg2.connect(**config)
cur = conn.cursor()
# This is the part that I want to run simultaneously
cur.execute('REFRESH MATERIALIZED VIEW gsam.mv_hist_wip_data')
cur.execute('REFRESH MATERIALIZED VIEW gsam.mv_hist_ver_data')
cur.execute('REFRESH MATERIALIZED VIEW gsam.mv_hist_verda_data')
conn.close()
Run Code Online (Sandbox Code Playgroud)
如何REFRESH MATERIALIZED VIEW使用Python和psycopg2同时执行三个语句?