问题标签 [pg-stat-statements]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
416 浏览

postgresql - GCP pg_stat_statements 权限不足和只读副本

我在 GCP SQL 服务上运行 postgres。我有一个主副本和一个只读副本。

我已经在主节点上启用了 pg_stat_statements,但我仍然收到消息说我对几乎每一行都没有足够的权限。

当我尝试在只读副本上启用扩展时,它给了我一个错误:cannot execute CREATE EXTENSION in a read-only transaction.

我尝试对我拥有的最高权限用户执行的所有这些操作(使用属于 的成员的用户cloudsqlsuperuser,与默认用户基本相同postgres

所以我有两个问题:

  1. 如何解决权限问题,以便可以查看表中的统计信息?
  2. 如何在只读副本上启用扩展?

谢谢!

0 投票
1 回答
174 浏览

postgresql - 收到错误“无法访问文件“pg_stat_statements”:没有这样的文件或目录”

我已经安装了软件包postgresql11-contrib

这是postgres的版本。

我有以下postgresql.conf导致错误的条目。

经过一些在线搜索,我发现,我需要运行“在我选择的数据库中运行 CREATE EXTENSION pg_stat_statements”。但要做到这一点,我首先评论了上面提到的 conf 文件中的 3 行,因为我的psql服务器无法以 error 启动could not access file "pg_stat_statements": No such file or directory"

https://www.oreilly.com/library/view/mastering-postgresql-11/9781789537819/a6a44124-558b-42f9-a0f3-eb52ea2799d4.xhtml

https://www.postgresql.org/docs/11/pgs​​tatstatements.html

现在,当我执行命令时,CREATE EXTENSION pg_stat_statements;我看到错误“无法打开扩展控制文件”/usr/postgresql/share/extension/pg_stat_statements.control“:没有这样的文件或目录”并且在查看提到的目录时,这些不是文件pg_stat_statements.control

我在这里想念什么?请帮忙。

0 投票
2 回答
227 浏览

sql - pg_stat_activity 不断显示由于 statement_timeout 而超时的查询

我在 pg_stat_activity 上使用以下查询来查找当前正在运行的查询:

我使用以下查询为该用户设置了 satement_timeout 为 30 秒:

我验证这是通过为 db_user 打开一个新会话来设置的:

我运行了这个查询,它按预期在 30 秒后超时。

但是,在此之后,当我运行第一个查询以查看正在运行的查询时,它也会向我显示超时查询

PID 年龄 使用名称 询问
9133 00:00:54.366638 <数据库用户> 犯罪
31551 00:01:49.70594 <数据库用户> ¶选择 pg_sleep(31)

为什么查询 pg_stat_activity 时仍然显示超时查询。我希望由于这个查询已经终止,它不能出现在 pg_stat_activity 中。

0 投票
1 回答
211 浏览

postgresql - 加入 pg_stat_activity 和 pg_stat_statements?

当用户运行繁重的查询时,我正在研究数据库中的繁重负载。我到了 pg_stat_statements,它向我显示了用户的 ID、查询以及运行所需的时间。另一方面,我发现 pg_stat_activity 向我显示了数据库的活动用户及其 pid、query_start 等。我加入了 2,因为它们在用户 ID 上有相似之处。

通过这种方式,我得到了活动用户以及他使用查询的位置,比如它的负载等。但问题是,当它是同一个用户连接到不同的 pid 时,找到的查询被复制到每个连接的用户 pid片刻。

在 pg_stat_activity 中,它显示用户的数据处于活动状态,因此,如果他断开连接,他的数据就会丢失(我用 ETL 解决了它)。但是处于活动状态,它如何防止它们被复制并获取用户使用的各自查询?

欢迎任何建议或文件。

0 投票
0 回答
123 浏览

postgresql - 如何在 AWS Aurora 中使用 pg_proctab 扩展进行监控?

我最近遇到了这个 pg_proctab 扩展,通过它我们应该能够获取操作系统统计信息的详细信息。但是我无法从此扩展构建的函数中获取值,这是 GIT 代码中的自述文件 -

我相信 procpid 在 postgresql 的更高版本中已停止使用,因此请WHERE pg_stat_activity.pid= pg_proctab.pid;改用。

当我跑步时

这些列是什么?当我将其与 pg_stat_activity 连接时,它与 postgreSQL 进程有何关系?

来自 pg_proctab() 的列-

0 投票
0 回答
14 浏览

postgresql - pg_stat_statements 中的详细信息查询

在 pg_stat_statements 输出(“查询”字段)中:

SELECT * FROM users WHERE id = ?

如何获取“?”的详细信息 来自 pg_stat_statements 中的查询?谁能告诉我这个,因为我想跟踪是否有人执行了一些查询。我们还能知道这个查询是从哪个 IP 地址执行的吗?所以我可以监控是否有人在数据库中进行了一些修改数据。

谢谢您的帮助。

0 投票
1 回答
18 浏览

postgresql - 在 Postgres pg_stat_statements 中,最大时间和平均时间之间的巨大差异

在 Postgres 14 中,为什么和pg_stat_statements之间存在巨大的时差?max_exec_timemean_exec_time

能否请你帮忙?

pg_stat_statements 的输出