Начните с проверки, что ваше приложение действительно корректно переоткрывает соединение отстреленное по инициативе базы или баунсера. А не оставляет его в пуле навечно, выдавая сохранённый текст ошибки.
То есть, именнованные параметры, которые по идее должны фильтровать ввод
Если вы не понимаете про что я вообще спрашиваю - читайте ещё раз целиком весь раздел "Packaging Related Objects into an Extension", посмотрите как пакуются другие extension. Например, pg_buffercache из contrib достаточно прост сам по себе и кстати при этом relocatable = true