Невозможно подключить postgreSQL к psycopg2
Это первый раз, когда я не могу найти ответ о некоторых технических проблемах
Здесь мои проблемы:
>> conn=psycopg2.connect(database="mydb", user="postgres", password="123",port=5432)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
psycopg2.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"?
- Мой postgreSQL работает
- Мое прослушивание - 5432.
- root @lanston-laptop: ~ # psql -l
Пароль:
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
---------------+----------+----------+------------+------------+-----------------------
checkdatabase | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
mydb | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
Спасибо большое!
Ответы
Ответ 1
Ваш libpq, который используется psycopg2, ожидает, что сокет Postgres будет находиться в /var/run/postgresql/
, но при установке Postgres из источника по умолчанию он находится в /tmp/
.
Проверьте, есть ли файл /tmp/.s.PGSQL.5432
вместо /var/run/postgresql/.s.PGSQL.5432
. Попробуйте:
conn=psycopg2.connect(
database="mydb",
user="postgres",
host="/tmp/",
password="123"
)
Ответ 2
Попробуйте изменить порт на 5433 вместо 5432
Ответ 3
несколько лет спустя, используя EnterpriseDB 'графическую установку' на OSX 10.8 и установив psycopg2 (после связывания /Library/...dylib , как описано здесь). У меня была эта же проблема.
для меня правильная команда соединения была conn = psycopg2.connect('dbname=DBNAME user=postgres password=PWHERE host=/tmp/')
Ответ 4
Только это решило мою проблему,
сделать символическую ссылку на /tmp/.s.PGSQL.5432:
sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
Благодаря Sukhjit Singh Sehra - s-postgresql-server-is-running