Um Marks richtige Antwort zu erweitern:PostgreSQL speichert keinen Zeilenzeitstempel und Zeilen nicht in einer bestimmten Reihenfolge. Wenn Sie Ihre Tabellen nicht mit einer Spalte definieren, die den Zeitstempel enthält, an dem sie eingefügt wurden, gibt es keine Möglichkeit, sie in der Reihenfolge auszuwählen, in der sie eingefügt wurden.
PostgreSQL gibt sie oft in der Reihenfolge zurück, in der sie eingefügt wurden, aber das liegt nur daran, dass sie sich zufällig in dieser Reihenfolge auf der Festplatte befinden. Dies ändert sich, wenn Sie update
machen s in der Tabelle oder deletes
dann später insert
s. Operationen wie vacuum full
auch ändern. Verlassen Sie sich niemals auf die Bestellung ohne ausdrücklichen order by
Klausel.
Wenn Sie möchten, dass der Einfügungszeitstempel für Zeilen innerhalb einer Transaktion unterschiedlich ist, können Sie clock_timestamp
verwenden statt now()
. Bitte verwenden Sie auch den SQL-Standard current_timestamp
anstatt now()
zu schreiben .