Alcuni pacchetti OSX non creano un postgres account del database del superutente. Il superutente ha un nome diverso, nel tuo caso è main .
Quando esegui psql -U main senza specificare un database, per impostazione predefinita viene utilizzato lo stesso nome dell'utente. Se non si dispone di un database denominato main , indica un database diverso con -d opzione.
Se non hai un database a cui connetterti, usa template1
psql -U main -d template1
Se vuoi ancora concedere il superutente a postgres , esegui una volta effettuato l'accesso all'interno di psql:
alter user postgres superuser;