PostgreSQL 기본강좌
DATABASE 생성 0 1 68,840

by PostgreSQL PostgreSQL DATABASE [2015.11.03]


DATABASE 구조

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

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

  • [그림] DATABASE 구조
  • PostgreSQL-DATABASE

DATABASE 소유

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

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

DATABASE 조회

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


\l

  • [그림] CLUSTER내의 DATABASE 조회
  • PostgreSQL-DATABASE

CREATE DATABASE

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


CREATE DATABASE name

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 생성 예제]
  • 
    CREATE DATABASE T_D;
    
    

  • [그림] T_DDATABASE 생성 결과 화면
  • PostgreSQL-DATABASE

  • [DATABASE OWNER 지정 후 생성 예제]
  • 
    CREATE DATABASE T_D2 OWNER TEST2;
    
    

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

- 강좌 URL : http://www.gurubee.net/lecture/2942

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 황성범 [2019.06.16 11:46:27]

MySQL 만 다루다가 PostgreSQL 을 다루려고 하니 많이 어렵네요.

자주 방문하도록 할게요! 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입