Django Postgres导入错误:服务器是否在本地运行并接受Unix域套接字上的连接?

2024-09-26 22:08:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个共享的bluehost设备上运行。奇怪的是我的网站在网上运行得很好。我可以把django/admin/site打开。但是,我不能运行manage.py migrate,也不能通过manage.py shell对数据库进行任何查询。以下是我得到的错误:

File "/home2/univetg1/python3/lib/python3.5/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 172, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/home2/univetg1/python3/lib/python3.5/site-packages/psycopg2/__init__.py", line 164, in connect
    conn = _connect(dsn, connection_factory=connection_factory, async=async)
django.db.utils.OperationalError: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

以下是我在中的数据库设置设置.py公司名称:

^{pr2}$

这很奇怪,因为我一直没有和我的设置.py文件什么的,直到现在一切都很好。在


Tags: djangopy数据库dbmanagelibpackagesconnect
2条回答

如果出现以下错误:

ERROR: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

则服务器是:

  • 不运行
  • 在5432以外的端口上运行;或
  • 配置了不同的unix_socket_directories路径,因此它不会监听/tmp中的套接字

我们知道服务器正在运行,因为您的Django站点正在工作。所以这可能是连接信息的问题。假设Django实际使用settings.py中的数据,那么它也必须位于端口5432上。在

所以我的猜测是它使用了不同的unix_socket_directories。可能您在运行时在交互式控制台上链接到的libpq与运行服务时链接到的不同。在

您可以通过将主机指定为localhost来尝试通过TCP/IP进行连接。否则,请检查unix_socket_directoriespostgresql.conf中设置了什么,并将其设置为您的HOST。在

您可能受到可以连接到DB的连接数的限制,或者在conf中增加这个值,或者终止一些现有的连接。在

我的另一个猜测是,您使用的django设置类型与您在生产流程中使用的类型不同。所以你应该检查你使用的是什么设置文件(它是指定的还是在ENV中)。在

相关问题 更多 >

    热门问题