更新时间:2026-07-28 GMT+08:00
关闭连接
libpq通常使用PQfinish函数来关闭与数据库的连接。如果应用程序建立了多个连接,则需要确保每个连接都被正确关闭。
示例如下(完整示例请参考数据库建连、执行SQL并返回结果):
/* 关闭入口 ... 不用检查错误 ... */ res = PQexec(conn, "CLOSE myportal"); PQclear(res); /* 结束事务 */ res = PQexec(conn, "END"); PQclear(res); /* 关闭数据库连接并清理 */ PQfinish(conn);
注意事项:
- 无论连接成功、失败还是发生异常,都必须确保PQfinish被调用,否则会导致连接句柄泄漏,长期运行可能耗尽系统文件描述符或数据库连接数;
- 先释放所有PGresult对象(调用PQclear),再关闭连接(调用PQfinish);
- 多线程环境建议每个线程应使用独立的PGconn对象,关闭时需确保线程安全。
父主题: 开发步骤