使用 Google 云 SQL 重置 pg_stat_statements

Reset pg_stat_statements with Google Cloud SQL

我正在 Google Cloud SQL.

中使用 PostgreSQL 实例 运行ning

我正在尝试重置 pg_stat_statements,因为我们对表格进行了改进并添加了一些索引。不幸的是,当我尝试使用主 postgres 用户 运行 以下命令时:

select pg_stat_reset();

我收到以下错误消息:

ERROR:  permission denied for function pg_stat_reset

我知道这是一项托管服务,有些事情需要隔离,但能够重置 pg_stat 很重要,这样您就可以调整数据库。基本上,如果您进行了更改,则需要能够重置 pg_stat 以便其输出不会被更改前的数据污染。即使在托管服务中,这种调优也是至关重要的。

任何人都知道我如何才能让它与 Google Cloud SQL 一起工作?

谢谢。

我可以就此询问 GoogleCloud 支持,这是他们回复的内容:

pg_stat_reset() needs superuser privileges. But it is not supported in CloudSQL. We recommand that you use pg_stat_statements_reset() function instead to reset the statistics. To do this, either user has to be created from Cloud Console (i.e. Default PostgreSQL user), or EXECUTE permission on this function should be granted by a default PostgreSQL user by executing the following command: grant execute on function pg_stat_statements_reset() to ;

我能够使用 postgres 用户成功地使用这个命令。请注意,此函数必须在启用 pg_stat_statement 的数据库上 运行。