В реальном проекте вы в любом случае не обойдётесь одним только использованием PostgreSQL. Так или иначе, нужен хотя бы кеш. Например, Redis - и это уже вторая база. Всё равно вы из этой таблице сообщений чата (если в PostgreSQL всё же собираетесь сообщения хранить), данные будете постоянно удалять, потому что нет вообще никакого смысла хранить все сообщения, т.к. они очень быстро теряют актуальность и просто не нужны. PostgreSQL - хорошая СУБД, но использовать её везде - это, мне кажется, натягивание совы на глобус. Очереди тоже можно сделать с использованием PostgreSQL, но вы же не станете так делать, и возьмёте какой-нибудь RabbitMQ, надеюсь?
При написании чата кеш не нужен. Запросов к базе не так много. Горячая информация хранится в приложении. Вот я сейчас это сообщение отправлю и его получит более 5000 человек, к базе же будет запрос на запись, без чтения. Получение истории? Она кешируется на клиенте и 700 клиентов из этого чата сразу отправят моё сообщение в локальную базу. PostgreSQL отлично подходит для чата. По истории - каждый использует по своему. Мне в телеграмме не хватает календаря для удобной навигации. Часто могу и в переписку прошлого месяца и предыдущего полугодия залезть.
PostgreSQL был (и есть?) в основе скайпа, Дискорда (сейчас там кассандра). Объёмы телеграмма и вк требуют собственных движков. На ютубе есть доклад по базе сообщений вк, но начинать удобнее, быстрее и безопаснее с PostgreSQL. Потому что предугадать все варианты выборок не так просто. Кеш, кстати, тоже вносит ограничения на варианты выборок и может превратиться в inmemory копию базы без удобного и гибкого языка запросов