"Joel Jacobson" <joel@compiler.org> writes:
> I assume the separate "advisory" queue position field
> would actually need to be two struct fields, since a queue position
> consists of a page and an offset, right?
No, I'd think you'd have both
QueuePosition pos; /* backend has read queue up to here */
QueuePosition advisory_pos; /* backend could skip queue to here */
in QueueBackendStatus. The other seems way too confusing.
regards, tom lane