Невозможно подключиться к Postgres с помощью Psycopg2 на Windows - PullRequest
0 голосов
/ 26 апреля 2020

Я бы хотел использовать python оболочку psycopg2 для выполнения PostgreSQL запросов. Я пытаюсь создать соединение с базой данных следующим образом:

  1. Подключение к локальному экземпляру PostgreSQL ( 127.0.0.1 )
  2. Использование база данных / схема из экземпляра.
  3. Соединение обращается к базе данных ( studentdb ) и использует правильные привилегии для подключения к базе данных ( user and password = student ).

Но я не могу создать соединение с сервером. Я использую Anaconda3 2020.02 (Python 3.7.6 64-bit) на Windows 10 для запуска моего кода.

Код

import psycopg2
conn = psycopg2.connect("host=127.0.0.1 dbname=studentdb user=student password=student")

Сообщение об ошибке

---------------------------------------------------------------------------
OperationalError                          Traceback (most recent call last)
<ipython-input-3-72130d62996a> in <module>
----> 1 conn = psycopg2.connect("host=127.0.0.1 dbname=studentdb user=student password=student")

~\Anaconda3\lib\site-packages\psycopg2\__init__.py in connect(dsn, connection_factory, cursor_factory, **kwargs)
    125 
    126     dsn = _ext.make_dsn(dsn, **kwargs)
--> 127     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
    128     if cursor_factory is not None:
    129         conn.cursor_factory = cursor_factory

OperationalError: could not connect to server: Connection refused (0x0000274D/10061)
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

Trials

Я пытался прослушивать порт через Git Bash, используя netstat -nat | grep 5432 и получил:

  UDP    127.0.0.1:65432        *:*  

Затем я использовал netstat -nat | grep 127.0.0.1 для проверки открытых TCP-портов и получил:

  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:5999         0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:7305         0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:8888         0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:9592         0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:18080        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:21584        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:27015        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:35253        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:46200        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:49672        0.0.0.0:0              LISTENING       InHost 
  TCP    127.0.0.1:49672        127.0.0.1:49697        ESTABLISHED     InHost   
  TCP    127.0.0.1:49677        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:49697        127.0.0.1:49672        ESTABLISHED     InHost   
  TCP    127.0.0.1:49715        127.0.0.1:49716        ESTABLISHED     InHost   
  TCP    127.0.0.1:49716        127.0.0.1:49715        ESTABLISHED     InHost   
  TCP    127.0.0.1:49784        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:49822        127.0.0.1:49823        ESTABLISHED     InHost   
  TCP    127.0.0.1:49823        127.0.0.1:49822        ESTABLISHED     InHost   
  TCP    127.0.0.1:49824        127.0.0.1:65443        ESTABLISHED     InHost   
  TCP    127.0.0.1:65187        127.0.0.1:65188        ESTABLISHED     InHost   
  TCP    127.0.0.1:65188        127.0.0.1:65187        ESTABLISHED     InHost   
  TCP    127.0.0.1:65197        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:65197        127.0.0.1:65256        ESTABLISHED     InHost   
  TCP    127.0.0.1:65198        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:65198        127.0.0.1:65246        ESTABLISHED     InHost   
  TCP    127.0.0.1:65198        127.0.0.1:65264        ESTABLISHED     InHost   
  TCP    127.0.0.1:65199        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:65199        127.0.0.1:65265        ESTABLISHED     InHost   
  TCP    127.0.0.1:65200        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:65200        127.0.0.1:65218        ESTABLISHED     InHost   
  TCP    127.0.0.1:65200        127.0.0.1:65259        ESTABLISHED     InHost   
  TCP    127.0.0.1:65201        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:65202        127.0.0.1:65203        ESTABLISHED     InHost   
  TCP    127.0.0.1:65203        127.0.0.1:65202        ESTABLISHED     InHost   
  TCP    127.0.0.1:65204        127.0.0.1:65205        ESTABLISHED     InHost   
  TCP    127.0.0.1:65205        127.0.0.1:65204        ESTABLISHED     InHost   
  TCP    127.0.0.1:65206        127.0.0.1:65207        ESTABLISHED     InHost   
  TCP    127.0.0.1:65207        127.0.0.1:65206        ESTABLISHED     InHost   
  TCP    127.0.0.1:65208        127.0.0.1:65209        ESTABLISHED     InHost   
  TCP    127.0.0.1:65209        127.0.0.1:65208        ESTABLISHED     InHost   
  TCP    127.0.0.1:65211        127.0.0.1:65212        ESTABLISHED     InHost   
  TCP    127.0.0.1:65212        127.0.0.1:65211        ESTABLISHED     InHost   
  TCP    127.0.0.1:65218        127.0.0.1:65200        ESTABLISHED     InHost   
  TCP    127.0.0.1:65219        127.0.0.1:65220        ESTABLISHED     InHost   
  TCP    127.0.0.1:65220        127.0.0.1:65219        ESTABLISHED     InHost   
  TCP    127.0.0.1:65221        127.0.0.1:65222        ESTABLISHED     InHost   
  TCP    127.0.0.1:65222        127.0.0.1:65221        ESTABLISHED     InHost   
  TCP    127.0.0.1:65223        127.0.0.1:65224        ESTABLISHED     InHost   
  TCP    127.0.0.1:65224        127.0.0.1:65223        ESTABLISHED     InHost   
  TCP    127.0.0.1:65225        127.0.0.1:65226        ESTABLISHED     InHost   
  TCP    127.0.0.1:65226        127.0.0.1:65225        ESTABLISHED     InHost   
  TCP    127.0.0.1:65227        127.0.0.1:65228        ESTABLISHED     InHost   
  TCP    127.0.0.1:65228        127.0.0.1:65227        ESTABLISHED     InHost   
  TCP    127.0.0.1:65229        127.0.0.1:65230        ESTABLISHED     InHost   
  TCP    127.0.0.1:65230        127.0.0.1:65229        ESTABLISHED     InHost   
  TCP    127.0.0.1:65231        127.0.0.1:65232        ESTABLISHED     InHost   
  TCP    127.0.0.1:65232        127.0.0.1:65231        ESTABLISHED     InHost   
  TCP    127.0.0.1:65233        127.0.0.1:65234        ESTABLISHED     InHost   
  TCP    127.0.0.1:65234        127.0.0.1:65233        ESTABLISHED     InHost   
  TCP    127.0.0.1:65235        127.0.0.1:65236        ESTABLISHED     InHost   
  TCP    127.0.0.1:65236        127.0.0.1:65235        ESTABLISHED     InHost   
  TCP    127.0.0.1:65237        0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:65238        127.0.0.1:65239        ESTABLISHED     InHost   
  TCP    127.0.0.1:65239        127.0.0.1:65238        ESTABLISHED     InHost   
  TCP    127.0.0.1:65240        127.0.0.1:65241        ESTABLISHED     InHost   
  TCP    127.0.0.1:65241        127.0.0.1:65240        ESTABLISHED     InHost   
  TCP    127.0.0.1:65242        127.0.0.1:65243        ESTABLISHED     InHost   
  TCP    127.0.0.1:65243        127.0.0.1:65242        ESTABLISHED     InHost   
  TCP    127.0.0.1:65244        127.0.0.1:65245        ESTABLISHED     InHost   
  TCP    127.0.0.1:65245        127.0.0.1:65244        ESTABLISHED     InHost   
  TCP    127.0.0.1:65246        127.0.0.1:65198        ESTABLISHED     InHost   
  TCP    127.0.0.1:65247        127.0.0.1:65248        ESTABLISHED     InHost   
  TCP    127.0.0.1:65248        127.0.0.1:65247        ESTABLISHED     InHost   
  TCP    127.0.0.1:65250        127.0.0.1:65251        ESTABLISHED     InHost   
  TCP    127.0.0.1:65251        127.0.0.1:65250        ESTABLISHED     InHost   
  TCP    127.0.0.1:65252        127.0.0.1:65253        ESTABLISHED     InHost   
  TCP    127.0.0.1:65253        127.0.0.1:65252        ESTABLISHED     InHost   
  TCP    127.0.0.1:65254        127.0.0.1:65255        ESTABLISHED     InHost   
  TCP    127.0.0.1:65255        127.0.0.1:65254        ESTABLISHED     InHost   
  TCP    127.0.0.1:65256        127.0.0.1:65197        ESTABLISHED     InHost   
  TCP    127.0.0.1:65257        127.0.0.1:65258        ESTABLISHED     InHost   
  TCP    127.0.0.1:65258        127.0.0.1:65257        ESTABLISHED     InHost   
  TCP    127.0.0.1:65259        127.0.0.1:65200        ESTABLISHED     InHost   
  TCP    127.0.0.1:65260        127.0.0.1:65261        ESTABLISHED     InHost   
  TCP    127.0.0.1:65261        127.0.0.1:65260        ESTABLISHED     InHost   
  TCP    127.0.0.1:65262        127.0.0.1:65263        ESTABLISHED     InHost   
  TCP    127.0.0.1:65263        127.0.0.1:65262        ESTABLISHED     InHost   
  TCP    127.0.0.1:65264        127.0.0.1:65198        ESTABLISHED     InHost   
  TCP    127.0.0.1:65265        127.0.0.1:65199        ESTABLISHED     InHost   
  TCP    127.0.0.1:65443        127.0.0.1:49824        ESTABLISHED     InHost   
  UDP    127.0.0.1:53           *:*                                             
  UDP    127.0.0.1:1900         *:*                                             
  UDP    127.0.0.1:49666        *:*                                             
  UDP    127.0.0.1:50113        *:*                                             
  UDP    127.0.0.1:52129        *:*                                             
  UDP    127.0.0.1:54835        *:*                                             
  UDP    127.0.0.1:63481        *:*                                             
  UDP    127.0.0.1:63934        *:*                                             
  UDP    127.0.0.1:65432        *:*                  

Я не совсем уверен, как действовать дальше. Я попытался использовать первый порт 5037, чтобы esabli sh моего соединения, но ячейка продолжает работать в течение длительного времени, не давая мне никакого вывода. Хотя, когда я снова проверяю порты, я получаю это:

  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       InHost   
  TCP    127.0.0.1:5037         127.0.0.1:65284        ESTABLISHED     InHost   
  .
  .
  .

Как я могу решить проблему? Я новичок в PostgreSQL, и мои навыки в bash все еще основны c. Я прочитал так много постов здесь, но решения не сработали для меня.

...