[PostgreSQL] DATABASE 생성

2021. 2. 25. 16:54
728x90

DATABASE 구조

PostgreSQL의 DATABASE는 여러 개의 SCHEMA들로 구성되어 있습니다. SCHEMA는 OBJECT들의 논리적인 집합을 말합니다.

SCHEMA는 TABLE, VIEW, SEQUENCE, SYNONYM, DOMIAN, FUNCTION동의 OBJECT들로 구성되어 있습니다. 이러한 DATABASE들과 USER/GROUPS, TABLESPACES들이 모여 CLUSTER를 구성합니다.

  • [그림] DATABASE 구조

DATABASE 소유

DATABASE를 생성하기 위해서는 SUPERUSER이거나 CREATEDB권한이 있는 USER이어야 합니다.

SUPERUSER는 다른 USER가 만든 DATABASE를 소유할 수도 있습니다. SUPERUSER 이외의 일반 USER들은 자신이 생성한 DATABASE만 소유할 수 있습니다.

DATABASE 조회

현재 존재하고 있는 DATABASE를 조회하기 위해서는 pgAdmin의 Object Browser에서 검색하거나 psql에서 \l 명령어로 조회할 수 있습니다.

  • [그림]  pgadmin 내의 DATABASE 조회

 

 

  • [그림] CLUSTER내의 DATABASE 조회

CREATE DATABASE

CREATE DATABASE ‘name’을 입력하여 DATABASE를 생성합니다.

DATABASE 생성 option은 다음과 같습니다.

Option                                                                         기능

[[WITH] [OWNER [=] dbowner] DATABASE를 소유하는 USER를 지정합니다. 따로 지정하지 않을 경우에는 명령을 실행시킨 USER가 주인이 됩니다.
[TEMPLATE [=] template] 지정한 TEMPLATE을 복제해서 미리 정의 된 표준객체를 포함한 DATABASE를 생성할 수 있습니다.
[ENCODING [=] encoding] DATABASE에서 사용할 ENCODING을 설정합니다. EX) SQL_ASCII
[ LC_COLLATE [=] lc_collate ] 컬럼과 인덱스, ORDER BY절에서 문자열에 적용되는 정렬 순서에 영향을 줍니다.
[ LC_CTYPE [=] lc_ctype ] 문자 분류로 대 소문자 숫자분류를 설정 합니다.
[TABLESPACE [=] tablespace]] 지정한 TABLESPACE가 DATABASE에서 만든 개체에 사용되는 기본 테이블이 됩니다.
[ CONNECTION LIMIT [=] connlimit ] ] DATABASE에 동시접속 할 수 있는 것을 제한합니다. DEFAULT로 -1(제한없음) 으로 설정 되어있습니다.
  • [DATABASE 생성 예제]

     

  • [그림] T_DDATABASE 생성 결과 화면
  • [DATABASE OWNER 지정 후 생성 예제]

     

  • [그림] T_D2DATABASE OWNER 지정 결과 화면
  •  

출처 : www.gurubee.net/lecture/2942

728x90

'DATABASE > POSTGRESQL' 카테고리의 다른 글

[PostgreSQL] SCHEMA 생성  (0) 2021.02.25
[PostgreSQL] DATABASE 수정 및 삭제  (0) 2021.02.25
[PostgreSQL] USER 수정 및 삭제  (0) 2021.02.25
[PostgreSQL] USER 생성  (0) 2021.02.25
[PostgreSQL] pgsql 명령어  (0) 2021.02.25