Использование CitusDB с SQL-алхимией

Я использую caravel с CitusDB, и у меня возникают проблемы с подключением к узлу базы данных. Честно говоря, я понятия не имею, что делать.

Я следовал официальной инструкции по установке, чтобы установить и запустить.

Я могу войти в работающий мастер, используя 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"?

2 ответа

Решение

Прежде всего, я настоятельно рекомендую использовать Citus 5.0. Документ, за которым вы следили, касается версии CitusDB 4.0, которая была форком PostgreSQL. В настоящее время Citus может быть установлен как расширение к PostgreSQL 9.5 и имеет множество новых функций и исправлений. Вы можете взглянуть на инструкции по установке Citus для 5.0.

Если невозможно переключиться на Citus 5.0, проблема может быть связана с путями к файлам сокетов. Не могли бы вы попробовать ввести команду в этом ответе?

Благодаря @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
Другие вопросы по тегам