Twoja biblioteka libpq, używana przez psycopg2 oczekuje, że gniazdo Postgres będzie znajdować się w /var/run/postgresql/ ale kiedy instalujesz Postgresa ze źródeł, domyślnie znajduje się on w /tmp/ .
Sprawdź, czy istnieje plik /tmp/.s.PGSQL.5432 zamiast /var/run/postgresql/.s.PGSQL.5432 . Wypróbuj:
conn=psycopg2.connect(
database="mydb",
user="postgres",
host="/tmp/",
password="123"
)