sql - 如何在多线程 C 应用程序中连接到 postgresql

标签 sql c database multithreading postgresql

我的应用程序中有几个线程。每个都有自己的 PGconn* 连接,该连接使用相同的连接字符串单独打开。当线程进行查询时,它几乎从不返回 PGRES_TUPLES_OK。

如有必要,我可以提供一些代码示例,但这里有什么突出的地方吗?我也尝试过使用全局互斥体,但无济于事。我正在使用 postgresql 9.3

PQerrorMessage(db) 返回:连接指针为 NULL

来自 postgresql 文档: 如果返回空指针,则应将其视为 PGRES_FATAL_ERROR 结果。使用 PQerrorMessage 获取有关错误的更多信息。

最佳答案

好的,我明白了。

我正在使用一个函数来打开每个连接,并将一个指向 PGconn 结构的指针传递给它。

我需要传递一个双指针。

关于sql - 如何在多线程 C 应用程序中连接到 postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34561471/

相关文章:

database - 如何确定多值依赖MVD(传递规则)?

sql - 如何在SQL中找到表的大小?

sql - 考虑重叠事件计算用户的 "busy duration"

c - 如何跳过 GDB 中循环的多次迭代?

c - 从文本文件中逐行读取信息

database - Opensips avp_db_query 无法比较空值

MySQL LEFT JOIN 返回空结果集

SQL Server - 查找下过两种订单的所有客户

c - 在 C 中对链表进行排序

mysql - 是否可以在公共(public) mysql 数据库上向某些用户提供某些数据?