我正在使用在Google Cloud SQL中运行的PostgreSQL实例。
我正在尝试重置pg_stat_statements,因为我们对表进行了改进并添加了一些索引。不幸的是,当我尝试使用主postgres
用户运行以下命令时:
select pg_stat_reset();
我收到以下错误消息:
ERROR: permission denied for function pg_stat_reset
我知道它是一个托管服务,有些东西需要关闭,但重要的是能够重置pg_stat以便您可以调整数据库。基本上,如果进行更改,则需要能够重置pg_stat,以便在更改之前不会从数据中污染其输出。即使在托管服务中,这种调整对于能够做到这一点至关重要。
任何人都知道如何使用Google Cloud SQL?
感谢。
答案 0 :(得分:1)
我能够向GoogleCloud支持部门询问此问题,以及他们的回复:
pg_stat_reset()需要超级用户权限。但它不受支持 CLOUDSQL。我们建议您使用pg_stat_statements_reset() 而是改为重置统计信息。要做到这一点,任何一个用户都有 要从云控制台(即默认PostgreSQL用户)创建,或 默认情况下应授予此函数的EXECUTE权限 PostgreSQL用户通过执行以下命令:grant execute on 函数pg_stat_statements_reset()to;
我能够使用postgres用户成功使用此命令。请注意,必须在启用了pg_stat_statement的数据库上运行此函数。