pgdisablelogerror
按 SQLSTATE 错误码禁止部分错误写入 PostgreSQL 服务器日志。
仓库
fmbiete/pgdisablelogerror
https://github.com/fmbiete/pgdisablelogerror
源码
pgdisablelogerror-1.0.tar.gz
pgdisablelogerror-1.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pgdisablelogerror | 1.0 | ADMIN | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 5260 | pgdisablelogerror | 否 | 是 | 是 | 是 | 否 | 是 | - |
PGDG RPM and Pigsty DEB package fmbiete/pgdisablelogerror 1.0; control is relocatable=true and requires shared_preload_libraries.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 1.0 | 1817161514 | pgdisablelogerror | - |
| RPM | PGDG | 1.0 | 1817161514 | pgdisablelogerror_$v | - |
| DEB | PIGSTY | 1.0 | 1817161514 | postgresql-$v-pgdisablelogerror | - |
构建
您可以使用 pig build 命令构建 pgdisablelogerror 扩展的 RPM / DEB 包:
安装
您可以直接安装 pgdisablelogerror 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
pig
dnf
apt
预加载配置:
创建扩展:
用法
来源:README、v1.0 release、control file
pgdisablelogerror 会抑制配置的 SQLSTATE error codes 在 PostgreSQL server log 中的记录。对于 duplicate-key violations 等预期应用错误过于频繁、污染 server log 的场景,它比较有用。
启用 Hook
加载 module 并重启 PostgreSQL:
在 postgres 数据库中创建一次扩展:
配置 SQLSTATE Codes
将 pgdisablelogerror.sqlerrcode 设为逗号分隔的 SQLSTATE codes:
空值或 NULL 会禁用 suppression:
要在普通 PostgreSQL 日志中识别 SQLSTATE 值,可以在 log_line_prefix 中添加 %e。
注意事项
- 版本 1.0 支持 PostgreSQL 14-18。
- 该扩展影响日志,不影响错误行为。客户端仍会收到原始错误。
- SQLSTATE 列表应尽量窄。抑制过宽的错误类别可能隐藏真实运维问题。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)