<div xmlns="http://www.w3.org/1999/xhtml">Под натуральными ключами обычно подразумевают данные из непосредственно предметной области. Раз у вас есть on conflict - значит у вас уже есть уникальный ключ. Нет ли смысла выкинуть serial и использовать этот уникальный ключ в качестве PK?</div><div><br /></div><div><br /></div><div>11.04.2019, 19:49, "Dmitry E. Oboukhov" <unera(at)debian(dot)org>:</div><blockquote type="cite"><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">11.04.2019, 19:45, "Андрей Зевакин" <<a href="mailto:azevakin(at)gmail(dot)com">azevakin(at)gmail(dot)com</a>>:</div><blockquote xmlns="http://www.w3.org/1999/xhtml" type="cite"><div><div>А что если перейти на натуральные ключи? )</div><div> </div></div></blockquote><div xmlns="http://www.w3.org/1999/xhtml"><br />Вы имеете ввиду uuid? Или что-то другое?</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">SERIAL удобнее тем, что в таблице всегда хорошо видно где старые записи, где новые.</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">индекс для обойти данные от старых к новым или наоборот - как бы бесплатный</div><div xmlns="http://www.w3.org/1999/xhtml">(всё равно PRIMARY KEY делать что там что тут, а тут он еще и показывает порядок вставки).</div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml">Ну и там где мы распределённые системы не делаем, в общем SERIAL выглядит очень удобно.</div></blockquote>