Thread
Commits
-
postgres_fdw: Avoid "cursor can only scan forward" error.
- f39f3e0fbe9b 15.8 landed
- d97f2ee50e49 16.4 landed
- 935fe79ea1fb 17.0 landed
- 5c571a34d0e9 18.0 landed
-
d844cd75a and postgres_fdw
Devrim GÜNDÜZ <devrim@gunduz.org> — 2023-10-24T11:46:40Z
Hi, I'm seeing an issue after upgrading from 12.13 to 15.4. This happens when we run a query against a foreign table (fdw on the same instance to a different database) -- but does not appear when we get rid of postgres_fdw: ERROR: cursor can only scan forward HINT: Declare it with SCROLL option to enable backward scan. CONTEXT: remote SQL command: MOVE BACKWARD ALL IN c1 SQL state: 55000 I attached the query. The name of the foreign table is "foobar.sys_user". Looks like the bug #17889, and this is the last email in that thread: https://www.postgresql.org/message-id/1852635.1682808624%40sss.pgh.pa.us OTOH, same query works (against the FDW) when we remove the following WHERE clause: WHERE tbl.table_status = 'A' AND tbl.table_id <> 1 AND tbl.table_id <> - 2 Any hints? Regards, -- Devrim Gündüz Open Source Solution Architect, PostgreSQL Major Contributor Twitter: @DevrimGunduz , @DevrimGunduzTR -
Re: d844cd75a and postgres_fdw
Etsuro Fujita <etsuro.fujita@gmail.com> — 2024-07-05T12:56:28Z
On Tue, Oct 24, 2023 at 8:48 PM Devrim Gündüz <devrim@gunduz.org> wrote: > I'm seeing an issue after upgrading from 12.13 to 15.4. This happens > when we run a query against a foreign table (fdw on the same instance to > a different database) -- but does not appear when we get rid of > postgres_fdw: > > ERROR: cursor can only scan forward > HINT: Declare it with SCROLL option to enable backward scan. > CONTEXT: remote SQL command: MOVE BACKWARD ALL IN c1 > > SQL state: 55000 > > I attached the query. The name of the foreign table is > "foobar.sys_user". > > Looks like the bug #17889, and this is the last email in that thread: > https://www.postgresql.org/message-id/1852635.1682808624%40sss.pgh.pa.us > > OTOH, same query works (against the FDW) when we remove the following > WHERE clause: > > WHERE > tbl.table_status = 'A' > AND tbl.table_id <> 1 > AND tbl.table_id <> - 2 > > Any hints? The error occurs when rescanning a postgres_fdw foreign relation, so I think the reason why the query works would be that the planner chose a join plan other than a nestloop join plan. I proposed a fix for this in [1]. Best regards, Etsuro Fujita [1] https://www.postgresql.org/message-id/CAPmGK149UubRQGLH6QaBkhJvas%2BGz%2BT6tx2MBX9MTJpxDRKPBA%40mail.gmail.com
-
Re: d844cd75a and postgres_fdw
Etsuro Fujita <etsuro.fujita@gmail.com> — 2024-07-19T05:01:54Z
On Fri, Jul 5, 2024 at 9:56 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote: > On Tue, Oct 24, 2023 at 8:48 PM Devrim Gündüz <devrim@gunduz.org> wrote: > > I'm seeing an issue after upgrading from 12.13 to 15.4. This happens > > when we run a query against a foreign table (fdw on the same instance to > > a different database) -- but does not appear when we get rid of > > postgres_fdw: > > > > ERROR: cursor can only scan forward > > HINT: Declare it with SCROLL option to enable backward scan. > > CONTEXT: remote SQL command: MOVE BACKWARD ALL IN c1 > > > > SQL state: 55000 > > > > I attached the query. The name of the foreign table is > > "foobar.sys_user". > > > > Looks like the bug #17889, and this is the last email in that thread: > > https://www.postgresql.org/message-id/1852635.1682808624%40sss.pgh.pa.us > > > > OTOH, same query works (against the FDW) when we remove the following > > WHERE clause: > > > > WHERE > > tbl.table_status = 'A' > > AND tbl.table_id <> 1 > > AND tbl.table_id <> - 2 > > > > Any hints? > > The error occurs when rescanning a postgres_fdw foreign relation, so I > think the reason why the query works would be that the planner chose a > join plan other than a nestloop join plan. > > I proposed a fix for this in [1]. I pushed the fix and back-patched to v15. Thanks for the report! Best regards, Etsuro Fujita
-
Re: d844cd75a and postgres_fdw
Devrim GÜNDÜZ <devrim@gunduz.org> — 2024-07-19T11:29:41Z
Hi, On Fri, 2024-07-19 at 14:01 +0900, Etsuro Fujita wrote: > I pushed the fix and back-patched to v15. Thanks for the report! Thanks a lot! Regards, -- Devrim Gündüz Open Source Solution Architect, PostgreSQL Major Contributor Twitter: @DevrimGunduz , @DevrimGunduzTR