我安装了postgresql和(我认为)pyscopg2。我想用django运行postgresql。我尝试了命令“createdb mydb”,我收到了如下所示的错误消息。我该怎么办?
无法连接到数据库postgres:
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"?
我正在运行mac osx 10.8.2。
当我输入ps auwwx|grep postg
时,我得到:
robbie 27589 0.0 0.0 2443176 1528 ?? Ss 7:25am 0:00.01 postgres: autovacuum launcher process
robbie 27588 0.0 0.0 2443044 552 ?? Ss 7:25am 0:00.01 postgres: wal writer process
robbie 27587 0.0 0.0 2443044 592 ?? Ss 7:25am 0:00.16 postgres: writer process
robbie 27586 0.0 0.0 2443044 612 ?? Ss 7:25am 0:00.00 postgres: checkpointer process
robbie 27584 0.0 0.1 2443044 3524 ?? S 7:25am 0:00.02 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
robbie 27626 0.0 0.0 2423572 24 s000 S+ 7:36am 0:00.00 grep postg
robbie 27590 0.0 0.0 2439324 444 ?? Ss 7:25am 0:00.01 postgres: stats collector process
当我输入psql -V I
时获取:psql (PostgreSQL) 9.1.4
当我输入which psql
时,我得到:/usr/bin/psql
答案 0 :(得分:1)
您可以通过两种不同的方式连接到PostgreSQL:
您收到的错误消息告诉您Django尝试方法一,寻找代表Unix套接字的特殊文件,但没有成功。你的PostgreSQL实例很可能在TCP套接字而不是Unix套接字上进行侦听。要确认这一点,请尝试使用psql
命令行客户端连接到PostgreSQL,如下所示:
psql -h localhost -U user databse_name
如果您成功,那么您可以通过在HOST
文件中设置settings.py
密钥,将Django配置为通过TCP套接字连接到localhost:
DATABASES = {
'default': {
[...]
'HOST': 'localhost',
[...]
}
}