[PostgreSQL] DATABASE 생성
2021. 2. 25. 16:54728x90
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 지정 결과 화면
-
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 |