关于使用PQconnectdb()连接Windows中的pq服务器时的身份验证

时间:2013-09-28 12:51:58

标签: c postgresql libpq

我在win7笔记本电脑上安装了postgresql9.2.4并编写了一个简单的程序来测试我的vs2008中的连接。代码在这里:

#include "stdafx.h"
#include <windows.h>
#include "libpq-fe.h"


int _tmain(int argc, _TCHAR* argv[])
{
    const char *conninfo;
    PGconn     *conn;

    conninfo = "password = password";

    conn = PQconnectdb(conninfo);

    if (PQstatus(conn) != CONNECTION_OK)
    {
        printf("Connection to database failed: %s",
                PQerrorMessage(conn));
    }

    system("pause");
    return 0;
}

显示运行后验证失败的错误。 我知道这是关于密码的错误,它应该被md5加密。所以我在google搜索。这个问题几乎没有问题。我在libpq文件夹中找到一个名为“md5.h”的头文件,并且有一个名为“pg_md5_hash”的函数“,我尝试了它,并带来了许多链接错误。 谁能给我一些建议? 感谢。

1 个答案:

答案 0 :(得分:0)

您不必自己加密密码。 Libpq正在根据pg_hba.conf配置选择身份验证方法。

您的conninfo远非正确。您提供了密码,但至少错过了数据库和用户名。