PostgreSQL에서 새로운 데이터베이스를 생성하는 방법은 크게 두 가지입니다. 
터미널(OS)에서 바로 명령어를 입력하거나, 데이터베이스 접속 후 SQL 문을 사용하는 방법입니다.


1. SQL 문을 사용하여 생성하기 (추천)

psql이나 DBeaver 같은 GUI 툴에 접속한 상태에서 사용하는 표준 방식입니다.

-- 가장 기본적인 생성 전용 명령어
CREATE DATABASE 프로젝트명;

-- 소유자(Owner)와 인코딩을 지정하여 생성 (권장)
CREATE DATABASE cjstory_db 
WITH OWNER = 사용자명 
ENCODING = 'UTF8';

OWNER: 해당 데이터베이스의 관리 권한을 가질 사용자를 지정합니다.
ENCODING: 한글 깨짐 방지를 위해 보통 UTF8을 사용합니다.

2. 터미널(쉘)에서 직접 생성하기

데이터베이스에 접속하지 않고도 시스템 명령어로 즉시 생성할 수 있습니다.

# postgres 계정 권한으로 실행
sudo -u postgres createdb 데이터베이스명

# 특정 사용자를 소유자로 지정하며 생성
sudo -u postgres createdb -O 사용자명 데이터베이스명

3. 생성된 데이터베이스 확인 및 이동

정상적으로 생성되었는지 확인하고 해당 DB로 작업 환경을 전환하는 방법입니다.

목록 확인: \l (list의 약자)
데이터베이스 연결(이동): \c 데이터베이스명 (connect의 약자)
 

 

[ 실무 팁: 데이터베이스 설계 시 고려사항 ]
 

  • 네이밍 규칙: 가급적 소문자를 사용하고 단어 사이는 언더바(_)를 사용하는 것이 좋습니다 (예: service_main_db). PostgreSQL은 대소문자를 구분하지만, 쿼리 작성 시 번거로움을 줄이기 위함입니다.
     
  • 권한 분리: postgres 관리자 계정으로 테이블을 만들기보다, 서비스 전용 계정을 먼저 생성(CREATE ROLE)한 뒤 그 계정에 DB 소유권을 주는 것이 보안상 안전합니다.
     
  • Template: 특정 설정이나 확장이 포함된 DB를 복제해서 만들고 싶다면 TEMPLATE 옵션을 사용할 수 있습니다.