PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Postgres INSERT INTO com ordenação SELECT


Perguntei na lista de discussão do Postgres e eles foram úteis para esclarecer. Acontece que esta é uma resposta específica do banco de dados, portanto, se você estiver lendo isso e usando um banco de dados diferente, a resposta pode não ser a mesma.

Postgres, explicitamente a partir de 9.6, será inserido logicamente na ordem do conjunto de resultados retornado.

O comportamento é explicitamente codificado neste commit:https://github.com/postgres/postgres/ commit/9118d03a8cca3d97327c56bf89a72e328e454e63

Da descrição do commit:

tl;dr; A ordenação de inserção é um detalhe de implementação, mas propositadamente codificado no Postgres 9.6 e superior para corresponder à intuição. Antes de 9.6, não havia garantias.