Postgresql не работает после 14.04, несмотря на успешное pg_upgrade
Я использую Ubuntu VPS, где я обновляюсь до 14.04. пока все прошло гладко. За исключением миграции PostgreSQL с 9.1 на 9.3.
На сервере размещен сайт Django 1.6, и трассировка, которую я получаю, такова:
File "/srv/virtualenvs/formgiv/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
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"?
Перед тестированием я выполнил следующие команды:
service postgresql stop (stops both running server versions)
su postgres
/usr/lib/postgresql/9.3/bin/pg_upgrade -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.3/bin -d /var/lib/postgresql/9.1/main/ -D /var/lib/postgresql/9.3/main/ -O "-c config_file=/etc/postgresql/9.3/main/postgresql.conf" -o "-c config_file=/etc/postgresql/9.1/main/postgresql.conf"
exit
service postgresql start
Насколько я могу сказать:
- PostgreSQL работает, и файл сокета.s.PGSQL.5432 создается так же, как указано в конфигурации.
- Джанго просит точно такой же файл, но он не может его увидеть.
- Это стандартный конфиг, и он работал без сбоев в Ubuntu 13.10 с PostgreSQL 9.1.
Ошибка напоминает эти два старых сообщения: не удается подключиться к postgresql через порт 5432 и https://stackoverflow.com/questions/10829464/postgresql-and-django-unix-domain-socket за исключением того, что я не могу ничего получить от следующих предложения, которые я уже узнал.
Я действительно надеюсь, что кто-то может заметить очевидную ошибку, которая, я надеюсь,
2 ответа
Я уверен, что есть лучший ответ, чем этот. Но у меня была такая же ошибка в моей среде разработки, побежал
sudo apt-get purge postgresql-9.1
и перестроил все в 9.3 без проблем. Но у меня было всего пара пользователей и небольшие базы данных со скриптами миграции, так что вы можете не захотеть идти по этому пути.
Не нашел проблемы, но запуск через локальный хост TCP/IP заставил сервер работать, и этого достаточно для этого небольшого сервера.