Sorry for the noise, I am able to connect to postgres with hostaddr parameter.
Earlier I only had
localhost:5432:postgres:postgres:test
in my pgpass file which allowed me to connect to database using host parameter(value: localhost).
but when I try to use the same file with hostaddr parameter(value: 127.0.0.1) it failed, I assumed that mapping from IP address 127.0.0.1 to localhost will be done automatically but I was wrong.
Then I added new entry in pgpass file like below and it worked, Now I'm able to connect with hostaddr parameter as well.
On Tue, Nov 21, 2017 at 6:02 AM, Murtuza Zabuawala <m_zabuawala@yahoo.com> wrote: > Hi, > > I'm trying to connect to postgres database server v.10 using latest version > of psycopg2(2.7.3.2) + Python3.6. > > The issue is that if I use pgpass parameter with host parameter in > psycopg2's connect() method I'm able to connect to postgres server properly > but with the same pgpass parameter (as well as pgpass file) and if I use the > hostaddr parameter instead of host parameter I get error "No pasword > supplied" > > Is it a bug with psycopg2 or libpq?
We should at least know what is in the pgpass file (not necessarily the password, of course), and what command line you are trying to connect as.
In principle, if you can connect with psql using the same connection string, you can connect with psycopg as well.
If there is any bug it is in the libpq because psycopg just passes forward the connection string. But I'm pretty sure there is no bug and you have something wrong in your config. -- Daniele