1

目前我需要将我的数据库从 postgreSql 移动到 google cloud sql。我使用 pg_cron 删除过时的记录,如下所示:

SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);

我已阅读以下文章:https ://cloud.google.com/sql/docs/postgres/extensions

并且没有找到任何与 pg_cron 相关的东西

我还阅读过Cloud SQL Postgres 是否有类似 cron 的工具?但它看起来像我的任务过度设计。

有没有更简单的方法?

4

2 回答 2

4

截至 2021 年 11 月,pg_cron 可用:

https://cloud.google.com/sql/docs/release-notes#November_19_2021

于 2021-12-17T10:48:09.017 回答
3

很遗憾pg_cron,Cloud SQL 不支持。为了能够运行此扩展程序,您需要将其作为SUPERUSER. 如帖子中所述,您发现 Cloud SQL 是一项完全托管的服务。这意味着虽然某些操作(例如设置、维护、管理和管理数据库)很容易管理,但您没有SUPERUSER 权限

有一个关于此改进的开放功能请求,但没有预计到达时间。

如果同一篇文章中给出的解决方法不适合您,您始终可以创建一个Compute Engine 虚拟机实例并在那里设置 PostgreSQL。这将允许您完全管理您的数据库。

于 2019-12-27T12:33:57.613 回答