1

Really struggling to get Postgres set up. I have installed it with home-brew (version 14). and installed the Postgres app through the website.

when I type the command 'psql' into my terminal it gives this error:

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL:  role "edac" does not exist

my server is running on port 5432.

any help will be appreciated.

edwrdcodeu
  • 47
  • 6

1 Answers1

2

A standard installation of Postgres has peer authentication enabled in pg_hba.conf. If you start psql without parameters it looks to connect with a DB role of the same name as the current OS user - obviously "edac" in your case.

Either you create such a role in the database (and grant desired privileges to it), or you connect with a different (existing) role. In a fresh installation, at least the database role "postgres" exists, which is a superuser.

Either you log in with username and password. Or simpler, connect as OS user "postgres" to allow peer authentication with the DB role of the same name. Like:

sudo -u postgres psql

Then you may want to create a DB role named "edac" (without superuser privileges):

CREATE ROLE edac;

Or, to just do that in one step with the shell command createuser:

sudo -u postgres createuser edac

See:

Erwin Brandstetter
  • 539,169
  • 125
  • 977
  • 1,137