我正在使用CitusDB caravel,我遇到了连接数据库节点的问题。坦率地说,我不知道该怎么做。
我跟随官方installation instructions安装并运行。
我可以使用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"?
答案 0 :(得分:2)
首先,我强烈建议使用Citus 5.0。您所遵循的文档是关于CitusDB 4.0版本,它是PostgreSQL的一个分支。目前,Citus可以作为PostgreSQL 9.5的扩展安装,并具有许多新功能和错误修正。您可以查看Citus installation instructions获取5.0。
如果无法切换到Citus 5.0,则问题可能与套接字文件路径有关。您可以尝试发出命令in this answer吗?
答案 1 :(得分:1)
感谢@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