Первичный ключ — это свойства строки, которые однозначно идентифицируют эту запись.
Первичное значение — не обязательно 1 поле, и не обязательно придумывать новое поле, вероятнее всего, то, что есть уже достаточно, и ключ можно составить из того, что есть.
Под капотом первичный индекс — это такой же индекс, но значения в нем уникальны и не могут быть null.
В целом без первичного ключа можно, но первичный ключ нужен для реплицирования данных, для миграции данных при обновлении версии pg и банально для предотвращения появления дублей записи. Итог: лучше его иметь, чем не иметь.