擅长:python、mysql、java
<p>如果出现以下错误:</p>
<pre><code>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"?
</code></pre>
<p>则服务器是:</p>
<ul>
<li>不运行</li>
<li>在5432以外的端口上运行;或</li>
<li>配置了不同的<code>unix_socket_directories</code>路径,因此它不会监听<code>/tmp</code>中的套接字</li>
</ul>
<p>我们知道服务器正在运行,因为您的Django站点正在工作。所以这可能是连接信息的问题。假设Django实际使用<code>settings.py</code>中的数据,那么它也必须位于端口5432上。在</p>
<p>所以我的猜测是它使用了不同的<code>unix_socket_directories</code>。可能您在运行时在交互式控制台上链接到的<code>libpq</code>与运行服务时链接到的不同。在</p>
<p>您可以通过将主机指定为<code>localhost</code>来尝试通过TCP/IP进行连接。否则,请检查<code>unix_socket_directories</code>在<code>postgresql.conf</code>中设置了什么,并将其设置为您的<code>HOST</code>。在</p>