Para expandir a resposta correta de Mark, o PostgreSQL não mantém um registro de data e hora de linha e não mantém as linhas em nenhuma ordem específica. A menos que você defina suas tabelas com uma coluna contendo o timestamp em que foram inseridas, não há como selecioná-las na ordem em que foram inseridas.
O PostgreSQL geralmente os retornará na ordem em que foram inseridos, mas isso é apenas porque eles estão nessa ordem no disco. Isso mudará conforme você
update s na tabela ou deletes depois insert s. Operações como vacuum full também alterá-lo. Você nunca deve confiar no pedido sem um order by explícito cláusula. Além disso, se você quiser que o timestamp de inserção seja diferente para as linhas dentro de uma transação, você pode usar
clock_timestamp em vez de now() . Além disso, use o padrão SQL current_timestamp em vez de escrever now() .