>

코드 :

postgres=# create role hello;
CREATE ROLE
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 hello     | Cannot login                                   | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}
postgres=# ALTER ROLE hello WITH LOGIN;
ALTER ROLE
postgres=# ALTER ROLE hello WITH CREATEDB;
ALTER ROLE
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 hello     | Create DB                                      | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}
postgres=# ALTER ROLE hello WITH PASSWORD '123';
ALTER ROLE
postgres=# \q
-bash-4.2$ logout
[root@host test_user]# psql -U hello
Password for user hello:
psql: FATAL:  database "hello" does not exist

hello 라는 역할을 만들려고합니다.   CREATE ROLE 와 함께 Postgres에서  로그인 및 데이터베이스 생성 권한을 변경했습니다. 그러나 -U 로 로그인하려고하면  그것은 위를 보여줍니다. -U 에 대한 나의 이해가 여기 잘못 되었습니까? ?


  • 답변 # 1

    와이즈 비즈

    자세한 내용은 여기를 참조하십시오 :

    데이터베이스를 만든 후 다음을 수행 할 수 있습니다.

    By default, another assumption that the Postgres authentication system makes is that there will be an database with the same name as the role being used to login, which the role has access to.

    쉘에 자동으로 로그인합니다.

    sudo -u hello psql

  • 이전 C # RegEx 및 사전을 사용하여"전체 단어 만"대체
  • 다음 android - Google 콘솔 API 차트 분석 문제