问题标签 [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.
postgresql - 如何解释 stddev_time 和 hit_percent
我启动了以下命令,显示在本文档中: https ://www.postgresql.org/docs/current/pgstatstatements.html
但我不知道如何解释stddev_time
(显然这可以显示导致问题的查询)
而且我不明白如何解释以下值:
当它接近 0 或 100 时会更好吗?
postgresql - 使用 pg_stat_statements 可以聚合的查询有效地将可变数量的行插入 Postgres
为了减少我的数据库上的一些查询负载,我目前将多个查询一起批处理为一个INSERT
具有可变行数的查询。这会产生如下查询:
由于行数不同,从pg_stat_statements
扩展的角度来看,看起来运行了许多不同类型的查询。
我希望有效地批量插入几行,同时允许pg_stat_statements
将所有查询统计信息整齐地聚合在一起。有什么方法可以用来实现这一点,也许是通过告诉pg_stat_statements
这些都是相同的查询类型或使用准备好的语句?
greenplum - 如何在 greenplum 开源版本中使用 pg_stat_statements 扩展?
我正在尝试使用修改后的 greenplum 开源版本进行开发。greenplum 版本是 Greenplum Database 6.0.0-beta.1 build dev(基于 PostgreSQL 9.4.24)。
我想将 pg_stat_statements 扩展添加到我的数据库中,并且我确实设法按照https://www.postgresql.org/docs/9.5/pgstatstatements.html将它安装在数据库上。但是,此扩展程序无法按预期工作。它只记录不可计划的查询和实用程序查询。对于修改我的表的所有可计划查询,没有一条记录。
我的问题是,pg_stat_statements 是否与 greenplum 兼容?由于我没有使用官方版本,我想确保原始版本可以与 pg_stat_statements 一起使用。如果是这样,我如何使用它来跟踪 greeplum 中的所有 sql 查询?谢谢。
以下是不记录我的选择查询的示例。
sql - 为什么我的“CREATE INDEX CONCURRENTLY ..”命令被“SELECT FROM”查询阻止?(Postgres 9.6)
我正在运行迁移以创建索引,但迁移被另一个查询阻止。在发现有另一个查询阻止了我的迁移后,我解决了这个问题;取消阻塞查询后,我能够成功运行迁移。
(我的服务器在 Linux 上使用 Postgres 9.6)
以下是我发现我的迁移被阻止的方式:
返回以下结果:
我的迁移(查询)怎么可能CREATE INDEX CONCURRENTLY ..
被查询阻止SELECT .. FROM ..
?即使运行阻塞查询的进程处于僵尸状态,我也不明白我的索引创建查询如何被“SELECT .. FROM ..”查询阻塞。
任何人都可以提供有关这如何可能的见解吗?
如果有帮助,这是我的架构(针对这个问题进行了简化):
订单
id
widget_id
customer_id
(FK 至Customers
)
顾客
id
company_id
(FK 至Companies
)
公司
id
一些附加说明:
- 我发现索引在我运行迁移大约 8 小时后被阻止。
- 杀死阻塞查询后,我删除了
idx_orders_on_widget_id
索引并重新运行迁移以重新创建索引。 - 第二次重新运行迁移后,索引创建在大约 10 分钟内完成
- 服务器在 Linux 上运行 Postgres 9.6
postgresql-12 - 如何在 PostgreSQL 12 上的 Citus 数据库上链接协调员和工作人员的工作
我在 PostgresSQL 服务器上有 Citus 扩展。我想pg_stat_statements
通过协调节点查看每个工作人员的统计信息。但是,没有与协调员和工作人员的表相匹配的列。有人知道我该怎么做吗?
我也对 PostgreSQL 如何计算 queryId 感兴趣。
所以pg_stat_statements
协调器上的表格会显示如下:
虽然pg_stat_statements
工作人员的表格会显示如下内容:
postgresql - 如何从 PostgreSQL 上的 pg_stat_statements 计算 queryId?
PostgreSQL 有这些监控表,特别是pg_stat_statements
,包含这个列的名称queryId
,我想知道它是如何计算的。如果有人知道我在哪里可以找到源代码,那将不胜感激。
所以pg_stat_statements
表格会显示如下:
我对这123
是如何计算的很感兴趣。
installation - 尝试创建扩展时出错:pg_stat_statement
我正在尝试安装 pg_stat_statements 这样做:
我明白了:
我已经安装了 postgresql-contrib 如下:
在错误中指定的位置找不到文件 pg_stat_statements.control,我应该下载它吗?或者它是如何工作的?
postgresql - 在阅读器实例上每小时隔离 pg_stat_statements
Aurora Postgres 11.8 我必须每小时在 Reader 实例上隔离 pg_stat_statements。在 Writer 实例上很简单,每小时创建一个表并备份 pg_stat_statements,然后使用 pg_stat_statements_reset() 清理 pg_stat_statements。
由于我无法在 Reader 上创建表,因此需要专家对此进行评论,一个想法是在 Writer 上创建 FDW 表并每小时复制数据,但是如何将 pg_stat_statements_reset() 与 Reader 上的表同步?对于复制和 pg_stat_statements_reset() 有两个单独的 cronjobs 看起来不像是一个健壮的解决方案。
来自 Oracle 背景,我很喜欢每小时的 ADDM 报告。pg_stat_statements 被发现是 ADDM 的一种令人满意的替代方案。我想按小时划分 pg_stat_statements 以获得更深入的分析,因为所有繁忙时间和非工作时间的单一摘要意义不大。
谢谢
sql - pg_stat_statements_reset() 时间表
极光 Postgres 11.8
非超级管理员用户是否可以运行 pg_stat_statements_reset()?
细节:
必须每小时安排一次 pg_stat_statements_reset(),因为 Aurora Postgres 11.8 中没有可用的内部调度程序,我想使用 lambda/cronjob,因为只有超级管理员可以运行它,所以在我的环境中暴露超级管理员密码是一个安全风险在 lambda/cronjob 中。那么在我的情况下有什么出路吗?可以有一个从非超级用户开始执行然后在等内切换用户的sp吗?
谢谢
postgresql - 带有 postgres 的 DOCKER 容器,警告:无法打开统计文件“pg_stat_tmp/global.stat”:不允许操作
我有一个使用 .yml、Dockerfile(s) 等从几个不同的图像构建的 DOCKER 容器。到目前为止,一切都构建并运行良好,除了我在标题中看到的这个问题:
该数据库索引映射到 Docker 包根目录中主机上的文件夹,就数据库而言,其他一切似乎都工作正常。我使用的是 Mac,但如果我从 CLI 列出 DB 文件夹的权限,我会得到:
pg_stat 文件夹实际上是空的。
和 pg_stat_temp 有:
.yml 文件有这个:
鉴于它是一个 Docker 容器,这是否可以忽略。
在 UBUNTU 上添加关于相同设置的评论。
数据库文件夹:
drwx------ 19 systemd-coredump root 4096 Jun 30 13:12 OrthancIndex
数据库:
pg_stat_temp
我实际上在 UBUNTU 上遇到了同样的错误:
虽然这里的用户和组是 systemd-coredump。