Reputation: 1016
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
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
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.
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
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