Включаешь логирование медленных запросов в PostgreSQL (log_min_duration_statement). Потом EXPLAIN ANALYZE на проблемный запрос — смотришь, есть ли Seq Scan вместо Index Scan, правильные ли индексы. В Go смотришь, нет ли N+1 проблемы — когда в цикле делаешь по запросу вместо одного batch. Ещё проверяй пул соединений — если все заняты, запросы стоят в очереди и это выглядит как медленный запрос.