It's the first time that I can't find the answer about some tech problems Here's my problems:
>> 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"?
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
Thanks a lot!
First make sure PostgreSQL server has been started to remote server. If it is running and you get above error, you need to add enable TCP/IP support. By default, the PostgreSQL server only allows connections to the database from the local machine or localhost. This is a security feature.
The current psycopg2 implementation supports: Python 2 versions from 2.6 to 2.7. Python 3 versions from 3.2 to 3.6. PostgreSQL server versions from 7.4 to 9.6.
Your libpq, which is used by psycopg2 expects Postgres socket to be in /var/run/postgresql/
but when you install Postgres from source it is by default it in /tmp/
.
Check if there is a file /tmp/.s.PGSQL.5432
instead of /var/run/postgresql/.s.PGSQL.5432
. Try:
conn=psycopg2.connect( database="mydb", user="postgres", host="/tmp/", password="123" )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With