Skip to main content

Module pre_startup

Module pre_startup 

Source
Expand description

PostgreSQL’s untagged pre-startup protocol.

These packets precede normal message framing. Encryption acceptance is a raw byte, and a successful negotiation changes the connection’s transport type.

Structs§

InvalidEncryptionReply
A raw encryption decision byte other than S, N, or legacy E.
SslStrategy
Actions needed to apply an SslMode across connection attempts.

Enums§

AwaitingGssReply
Client role awaits the server’s raw GSS encryption decision byte.
AwaitingSslReply
Client role awaits the server’s raw SSL decision byte.
CertificateVerification
Peer-certificate checks required by an SSL mode.
EncryptionReply
The server’s single-byte answer to an SSL request.
GssHandshake
GSS encryption was accepted and the transport must complete its handshake.
Negotiation
A reply whose branches deliberately have different typestates.
PreStartup
Connection awaits the client’s first untagged startup-family packet.
PreStartupMessage
The external choice occupying a new connection’s untagged first packet.
PreStartupOffer
Server-role projection of the client’s first-packet external choice.
ServerGssDecision
Server role must accept or reject a client’s GSSENCRequest.
ServerSslDecision
Server role must accept or reject a client’s SSLRequest.
SslMode
libpq-compatible TLS negotiation policy.
SslModeNegotiation
SSL negotiation after applying plaintext-fallback policy.
Startup
A decoded StartupMessage is ready for protocol validation.
Terminated
Pre-startup processing terminated without entering a normal session.
TlsHandshake
SSL was accepted and the transport must complete a TLS handshake.

Constants§

DEFAULT_MAX_PRE_STARTUP_PACKET_LEN
PostgreSQL’s maximum accepted untagged startup packet size.

Functions§

decode_pre_startup
Incrementally decodes one raw pre-startup packet without consuming partial input.
decode_pre_startup_with_limit
Incrementally decodes one raw pre-startup packet with an allocation bound.