Add ParameterDescription message to libpq frontend long message types

Ning Sun <classicning@gmail.com>

From: Ning Sun <classicning@gmail.com>
To: pgsql-hackers@postgresql.org
Date: 2026-04-01T06:32:17Z
Lists: pgsql-hackers

Attachments

Hi,

I'm maintaining a Rust library pgwire to implement postgres wire 
protocol in rust. While doing a corner case test, I noticed the 
inconsistency for ParameterDescription between backend and frontend.

The backend allows up to 65535 parameters in a prepared statement. But 
when running Describe on the statement, there is a size limit of 30000 
bytes for ParameterDescription on the frontend. This means we can only 
describe statements with at most ~7500 parameters. For statements exceed 
the limit, it ends up with error about the message size.

This patch simply adds ParameterDescription to VALID_LONG_MESSAGE_TYPE 
whitelist to remove the cap.

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix PQdescribePrepared with more than 7498 params