python - 使用 sqlalchemy 等待行更新或行插入

标签 python postgresql sqlalchemy

我有一个显示数据库内容的应用程序,该数据库每 5-10 分钟更新一次。加载数据库中的所有数据大约需要 5 分钟。我不想在每次刷新时重新加载数据库中的所有数据,而是只想加载新行或已更新的行的字段。

  1. 是否可以使用 sqlalchemy 检查更改的或新的字段(轮询更改)?
  2. 是否可以使用 sqlalchemy 等待更改的或新的字段(使用阻塞函数调用)?

如果重要的话,数据库是 postgres 数据库。

最佳答案

ProstgeSQL 有一个 NOTIFY/LISTEN 机制,可以与触发器一起使用来发送插入、删除和更新的通知。通知包含一个参数,例如表和操作。

看起来 SQLAlchemy 不支持此功能,可能是因为它不是 SQL 标准而是特定于 Postgres。

这里是一个使用 python 使用 NOTIFY/LISTEN 检查 prostgres 数据库中更改的示例:PostgreSQL LISTEN/NOTIFY

谷歌搜索 NOTIFY in PostgreSQL and python 可能会提供更多帮助。

关于python - 使用 sqlalchemy 等待行更新或行插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285563/

相关文章:

python - 格式化 ReportLab 表中的第一行

python - Django ORM 对两列求和以填充第三列

python - 如何在 XML 文件中定义应用程序的验证规则

python - 在python turtle 绘图中隐藏 turtle

java - hibernate : Splitting table automatically every month

mysql - sqlalchemy 中的随机 ID( Pylons )

pandas read_sql_query 使用作用域 session

python - 为什么来自同一个 sqlalchemy 引擎的多个连接会产生不同的信息?

python - PostgreSQL 关系不存在 (Python)

python - 将 SqlSoup 与数据库 View 一起使用时出错