gpt4 book ai didi

c++ - PostgreSQL无法访问

转载 作者:行者123 更新时间:2023-12-02 10:28:04 25 4
gpt4 key购买 nike

我无法从C++访问数据库
每次抛出错误时:FATAL: Ident authentication failed for user "testuser" 我尝试过的:
将postgresql11重新安装到postgresql12
建立使用者
使用所有者testuser创建数据库
将pg_hba.conf本地主机从对等更改为md5
多次修改用户密码
重新启动电脑
重新启动服务
这是代码:

#include "gtest/gtest.h"
#include <iostream>
#include <pqxx/pqxx>

using std::cin;
using std::cout;
using std::cerr;
using namespace std;
using namespace pqxx;

int main() {
try {
connection C("dbname = relay user = testuser password = 1234 hostaddr = 127.0.0.1 port = 5432");
if (C.is_open())
cout << "Opened database successfully: " << C.dbname() << endl;
else {
cout << "Can't open database" << endl;
return 1;
}

C.close();
} catch (const std::exception &e) {
cerr << e.what() << std::endl;
return 1;
}
}

TEST(postgreDB_test_trivial, trivial_test) {
main();
}
我甚至允许防火墙访问端口
关于如何解决这个问题,我没有更多的想法。

最佳答案

问题是重新启动服务后,卸载Postgres11和安装Postgres12会使pg_hba.conf具有不同的设置,因此我需要将pg_hba.conf中的所有内容更改为trust才能使其正常工作

关于c++ - PostgreSQL无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63425078/

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