在libpqxx引用中,我有时可以阅读一些仅限于底层libpq版本的内容(“需要PostgreSQL 7.4或更高版本的libpq版本") 就像这里。
现在的问题是:(1)如何获得当前程序中使用的libpq版本(使用libpqxx)?(2)据我所知,在转到新的libpq发行版时,不一定需要重新编译libpqxx。替换旧的libpq.dll (通常是)新技术,比如我的例子中的ssl压缩。这就是为什么我认为libpq版本将在运行时接收。
发布于 2015-04-20 13:51:28
libpq版本可以在运行时使用,从9.1到PQlibVersion
int PQlibVersion(void); 此函数的结果可用于在运行时确定在当前加载的libpq版本中是否有特定功能可用。例如,该函数可用于确定PQconnectdb可用的连接选项,或者是否支持在PostgreSQL 9.0中添加的十六进制输出。 这个数字是通过将主要的、次要的和修订的数字转换成两个十进制数字并附加在一起形成的。例如,版本9.1将返回为90100,版本9.1.2将返回为90102 (没有显示前导零)。
libpqxx似乎没有封装这个功能,所以我们必须对它进行切割才能直接访问libpq。
https://stackoverflow.com/questions/29746966
复制相似问题