# 03000 — sql_statement_not_yet_complete

> PostgreSQL SQLSTATE 03000 names an incomplete SQL-statement condition; the fixed core scan provides no resolved emitter.
---

# 03000 — sql_statement_not_yet_complete

## At a glance {#at-a-glance}

`03000` is an error-category condition whose name indicates that the SQL statement is not yet complete. No resolved 18.6 core/contrib report group was found, so this page does not assign a parser, protocol, or client source.

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

| Field | Value |
| --- | --- |
| SQLSTATE | `03000` |
| Condition | `sql_statement_not_yet_complete` |
| Status | `active` |
| Known present by | `7.4` |
| Locked snapshots | `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` |
| Macros | `ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE` |
| Aliases | `—` |

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

## Meaning {#meaning}

The definition names an incomplete SQL statement. The fixed source scan does not identify whether a parser, protocol layer, or client library emits it.

## Messages and diagnostics {#messages}

No resolved 18.6 message variant was found. Preserve the exact statement boundary, client API or parser, server/driver version, and complete diagnostic.

## Diagnosis {#diagnosis}

Identify whether the code came from a statement-framing or protocol layer, then check how that layer decides that more input is required. Do not infer it from any syntax error, a multi-statement batch, or a client-side timeout without the actual SQLSTATE source.

## Response {#response}

Complete the statement according to the identified parser or protocol contract, or correct the client framing that sent an incomplete unit. Repeating the same incomplete input cannot make it complete.

## Versions {#versions}

`03000` is present from the locked 9.0.23 snapshot through 18.6 and 19 Beta 3, with `known_present_by` 7.4. The available 18.6 evidence confirms the definition but no resolved emitting path.

## Related {#related}

[`42601`](../42601/) is a syntax error; [`08P01`](../08p01/) concerns protocol violation; [`00000`](../00000/) is successful completion.

## Sources {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L101) — definition, SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`.
- [Structured evidence](../data/evidence/03000.json) — fixed sources, message groups, and runtime boundary.
