编译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,这个在手册里没有记录)。
参考:
阅读(5154) | 评论(0) | 转发(0) |