RDS PostgreSQL 的 SQL 统计数据
对于每个 SQL 调用和查询运行的每一秒,性能详情都会收集 SQL 统计数据。RDS for PostgreSQL 仅在摘要级别收集 SQL 统计数据。语句级别不显示任何统计数据。
接下来,您可以了解有关 RDS for PostgreSQL 的摘要级别统计数据的信息。
RDS PostgreSQL 的摘要统计数据
要查看 SQL 摘要统计数据,RDS PostgreSQL 必须加载 pg_stat_statements
库。对于与 PostgreSQL 11 或更高版本兼容的 PostgreSQL 数据库实例,数据库默认加载此库。对于与 PostgreSQL 10 或更低版本兼容的 PostgreSQL 数据库实例,请手动启用此库。要手动启用该库,请在与数据库实例关联的数据库参数组中的 pg_stat_statements
中添加 shared_preload_libraries
。然后重启数据库实例。有关更多信息,请参阅“Amazon RDS 的参数组”。
注意
性能详情只能收集 pg_stat_activity
中未被截断的查询的统计数据。默认情况下,PostgreSQL 数据库会截断长度超过 1,024 字节的查询。要增加查询大小,请更改与数据库实例关联的数据库参数组中的 track_activity_query_size
参数。更改此参数后,需要重新启动数据库实例。
RDS PostgreSQL 的每秒摘要统计数据
以下 SQL 摘要统计数据可用于 PostgreSQL 数据库实例。
指标 | 单位 |
---|---|
db.sql_tokenized.stats.calls_per_sec | 每秒调用数 |
db.sql_tokenized.stats.rows_per_sec | 每秒行数 |
db.sql_tokenized.stats.total_time_per_sec | 每秒平均活动执行次数 (AAE) |
db.sql_tokenized.stats.shared_blks_hit_per_sec | 每秒块命中次数 |
db.sql_tokenized.stats.shared_blks_read_per_sec | 每秒块读取次数 |
db.sql_tokenized.stats.shared_blks_dirtied_per_sec | 每秒损坏的块数 |
db.sql_tokenized.stats.shared_blks_written_per_sec | 每秒块写入次数 |
db.sql_tokenized.stats.local_blks_hit_per_sec | 每秒本地块命中次数 |
db.sql_tokenized.stats.local_blks_read_per_sec | 每秒本地块读取次数 |
db.sql_tokenized.stats.local_blks_dirtied_per_sec | 每秒本地块损坏次数 |
db.sql_tokenized.stats.local_blks_written_per_sec | 每秒本地块写入次数 |
db.sql_tokenized.stats.temp_blks_written_per_sec | 每秒临时写入次数 |
db.sql_tokenized.stats.temp_blks_read_per_sec | 每秒临时读取次数 |
db.sql_tokenized.stats.blk_read_time_per_sec | 每秒平均并发读取次数 |
db.sql_tokenized.stats.blk_write_time_per_sec | 每秒平均并发写入次数 |
RDS PostgreSQL 的每次调用摘要统计数据
以下指标提供了 SQL 语句的每次调用统计数据。
指标 | 单位 |
---|---|
db.sql_tokenized.stats.rows_per_call | 每个调用的行数 |
db.sql_tokenized.stats.avg_latency_per_call | 每个调用的平均延迟(以毫秒为单位) |
db.sql_tokenized.stats.shared_blks_hit_per_call | 每个调用的块命中次数 |
db.sql_tokenized.stats.shared_blks_read_per_call | 每个调用的块读取次数 |
db.sql_tokenized.stats.shared_blks_written_per_call | 每个调用的块写入次数 |
db.sql_tokenized.stats.shared_blks_dirtied_per_call | 每个调用损坏的块数 |
db.sql_tokenized.stats.local_blks_hit_per_call | 每个调用的本地块命中次数 |
db.sql_tokenized.stats.local_blks_read_per_call | 每个调用的本地块读取次数 |
db.sql_tokenized.stats.local_blks_dirtied_per_call | 每个调用的本地块损坏次数 |
db.sql_tokenized.stats.local_blks_written_per_call | 每个调用的本地块写入次数 |
db.sql_tokenized.stats.temp_blks_written_per_call | 每个调用的临时块写入次数 |
db.sql_tokenized.stats.temp_blks_read_per_call | 每个调用的临时块读取次数 |
db.sql_tokenized.stats.blk_read_time_per_call | 每个调用的读取时间(以毫秒为单位) |
db.sql_tokenized.stats.blk_write_time_per_call | 每个调用的写入时间(以毫秒为单位) |
有关这些指标的更多信息,请参阅 PostgreSQL 文档中的 pg_stat_statements