I think it would be greatly helpful if the insert...returning could be
seen as a "select" statement and, thus, being usable in the way I
have described. I suspect that the insert...returning is actually
implemented as an inser plus a select.
You can create a function which does the INSERT RETURNING and returns the
result, and use this function in a subsequent INSERT.
You can also write, in plpgsql :
FOR a,b,c IN SELECT ... LOOP
INSERT INTO table1 (...) VALUES (a,b) RETURNING your_id INTO
_var;
INSERT INTO table2 (...) VALUES (c , _var );
END LOOP
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match