我通过 libpqxx 实例化一个 PostgreSQL 连接。我查询数据库并得到正确的响应。之后我尝试了以下错误案例:在创建 pqxx::connection 实例后,我暂停我的程序,从 Linux 的命令 shell 手动终止 Postgre 的连接进程并恢复程序。它一直持续到它尝试创建新的事务 pqxx::work 并抛出 pqxx::broken_connection。我处理此异常并尝试通过调用 pqxx::connection::activate() 重新连接,但另一个 pqxx::broken_connection 被抛出。如何在不实例化另一个 pqxx::connection 的情况下重新连接到 DB?
PS再激活不受抑制。我使用标准连接类型 -
namespace pqxx
{
typedef basic_connection<connect_direct> connection;
}