Под натуральными ключами обычно подразумевают данные из непосредственно предметной области. Раз у вас есть on conflict - значит у вас уже есть уникальный ключ. Нет ли смысла выкинуть serial и использовать этот уникальный ключ в качестве PK?


11.04.2019, 19:49, "Dmitry E. Oboukhov" <unera@debian.org>:
 
 
11.04.2019, 19:45, "Андрей Зевакин" <azevakin@gmail.com>:
А что если перейти на натуральные ключи? )
 

Вы имеете ввиду uuid? Или что-то другое?
 
SERIAL удобнее тем, что в таблице всегда хорошо видно где старые записи, где новые.
 
индекс для обойти данные от старых к новым или наоборот - как бы бесплатный
(всё равно PRIMARY KEY делать что там что тут, а тут он еще и показывает порядок вставки).
 
Ну и там где мы распределённые системы не делаем, в общем SERIAL выглядит очень удобно.