gpt4 book ai didi

无法使用 libpq 连接到 postgreSQL 服务器

转载 作者:行者123 更新时间:2023-11-30 17:46:53 24 4
gpt4 key购买 nike

我是一个正在尝试学习 PostgreSQL 的完全新手。我正在尝试使用 libpq 通过 C 程序连接到我的 postgres 服务器。

这是服务器状态:

home/planb/postgresql-9.2.4/Project status -o "-p 5555"
pg_ctl: server is running (PID: 2338)
/usr/local/pgsql/bin/postgres "-D" "/home/planb/postgresql-9.2.4/Project" "-p5555"

当我编译时,我使用:

gcc -I /usr/local/pgsql/include -L /usr/local/pgsql/lib test.c -lpq

当我使用 ./a.out 运行程序时,它显示:

Connection error

我相信我没有正确使用 PQconnectdb,但也可能是其他原因。

这是我的 C 文件:test.c

#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>

int main(int argc, char* argv[])
{
//Start connection
PGconn* connection = PQconnectdb("hostaddr=168.105.127.3 port=5555 dbname=Project username=postgres password=password");

if (PQstatus(connection) ==CONNECTION_BAD)
{
printf("Connection error\n");
PQfinish(connection);
return -1; //Execution of the program will stop here
}
printf("Connection ok\n");
//End connection
PQfinish(connection);
printf("Disconnected\n");
return 0;
}

非常感谢任何意见,谢谢!

明白了!

我没有使用有效的主机地址。我将其替换为:

host=localhost

我还删除了 dbname=Project。当我运行它时,我得到:

Msg: Connection ok
Disconnected

最佳答案

这是我的问题的解决方案:

我没有使用有效的主机地址。我连接到自己的本地服务器的正确方法是:

host=localhost

我还删除了 dbname=Project。我收到一条消息,说它不是真正的数据库。我想我不需要在 PQconnectdb 中调用 dbname。

现在,当我通过这些更改运行它时,我得到:

Msg: Connection ok
Disconnected

关于无法使用 libpq 连接到 postgreSQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com