I've revisited the idea to somehow use foreign keys to do joins,
This is somewhat addressed by the USING join form, but USING has other drawbacks, why I tend to avoid it except for one-off queries.
* Would require changes to the SQL standard, i.e. SQL committee work
pgsql-hackers by date:
Соглашаюсь с условиями обработки персональных данных