Markの正解を拡張するために、PostgreSQLは行のタイムスタンプを保持せず、特定の順序で行を保持しません。挿入されたタイムスタンプを含む列を使用してテーブルを定義しない限り、挿入された順序でテーブルを選択する方法はありません。
PostgreSQLは、とにかく挿入された順序でそれらを返すことがよくありますが、それは、ディスク上でそれらがたまたまその順序であるためです。これは、updateを実行すると変更されます sテーブル上、またはdeletes その後、insert s。 vacuum fullなどの操作 また、それを変更します。明示的なorder byなしで注文に依存することは絶対にしないでください。 条項。
また、トランザクション内の行ごとに挿入タイムスタンプを異ならせたい場合は、clock_timestampを使用できます。 now()の代わりに 。また、SQL標準のcurrent_timestampを使用してください now()を書く代わりに 。