我在Qt中使用PostgreSQL数据库(QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");)
编译运行,运行时弹出“could not connect to server: 没有那个文件或目录
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
QPSQL: Unable to connect”
但是,我在shell中连接数据库是可以的,
我看了一下,我的.s.PGSQL.5432是在tmp目录中,所以可以正常连接;但是Qt默认连接的却是Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?(见图一),而我的/var/run/postgresql目录下是没有.s.PGSQL.5432,所以才会有图一的报错。
我觉得有两个方面可以解决该问题,一是修改Qt中的文件;二是修改PostgreSQL中的文件。
请问以下,如何解决?
(一)Qt中哪个文件里可以修改连接服务器的选项,使它accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"而不是on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
(二)如何使.s.PGSQL.5432文件在/var/run/postgresql目录下产生?