sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL - hämtar objekt i den ordning de lagrades

För att utöka Marks korrekta svar, behåller PostgreSQL inte en radtidsstämpel, och den håller inte rader i någon speciell ordning. Om du inte definierar dina tabeller med en kolumn som innehåller tidsstämpeln de infogades vid, finns det inget sätt att välja dem i den ordning de infogades.

PostgreSQL kommer ofta att returnera dem i den ordning de sattes in i ändå, men det är bara för att de råkar vara i den ordningen på disken. Detta kommer att ändras när du update s på bordet, eller deletes sedan insert senare s. Operationer som vacuum full ändra det också. Du bör aldrig, aldrig förlita dig på beställningen utan en uttrycklig order by klausul.

Om du vill att infogningens tidsstämpel ska skilja sig åt för rader inom en transaktion kan du använda clock_timestamp istället för now() . Använd även SQL-standarden current_timestamp istället för att skriva now() .




  1. Är det möjligt att se vilken data som ändrades av en fråga?

  2. Säkerhetskopiera MySQL Amazon RDS

  3. En översikt över PostgreSQL &MySQL Cross Replication

  4. Inbäddad MySQL Server C# Wrapper?