Правильно ли я делаю структуру бд PostgreSQL?
если для показа страницы нужна выборка из всех таблиц, то у вас беда с архитектурой.
Присоединись к Артём  Каретников .
Сначала сделайте столько таблиц, сколько требуется для нормализации данных. Этим вы обеспечите целостность данных. На количество связанных таблиц в одном запросе не обращайте внимания.
Если вдруг в будущем заметите тормоза, разбирайтесь с ними отдельно. Оптимизация запросов - отдельная большая тема.
Конечно, более опытные архитекторы/разработчики могут сразу почуять, где будет тормозить, и спроектировать архитектуру с учётом этого чутья. Но это не ваш случай.