[pgpool-general: 8935] Re: Server-side cursors using Declare/Describe do not work in pgpool-ii
Tatsuo Ishii
ishii at sraoss.co.jp
Wed Sep 27 10:14:52 JST 2023
Hi,
> Hi,
> I am on pgpool-ii 4.4.4 hoping that it would fix a particular Describe
> issue I was seeing with psycopg3. (But alas,
> https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=0d54c68d5cfba549e5b6fb7d3247d66ee50ab1d9
> did not fix my issue).
>
> I was able to track down with the psycopg3 developers that the reason
> for the failure is that we do not track portals for DECLARE and
> subsequent calls to Describe could end up failing.
>
> Here is the issue https://github.com/psycopg/psycopg/issues/648, but I
> will post the relevant pgpool-ii log:
> 2023-09-25 17:44:57.534: [unknown] pid 157: LOG: Parse message from frontend.
> 2023-09-25 17:44:57.534: [unknown] pid 157: DETAIL: statement: "",
> query: "BEGIN"
> 2023-09-25 17:44:57.535: [unknown] pid 157: LOG: Bind message from frontend.
> 2023-09-25 17:44:57.535: [unknown] pid 157: DETAIL: portal: "", statement: ""
> 2023-09-25 17:44:57.535: [unknown] pid 157: LOG: Describe message
> from frontend.
> 2023-09-25 17:44:57.535: [unknown] pid 157: DETAIL: portal: ""
> 2023-09-25 17:44:57.535: [unknown] pid 157: LOG: Execute message from frontend.
> 2023-09-25 17:44:57.535: [unknown] pid 157: DETAIL: portal: ""
> 2023-09-25 17:44:57.535: [unknown] pid 157: LOG: Sync message from frontend.
> 2023-09-25 17:44:57.734: [unknown] pid 157: LOG: Parse message from frontend.
> 2023-09-25 17:44:57.735: [unknown] pid 157: DETAIL: statement: "",
> query: "DECLARE "serverside-cursor-broken" NO SCROLL CURSOR FOR SELECT
> 3"
> 2023-09-25 17:44:57.735: [unknown] pid 157: LOG: Bind message from frontend.
> 2023-09-25 17:44:57.735: [unknown] pid 157: DETAIL: portal: "", statement: ""
> 2023-09-25 17:44:57.735: [unknown] pid 157: LOG: Describe message
> from frontend.
> 2023-09-25 17:44:57.735: [unknown] pid 157: DETAIL: portal: ""
> 2023-09-25 17:44:57.735: [unknown] pid 157: LOG: Execute message from frontend.
> 2023-09-25 17:44:57.735: [unknown] pid 157: DETAIL: portal: ""
> 2023-09-25 17:44:57.735: [unknown] pid 157: LOG: Sync message from frontend.
> 2023-09-25 17:44:58.013: [unknown] pid 157: LOG: Describe message
> from frontend.
> 2023-09-25 17:44:58.013: [unknown] pid 157: DETAIL: portal:
> "serverside-cursor-broken"
> 2023-09-25 17:44:58.013: [unknown] pid 157: FATAL: unable to execute Describe
> 2023-09-25 17:44:58.013: [unknown] pid 157: DETAIL: unable to get the
> bind message
Thank you for the report. I think your analysis is correct. Pgpool-II
needs to be fixed.
> I'd think that fixing this would either involve tracking DECLARE
> statements like other portal statements, or passing the message to the
> primary to let it handle the Describe on its own.
The latter looks simple but I need to investigate more.
> Let me know if there is anything I can do to help!
Thanks in advance,
Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp
More information about the pgpool-general
mailing list