postgresql - 是否可以通过表确定 Postgres 写入速率(以每秒写入数为单位)?

标签 postgresql performance statistics

在 PostgreSQL 中,是否有可能获得表写入的近似值作为时间度量?

具体来说,我正在寻找给定表的“写入/秒”的近似值。我知道我可以从统计收集器获取总写入(插入、更新、删除),但没有明确定义统计数据何时“开始”,以便我可以确定速率。

我可以应用另一个表格来进行此计算吗?

SELECT relname, idx_tup_fetch + seq_tup_read as TotalReads,
    n_tup_ins + n_tup_upd + n_tup_del as TotalWrites, 
-- (n_tup_ins + n_tup_upd + n_tup_del) / magical_seconds_column_that_doesnt_exist as WritesPerSecond
    *
from pg_stat_all_tables
order by totalwrites desc

最佳答案

PostgreSQL 本身没有这样的功能。您将定期拍摄统计表的快照并自行计算值。

请注意,使用track_io_timing = on,您还将获得 I/O 统计信息。

关于postgresql - 是否可以通过表确定 Postgres 写入速率(以每秒写入数为单位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61744672/

相关文章:

SQL 查询迭代表以计算在其中一个字段中具有相同值的第 1 条记录和第 2 条记录之间的时间差?

postgresql - Postgres 中的索引?

r - h2o.performance 预测与 h2o.predict 不同?

Python: "except KeyError"比 "if key in dict"快吗?

java - java中的字符串初始化和连接

c++ - 数据集中最常见的值(有变化)

python - 未创建 Django 身份验证模型

sql - 导致 PostgreSQL 9.3 语法错误的代码有什么问题

ruby - 计算数组的统计信息

python - 成分方差的矢量化计算