Você precisa ter valores literais em ~/.pgpass , não variáveis de shell como $DB_HOST .
Se você precisar de variáveis de ambiente, poderá usá-las suportadas pela libpq (biblioteca cliente do PostgreSQL) como $PGDATABASE ou $PGPASSWORD . Existem muitos outros . Você não precisará de ~/.pgpass se você usá-los.