01000 — warning(警告)
类别 01 的通用警告,需结合实际严重级别判断。
英文手册覆盖始于 PostgreSQL 8.1. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- aliases
- 未知
- class name
- Warning
- condition name
- warning
- lang
- en
- sqlstate
- 01000
版本定义 PG 18
速览 {#at-a-glance}
01000 是类别 01 Warning 中的通用警告(warning)条件。它只是目录分类,不对应某一个固定子系统或固定报文。PostgreSQL 源码目录明确说明,不应把这个类别用于失败条件。
这个五字符代码必须和协议严重级别及完整诊断一起读取。在 ErrorResponse 或 NoticeResponse 中,S 是可能经过本地化的严重级别,V 是未本地化的严重级别。因此,当产生消息的代码显式提供了该代码时,SQLSTATE 仍可以是 01000,而消息严重级别可能是 WARNING、NOTICE、INFO 或其他提示级别。
在常见的默认路径中,PostgreSQL 将 ereport(WARNING, ...) 映射为 01000,将不低于 ERROR 的级别映射为 XX000,将更低的级别映射为 00000。显式的 errcode() 可以覆盖这个默认值。因此,目录中的 W 标记有参考价值,但单凭它不能证明线上协议消息一定是实际的 WARNING。
代表性案例 generic_warning_boundary 在 PostgreSQL 18.6 和 10.21 上均通过。它用 PL/pgSQL RAISE WARNING 核验默认的 01000 分发,实际收到 WARNING 提示,并保持自动提交连接可继续使用。它没有实测异步 NOTIFY、hstore、XID 或 MultiXact 警告路径。
锁定目录在 PostgreSQL 7.4 的 pre-9.0 正式源码中已经观察到该代码,并确认它存在于 9.0.23 至 18.6 的每个正式快照及 19 Beta 3 预览快照。pre-9.0 源码扫描覆盖 7.4 至 8.4.22;7.0 至 7.3 仍有候选源码缺口。因此,7.4 是已知存在边界,不是精确引入版本。
含义与触发路径 {#meaning}
锁定的 18.6 定义是在类别 01 下的 01000 W ERRCODE_WARNING warning。默认严重级别映射位于 elog.c:ERROR 或更高级别从 ERRCODE_INTERNAL_ERROR 开始,WARNING 级别从 ERRCODE_WARNING 开始,更低级别从 ERRCODE_SUCCESSFUL_COMPLETION 开始。随后构造错误消息时还可以替换这个初始代码。
若干真实路径会使用通用警告(warning)代码:
- 异步通知队列会报告
NOTIFY queue is %.0f%% full。如果找到最老的监听事务,还会附带指出 PID 的详细信息,并提示结束该事务。这是队列压力警告,不是数组、权限或约束失败。 - 事务 ID 和 MultiXact 回卷保护会报告某个数据库必须在剩余多少事务或 MultiXact ID 用完前执行
VACUUM。提示会指向全库VACUUM,以及旧预备事务或陈旧复制槽。 - SPI 清理路径会显式提供
ERRCODE_WARNING,报告非空 SPI 栈,并提示检查遗漏的SPI_finish。这里的代码是显式指定的,即使严重级别同样是WARNING。
这些源码确认的例子说明,报文、详细信息、提示、源码上下文和操作比单独的 01000 更有行动价值。其他类别 01 条件(如 01003 或 0100C)拥有自己的 SQLSTATE,不应全部折叠成这个通用代码。
报文与诊断 {#messages}
可执行的代表性案例是注册表中的 generic_warning_boundary:
DO $$ BEGIN RAISE WARNING 'calibration warning'; END $$;
SELECT 1;
PostgreSQL 18.6 和 10.21 都通过提示通道送出这条警告,得到 SQLSTATE 01000、严重级别 WARNING 和主报文 calibration warning。后续的 SELECT 1 成功,连接状态为 IDLE。这是实际的 RAISE WARNING 分发核验,不是上面分别列出的 NOTIFY 队列、hstore 兼容、事务 ID 或 MultiXact 路径的运行时证据。
诊断 {#diagnosis}
从驱动或协议中记录 C/sqlstate、S、V、M、D、H,并同时记录语句、数据库、后端 PID 和时间戳。带有提示处理器的客户端还应记录提示,而不只是异常:WARNING 级别的 NoticeResponse 可以在不抛出语句异常的情况下送达。若有 V,请保留本地化严重级别与未本地化值。
当客户端或服务器日志中看不到消息时,检查 SHOW client_min_messages 和 SHOW log_min_messages。这些设置控制送达与记录阈值,不会改变根因。对于重复出现的警告(warning),使用 SQLSTATE 和稳定的报文模板搜索日志,再检查对应子系统:
NOTIFY queue ... full应检查长期存活的监听事务及DETAIL中的 PID。- XID 或 MultiXact 回收警告应在回卷保护变成真实失败之前检查事务年龄、预备事务和复制槽。
- 非空 SPI 栈应指向扩展或服务器端 SPI 生命周期管理。
不能仅凭 01000 推断事务已经中止、连接已经损坏或数据已经损坏。代表性警告让会话保持可用,但后续语句可能因独立原因失败,函数或客户端操作也可能施加自己的控制流。
处理 {#response}
以报文中的子系统和提示作为修复目标。结束或修复占住通知队列或旧事务回收边界的事务;检查复制槽和预备事务后执行提示的全库维护;或者修复扩展的 SPI 所有权。调查时保留原始诊断。
实际的 WARNING 或更低级别提示本身不会把显式事务置为中止,通常也会让连接保持可继续使用。应验证下一条命令及事务状态,不要从代码本身猜测结果。如果随后出现 ERROR,请按照那个错误的 SQLSTATE 处理,并根据其事务契约使用 ROLLBACK 或合适的保存点恢复。
提高 client_min_messages 或 log_min_messages 可以减少噪声,但不会修复队列、事务回收边界或 SPI 生命周期。只有理解了底层信号后才应考虑抑制它。
版本 {#versions}
目录记录 01000 存在于锁定的 7.4–8.4.22 pre-9.0 正式源码,以及 9.0.23 至 18.6 的所有正式目录快照和 19 Beta 3 预览快照。同 tag 的 REL8_1_4 errcodes.sgml 表已经用较早的 1000 写法列出条件名 warning,因此至少可以确认 8.1.4 已有该条件名。7.0–7.3 仍有候选源码缺口,因此 7.4 观察结果只是存在边界,不是精确引入版本。18.6 源码快照固定在 commit 724edf9bde9d356724ad384a2e196edc3c9f80f7。
协议严重级别字段以及 client_min_messages/log_min_messages 控制项以 PostgreSQL 18 文档为依据。上面的代表性源码路径是 18.6 观察结果,不表示每个旧版本中的所有报文模板都完全不变。
相关 {#related}
00000 — successful_completion 是低级别完成消息的默认代码。01003 — null_value_eliminated_in_set_function 和 0100C — dynamic_result_sets_returned 是更具体的类别 01 条件。XX000 — internal_error 是没有显式代码的 ERROR 的默认代码,不能与 warning 混用。25P02 — in_failed_sql_transaction 描述的是前一个错误已经中止事务后拒绝后续命令,不能把它当成每个 01000 消息的后果。
来源 {#sources}
本页的结构化证据记录在公开证据 JSON中。源码和文档记录均使用固定 PostgreSQL commit 724edf9bde9d356724ad384a2e196edc3c9f80f7;运行记录保留通过的提示注册表和精确 run ID。
src.errcodes.18.6—errcodes.txtsrc.elog.18.6—elog.csrc.async.18.6—async.csrc.varsup.18.6与src.multixact.18.6— 事务回收边界警告路径src.spi.18.6— SPI 清理路径中的显式警告代码doc.protocol.18与doc.logging.18— Error and Notice Message Fields 与 When to Log
比较版本
SQLSTATE 证据与已记录的运行版本
cases · generic_warning_boundary
{
"assertions": [
"The notice handler receives SQLSTATE 01000 and WARNING severity",
"The warning message is preserved",
"The session remains IDLE and a follow-up query succeeds",
"The probe is not presented as the hstore_compat.c natural warning path"
],
"case_id": "generic_warning_boundary",
"cleanup": "No persistent runtime resources are created.",
"has_snippet": true,
"position": 0,
"preconditions": [
"A disposable session with a notice handler"
],
"repair": "Treat the warning's message and context as the actionable signal; identify the emitting subsystem before changing data.",
"trigger": "Execute a PL/pgSQL RAISE WARNING dispatch probe.",
"versions": [
"10",
"18"
]
}claims · identity.class-and-condition
{
"claim_id": "identity.class-and-condition",
"limits": "Directory identity does not identify the emitting subsystem or prove a runtime occurrence.",
"method": "Read the Class 01 section and the 01000 row in the frozen errcodes.txt snapshot.",
"position": 0,
"runtime": [],
"sources": [
"src.errcodes.18.6"
],
"statement": "01000 is the generic warning condition in Class 01, and the directory comment says not to use Class 01 for failure conditions."
}claims · dispatch.default-severity-map
{
"claim_id": "dispatch.default-severity-map",
"limits": "An explicit errcode in the ereport construction can replace this initial value; the mapping does not classify every notice by message text.",
"method": "Read the default sqlerrcode selection in errstart() in the fixed 18.6 source.",
"position": 1,
"runtime": [],
"sources": [
"src.elog.18.6"
],
"statement": "Without a later explicit errcode, PostgreSQL initializes ERROR and higher levels as XX000, WARNING as 01000, and lower levels as 00000."
}claims · mechanism.notify-queue
{
"claim_id": "mechanism.notify-queue",
"limits": "The warning is rate-limited and conditional on queue usage and an identifiable old listener; the source path is not a promise that every installation will observe it.",
"method": "Read asyncQueueFillWarning() and its ereport(WARNING) construction.",
"position": 2,
"runtime": [],
"sources": [
"src.async.18.6"
],
"statement": "The asynchronous notification queue emits a WARNING with SQLSTATE 01000 by default when its usage reaches the warning path, with conditional PID detail and a hint to end the oldest transaction."
}claims · mechanism.wraparound-warnings
{
"claim_id": "mechanism.wraparound-warnings",
"limits": "These are source-confirmed paths; their conditions and remaining-count values depend on live transaction state.",
"method": "Read the ereport(WARNING) branches and their VACUUM, prepared-transaction, and replication-slot hints.",
"position": 3,
"runtime": [],
"sources": [
"src.varsup.18.6",
"src.multixact.18.6"
],
"statement": "Transaction ID and MultiXact horizon checks emit warning messages and maintenance hints for a database approaching its configured horizon."
}claims · mechanism.spi-explicit-code
{
"claim_id": "mechanism.spi-explicit-code",
"limits": "This warning requires an SPI lifecycle defect; it is not a generic SQL warning trigger.",
"method": "Read the commit cleanup branch at lines 467-472 in the fixed source.",
"position": 4,
"runtime": [],
"sources": [
"src.spi.18.6"
],
"statement": "The SPI cleanup path explicitly supplies ERRCODE_WARNING for a non-empty SPI stack and reports a missing SPI_finish hint."
}claims · protocol.severity-fields
{
"claim_id": "protocol.severity-fields",
"limits": "The fields describe the wire message; they do not change the SQLSTATE directory row.",
"method": "Read the official Error and Notice Message Fields table in the PostgreSQL 18 documentation.",
"position": 5,
"runtime": [],
"sources": [
"doc.protocol.18"
],
"statement": "The protocol carries localized S and nonlocalized V severity fields; error messages use ERROR/FATAL/PANIC while notice messages can use WARNING, NOTICE, DEBUG, INFO, or LOG."
}claims · delivery.logging-thresholds
{
"claim_id": "delivery.logging-thresholds",
"limits": "Thresholds affect visibility, not the underlying emitting condition, and configuration can differ between sessions and servers.",
"method": "Read the PostgreSQL 18 runtime logging configuration entries.",
"position": 6,
"runtime": [],
"sources": [
"doc.logging.18"
],
"statement": "client_min_messages and log_min_messages control which messages are delivered to clients or written to the server log."
}claims · versions.catalogue-boundary
{
"claim_id": "versions.catalogue-boundary",
"limits": "The pre-9.0 source set is locked through 8.4.22 but candidate source gaps remain for 7.0–7.3; observed presence is not an asserted introduction version.",
"method": "Read the manifest snapshots and the same-tag REL8_1_4 errcodes.sgml row for the 01000 definition; the per-code history file is a derived view of these locked records.",
"position": 7,
"runtime": [],
"sources": [
"manifest.01000",
"doc.errcodes.8.1.4"
],
"statement": "The catalogue records 01000 in the locked 7.4–8.4.22 pre-9.0 formal sources and every listed formal snapshot from 9.0.23 through 18.6 and 19beta3. The same-tag REL8_1_4 errcodes.sgml row already lists the older 1000 spelling with condition name warning, confirming that condition-name observation by 8.1.4. Candidate source gaps remain for 7.0–7.3, so 7.4 is a presence boundary rather than an exact introduction version."
}claims · runtime.representative-warning
{
"claim_id": "runtime.representative-warning",
"limits": "This runtime result covers the PL/pgSQL RAISE WARNING dispatch probe only; it is not runtime evidence for the separate NOTIFY queue, hstore, XID, or MultiXact paths.",
"method": "Read the stable case and ordered snippet registry, then compare the warning notice, SQLSTATE, severity, followup, and IDLE status in both final run summaries and raw records.",
"position": 8,
"runtime": [],
"sources": [
"case-manifest.01000",
"snippet-registry.01000.final",
"runtime.01000-warning-dispatch-final-20260909.latest",
"runtime.01000-warning-dispatch-final-20260909.pg10"
],
"statement": "The generic_warning_boundary case delivered an observed WARNING with SQLSTATE 01000 and the calibration warning message on PostgreSQL 18.6 and 10.21; the autocommit connection remained IDLE and accepted SELECT 1."
}messages · message.notify-queue
{
"limits": "DETAIL and HINT are conditional on finding an oldest listener process.",
"message_id": "message.notify-queue",
"path": "",
"position": 0,
"raw": {
"detail_template": "The server process with PID %d is among those with the oldest transactions.",
"hint_template": "The NOTIFY queue cannot be emptied until that process ends its current transaction.",
"id": "message.notify-queue",
"limits": "DETAIL and HINT are conditional on finding an oldest listener process.",
"primary_template": "NOTIFY queue is %.0f%% full",
"severity_source": "default_by_severity WARNING",
"sources": [
"src.async.18.6"
],
"sqlstate": "01000"
},
"severity": "default_by_severity WARNING",
"sources": [
"src.async.18.6"
],
"templates": [
{
"kind": "primary",
"literal": "NOTIFY queue is %.0f%% full",
"position": 0,
"role": "",
"template": "NOTIFY queue is %.0f%% full"
},
{
"kind": "detail",
"literal": "The server process with PID is among those with the oldest transactions.",
"position": 1,
"role": "",
"template": "The server process with PID %d is among those with the oldest transactions."
},
{
"kind": "hint",
"literal": "The NOTIFY queue cannot be emptied until that process ends its current transaction.",
"position": 2,
"role": "",
"template": "The NOTIFY queue cannot be emptied until that process ends its current transaction."
}
]
}messages · message.xid-wraparound
{
"limits": "The remaining count and optional follow-up text are calculated from live transaction state.",
"message_id": "message.xid-wraparound",
"path": "",
"position": 1,
"raw": {
"hint_template": "To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\nYou might also need to commit or roll back old prepared transactions, or drop stale replication slots.",
"id": "message.xid-wraparound",
"limits": "The remaining count and optional follow-up text are calculated from live transaction state.",
"primary_template": "database \"%s\" must be vacuumed within %u transactions",
"severity_source": "default_by_severity WARNING",
"sources": [
"src.varsup.18.6"
],
"sqlstate": "01000",
"template_type": "singular"
},
"severity": "default_by_severity WARNING",
"sources": [
"src.varsup.18.6"
],
"templates": [
{
"kind": "primary",
"literal": "database \" \" must be vacuumed within transactions",
"position": 0,
"role": "",
"template": "database \"%s\" must be vacuumed within %u transactions"
},
{
"kind": "hint",
"literal": "To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database. You might also need to commit or roll back old prepared transactions, or drop stale replication slots.",
"position": 1,
"role": "",
"template": "To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\nYou might also need to commit or roll back old prepared transactions, or drop stale replication slots."
}
]
}messages · message.multixact-wraparound
{
"limits": "The singular/plural selection and remaining count depend on live MultiXact state.",
"message_id": "message.multixact-wraparound",
"path": "",
"position": 2,
"raw": {
"hint_template": "Execute a database-wide VACUUM in that database.\nYou might also need to commit or roll back old prepared transactions.",
"id": "message.multixact-wraparound",
"limits": "The singular/plural selection and remaining count depend on live MultiXact state.",
"primary_template_plural": "database \"%s\" must be vacuumed before %u more MultiXactIds are used",
"primary_template_singular": "database \"%s\" must be vacuumed before %u more MultiXactId is used",
"severity_source": "default_by_severity WARNING",
"sources": [
"src.multixact.18.6"
],
"sqlstate": "01000",
"template_type": "plural"
},
"severity": "default_by_severity WARNING",
"sources": [
"src.multixact.18.6"
],
"templates": [
{
"kind": "primary",
"literal": "database \" \" must be vacuumed before more MultiXactId is used",
"position": 0,
"role": "singular",
"template": "database \"%s\" must be vacuumed before %u more MultiXactId is used"
},
{
"kind": "primary",
"literal": "database \" \" must be vacuumed before more MultiXactIds are used",
"position": 1,
"role": "plural",
"template": "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
},
{
"kind": "hint",
"literal": "Execute a database-wide VACUUM in that database. You might also need to commit or roll back old prepared transactions.",
"position": 2,
"role": "",
"template": "Execute a database-wide VACUUM in that database.\nYou might also need to commit or roll back old prepared transactions."
}
]
}messages · message.spi-stack
{
"limits": "This template belongs to SPI cleanup and does not describe every 01000 path.",
"message_id": "message.spi-stack",
"path": "",
"position": 3,
"raw": {
"hint_template": "Check for missing \"SPI_finish\" calls.",
"id": "message.spi-stack",
"limits": "This template belongs to SPI cleanup and does not describe every 01000 path.",
"primary_template": "transaction left non-empty SPI stack",
"severity_source": "explicit ERRCODE_WARNING at WARNING",
"sources": [
"src.spi.18.6"
],
"sqlstate": "01000"
},
"severity": "explicit ERRCODE_WARNING at WARNING",
"sources": [
"src.spi.18.6"
],
"templates": [
{
"kind": "primary",
"literal": "transaction left non-empty SPI stack",
"position": 0,
"role": "",
"template": "transaction left non-empty SPI stack"
},
{
"kind": "hint",
"literal": "Check for missing \"SPI_finish\" calls.",
"position": 1,
"role": "",
"template": "Check for missing \"SPI_finish\" calls."
}
]
}messages · message.runtime-warning
{
"limits": "This message is supplied by the representative probe and is not a built-in template for the NOTIFY, hstore, XID, or MultiXact paths.",
"message_id": "message.runtime-warning",
"path": "",
"position": 4,
"raw": {
"id": "message.runtime-warning",
"limits": "This message is supplied by the representative probe and is not a built-in template for the NOTIFY, hstore, XID, or MultiXact paths.",
"primary_template": "calibration warning",
"severity_source": "observed WARNING notice",
"sources": [
"runtime.01000-warning-dispatch-final-20260909.latest",
"runtime.01000-warning-dispatch-final-20260909.pg10"
],
"sqlstate": "01000"
},
"severity": "observed WARNING notice",
"sources": [
"runtime.01000-warning-dispatch-final-20260909.latest",
"runtime.01000-warning-dispatch-final-20260909.pg10"
],
"templates": [
{
"kind": "primary",
"literal": "calibration warning",
"position": 0,
"role": "",
"template": "calibration warning"
}
]
}runtimes · runtime.01000-warning-dispatch-final-20260909.latest · 18.6 (Homebrew) · passed
{
"cases": [
"generic_warning_boundary"
],
"limits": "The run verifies default RAISE WARNING dispatch, not the separate NOTIFY queue, hstore, XID, or MultiXact warning paths.",
"position": 0,
"raw": {
"cases": [
"generic_warning_boundary"
],
"id": "runtime.01000-warning-dispatch-final-20260909.latest",
"limits": "The run verifies default RAISE WARNING dispatch, not the separate NOTIFY queue, hstore, XID, or MultiXact warning paths.",
"observed": {
"followup": 1,
"message_primary": "calibration warning",
"scope": "PL/pgSQL RAISE WARNING dispatch probe; does not represent the hstore_compat.c warning path",
"severity": "WARNING",
"sqlstate": "01000",
"status_after_probe": "IDLE"
},
"raw": "verify/results/01000-warning-dispatch-final-20260909/latest/raw.jsonl",
"raw_sha256": "754dfce792e831725220e08cd071d0b86642003c774794979d211eb5b5882a84",
"run_id": "01000-warning-dispatch-final-20260909",
"server_version": "18.6 (Homebrew)",
"server_version_num": 180006,
"snippet_registry": {
"path": "verify/cases/01000/snippets.json",
"sha256": "4c8a6418ae49f45ade9dd68c04d13ef1c300f472b2816c9ff57455776153ac58"
},
"status": "passed",
"summary": "verify/results/01000-warning-dispatch-final-20260909/latest/summary.json",
"summary_sha256": "aa77c0684de9e5f8e257416ba32f10550ebb2362bf8ce083ff6c4fd4242b2565",
"target": "latest"
},
"run_id": "01000-warning-dispatch-final-20260909",
"runtime_id": "runtime.01000-warning-dispatch-final-20260909.latest",
"server_version": "18.6 (Homebrew)",
"status": "passed",
"target": "latest"
}runtimes · runtime.01000-warning-dispatch-final-20260909.pg10 · 10.21 (Debian 10.21-1.pgdg90+1) · passed
{
"cases": [
"generic_warning_boundary"
],
"limits": "The run verifies default RAISE WARNING dispatch, not the separate NOTIFY queue, hstore, XID, or MultiXact warning paths.",
"position": 1,
"raw": {
"cases": [
"generic_warning_boundary"
],
"id": "runtime.01000-warning-dispatch-final-20260909.pg10",
"image": "postgres@sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc",
"limits": "The run verifies default RAISE WARNING dispatch, not the separate NOTIFY queue, hstore, XID, or MultiXact warning paths.",
"observed": {
"followup": 1,
"message_primary": "calibration warning",
"scope": "PL/pgSQL RAISE WARNING dispatch probe; does not represent the hstore_compat.c warning path",
"severity": "WARNING",
"sqlstate": "01000",
"status_after_probe": "IDLE"
},
"raw": "verify/results/01000-warning-dispatch-final-20260909/pg10/raw.jsonl",
"raw_sha256": "471efe14b8234036ed5d978f816b08b2f577eab6c79b56b1259ade338983251d",
"run_id": "01000-warning-dispatch-final-20260909",
"server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
"server_version_num": 100021,
"snippet_registry": {
"path": "verify/cases/01000/snippets.json",
"sha256": "4c8a6418ae49f45ade9dd68c04d13ef1c300f472b2816c9ff57455776153ac58"
},
"status": "passed",
"summary": "verify/results/01000-warning-dispatch-final-20260909/pg10/summary.json",
"summary_sha256": "ee813797dd39ee66307ce1016bc7840730fa1e919afdbc9a44d8cb75f38129af",
"target": "pg10"
},
"run_id": "01000-warning-dispatch-final-20260909",
"runtime_id": "runtime.01000-warning-dispatch-final-20260909.pg10",
"server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
"status": "passed",
"target": "pg10"
}sources · src.errcodes.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 81-84",
"path": "src/backend/utils/errcodes.txt",
"position": 0,
"sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
"source_id": "src.errcodes.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt"
}sources · src.elog.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 442-454",
"path": "src/backend/utils/error/elog.c",
"position": 1,
"sha256": "766d30a426ba1d9597657bd46fb890da3e37e4ae53a83d1245bf082ed9433c33",
"source_id": "src.elog.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/error/elog.c#L442-L454"
}sources · src.async.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 1518-1559",
"path": "src/backend/commands/async.c",
"position": 2,
"sha256": "61818f28cd0364a7ada65d4efa94db0ef1a441064621b26314bb7a13816c24e1",
"source_id": "src.async.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/commands/async.c#L1518-L1559"
}sources · src.varsup.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 168-179",
"path": "src/backend/access/transam/varsup.c",
"position": 3,
"sha256": "63525c51e70b9daa5a3544fae19537aa3065a62f8b5506a78cd646648d228a02",
"source_id": "src.varsup.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/access/transam/varsup.c#L168-L179"
}sources · src.multixact.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 1287-1300",
"path": "src/backend/access/transam/multixact.c",
"position": 4,
"sha256": "cf6634f5dc84f2938623bc0e8f8c19c1a37331160810815c169a5b3b5e22cd5f",
"source_id": "src.multixact.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/access/transam/multixact.c#L1287-L1300"
}sources · src.spi.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 467-472",
"path": "src/backend/executor/spi.c",
"position": 5,
"sha256": "7244b45f632583c72530832df901b788fe403c8857425dd13edb49d9f84b0c78",
"source_id": "src.spi.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/spi.c#L467-L472"
}sources · doc.protocol.18
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 6254-6290, ErrorResponse/NoticeResponse severity fields",
"path": "doc/src/sgml/protocol.sgml",
"position": 6,
"sha256": "745339e07ebbc2bb67d98b258e25772ada644ef26011e3cd6b3fcbb435235f89",
"source_id": "doc.protocol.18",
"tag": "PG18-docs",
"url": "https://www.postgresql.org/docs/18/protocol-error-fields.html"
}sources · doc.logging.18
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "",
"location": "lines 7142-7190 and 9721-9760, message logging thresholds",
"path": "doc/src/sgml/config.sgml",
"position": 7,
"sha256": "ffca322c15315ba670733d6b320f23cbba7374db0d18937298ffc07b58799ef6",
"source_id": "doc.logging.18",
"tag": "PG18-docs",
"url": "https://www.postgresql.org/docs/18/runtime-config-logging.html"
}sources · doc.errcodes.8.1.4
{
"commit": "313a720f95a3f41b59f853786b184f38f82172d9",
"docs_url": "",
"kind": "upstream_source",
"location": "REL8_1_4 table rows 93-95; the older table renders 01000 as 1000",
"path": "doc/src/sgml/errcodes.sgml",
"position": 8,
"sha256": "fdd6f5470b19970d3b60219a44e66b33193647975d346adfe2a98178f706b776",
"source_id": "doc.errcodes.8.1.4",
"tag": "",
"url": "https://github.com/postgres/postgres/blob/313a720f95a3f41b59f853786b184f38f82172d9/doc/src/sgml/errcodes.sgml#L93-L95"
}sources · manifest.01000
{
"commit": "",
"docs_url": "",
"kind": "local_artifact",
"location": "snapshots and definition_blobs entries for the 01000 definition",
"path": "sources/manifest.lock.json",
"position": 9,
"sha256": "1727a275f336988ff96b4f9990a4ca253080f73fc5d316e7def165c8cf3708a8",
"source_id": "manifest.01000",
"tag": "",
"url": "../sources/manifest.lock.json"
}sources · case-manifest.01000
{
"commit": "",
"docs_url": "",
"kind": "local_artifact",
"location": "generic_warning_boundary",
"path": "verify/cases/01000/cases.json",
"position": 10,
"sha256": "4d3c6cf00c5ec99a0ecee396fbc66aee86c0fd9297f05a143bb0e0eb0c6c87ef",
"source_id": "case-manifest.01000",
"tag": "",
"url": "../verify/cases/01000/cases.json"
}sources · snippet-registry.01000.final
{
"commit": "",
"docs_url": "",
"kind": "local_artifact",
"location": "generic_warning_boundary ordered probe and followup",
"path": "verify/cases/01000/snippets.json",
"position": 11,
"sha256": "4c8a6418ae49f45ade9dd68c04d13ef1c300f472b2816c9ff57455776153ac58",
"source_id": "snippet-registry.01000.final",
"tag": "",
"url": "../verify/cases/01000/snippets.json"
}来源引用
定义来源
center · PostgreSQL 18 · english-manuals:d58eaf6df5e23be53ba773628bd149e53e124fb05f00582aff97ff2406afb3b4
正文语言: zh-Hans · english-manuals:d58eaf6df5e23be53ba773628bd149e53e124fb05f00582aff97ff2406afb3b4