1

我正在尝试设置一个可以随意创建和销毁的玩具数据库。我不想使用postgres用户,以防我破坏了重要的东西。我做了以下事情:

$ psql -h localhost -U postgres
postgres=# \du
                       List of roles
 Role name |            Attributes             | Member of 
-----------+-----------------------------------+-----------
 postgres  | Superuser, Create role, Create DB | {}

postgres=# create user Stephen createdb;
CREATE ROLE
postgres=# \du
                   List of roles
 Role name |            Attributes             | Member of 
-----------+-----------------------------------+-----------     
 postgres  | Superuser, Create role, Create DB | {}
 stephen   | Create DB                         | {}

postgres=# ^D\q

然后,当我尝试连接时,出现以下错误:

$ psql -h localhost 
psql: FATAL:  role "Stephen" does not exist
$ psql -h localhost -U Stephen
psql: FATAL:  role "Stephen" does not exist

这对我来说毫无意义。我可以看到用户,斯蒂芬,但它不会让我使用它。我错过了什么?

我在 OS X Lion 上使用 psql 9.0.10。

4

2 回答 2

2

您是否尝试将其写成区分大小写:

$ psql -h localhost -U stephen

由于您的角色名称以小s?

于 2013-06-27T21:11:12.223 回答
1

登录名区分大小写 - “Stephen”与“stephen”不同。

于 2013-06-27T21:11:58.930 回答