Perl DBI:连接到REMOTE PostgreSQL db仍然抱怨本地套接字文件

时间:2016-11-16 11:46:12

标签: postgresql perl dbi

我尝试使用DBIx::Class连接到远程 PostgreSQL数据库。 我的连接字符串:"DBI:Pg:database=asterisk:host=example.com:hostaddr=10.10.10.10:port=5432", $user, $pass

example.com确实解析为10.10.10.10',将两者都交换到IP或只有host = IP都会导致

 could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 1489. at db-access.pl line 26

在这个debian上我没有或想要postgresql,但我确实有libdbd-pg-perl。并且DBI->available_drivers说我确实有Pg(在我安装图书馆之前它没有。)

我怎样才能知道它想要做什么,我还需要安装其他任何东西吗?有问题的服务器被配置为允许来自运行此代码的计算机所在的10.100.*地址的连接,并且我可以使用诸如PSequel和pgAdmin之类的工具在我的工作站(同一网络)上与相关的db用户连接

1 个答案:

答案 0 :(得分:4)

"DBI:Pg:database=asterisk:host=example.com:hostaddr=10.10.10.10:port=5432"

应该是:

"DBI:Pg:database=asterisk;host=example.com;hostaddr=10.10.10.10;port=5432"

只有前两个分隔符是冒号。其余的应该是分号。