繁体   English   中英

ODBC v Libpq:PostgreSQL的C库

[英]ODBC v Libpq: C library for PostgreSQL

我将使用C库连接和使用PostgreSQL数据库,我想知道ODBC和Libpq的优缺点是什么。 据我所知,libpq似乎更快,但我无法获得任何明确的答案或基准。

另外,还有其他任何库可能比ODBC / Libpq更好。

如果您想要一个为不同数据库使用类似API的标准适配器,ODBC非常有用。 我个人认为这是一个糟糕的API,但它被广泛理解并且有很好的文档记录。

libpq更直接地与PostgreSQL对话。 你可以用它获得更好的性能,但可能还不够,它会对大多数应用程序产生任何影响,这些应用程序花费时间在查询执行,网络延迟等方面,而不是在客户端库中。

较新版本的psqlODBC构建在libpq上,并作为libpq的ODBC包装器。

还有libdbi,它提供了比ODBC更可怕的API。

为了完整起见,还有服务器后端SPI,可以由用C编写并加载到PostgreSQL服务器中的用户定义函数使用。 它在服务器扩展和功能之外没用。

哦,还有ecpg。 不要使用ecpg。 它是一种超级遗留的语言集成SQL工具,主要用于从某些其他数据库引擎轻松移植。 不要使用ecpg。 真。

对于C ++,有QtSQL接口(不同寻常的Qt,它很糟糕且非常痛苦,不使用它)和libpq ++(好但很大程度上没有维护)。

我个人直接编写libpq代码,但那是因为我正在研究通常会自己进入PostgreSQL的代码。 如果您无法想象除了PostgreSQL之外的任何目标,您可能想要编写libpq代码; 否则可能使用ODBC与psqlODBC。

ODBC通用主要是MS Windows数据库访问接口。 Libpq是本机PostgreSQL客户端接口。 如果您不需要通用接口,请不要使用ODBC。 它是老式的不友好设计的图书馆,高度复杂。 libpq没有任何优势。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM