Postgresql에 접속하기 위해서는 현재 OS에 Login한 User를 Postgresql에 존재하는 User 중 하나로 변경해야 한다.
sudo -i -u postgres
postgres: Postgresql의 Default User이자 Default DBpsql
psql: Postgresql 접속 명령어psql -d <DB> 또는 psql <DB> 명령어로 Default DB인 postgres가 아닌 다른 DB로 접속 가능CREATE USER <유저명> WITH PASSWORD '<패스워드>';
CREATE USER ubuntu WITH PASSWORD 'test-password';
ALTER USER <유저명> WITH SUPERUSER;
ALTER USER ubuntu WITH SUPERUSER;
CREATE DATABASE <DB명>;
CREATE DATABASE "test-database";
- 등의 특수문자가 DB명에 들어갈 때는 큰 따옴표(")로 묶어주면 된다.ALTER DATABASE <DB명> OWNER TO <유저명>;
ALTER DATABASE "test-database" OWNER TO ubuntu;
- 등의 특수문자가 DB명에 들어갈 때는 큰 따옴표(")로 묶어주면 된다.GRANT <권한> ON <대상> TO <유저명> WITH GRANT OPTION;
GRANT ALL ON DATABASE "test-database" TO ubuntu WITH GRANT OPTION;
- 등의 특수문자가 DB명에 들어갈 때는 큰 따옴표(")로 묶어주면 된다.
권한은 대상에 따라 달라지며 대략 아래와 같다.
| 권한 | 설명 |
|---|---|
| SELECT | 테이블이나 뷰에 데이터를 조회할 수 있다. UPDATE와 DELETE를하기 위해서도 필요하다. |
| INSERT | 테이블에 새로운 데이터를 추가할 수 있다. |
| UPDATE | 테이블의 데이터를 업데이트 할 수 있다. |
| DELETE | 테이블에서 데이터를 삭제할 수 있다. |
| TRUNCATE | 테이블의 데이터를 비울 수 있다. |
| REFERENCES | 테이블과 컬럼에 외래 키 제약 조건을 만들 수 있다. |
| TRIGGER | 테이블에 트리거를 만들 수 있다. |
| CREATE | 대상이 데이터베이스의 경우 스키마를 만들 수 있다. 대상 스키마의 경우, 테이블 등의 개체를 만들 수 있다. |
| CONNECT | 지정된 데이터베이스에 연결할 수 있다. |
| TEMPORARY | 데이터베이스에 임시 테이블을 만들 수 있다. |
| EXECUTE | 함수 또는 프로 시저 연산자의 사용을 허용한다. |
| USAGE | 대상이 스키마의 경우는 객체에 대한 액세스를 허용한다. 대상이 스키가 아니면, 대상에 따라 권한이 부여 된다. |
| ALL | 사용할 수 있는 권한을 정리해 허용한다. |
대상은 Table, Table의 Column, Database 등이다.
CREATE TABLE 테이블명 (필드명1 자료형(크기), 필드명2 자료형(크기), 필드명3 자료형(크기);
CREATE TABLE "Test" (id int, name varchar(10), password varchar(10));
")로 묶어주면 된다. 만약 큰 따옴표를 생략하게 되면 소문자로 통일되어 Table이 생성된다.
많은 도움이 되었습니다, 감사합니다.