Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将CITUDB与SQL炼金术结合使用_Python_Postgresql_Flask Sqlalchemy_Citus - Fatal编程技术网

Python 将CITUDB与SQL炼金术结合使用

Python 将CITUDB与SQL炼金术结合使用,python,postgresql,flask-sqlalchemy,citus,Python,Postgresql,Flask Sqlalchemy,Citus,我正在使用CITUDB,连接到数据库节点时遇到问题。坦率地说,我不知道该怎么办 我跟随官方安装并运行 我可以使用/opt/citudb/4.0/bin中的psql脚本登录到运行主机,但我无法从应用程序连接到它。Flask SQLAlchemy支持postgresql方言和驱动程序,运行的服务器似乎位于5432端口上。我正在用psycopg2进行尝试 我已经关闭了postgresql服务,因为这会干扰主节点的启动 这就是错误: 2016-04-28 10:10:53,487:ERROR:flask

我正在使用CITUDB,连接到数据库节点时遇到问题。坦率地说,我不知道该怎么办

我跟随官方安装并运行

我可以使用
/opt/citudb/4.0/bin
中的
psql
脚本登录到运行主机,但我无法从应用程序连接到它。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"?

首先,我强烈建议使用Citus 5.0。您所关注的文档是关于CITUDB4.0版本的,它是PostgreSQL的分支。目前,Citus可以作为PostgreSQL 9.5的扩展安装,并具有许多新功能和错误修复。你可以看看5.0版


如果无法切换到Citus 5.0,则问题可能与套接字文件路径有关。你能试着发出命令吗?

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

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

解决方案是将该文件链接到
/var/run/postgresql/
,这就解决了问题

ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

我不确定这是否是一个权限问题,更不确定这是否是Citus 4.0版本的问题。它可以在所有平台上使用
/tmp
,而“常规”PostgreSQL安装在某些平台上使用
/var/run/PostgreSQL
。很可能Citus 5.0及更高版本不再存在此问题,但找到解决方法很好!