有没有办法从 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
目前我需要将我的数据库从 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