Ответ для этого простого случая - Да . Строки вставляются в указанном порядке в VALUES
выражении. И если ваш id
столбец является serial
типом, значения из базовой последовательности будут выбираться в этом порядке.
Но это деталь реализации и нет никаких гарантий. В частности, порядок не обязательно поддерживается в более сложных запросах с WHERE
условиями или объединениями.
Вы также можете смешать пробелы или другие строки, если у вас есть параллельные транзакции, записывающие в одну и ту же таблицу одновременно. Вряд ли, но возможно.
В таблице базы данных нет «естественного» порядка. Хотя физический порядок строк (который отражен в системном столбцеctid
) изначально будет соответствовать их вставленному порядку, он может измениться в любое время. UPDATE
, DELETE
, VACUUM
И другие команды могут изменить физический порядок строк. Но сгенерированные значения для id
стабильны и никак не связаны с этим, конечно.