Вашият 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"
)