使用libpq组织PostgreSQL数据库连接参数?

时间:2018-04-02 20:52:43

标签: c++ c postgresql c++11 libpq

我正在试图找出将数据库连接参数传递给此libpq连接控制函数的正确方法。

PQconnectdbParams

PGconn *PQconnectdbParams(const char * const *keywords,
    const char * const *values, int expand_dbname);  

1 个答案:

答案 0 :(得分:2)

来自the documentation:

  

此函数使用从两个以NULL结尾的数组中获取的参数打开新的数据库连接。第一个关键字被定义为一个字符串数组,每个字符串都是一个关键字。第二个值给出每个关键词的值。

我从来没有在实践中使用过这个功能(因为PQconnectdb()似乎更简单),但这个例子应该可行我认为:

char *keywords[] = {"hostaddr", "port", "dbname", 0};
char *values[] = {"127.0.0.1", "5432", "testdb", 0};

conn = PQconnectdbParams((const char **)keywords, (const char **)values, 0);