Външният ключ трябва да е насочен към първичен ключ или уникално ограничение. Нормално е да препращате към първичния ключ, тъй като обикновено искате да препращате към отделен ред в друга таблица, а първичният ключ е идентификаторът на ред от таблица.
От техническа гледна точка няма значение дали външният ключ препраща към първичния ключ или към друго уникално ограничение, защото в PostgreSQL и двете се изпълняват по един и същи начин, като се използва уникален индекс.
Що се отнася до вашите конкретни примери, няма нищо лошо да имате уникалния size колона от vehicle_size бъдете цел на чужд ключ, въпреки че възниква въпросът защо не сте направили size първичния ключ и пропуснете id колона като цяло. Не е необходимо всяка таблица да има id колона, която е автоматично генерираният цифров първичен ключ, с изключение на това, че може да има ORM и друг софтуер, който очаква това.