# 22024 — unterminated_c_string

> PostgreSQL SQLSTATE 22024 的来源与诊断参考。
---

# 22024

## 速览 {#at-a-glance}
目录条件名表示 C 风格字符串在所需终止符之前结束。有限的 PostgreSQL 18.6 源码审阅确认了定义，但没有绑定到原生发出该报文的 report group。

<!-- BEGIN SQLSTATE FACTS: generated by scripts/generate.py; do not edit -->

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `22024` |
| 条件名 | `unterminated_c_string` |
| 状态 | `有效` |
| 已知存在于 | `7.4` |
| 锁定快照 | `9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3` |
| 宏 | `ERRCODE_UNTERMINATED_C_STRING` |
| 别名 | `—` |

<!-- source facts: data/errcodes/22024.json -->
<!-- END SQLSTATE FACTS -->

## 含义 {#meaning}
22024 描述接口/解析器层的 C 风格字符串或转义序列缺少终止符，但本次固定源码范围没有确定 PostgreSQL 哪个组件发出它。不能单凭条件名指定 SQL 文本、ECPG、客户端、首要报文或恢复路径。

## 诊断 {#diagnosis}
结合完整诊断定位实际解析器或接口，检查引号或转义 token 应在哪里结束并保留原始输入。不要把客户端截断或任意 SQL 引号问题直接归入 22024。

## 处理 {#response}
在所属解析器边界结束或重新编码字符串，并遵循该层的恢复方式。由于有限审阅没有解析出 emitter，本页不推断事务和严重性行为。

## 版本 {#versions}
锁定目录从 7.4 起记录该条件；当前只确认 PostgreSQL 18.6 的定义和有限源码范围。未声称本页有自然运行观察。

## 相关 {#related}
[`22025`](../22025/)、[`22019`](../22019/)

## 来源 {#sources}
固定目录定义记录在结构化[证据记录](../../data/evidence/22024.json)中。有限扫描有意保留原生 emitter、首要文本、严重性和事务行为未知；本页未运行自然案例。
