我使用的是运行在Google中的PostgreSQL实例。
我试图重置pg_stat_statements,因为我们对表进行了改进,并添加了一些索引。不幸的是,当我试图使用主postgres用户运行以下命令时:
select pg_stat_reset();我收到以下错误消息:
ERROR: permission denied for function pg_stat_reset我知道它是一个托管服务,有些东西需要隔离,但重要的是能够重置pg_stat,这样您就可以调优数据库。基本上,如果您做了更改,您需要能够重置pg_stat,这样它的输出就不会受到更改之前的数据的污染。即使在托管服务中,这种调优也是至关重要的。
有人知道我怎样才能让它与一起工作吗?
谢谢。
发布于 2018-01-09 16:00:08
我向GoogleCloud提供了这方面的支持,下面是他们得到的信息:
pg_stat_reset()需要超级用户特权。但是在CloudSQL中不支持它。我们建议您使用pg_stat_statements_reset()函数来重置统计信息。为此,必须从云控制台(即默认的PostgreSQL用户)创建用户,或者由默认的PostgreSQL用户通过执行以下命令授予对该函数的执行权限:在pg_stat_statements_reset()函数上授予执行权限;
我能够使用postgres用户成功地使用这个命令。请注意,必须在启用pg_stat_statement的数据库上运行此函数。
https://stackoverflow.com/questions/47912610
复制相似问题