2

我在CitusDB 中使用caravel,但在连接到数据库节点时遇到问题。坦率地说,我不知道该怎么做。

我按照官方安装说明安装并运行。

psql我可以使用脚本登录到正在运行的主机,/opt/citusdb/4.0/bin但我无法从应用程序连接到它。Flask-SQLAlchemy 支持 postgresql 方言和驱动程序,运行的服务器似乎在 5432 端口上。我正在尝试使用psycopg2.

我已经关闭了该postgresql服务,因为这会干扰主节点的启动。

这是错误:

2016-04-28 10:10:53,487:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (psycopg2.OperationalError) 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"?
4

2 回答 2

2

首先,我强烈建议使用 Citus 5.0。您遵循的文档是关于 CitusDB 4.0 版本的,它是 PostgreSQL 的一个分支。目前,Citus 可以作为 PostgreSQL 9.5 的扩展安装,并具有许多新功能和错误修复。您可以查看Citus 5.0 的安装说明。

如果无法切换到 Citus 5.0,则问题可能与套接字文件路径有关。您可以尝试在此答案中发出命令吗?

于 2016-04-28T11:28:30.883 回答
2

多亏了@Ahmet Eren Başak我才能从一个新的角度看待问题。

这个问题的关键是正在运行的服务器的 pid 文件。psycopg2并且postgresql通常参考/var/run/postgresql/目录以查看服务器是否正在运行。CitusDB 显然无权在此目录中编辑/创建文件。因此,pid 文件是在/tmp/.

解决方案是将这个文件链接到/var/run/postgresql/并解决它

ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
于 2016-04-28T12:18:31.630 回答