Pour développer la bonne réponse de Mark, PostgreSQL ne conserve pas d'horodatage de ligne et ne conserve pas les lignes dans un ordre particulier. À moins que vous ne définissiez vos tableaux avec une colonne contenant l'horodatage auquel ils ont été insérés, il n'y a aucun moyen de les sélectionner dans l'ordre dans lequel ils ont été insérés.
PostgreSQL les renverra souvent dans l'ordre dans lequel ils ont été insérés, mais c'est simplement parce qu'ils se trouvent dans cet ordre sur le disque. Cela changera au fur et à mesure de la update
s sur la table, ou deletes
puis plus tard insert
s. Opérations telles que vacuum full
aussi le changer. Vous ne devriez jamais, jamais compter sur la commande sans un order by
explicite clause.
De plus, si vous souhaitez que l'horodatage d'insertion diffère pour les lignes d'une transaction, vous pouvez utiliser clock_timestamp
au lieu de now()
. Veuillez également utiliser le standard SQL current_timestamp
au lieu d'écrire now()
.