Per espandere la risposta corretta di Mark, PostgreSQL non mantiene un timestamp di riga e non mantiene le righe in un ordine particolare. A meno che tu non definisca le tue tabelle con una colonna contenente il timestamp in cui sono state inserite, non è possibile selezionarle nell'ordine in cui sono state inserite.
PostgreSQL spesso li restituirà nell'ordine in cui sono stati inseriti, ma è solo perché capita che si trovino in quell'ordine sul disco. Questo cambierà man mano che esegui l'update
s sul tavolo o deletes
poi in seguito insert
S. Operazioni come vacuum full
cambialo anche tu. Non dovresti mai e poi mai fare affidamento sull'ordine senza un esplicito order by
clausola.
Inoltre, se desideri che il timestamp di inserimento sia diverso per le righe all'interno di una transazione, puoi utilizzare clock_timestamp
invece di now()
. Inoltre, utilizza lo standard SQL current_timestamp
invece di scrivere now()
.