历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.
1.12. 线程行为 #
从 PostgreSQL 7.0
起,libpq
是线程安全的,前提是没有两个线程同时尝试操作同一个
PGconn 对象。特别是,不能通过同一个连接对象从不同线程发出并发的查询。(如果需要运行并发查询,请建立多个连接。)
PGresult对象在创建后是只读的,因此可以在线程之间自由传递。
已废弃的函数 PQoidStatus 和
fe_setauthsvc 不是线程安全的,不应在多线程程序中使用。PQoidStatus 可以由
PQoidValue 代替。而调用
fe_setauthsvc 则根本没有正当理由。
使用 crypt
加密方法的 Libpq
客户端依赖操作系统的 crypt()
函数,而它常常不是线程安全的。最好使用
MD5
加密,它在所有平台上都是线程安全的。