无法创建数据库-psql:严重:角色“ dyadav”不存在-Mac OS

时间:2019-04-05 04:14:38

标签: postgresql psql

我使用brew安装了postgres。

DYadav-MBP-2:~ dyadav$ brew install postgresql@9.6

下面是我的.bash_profile文件。

DYadav-MBP-2:~ dyadav$ cat .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH=/usr/local/opt/postgresql@9.6/bin/:$PATH

我还向/ etc / hosts中添加了127.0.0.1 postgres

使用以下命令启动postgres:

brew services start postgresql@9.6

但是当我运行psql postgres时,出现“ psql:FATAL:角色“ dyadav”不存在”

我遵循堆栈溢出中提供的许多解决方案,并没有真正帮助。

fyi:postgres在用户dyadav上运行。

DYadav-MBP-2:~ dyadav$ ps aux | grep postgres
dyadav            2338   0.0  0.0  4340528    896   ??  Ss    8:12AM   0:00.05 postgres: stats collector process
dyadav            2336   0.0  0.0  4485592   1968   ??  Ss    8:12AM   0:00.04 postgres: autovacuum launcher process
dyadav            2335   0.0  0.0  4485528   1000   ??  Ss    8:12AM   0:00.05 postgres: wal writer process
dyadav            2334   0.0  0.0  4485528   2020   ??  Ss    8:12AM   0:00.08 postgres: writer process
dyadav            2332   0.0  0.0  4485528   1072   ??  Ss    8:12AM   0:00.00 postgres: checkpointer process
dyadav            2302   0.0  0.1  4485808  17252   ??  S     8:12AM   0:00.06 /usr/local/opt/postgresql@9.6/bin/postgres -D /usr/local/var/postgresql@9.6
dyadav            4641   0.0  0.0  4268056    804 s000  S+    9:41AM   0:00.00 grep postgres

1 个答案:

答案 0 :(得分:0)

psql假定您要以当前操作系统用户身份连接到数据库。因此,psql postgres尝试使用数据库用户 postgres连接到名为dyadav的数据库。

要创建数据库时,需要以超级用户postgres(数据库用户,不是操作系统用户)的身份连接:

psql -d postgres -U postgres

-d指定要连接的数据库,-U指定要使用的数据库用户。

然后,您可以运行create database命令来创建另一个数据库。