Подтвердить что ты не робот

Невозможно подключить 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

Спасибо большое!

4b9b3361

Ответ 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

Ответ 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