↑↓ select ↵ open ⌫ change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / Protocol Messages / Frontend messages

Parse

Parse is a frontend protocol message. Identifies the message as a Parse command.

Reading PostgreSQL 18.6.

Description

Parse is a frontend protocol message. Identifies the message as a Parse command.

Direction
Frontend → backend
First wire field
Byte1('P')
Field entries
6
Documented flow contexts
Extended Query

Usage

Parse (F)

Framing and repetition

The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.

Wire fields in documented order

PositionFormatMeaning
1Byte1('P')Identifies the message as a Parse command.
2Int32Length of message contents in bytes, including self.
3StringThe name of the destination prepared statement (an empty string selects the unnamed prepared statement).
4StringThe query string to be parsed.
5Int16The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.
6Int32Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.

Manual definition

Byte1('P')

Identifies the message as a Parse command.

Int32

Length of message contents in bytes, including self.

String

The name of the destination prepared statement (an empty string selects the unnamed prepared statement).

String

The query string to be parsed.

Int16

The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.

Then, for each parameter, there is the following:

Int32

Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.

Related entries

Documentation and source

Source build
Version
18.6
Build
https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
Source fingerprint
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

Compare versions

PostgreSQL 17 → 18: unchanged.

Compares recorded interfaces and attributes. Source fingerprints and build metadata are excluded; an absent sample is not proof of the introduction or removal release.

Related entries

Export JSON · Back to Protocol Messages · Recorded in PostgreSQL 10 through 20; the first sample is not necessarily its introduction.