PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL - récupérer les éléments dans l'ordre où ils ont été stockés

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() .