Въпреки че документацията не е напълно ясна, тя гласи, че:
Ако командата INSERT съдържа клауза RETURNING, резултатът ще бъде подобен на този на оператор SELECT, съдържащ колоните и стойностите, дефинирани в списъка RETURNING, изчислени върху реда(овете), вмъкнати от командата.
Сега "подобно на" не е железна гаранция и аз повдигнах това за обсъждане в пощенския списък ... но на практика PostgreSQL няма да се забърка с реда на стойностите в RETURNING
. Малко вероятно е някога да успеем, дори ако искаме за оптимизация, защото твърде много приложения разчитат на това, че е подредено по същия начин като входа.
Така че... за INSERT INTO ... VALUES (...), (...), ... RETURNING ...
и за INSERT INTO ... SELECT ... ORDER BY ... RETURNING ...
трябва да е безопасно да се приеме, че резултатната връзка е в същия ред като входа.