天天看点

psqlODBC如何使用libpq

编译psqlODBC时,可以指定是否使用libpq。本来以为使用libpq时,psqlODBC会像ecpg那样,会对libpq的api进行完整的封装。但是看过代码后发现,事情不是这样。psqlODBC只在一些特定的场景下把lippq当作一个用于建立连接的工具,之后就把libpq中的socket取出来直接用。

在下面3种情况psqlODBC会使用libpq建立连接

1)用户名未指定

2)sslmode为disable以外的值

3)psqlODBC和服务端进行认证时,发现服务端使用的是psqlODBC自己不支持的认证方式

psqlODBC支持的认证方式可以在编译时通过宏设置,比如USE_SSPI,USE_GSS(还有一个USE_KRB5,这个在手册里没有记录)。

参考:

<a href="http://psqlodbc.projects.pgfoundry.org/">http://psqlodbc.projects.pgfoundry.org/</a>

继续阅读