Non-blocking synchronization in libpq using pipeline mode

From: PG Doc comments form <noreply(at)postgresql(dot)org>
To: pgsql-docs(at)lists(dot)postgresql(dot)org
Cc: jbe-mlist(at)magnetkern(dot)de
Subject: Non-blocking synchronization in libpq using pipeline mode
Date: 2024-03-06 23:42:15
Message-ID: 170976853548.643.17571475764668611072@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/16/libpq-pipeline-mode.html
Description:

The calls to PQpipelineSync and PQsendFlushRequest may either report failure
or success, but not that data could not be written as of yet because the
request would block.

Does this mean that

1. these functions will always block when invoked and the socket is not
ready to accept the number of bytes that need to be written (assuming the
number of bytes required to be written is greater than one byte)

or

2. the synchronization or flush request need to be flushed manually with
successive PQflush calls

or

3. the functions will return an error condition when the connection is
non-blocking and no data could be written.

Any clarification in the documentation would be appreciated.

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2024-03-07 09:56:58 Clarify pg_rewind behaviour in case of no divergence
Previous Message Tom Lane 2024-03-06 05:42:09 Re: substring start position behavior