이전 버전과의 호환성을 위해서
사용자와 그룹 생성을 위해 CREATE USRE, CREATE GROUP 명령어를 쓸수 있습니다만,
원래 CREATE ROLE 구문을 사용해야 합니다.
로그인이 가능한 유저를 생성해봅니다.
postgres@[local]:5432 postgres#SQL> CREATE ROLE lion LOGIN PASSWORD 'king';
CREATE ROLE
Time: 12.013 ms
postgres@[local]:5432 postgres#SQL> \q
[postgres@olmaster:~/9.2/data]$ psql -U lion
Password for user lion:
psql: FATAL: database "lion" does not exist
[postgres@olmaster:~/9.2/data]$ psql -U lion -d postgres # 로그인합니다.
Password for user lion:
Null display is "NULL".
Timing is on.
Pager is always used.
psql (9.2.1)
Type "help" for help.
lion@[local]:5432 postgres#SQL> create database lion; ##데이터베이스 생성 권한이 없네요
ERROR: permission denied to create database
Time: 0.307 ms
lion@[local]:5432 postgres#SQL> \q
[postgres@olmaster:~/9.2/data]$
그럼, 데이터베이스를 생성할수 있는 유저를 만들어 봅시다.
[postgres@olmaster:~/9.2/data]$ psql -d postgres -U postgres
Password for user postgres:
postgres@[local]:5432 postgres#SQL> CREATE ROLE tiger LOGIN PASSWORD 'king' CREATEDB;
postgres@[local]:5432 postgres#SQL> \q
[postgres@olmaster:~/9.2/data]$
[postgres@olmaster:~/9.2/data]$ psql -U tiger -d postgres
Password for user tiger:
Null display is "NULL".
Timing is on.
Pager is always used.
psql (9.2.1)
Type "help" for help.
tiger@[local]:5432 postgres#SQL> CREATE DATABASE TIGER;
CREATE DATABASE
Time: 1555.016 ms
tiger@[local]:5432 postgres#SQL> \q
[postgres@olmaster:~/9.2/data]$
이로서 데이터베이스 생성까지 완료를 했습니다.
참고로, 롤은 다음과 같은 명령으로 생성할수 있습니다.
CREATE ROLE monkey INHERIT;