Postgres user does not exist?
我刚刚安装了Postgres,并且已经修补了它和各种配置1-2小时。
我被困在无法改变为postgres用户
这些尝试是作为普通用户进行的。 以root身份尝试它们具有完全相同的结果。 我在OS X上通过Homebrew安装了postgres,我已多次阅读说明。
Sudo对我来说似乎不是必需的。
我使用Postgres.app作为我的OS X postgres数据库。它消除了确保安装正常并且数据库服务器正确启动的麻烦。在这里查看:http://postgresapp.com
编辑:感谢@Erwin Brandstetter纠正我对参数的使用。
通过
但是通过
因此,如果您没有另一个名为您的用户名的数据库,则需要使用
如果您已经创建了与用户名相同的其他数据库名称(应该使用
1 | psql -d <FIRST DATABASE name> -U <FIRST DATABASE USER name> |
要么,
1 2 | psql -d postgres -U <your machine username> psql -d postgres |
会默认工作。
OS X倾向于在系统帐户名前加上"_";你没有说你正在使用什么版本的OS X,但至少在10.8和10.9中,_postgres用户存在于默认安装中。请注意,您将无法
我得到与
DanielM的回答也给出了错误。
设置错误时输出
但是请回答przbabu的评论。
1 2 3 4 5 6 7 | masi$ psql psql: FATAL: DATABASE"masi" does NOT exist masi$ psql -U postgres psql: FATAL: ROLE"postgres" does NOT exist masi$ psql postgres psql (9.4.1) TYPE"help" FOR help. |
我认为这个问题的某些部分可能在OSX的所有者设置中
1 2 3 4 5 6 7 8 | masi$ ls -al /Users/ total 0 drwxr-xr-x 7 root admin 238 Jul 3 09:50 . drwxr-xr-x 37 root wheel 1326 Jul 2 19:02 .. -rw-r--r-- 1 root wheel 0 Sep 10 2014 .localized drwxrwxrwt 7 root wheel 238 Apr 9 19:49 Shared drwxr-xr-x 2 root admin 68 Jul 3 09:50 postgres drwxr-xr-x+ 71 masi staff 2414 Jul 3 09:50 masi |
但是
简而言之,这不是解决问题的方法。
使用postgres安装提供的工具来创建用户和数据库。
获得正确的设置和输出
postgres安装后有一些特定的命令可以将新用户添加到数据库系统。
在initdb之后,按照此处所述运行以下命令
1 2 3 | createuser --pwprompt postgres createdb -Opostgres -Eutf8 masi_development psql -U postgres -W masi_development |
为了始终避免密码请求,您有三个选择,如此处所述。
1 | psql -U postgres |
在db名称的情况下工作得很好:postgres&amp;用户名:postgres。所以你不需要写sudo。
在其他数据库的情况下,您可以尝试
1 | psql -U yourdb postgres |
正如Postgres帮助中给出的那样:
1 | psql [OPTION]... [DBNAME [USERNAME]] |
这里的讨论和答案对我很有帮助:
psql:FATAL:数据库"
解决方案很简单:
以root身份登录
之后:
1 2 3 | su - postgres psql |