尽管 pg_upgrade 成功,postgresql 在 14.04 之后仍然崩溃

尽管 pg_upgrade 成功,postgresql 在 14.04 之后仍然崩溃

我正在运行 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

据我所知:

  1. PostgreSQL 正在运行,并且套接字文件 .s.PGSQL.5432 按照配置中所述创建。
  2. Django 正在请求完全相同的文件,但它看不到它。
  3. 这是一个标准配置,在 Ubuntu 13.10 和 PostgreSQL 9.1 上运行顺利

该错误类似于这两个旧帖子: 无法连接到端口 5432 上的 postgresqlhttps://stackoverflow.com/questions/10829464/postgresql-and-django-unix-domain-socket 只是我似乎无法通过遵循我已经发现的建议而得到任何东西。

我真的希望有人能发现这个明显的错误。

答案1

我确信有比这更好的答案。但我在开发环境中遇到了同样的错误,运行

sudo apt-get purge postgresql-9.1

并在 9.3 中重建了所有内容,没有任何问题。但我只有几个用户和带有迁移脚本的小型数据库,所以你可能不想走这条路。

答案2

没有发现问题,但是通过 TCP/IP localhost 运行使得服务器运行,对于这个小型服务器来说已经足够了。

相关内容