Вашият libpq, който се използва от psycopg2, очаква Postgres сокетът да бъде в /var/run/postgresql/
но когато инсталирате Postgres от източник, той по подразбиране е в /tmp/
.
Проверете дали има файл /tmp/.s.PGSQL.5432
вместо /var/run/postgresql/.s.PGSQL.5432
. Опитайте:
conn=psycopg2.connect(
database="mydb",
user="postgres",
host="/tmp/",
password="123"
)