Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个应用程序可以根据一次性密码对用户进行身份验证。此密码与用户名一起存储在数据库中。我希望让 OTP 仅在一段时间内有效,之后我想摆脱那个特定的条目。我的表使用用户名作为主键。
PostgreSQL 不提供任何基于时间的触发器。
在这种情况下,您通常想要做的是插入具有到期时间的记录。当您查找它们时,使用SELECT ... FROM the_table WHERE expiry_time < current_timestamp;.
SELECT ... FROM the_table WHERE expiry_time < current_timestamp;
使用外部 cron 作业、脚本或 PgAgent 等工具进行定期清理作业以删除旧的过期记录。