我将使用 C 库来连接和使用 PostgreSQL 数据库,我想知道 ODBC 和 Libpq 的优缺点是什么。据我所知,libpq 似乎更快,但我无法得到任何明确的答案或基准。
另外,是否有任何其他库可能比 ODBC/Libpq 更好。
如果您想要一个标准适配器来为不同的数据库提供类似的 API,则 ODBC 非常有用。我个人认为这是一个糟糕的 API,但它被广泛理解并且有很好的文档记录。
libpq 更直接地与 PostgreSQL 对话。您可以使用它获得更好的性能,但可能还不足以对大多数应用程序产生任何影响,这些应用程序将时间花在查询执行、网络延迟等上,而不是在客户端库上。
较新版本的 psqlODBC 构建于 libpq 之上,并用作 libpq 的 ODBC 包装器。
还有 libdbi,它提供了比 ODBC 不那么糟糕的 API。
为了完整起见,还有服务器后端 SPI,它可以由用 C 编写的用户定义函数使用并加载到 PostgreSQL 服务器中。它在服务器扩展和功能之外没有用处。
哦,还有 ecpg。不要使用心电图。它是一种超传统的语言集成 SQL 工具,其存在主要是为了更轻松地从某些其他数据库引擎进行移植。不要使用心电图。真的。
对于 C++,有 QtSQL 接口(对于 Qt 来说不常见,它非常糟糕且受到极大的限制,不要使用它)和 libpq++(还可以,但基本上没有维护)。
我个人直接编写 libpq 代码,但那是因为我正在编写通常进入 PostgreSQL 自身的代码。如果您无法想象除了 PostgreSQL 之外的任何目标,您可能需要编写 libpq 代码;否则可能将 ODBC 与 psqlODBC 一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)