【问题标题】:Is there way to use pg_cron from the google cloud sql?有没有办法从谷歌云 sql 中使用 pg_cron?
【发布时间】:2020-04-17 09:51:20
【问题描述】:

目前我需要将我的数据库从 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 相关的东西

我也读过Does Cloud SQL Postgres have any cron-like tool?,但它看起来像我的任务过度设计。

有没有更简单的方法?

【问题讨论】:

    标签: java postgresql google-cloud-sql spring-cloud-gcp


    【解决方案1】:

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

    关于这项改进有一个公开的Feature Request,但没有预计到达时间。

    如果同一篇文章中给出的解决方法不适合您,您可以随时在此处创建Compute Engine VM instance and set up PostgreSQL。这将允许您完全管理您的数据库。

    【讨论】:

    • 很高兴能帮上忙。
    • 请注意 pg_cron 不需要超级用户。托管服务只需要 GRANT USAGE ON SCHEMA cron 给主数据库用户。各种托管服务支持 pg_cron。
    【解决方案2】:

    截至 2021 年 11 月,pg_cron 可用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 2021-08-24
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2018-01-31
      相关资源
      最近更新 更多