PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL - Abrufen von Elementen in der Reihenfolge, in der sie gespeichert wurden

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 .