logerrors

用于收集日志文件中消息统计信息的函数

概览

扩展包名版本分类许可证语言
logerrors2.1.5SECBSD 3-ClauseC
ID扩展名BinLibLoadCreateTrustReloc模式
7140logerrors-
相关扩展pgauditlogtofile pg_auth_mon pg_jobmon pg_stat_monitor auto_explain pg_track_settings pgaudit pgsentinel

版本

类型仓库版本PG 大版本包名依赖
EXTMIXED2.1.51817161514logerrors-
RPMPGDG2.1.51817161514logerrors_$v-
DEBPIGSTY2.1.51817161514postgresql-$v-logerrors-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
d13.aarch64
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
u22.x86_64
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
u22.aarch64
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
u24.x86_64
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
u24.aarch64
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5
PIGSTY 2.1.5

构建

您可以使用 pig build 命令构建 logerrors 扩展的 DEB 包:

pig build pkg logerrors         # 构建 DEB 包

安装

您可以直接安装 logerrors 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install logerrors;          # 当前活跃 PG 版本安装
pig ext install -y logerrors -v 18  # PG 18
pig ext install -y logerrors -v 17  # PG 17
pig ext install -y logerrors -v 16  # PG 16
pig ext install -y logerrors -v 15  # PG 15
pig ext install -y logerrors -v 14  # PG 14
dnf install -y logerrors_18       # PG 18
dnf install -y logerrors_17       # PG 17
dnf install -y logerrors_16       # PG 16
dnf install -y logerrors_15       # PG 15
dnf install -y logerrors_14       # PG 14
apt install -y postgresql-18-logerrors   # PG 18
apt install -y postgresql-17-logerrors   # PG 17
apt install -y postgresql-16-logerrors   # PG 16
apt install -y postgresql-15-logerrors   # PG 15
apt install -y postgresql-14-logerrors   # PG 14

预加载配置

shared_preload_libraries = 'logerrors';

创建扩展

CREATE EXTENSION logerrors;

用法

logerrors: 收集日志消息统计信息

logerrors 收集 PostgreSQL 日志文件中 WARNING、ERROR 和 FATAL 消息的统计信息,无需解析日志即可轻松监控错误率。

CREATE EXTENSION logerrors;

配置参数

参数默认值描述
logerrors.interval5000(5秒)写入统计到缓冲区的间隔(毫秒,最大 60 秒)
logerrors.intervals_count120缓冲区中保留的间隔数(最大 360)
logerrors.excluded_errcodes(空)要排除的错误代码,逗号分隔

查询错误统计

SELECT * FROM pg_log_errors_stats();
 time_interval |  type   |       message        | count | username | database | sqlstate
---------------+---------+----------------------+-------+----------+----------+----------
               | WARNING | TOTAL                |     0 |          |          |
               | ERROR   | TOTAL                |     1 |          |          |
               | FATAL   | TOTAL                |     0 |          |          |
             5 | ERROR   | ERRCODE_SYNTAX_ERROR |     1 | postgres | postgres | 42601
           600 | ERROR   | ERRCODE_SYNTAX_ERROR |     1 | postgres | postgres | 42601

慢日志统计

SELECT * FROM pg_slow_log_stats();
 slow_count |         reset_time
------------+----------------------------
          1 | 2020-06-13 00:19:31.084923

重置统计

SELECT pg_log_errors_reset();

最后修改 2026-03-14: update extension metadata (953cbd0)