Re: [BUGS] BUG #14465: cursor for insert into select ...returning cann't streaming fetch? - Mailing list pgsql-bugs

From 德哥
Subject Re: [BUGS] BUG #14465: cursor for insert into select ...returning cann't streaming fetch?
Date
Msg-id 566ee885.6a6f.158fc20cc9a.Coremail.digoal@126.com
Whole thread Raw
In response to Re: [BUGS] BUG #14465: cursor for insert into select ... returningcann't streaming fetch?  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
HI,
  thank you , my case is retrive data stream , i cann't wait the insert end.
  because insert has very large tuples, like 1M, and client will wait many seconds, if user can fetch the result the same time when inserting, it will reduce the waiting time.






--
公益是一辈子的事,I'm Digoal,Just Do It.

在 2016-12-14 11:57:00,"David G. Johnston" <david.g.johnston@gmail.com> 写道:
On Tuesday, December 13, 2016, <digoal@126.com> wrote:
The following bug has been logged on the website:

Bug reference:      14465
Logged by:          Zhou Digoal
Email address:      digoal@126.com
PostgreSQL version: 9.6.1
Operating system:   CentOS 6.x x64
Description:

HI,
   when i write a plpgsql return refcursor.
   the refcursor is a ```insert into .. select .. from .. returning *;```
query.
   but when i use auto_explain DEBUG it, i found the fetch after insert end,
not stream , insert and fetch the same time coordinat.
   can PostgreSQL improve it?


This isn't a bug.

Opening a cursor causes it to execute, which in this case means performing the insert.  You can only return opened cursors from a function.  The act of fetching from the cursor simply gives access to the underlying rows.

Not sure what improvement you are wanting here but a posting to -general would be more appropriate.  Describing your use case would help others understand why this might be useful.

David J. 

pgsql-bugs by date:

Previous
From: digoal@126.com
Date:
Subject: [BUGS] BUG #14466: can with recursive query add LOOPth variable?
Next
From: Oleksandr Shulgin
Date:
Subject: Re: [BUGS] pg_dump's results have quite different size