Wiki / Protocol Messages / Frontend messages
CancelRequest
CancelRequest is a frontend protocol message. Length of message contents in bytes, including self.
Reading PostgreSQL 18.6.
Description
CancelRequest is a frontend protocol message. Length of message contents in bytes, including self.
- Direction
- Frontend → backend
- First wire field
- Int32
- Field entries
- 4
- Documented flow contexts
- Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption
Usage
CancelRequest (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
| Position | Format | Meaning |
|---|---|---|
| 1 | Int32 | Length of message contents in bytes, including self. |
| 2 | Int32(80877102) | The cancel request code. The value is chosen to contain 1234 in the most significant 16 bits, and 5678 in the least significant 16 bits. (To avoid confusion, this code must not be the same as any protocol version number.) |
| 3 | Int32 | The process ID of the target backend. |
| 4 | Byte n | The secret key for the target backend. This field extends to the end of the message, indicated by the length field. The maximum key length is 256 bytes. |
Manual definition
-
- Int32
-
Length of message contents in bytes, including self.
- Int32(80877102)
-
The cancel request code. The value is chosen to contain
1234in the most significant 16 bits, and5678in the least significant 16 bits. (To avoid confusion, this code must not be the same as any protocol version number.) - Int32
-
The process ID of the target backend.
- Byte
n -
The secret key for the target backend. This field extends to the end of the message, indicated by the length field. The maximum key length is 256 bytes.
Before protocol version 3.2, the secret key was always 4 bytes long.
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: changed.
--- PostgreSQL 17
+++ PostgreSQL 18
@@ -3,7 +3,7 @@
"fields": [
{
"description": "Length of message contents in bytes, including self.",
- "format": "Int32(16)"
+ "format": "Int32"
},
{
"description": "The cancel request code. The value is chosen to contain 1234 in the most significant 16 bits, and 5678 in the least significant 16 bits. (To avoid confusion, this code must not be the same as any protocol version number.)",
@@ -14,8 +14,8 @@
"format": "Int32"
},
{
- "description": "The secret key for the target backend.",
- "format": "Int32"
+ "description": "The secret key for the target backend. This field extends to the end of the message, indicated by the length field. The maximum key length is 256 bytes.",
+ "format": "Byte n"
}
]
}
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.