Himal Acharya
Himal Acharya

Reputation: 1016

Connection refused to Postgresql

Here is the code I wrote for connecting Postgresql using psycopg2. My psql and pgadminIII is also running.

import psycopg2

connection = psycopg2.connect(dbname="gps_heatmap",user="postgres",host="localhost",password="1234")
cursor = connection.cursor()

cursor.execute("DROP TABLE IF EXISTS roads")
cursor.execute("CREATE TABLE roads (" +
                   "id SERIAL PRIMARY KEY," +
                   "name VARCHAR," + 
                   "centerline GEOMETRY)")
cursor.execute("CREATE INDEX ON roads USING GIST(centerline)")

connection.commit()

But following error comes:

 OperationalError                          Traceback (most recent call last)
    <ipython-input-14-03e3f214b83e> in <module>()
          1 import psycopg2
          2 
    ----> 3 connection = psycopg2.connect(dbname="gps_heatmap",user="postgres",host="localhost",password="1234",port="5432")
          4 cursor = connection.cursor()
          5 

C:\Users\*******\Anaconda3\lib\site-packages\psycopg2\__init__.py in connect(dsn, database, user, password, host, port, connection_factory, cursor_factory, async, **kwargs)
    162                 for (k, v) in items])
    163 
--> 164     conn = _connect(dsn, connection_factory=connection_factory, async=async)
    165     if cursor_factory is not None:
    166         conn.cursor_factory = cursor_factory

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

I edited the pg_hbf.conf as: host all all 0.0.0.0/0 md5

Again,same error repeated

Upvotes: 5

Views: 35419

Answers (3)

rutto
rutto

Reputation: 1

changed my IDE to Atom or use pycharm and there was no longer an error you can check the port also

Upvotes: 0

MauryCortes
MauryCortes

Reputation: 1

What worked for me was to open Services (search it in Windows), and then look for the postgres service: postgresql-x64-10 in my case.

  1. Run the service
  2. Restart the service

After that, the error was gone.

My error originated by installing MySQL after PostgreSQL, I guess there was a change in the ports or something, but this fixed it.

Upvotes: 0

mhawke
mhawke

Reputation: 87134

Clarification

The answer below was accepted, however, it was not the solution to the problem... the problem was that the postgresql server was configured for port 5433, not the default port of 5432. This should fix the problem:

connection = psycopg2.connect(database="gps_heatmap", user="postgres", password="1234", host="localhost", port=5433)

Original answer

Try replacing dbname="gps_heatmap" with database="gps_heatmap" as the former is intended for use within a connection string and the latter when keyword arguments are passed to psycopg2.connect():

connection = psycopg2.connect(database="gps_heatmap", user="postgres", host="localhost", password="1234")

Or you could use a connection string:

connection = psycopg2.connect("dbname=gps_heatmap user=postgres host=localhost password=1234")

Upvotes: 4

Related Questions