# 01003 — null_value_eliminated_in_set_function

> PostgreSQL SQLSTATE 01003 表示集合函数消除 NULL 值的警告；固定核心扫描没有找到发射路径。
---

# 01003 — null_value_eliminated_in_set_function

## 速览 {#at-a-glance}

`01003` 是警告类别条件，名称描述集合函数消除 NULL 值。没有解析出 18.6 核心与 contrib 报告组，因此不能确认具体 PostgreSQL 聚合、消息或客户端严重性路径。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `01003` |
| 条件名 | `null_value_eliminated_in_set_function` |
| 状态 | `有效` |
| 已知存在于 | `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_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION` |
| 别名 | `—` |

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

## 含义 {#meaning}

定义名称描述集合函数中的 NULL 消除，但固定源码扫描没有定位 PostgreSQL 发射器。来源可能是服务器扩展、客户端或其他实现。

## 消息与诊断 {#messages}

没有解析出 18.6 消息变体。应保留原始警告文本、语句、聚合或集合函数上下文，以及发出它的服务器或客户端来源。

## 诊断 {#diagnosis}

先定位发出代码的来源；仅凭 SQLSTATE 无法确定是哪一个聚合或驱动行为。确认来源报告的是 warning、notice 还是只有诊断代码，并把 NULL 消除与查询无行区分开。

## 处理 {#response}

如果实际实现文档支持某个设置或表达式调整，应只做该定向修改并验证结果。不要笼统地抑制或重试所有警告。

## 版本 {#versions}

`01003` 在锁定目录 9.0.23 至 18.6 以及 19 Beta 3 中存在，`known_present_by` 为 7.4。这是定义存在事实，不是当前服务器发射路径的确认。

## 相关 {#related}

[`01004`](../01004/) 是字符串截断警告；[`02000`](../02000/) 是无数据；[`00000`](../00000/) 是成功完成。

## 来源 {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L87) — 定义，SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`.
- [结构化证据](../../data/evidence/01003.json) — 固定来源、消息和运行边界。
