有没有办法从 google 云 sql 使用 pg_cron?

Is there way to use pg_cron from the google cloud sql?

目前我需要将我的数据库从 postgreSql 移动到 google 云 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

相关的任何内容

我也读过 但看起来我的任务设计过度了。

有没有更简单的方法?

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

关于此改进有一个开放 Feature Request,但没有预计到达时间。

如果 post 中给出的解决方法不适合您,您可以随时创建一个 Compute Engine VM instance and set up PostgreSQL。这将使您能够完全管理您的数据库。

截至 2021 年 11 月 pg_cron 可用:

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