а зачем createPool используешь внутри createConnection? Если я правильно знаю, когда данные в пул забиты, то можно уже запрос прокидывать по типу pool.query(бла бла бла, коллб...
так пробовал хотя бы?