将 CitusDB 与 SQL-alchemy 结合使用
Using CitusDB with SQL-alchemy
我正在将 caravel 与 CitusDB 一起使用,但我 运行 遇到了连接到数据库节点的问题。老实说,我不知道该怎么办。
我是跟着官方installation instructions安装和运行.
我可以使用 /opt/citusdb/4.0/bin
中的 psql
脚本登录到 运行ning master,但我无法从应用程序连接到它。 Flask-SQLAlchemy 支持 postgresql 方言和驱动程序,服务器 运行ning 似乎在 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"?
首先强烈建议使用Citus 5.0。您遵循的文档是关于 CitusDB 4.0 版本的,它是 PostgreSQL 的一个分支。目前,Citus 可以作为 PostgreSQL 9.5 的扩展安装,并且有很多新功能和错误修复。你可以看看Citus installation instructions for 5.0。
如果无法切换到 Citus 5.0,则问题可能与套接字文件路径有关。您可以尝试发出命令 in this answer?
多亏了@Ahmet Eren Başak
,我才能够从新的角度看待问题。
这个问题的关键在于运行服务器的pid文件。 psycopg2
和postgresql
一般都是参考/var/run/postgresql/
目录,看服务器是不是运行。 CitusDB 显然没有权限访问此目录中的 edit/create 个文件。因此,pid 文件是在 /tmp/
.
中创建的
解决方案是 link 这个文件到 /var/run/postgresql/
然后解决了它
ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
我正在将 caravel 与 CitusDB 一起使用,但我 运行 遇到了连接到数据库节点的问题。老实说,我不知道该怎么办。
我是跟着官方installation instructions安装和运行.
我可以使用 /opt/citusdb/4.0/bin
中的 psql
脚本登录到 运行ning master,但我无法从应用程序连接到它。 Flask-SQLAlchemy 支持 postgresql 方言和驱动程序,服务器 运行ning 似乎在 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"?
首先强烈建议使用Citus 5.0。您遵循的文档是关于 CitusDB 4.0 版本的,它是 PostgreSQL 的一个分支。目前,Citus 可以作为 PostgreSQL 9.5 的扩展安装,并且有很多新功能和错误修复。你可以看看Citus installation instructions for 5.0。
如果无法切换到 Citus 5.0,则问题可能与套接字文件路径有关。您可以尝试发出命令 in this answer?
多亏了@Ahmet Eren Başak
,我才能够从新的角度看待问题。
这个问题的关键在于运行服务器的pid文件。 psycopg2
和postgresql
一般都是参考/var/run/postgresql/
目录,看服务器是不是运行。 CitusDB 显然没有权限访问此目录中的 edit/create 个文件。因此,pid 文件是在 /tmp/
.
解决方案是 link 这个文件到 /var/run/postgresql/
然后解决了它
ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432