Умеет ли postgres в асинхронные запросы?
libpq умеет асинхронное выполнение запросов в том смысле, что запрос отправляется на выполнение и возвращает управление приложению не дожидаясь окончания выполнения запроса.
Один коннект к базе в один момент времени может выполнять только один запрос. Вы не можете запустить один запрос и не дождавшись окончания его выполнения запустить другой через это же самое соединение. Через другое соединение - можете.
Будут ли запросы в самой базе сериализоваться в очередь либо выполняться параллельно - вопрос к этим самым запросам. Читающие довольно сложно чем-то заблокировать, пишущие чаще могут конфликтовать за блокировки.
БД держит определенное количество соединений в зависимости от настроек и мощности сервера, а дальше нужно или нормально изучать БД, чтобы понимать как там все устроено, или не париться и знать что там работают умные люди и они разбируться.
А так, естественно, в большинстве современных бд будет и асинхронность, и многопоточность... На сколько позволят уровни изоляции транзакций.