Selvom dokumentationen ikke er helt klar, står der, at:
Hvis INSERT-kommandoen indeholder en RETURNING-sætning, vil resultatet ligne resultatet af en SELECT-sætning, der indeholder de kolonner og værdier, der er defineret i RETURNING-listen, beregnet over rækken/rækkerne, der er indsat af kommandoen.
Nu er "ligner" ikke en jernbeklædt garanti, og jeg har rejst dette til diskussion på mailinglisten ... men i praksis vil PostgreSQL ikke rode med rækkefølgen af værdier i RETURNING
. Det er usandsynligt, at vi nogensinde vil være i stand til det, selvom vi ønsker det for optimering, fordi for mange apps er afhængige af, at det bliver bestilt på samme måde som inputtet.
Så... for INSERT INTO ... VALUES (...), (...), ... RETURNING ...
og for INSERT INTO ... SELECT ... ORDER BY ... RETURNING ...
det bør være sikkert at antage, at resultatrelationen er i samme rækkefølge som inputtet.