Algunos paquetes de OSX no crean un postgres cuenta de base de datos de superusuario. El superusuario tiene un nombre diferente, en su caso es main .
Cuando haces psql -U main sin especificar una base de datos, por defecto tiene el mismo nombre que el usuario. Si no tiene una base de datos llamada main , indica una base de datos diferente con -d opción.
Si no tiene una base de datos a la que conectarse, use template1
psql -U main -d template1
Si aún desea otorgar superusuario a postgres , hazlo una vez que hayas iniciado sesión dentro de psql:
alter user postgres superuser;