选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 错误代码 / Class F0 配置文件错误

F0000 config_file_error

ERROR 源码确认 详解 未实测

类别
Class F0 配置文件错误
严重等级
ERROR
条件名
config_file_error
宏名称
ERRCODE_CONFIG_FILE_ERROR
启用版本
7.4
状态
活跃

版本覆盖

速览

F0000 是配置文件错误条件,但严重性和恢复边界取决于所属调用者。固定核心路径包括归档恢复目标失败和 OAuth HBA 校验;unaccent contrib 词典还有自己的文件打开与规则解析路径。

含义

归档恢复路径在到达配置目标之前结束时发出 FATAL。OAuth 校验使用 ereport(elevel):HBA 解析器传入级别,load_hba() 在重载时以日志记录解析错误并保留旧规则,postmaster 初次启动时则把 HBA 加载失败转成另一个 FATAL,阻止启动。unaccent 加载器无法打开规则文件时报告 ERROR,重复规则和格式错误的规则行则以此 SQLSTATE 报告 WARNING

这些是不同所属组件的路径。HBA 解析带行号和文件上下文;词典打开错误带 %m;归档恢复目标消息没有这两类字段。

消息

  • FATAL,SQLSTATE F0000recovery ended before configured recovery target was reached
  • 由 HBA 加载者选择 elevel,SQLSTATE F0000oauth_validator_libraries must be set for authentication method %s;上下文:line %d of configuration file "%s"
  • 由 HBA 加载者选择 elevelinvalid list syntax in parameter "%s"
  • 由 HBA 加载者选择 elevelauthentication method "oauth" requires argument "validator" to be set when oauth_validator_libraries contains multiple options;上下文:line %d of configuration file "%s"
  • ERROR,SQLSTATE F0000could not open unaccent file "%s": %m
  • WARNING,SQLSTATE F0000duplicate source strings, first one will be used
  • WARNING,SQLSTATE F0000invalid syntax: more than two strings in unaccent ruleinvalid syntax: unfinished quoted string in unaccent rule

OAuth 模板使用 ereport(elevel),因此函数源码本身不能把所有 HBA 事件都定为 ERRORFATAL;实际启动/重载调用者决定边界。

报文模板

源码里的格式串,不是某一次运行的输出。%s 之类是占位符,实际报文会填入对象名与取值。适用范围一栏是核验时留下的原始英文记录,未经翻译。

主消息 recovery ended before configured recovery target was reached

来源:src/backend/access/transam/xlogrecovery.c @ REL_18_6

主消息 oauth_validator_libraries must be set for authentication method %s
CONTEXT line %d of configuration file "%s"

来源:src/backend/libpq/auth-oauth.c @ REL_18_6

主消息 invalid list syntax in parameter "%s"

来源:src/backend/libpq/auth-oauth.c @ REL_18_6

主消息 authentication method "oauth" requires argument "validator" to be set when oauth_validator_libraries contains multiple options
CONTEXT line %d of configuration file "%s"

来源:src/backend/libpq/auth-oauth.c @ REL_18_6

主消息 could not open unaccent file "%s": %m

来源:contrib/unaccent/unaccent.c @ REL_18_6

主消息 duplicate source strings, first one will be used

来源:contrib/unaccent/unaccent.c @ REL_18_6

主消息 invalid syntax: more than two strings in unaccent rule

来源:contrib/unaccent/unaccent.c @ REL_18_6

主消息 invalid syntax: unfinished quoted string in unaccent rule

来源:contrib/unaccent/unaccent.c @ REL_18_6

诊断

保留完整主消息、详细信息、提示、上下文、文件名、行号、子系统和阶段。归档恢复要检查配置目标与可用 WAL/归档。OAuth 要检查 HBA 行和 oauth_validator_libraries 值,区分空列表、列表语法和缺少 validator 参数。unaccent 要检查解析后的规则路径、权限、编码和规则格式;警告可能使词典继续加载并采用首条规则或跳过坏行。

处理

按所属组件的格式修正配置,并保留已知正常副本。归档恢复目标的 FATAL 或首次 HBA 加载的 FATAL 会结束启动,没有客户端事务可回滚;修正目标/配置后重启并使用新连接。HBA 重载解析失败只记录日志并保留旧规则,修复文件后需再次重载,不能假设新规则已生效。unaccent ERROR 若在显式客户端事务中发生,继续执行前要 ROLLBACK 或回到已有保存点;警告路径不需要回滚,但应审查被跳过或重复的规则。

版本

锁定目录从 7.4 记录此条件;固定源码覆盖 PostgreSQL 18.6。本源码页没有诱发启动、重载或词典故障。

来源

证据

断言

每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。

同类错误代码

Class F0 配置文件错误 下的其他成员。