Google Cloud SQL PostgreSQL上的pg_stat_statements_reset()权限被拒绝

问题描述 投票:3回答:1

主要问题

由于权限不足,我无法执行SELECT pg_stat_statements_reset();函数以分析查询优化中的更改。错误消息显示:permission denied for function pg_stat_statements_reset

我想知道是否还有其他方法可以重置Cloud SQL PostgreSQL上的pg_stats?

环境

  • PG版本:x86_64-pc-linux-gnu上的PostgreSQL 9.6.6,由gcc编译(Ubuntu 4.8.4-2ubuntu1~14.04.3)4.8.4,64位
  • 平台:Google Cloud SQL PostgreSQL
  • 用户:具有cloudsqlsuperuser角色的默认postgres用户

尝试的步骤

我已经找到了关于这个主题的前一个答案,它建议pg_stat_statements_reset()应该使用通过云控制台创建的默认postgres用户。但是,列出的解决方案不起作用,它返回相同的权限拒绝错误

Related Question

postgresql google-cloud-sql
1个回答
0
投票

Google Cloud SQL支持several modules for PostgreSQL扩展其功能。

其中一个扩展(模块)是:pg_stat_statements。它允许跟踪服务器执行的SQL语句的执行统计信息。要重置统计函数,请使用pg_stat_statements_reset()。

在使用扩展(模块)之前,必须安装它:

  1. 来自Cloud Shell的Connect to the PostgreSQL instance使用默认用户:postgres
gcloud sql connect [INSTANCE_ID] --user=postgres
  1. 当连接到数据库时,create extension pg_stat_statements
CREATE EXTENSION pg_stat_statements
  1. 执行该功能以重置统计信息。默认情况下,它只能由超级用户执行:
SELECT pg_stat_statements_reset()
© www.soinside.com 2019 - 2024. All rights reserved.