等待sqlalchemy的行更新或行插入

Dav*_*vid 8 python postgresql sqlalchemy

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

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

如果重要的话,数据库是一个postgres数据库.

Lal*_*len 6

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

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

以下是使用 Python 使用 NOTIFY / LISTEN 检查 prostgres 数据库中的更改的示例:PostgreSQL LISTEN/NOTIFY

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