PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres INSERT INTO con l'ordine SELECT

Ho chiesto informazioni sulla mailing list di Postgres e sono stati utili nel chiarire. Si scopre che questa è una risposta specifica del database, quindi se stai leggendo questo e utilizzi un database diverso la risposta potrebbe non essere la stessa.

Postgres, esplicitamente a partire dalla 9.6, inserirà logicamente nell'ordine del set di risultati restituito.

Il comportamento è esplicitamente codificato in questo commit:https://github.com/postgres/postgres/ commit/9118d03a8cca3d97327c56bf89a72e328e454e63

Dalla descrizione del commit:

tl;dr; L'ordine di inserzione è un dettaglio di implementazione, ma appositamente codificato in Postgres 9.6 e versioni successive per corrispondere alla propria intuizione. Prima della 9.6 non c'erano garanzie.