代码之家  ›  专栏  ›  技术社区  ›  roychri

使用Google Cloud SQL重置pg\u stat\u语句

  •  6
  • roychri  · 技术社区  · 7 年前

    我正在使用一个运行在Google Cloud SQL中的PostgreSQL实例。

    我正在尝试重置pg\u stat\u语句,因为我们对表进行了改进,并添加了一些索引。不幸的是,当我尝试使用main postgres 用户:

    select pg_stat_reset();
    

    我收到以下错误消息:

    ERROR:  permission denied for function pg_stat_reset
    

    我知道这是一个托管服务,有些东西需要隔离,但重要的是能够重置pg\u stat,以便可以优化数据库。基本上,如果进行更改,需要能够重置pg\u stat,以便其输出不会受到更改前数据的污染。即使是在托管服务中,这种调优也至关重要。

    有人知道我如何将其与Google Cloud SQL配合使用吗?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  5
  •   roychri    7 年前

    我向GoogleCloud的支持人员询问了这方面的问题,他们得到了以下反馈:

    pg\u stat\u reset()需要超级用户权限。但中不支持 CloudSQL。我们建议您使用pg\u stat\u statements\u reset() 函数来重置统计信息。为此,任何一个用户都必须 从云控制台创建(即默认PostgreSQL用户),或 默认情况下,应授予此函数的执行权限 PostgreSQL用户执行以下命令:grant execute on 函数pg\u stat\u statements\u reset()to;

    我使用postgres用户成功地使用了这个命令。请注意,此函数必须在启用pg\u stat\u语句的数据库上运行。