On Sun, 23 Nov 2025, 11:28 Darafei "Komяpa" Praliaskouski, <[email protected]> wrote: > > Other spots that may be invisible but helpful to keep track of are > serialization/deserialization that happens on IN/OUT functions (so many > surprises when EXPLAIN ANALYZE doesn't account for time to actually serialize > the output for large PostGIS geometries! and that stuff like timestamptz in > is also surprisingly slow),
Are you aware of the SERIALIZE option to EXPLAIN (...)? It was added in PG 17 to make sure that the overhead of serializing the data for transmission to a client could also be measured and inspected by the user. To keep on topic to this thread about wait events: I don't think that we should add wait events around in/out functions, because in/out functions may call into detoasting, which calls into buffer IO functions, which would reset the backend's wait event status. Kind regards, Matthias van de Meent Databricks (https://www.databricks.com)
