package pgproto3
Import Path
github.com/jackc/pgx/v5/pgproto3 (on go.dev)
Dependency Relation
imports 13 packages, and imported by one package
Involved Source Files
authentication_cleartext_password.go
authentication_gss.go
authentication_gss_continue.go
authentication_md5_password.go
authentication_ok.go
authentication_sasl.go
authentication_sasl_continue.go
authentication_sasl_final.go
backend.go
backend_key_data.go
big_endian.go
bind.go
bind_complete.go
cancel_request.go
chunkreader.go
close.go
close_complete.go
command_complete.go
copy_both_response.go
copy_data.go
copy_done.go
copy_fail.go
copy_in_response.go
copy_out_response.go
data_row.go
describe.go
Package pgproto3 is a encoder and decoder of the PostgreSQL wire protocol version 3.
The primary interfaces are Frontend and Backend. They correspond to a client and server respectively. Messages are
sent with Send (or a specialized Send variant). Messages are automatically bufferred to minimize small writes. Call
Flush to ensure a message has actually been sent.
The Trace method of Frontend and Backend can be used to examine the wire-level message traffic. It outputs in a
similar format to the PQtrace function in libpq.
See https://www.postgresql.org/docs/current/protocol-message-formats.html for meanings of the different messages.
empty_query_response.go
error_response.go
execute.go
flush.go
frontend.go
function_call.go
function_call_response.go
gss_enc_request.go
gss_response.go
no_data.go
notice_response.go
notification_response.go
parameter_description.go
parameter_status.go
parse.go
parse_complete.go
password_message.go
pgproto3.go
portal_suspended.go
query.go
ready_for_query.go
row_description.go
sasl_initial_response.go
sasl_response.go
ssl_request.go
startup_message.go
sync.go
terminate.go
trace.go
Package-Level Type Names (total 58)
AuthenticationCleartextPassword is a message sent from the backend indicating that a clear-text password is required.
Backend identifies this message as an authentication response.
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*AuthenticationCleartextPassword : AuthenticationResponseMessage
*AuthenticationCleartextPassword : BackendMessage
*AuthenticationCleartextPassword : Message
AuthenticationCleartextPassword : encoding/json.Marshaler
(*AuthenticationGSS) AuthenticationResponse()
(*AuthenticationGSS) Backend()
(*AuthenticationGSS) Decode(src []byte) error
(*AuthenticationGSS) Encode(dst []byte) []byte
(*AuthenticationGSS) MarshalJSON() ([]byte, error)
(*AuthenticationGSS) UnmarshalJSON(data []byte) error
*AuthenticationGSS : AuthenticationResponseMessage
*AuthenticationGSS : BackendMessage
*AuthenticationGSS : Message
*AuthenticationGSS : encoding/json.Marshaler
*AuthenticationGSS : encoding/json.Unmarshaler
Data []byte
(*AuthenticationGSSContinue) AuthenticationResponse()
(*AuthenticationGSSContinue) Backend()
(*AuthenticationGSSContinue) Decode(src []byte) error
(*AuthenticationGSSContinue) Encode(dst []byte) []byte
(*AuthenticationGSSContinue) MarshalJSON() ([]byte, error)
(*AuthenticationGSSContinue) UnmarshalJSON(data []byte) error
*AuthenticationGSSContinue : AuthenticationResponseMessage
*AuthenticationGSSContinue : BackendMessage
*AuthenticationGSSContinue : Message
*AuthenticationGSSContinue : encoding/json.Marshaler
*AuthenticationGSSContinue : encoding/json.Unmarshaler
AuthenticationMD5Password is a message sent from the backend indicating that an MD5 hashed password is required.
Salt [4]byte
Backend identifies this message as an authentication response.
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*AuthenticationMD5Password : AuthenticationResponseMessage
*AuthenticationMD5Password : BackendMessage
*AuthenticationMD5Password : Message
AuthenticationMD5Password : encoding/json.Marshaler
*AuthenticationMD5Password : encoding/json.Unmarshaler
AuthenticationOk is a message sent from the backend indicating that authentication was successful.
Backend identifies this message as an authentication response.
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*AuthenticationOk : AuthenticationResponseMessage
*AuthenticationOk : BackendMessage
*AuthenticationOk : Message
AuthenticationOk : encoding/json.Marshaler
// no-op method to distinguish authentication responses
// no-op method to distinguish frontend from backend methods
Decode is allowed and expected to retain a reference to data after
returning (unlike encoding.BinaryUnmarshaler).
Encode appends itself to dst and returns the new buffer.
*AuthenticationCleartextPassword
*AuthenticationGSS
*AuthenticationGSSContinue
*AuthenticationMD5Password
*AuthenticationOk
*AuthenticationSASL
*AuthenticationSASLContinue
*AuthenticationSASLFinal
AuthenticationResponseMessage : BackendMessage
AuthenticationResponseMessage : Message
AuthenticationSASL is a message sent from the backend indicating that SASL authentication is required.
AuthMechanisms []string
Backend identifies this message as an authentication response.
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*AuthenticationSASL : AuthenticationResponseMessage
*AuthenticationSASL : BackendMessage
*AuthenticationSASL : Message
AuthenticationSASL : encoding/json.Marshaler
AuthenticationSASLContinue is a message sent from the backend containing a SASL challenge.
Data []byte
Backend identifies this message as an authentication response.
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*AuthenticationSASLContinue : AuthenticationResponseMessage
*AuthenticationSASLContinue : BackendMessage
*AuthenticationSASLContinue : Message
AuthenticationSASLContinue : encoding/json.Marshaler
*AuthenticationSASLContinue : encoding/json.Unmarshaler
AuthenticationSASLFinal is a message sent from the backend indicating a SASL authentication has completed.
Data []byte
Backend identifies this message as an authentication response.
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Unmarshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*AuthenticationSASLFinal : AuthenticationResponseMessage
*AuthenticationSASLFinal : BackendMessage
*AuthenticationSASLFinal : Message
AuthenticationSASLFinal : encoding/json.Marshaler
*AuthenticationSASLFinal : encoding/json.Unmarshaler
Backend acts as a server for the PostgreSQL wire protocol version 3.
Flush writes any pending messages to the frontend (i.e. the client).
Receive receives a message from the frontend. The returned message is only valid until the next call to Receive.
ReceiveStartupMessage receives the initial connection message. This method is used of the normal Receive method
because the initial connection message is "special" and does not include the message type as the first byte. This
will return either a StartupMessage, SSLRequest, GSSEncRequest, or CancelRequest.
Send sends a message to the frontend (i.e. the client). The message is not guaranteed to be written until Flush is
called.
SetAuthType sets the authentication type in the backend.
Since multiple message types can start with 'p', SetAuthType allows
contextual identification of FrontendMessages. For example, in the
PG message flow documentation for PasswordMessage:
Byte1('p')
Identifies the message as a password response. Note that this is also used for
GSSAPI, SSPI and SASL response messages. The exact message type can be deduced from
the context.
Since the Frontend does not know about the state of a backend, it is important
to call SetAuthType() after an authentication request is received by the Frontend.
Trace starts tracing the message traffic to w. It writes in a similar format to that produced by the libpq function
PQtrace.
Untrace stops tracing.
func NewBackend(r io.Reader, w io.Writer) *Backend
ProcessID uint32
SecretKey uint32
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*BackendKeyData : BackendMessage
*BackendKeyData : Message
BackendKeyData : encoding/json.Marshaler
BackendMessage is a message sent by the backend (i.e. the server).
// no-op method to distinguish frontend from backend methods
Decode is allowed and expected to retain a reference to data after
returning (unlike encoding.BinaryUnmarshaler).
Encode appends itself to dst and returns the new buffer.
*AuthenticationCleartextPassword
*AuthenticationGSS
*AuthenticationGSSContinue
*AuthenticationMD5Password
*AuthenticationOk
AuthenticationResponseMessage (interface)
*AuthenticationSASL
*AuthenticationSASLContinue
*AuthenticationSASLFinal
*BackendKeyData
*BindComplete
*CloseComplete
*CommandComplete
*CopyBothResponse
*CopyData
*CopyDone
*CopyInResponse
*CopyOutResponse
*DataRow
*EmptyQueryResponse
*ErrorResponse
*FunctionCallResponse
*NoData
*NoticeResponse
*NotificationResponse
*ParameterDescription
*ParameterStatus
*ParseComplete
*PortalSuspended
*ReadyForQuery
*RowDescription
BackendMessage : Message
func (*Frontend).Receive() (BackendMessage, error)
func github.com/jackc/pgx/v5/pgconn.(*PgConn).ReceiveMessage(ctx context.Context) (BackendMessage, error)
func (*Backend).Send(msg BackendMessage)
( BigEndianBuf) Int16(n int16) []byte
( BigEndianBuf) Int32(n int32) []byte
( BigEndianBuf) Int64(n int64) []byte
( BigEndianBuf) Uint16(n uint16) []byte
( BigEndianBuf) Uint32(n uint32) []byte
DestinationPortal string
ParameterFormatCodes []int16
Parameters [][]byte
PreparedStatement string
ResultFormatCodes []int16
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*Bind : FrontendMessage
*Bind : Message
Bind : encoding/json.Marshaler
*Bind : encoding/json.Unmarshaler
func (*Frontend).SendBind(msg *Bind)
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*BindComplete : BackendMessage
*BindComplete : Message
BindComplete : encoding/json.Marshaler
ProcessID uint32
SecretKey uint32
(*CancelRequest) Decode(src []byte) error
Encode encodes src into dst. dst will include the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*CancelRequest : FrontendMessage
*CancelRequest : Message
CancelRequest : encoding/json.Marshaler
Name string
// 'S' = prepared statement, 'P' = portal
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*Close : FrontendMessage
*Close : Message
Close : encoding/json.Marshaler
*Close : encoding/json.Unmarshaler
func (*Frontend).SendClose(msg *Close)
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*CloseComplete : BackendMessage
*CloseComplete : Message
CloseComplete : encoding/json.Marshaler
CommandTag []byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*CommandComplete : BackendMessage
*CommandComplete : Message
CommandComplete : encoding/json.Marshaler
*CommandComplete : encoding/json.Unmarshaler
ColumnFormatCodes []uint16
OverallFormat byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*CopyBothResponse : BackendMessage
*CopyBothResponse : Message
CopyBothResponse : encoding/json.Marshaler
*CopyBothResponse : encoding/json.Unmarshaler
Data []byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*CopyData : BackendMessage
*CopyData : FrontendMessage
*CopyData : Message
CopyData : encoding/json.Marshaler
*CopyData : encoding/json.Unmarshaler
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*CopyDone : BackendMessage
*CopyDone : FrontendMessage
*CopyDone : Message
CopyDone : encoding/json.Marshaler
Message string
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*CopyFail : FrontendMessage
*CopyFail : Message
CopyFail : encoding/json.Marshaler
ColumnFormatCodes []uint16
OverallFormat byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*CopyInResponse : BackendMessage
*CopyInResponse : Message
CopyInResponse : encoding/json.Marshaler
*CopyInResponse : encoding/json.Unmarshaler
ColumnFormatCodes []uint16
OverallFormat byte
(*CopyOutResponse) Backend()
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*CopyOutResponse : BackendMessage
*CopyOutResponse : Message
CopyOutResponse : encoding/json.Marshaler
*CopyOutResponse : encoding/json.Unmarshaler
Values [][]byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*DataRow : BackendMessage
*DataRow : Message
DataRow : encoding/json.Marshaler
*DataRow : encoding/json.Unmarshaler
Name string
// 'S' = prepared statement, 'P' = portal
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*Describe : FrontendMessage
*Describe : Message
Describe : encoding/json.Marshaler
*Describe : encoding/json.Unmarshaler
func (*Frontend).SendDescribe(msg *Describe)
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*EmptyQueryResponse : BackendMessage
*EmptyQueryResponse : Message
EmptyQueryResponse : encoding/json.Marshaler
Code string
ColumnName string
ConstraintName string
DataTypeName string
Detail string
File string
Hint string
InternalPosition int32
InternalQuery string
Line int32
Message string
Position int32
Routine string
SchemaName string
Severity string
// only in 9.6 and greater
TableName string
UnknownFields map[byte]string
Where string
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*ErrorResponse : BackendMessage
*ErrorResponse : Message
ErrorResponse : encoding/json.Marshaler
*ErrorResponse : encoding/json.Unmarshaler
func github.com/jackc/pgx/v5/pgconn.ErrorResponseToPgError(msg *ErrorResponse) *pgconn.PgError
MaxRows uint32
Portal string
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*Execute : FrontendMessage
*Execute : Message
Execute : encoding/json.Marshaler
func (*Frontend).SendExecute(msg *Execute)
DataTypeOID uint32
DataTypeSize int16
Format int16
Name []byte
TableAttributeNumber uint16
TableOID uint32
TypeModifier int32
MarshalJSON implements encoding/json.Marshaler.
FieldDescription : encoding/json.Marshaler
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*Flush : FrontendMessage
*Flush : Message
Flush : encoding/json.Marshaler
Frontend acts as a client for the PostgreSQL wire protocol version 3.
Flush writes any pending messages to the backend (i.e. the server).
GetAuthType returns the authType used in the current state of the frontend.
See SetAuthType for more information.
(*Frontend) ReadBufferLen() int
Receive receives a message from the backend. The returned message is only valid until the next call to Receive.
Send sends a message to the backend (i.e. the server). The message is not guaranteed to be written until Flush is
called.
Send can work with any FrontendMessage. Some commonly used message types such as Bind have specialized send methods
such as SendBind. These methods should be preferred when the type of message is known up front (e.g. when building an
extended query protocol query) as they may be faster due to knowing the type of msg rather than it being hidden
behind an interface.
SendBind sends a Bind message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendClose sends a Close message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendDescribe sends a Describe message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendExecute sends a Execute message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendParse sends a Parse message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendQuery sends a Query message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendSync sends a Sync message to the backend (i.e. the server). The message is not guaranteed to be written until
Flush is called.
SendUnbufferedEncodedCopyData immediately sends an encoded CopyData message to the backend (i.e. the server). This method
is more efficient than sending a CopyData message with Send as the message data is not copied to the internal buffer
before being written out. The internal buffer is flushed before the message is sent.
Trace starts tracing the message traffic to w. It writes in a similar format to that produced by the libpq function
PQtrace.
Untrace stops tracing.
func NewFrontend(r io.Reader, w io.Writer) *Frontend
func github.com/jackc/pgx/v5/pgconn.(*PgConn).Frontend() *Frontend
FrontendMessage is a message sent by the frontend (i.e. the client).
Decode is allowed and expected to retain a reference to data after
returning (unlike encoding.BinaryUnmarshaler).
Encode appends itself to dst and returns the new buffer.
// no-op method to distinguish frontend from backend methods
*Bind
*CancelRequest
*Close
*CopyData
*CopyDone
*CopyFail
*Describe
*Execute
*Flush
*FunctionCall
*GSSEncRequest
*GSSResponse
*Parse
*PasswordMessage
*Query
*SASLInitialResponse
*SASLResponse
*SSLRequest
*StartupMessage
*Sync
*Terminate
FrontendMessage : Message
func (*Backend).Receive() (FrontendMessage, error)
func (*Backend).ReceiveStartupMessage() (FrontendMessage, error)
func (*Frontend).Send(msg FrontendMessage)
ArgFormatCodes []uint16
Arguments [][]byte
Function uint32
ResultFormatCode uint16
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
*FunctionCall : FrontendMessage
*FunctionCall : Message
Result []byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*FunctionCallResponse : BackendMessage
*FunctionCallResponse : Message
FunctionCallResponse : encoding/json.Marshaler
*FunctionCallResponse : encoding/json.Unmarshaler
(*GSSEncRequest) Decode(src []byte) error
Encode encodes src into dst. dst will include the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*GSSEncRequest : FrontendMessage
*GSSEncRequest : Message
GSSEncRequest : encoding/json.Marshaler
Data []byte
(*GSSResponse) Decode(data []byte) error
(*GSSResponse) Encode(dst []byte) []byte
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*GSSResponse : FrontendMessage
*GSSResponse : Message
*GSSResponse : encoding/json.Marshaler
*GSSResponse : encoding/json.Unmarshaler
Message is the interface implemented by an object that can decode and encode
a particular PostgreSQL message.
Decode is allowed and expected to retain a reference to data after
returning (unlike encoding.BinaryUnmarshaler).
Encode appends itself to dst and returns the new buffer.
*AuthenticationCleartextPassword
*AuthenticationGSS
*AuthenticationGSSContinue
*AuthenticationMD5Password
*AuthenticationOk
AuthenticationResponseMessage (interface)
*AuthenticationSASL
*AuthenticationSASLContinue
*AuthenticationSASLFinal
*BackendKeyData
BackendMessage (interface)
*Bind
*BindComplete
*CancelRequest
*Close
*CloseComplete
*CommandComplete
*CopyBothResponse
*CopyData
*CopyDone
*CopyFail
*CopyInResponse
*CopyOutResponse
*DataRow
*Describe
*EmptyQueryResponse
*ErrorResponse
*Execute
*Flush
FrontendMessage (interface)
*FunctionCall
*FunctionCallResponse
*GSSEncRequest
*GSSResponse
*NoData
*NoticeResponse
*NotificationResponse
*ParameterDescription
*ParameterStatus
*Parse
*ParseComplete
*PasswordMessage
*PortalSuspended
*Query
*ReadyForQuery
*RowDescription
*SASLInitialResponse
*SASLResponse
*SSLRequest
*StartupMessage
*Sync
*Terminate
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*NoData : BackendMessage
*NoData : Message
NoData : encoding/json.Marshaler
Code string
ColumnName string
ConstraintName string
DataTypeName string
Detail string
File string
Hint string
InternalPosition int32
InternalQuery string
Line int32
Message string
Position int32
Routine string
SchemaName string
Severity string
// only in 9.6 and greater
TableName string
UnknownFields map[byte]string
Where string
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
*NoticeResponse : BackendMessage
*NoticeResponse : Message
Channel string
PID uint32
Payload string
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*NotificationResponse : BackendMessage
*NotificationResponse : Message
NotificationResponse : encoding/json.Marshaler
ParameterOIDs []uint32
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*ParameterDescription : BackendMessage
*ParameterDescription : Message
ParameterDescription : encoding/json.Marshaler
Name string
Value string
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*ParameterStatus : BackendMessage
*ParameterStatus : Message
ParameterStatus : encoding/json.Marshaler
Name string
ParameterOIDs []uint32
Query string
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*Parse : FrontendMessage
*Parse : Message
Parse : encoding/json.Marshaler
func (*Frontend).SendParse(msg *Parse)
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*ParseComplete : BackendMessage
*ParseComplete : Message
ParseComplete : encoding/json.Marshaler
Password string
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
Frontend identifies this message as an authentication response.
MarshalJSON implements encoding/json.Marshaler.
*PasswordMessage : FrontendMessage
*PasswordMessage : Message
PasswordMessage : encoding/json.Marshaler
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
*PortalSuspended : BackendMessage
*PortalSuspended : Message
PortalSuspended : encoding/json.Marshaler
String string
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*Query : FrontendMessage
*Query : Message
Query : encoding/json.Marshaler
func (*Frontend).SendQuery(msg *Query)
TxStatus byte
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*ReadyForQuery : BackendMessage
*ReadyForQuery : Message
ReadyForQuery : encoding/json.Marshaler
*ReadyForQuery : encoding/json.Unmarshaler
Fields []FieldDescription
Backend identifies this message as sendable by the PostgreSQL backend.
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*RowDescription : BackendMessage
*RowDescription : Message
RowDescription : encoding/json.Marshaler
*RowDescription : encoding/json.Unmarshaler
AuthMechanism string
Data []byte
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*SASLInitialResponse : FrontendMessage
*SASLInitialResponse : Message
SASLInitialResponse : encoding/json.Marshaler
*SASLInitialResponse : encoding/json.Unmarshaler
Data []byte
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
UnmarshalJSON implements encoding/json.Unmarshaler.
*SASLResponse : FrontendMessage
*SASLResponse : Message
SASLResponse : encoding/json.Marshaler
*SASLResponse : encoding/json.Unmarshaler
(*SSLRequest) Decode(src []byte) error
Encode encodes src into dst. dst will include the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*SSLRequest : FrontendMessage
*SSLRequest : Message
SSLRequest : encoding/json.Marshaler
Parameters map[string]string
ProtocolVersion uint32
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*StartupMessage : FrontendMessage
*StartupMessage : Message
StartupMessage : encoding/json.Marshaler
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*Sync : FrontendMessage
*Sync : Message
Sync : encoding/json.Marshaler
func (*Frontend).SendSync(msg *Sync)
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
type identifier and 4 byte message length.
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
Frontend identifies this message as sendable by a PostgreSQL frontend.
MarshalJSON implements encoding/json.Marshaler.
*Terminate : FrontendMessage
*Terminate : Message
Terminate : encoding/json.Marshaler
TracerOptions controls tracing behavior. It is roughly equivalent to the libpq function PQsetTraceFlags.
RegressMode redacts fields that may be vary between executions.
SuppressTimestamps prevents printing of timestamps.
func (*Backend).Trace(w io.Writer, options TracerOptions)
func (*Frontend).Trace(w io.Writer, options TracerOptions)
Package-Level Functions (total 2)
NewBackend creates a new Backend.
NewFrontend creates a new Frontend.
Package-Level Constants (total 13)
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
Authentication message type constants.
See src/include/libpq/pqcomm.h for all
constants.
const BinaryFormat = 1 const ProtocolVersionNumber = 196608 // 3.0 const TextFormat = 0
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |