728x90
프로젝트 회고 중 init.sql에 데이터베이스를 생성하는 쿼리문에 대해서 정리하고자 합니다. 데이터베이스 생성 시 사용된 각 설정의 의미와 중요성에 대해 자세히 알아보겠습니다.
데이터베이스 생성 쿼리 살펴보기
CREATE DATABASE post
WITH OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'en_US.utf8'
LC_CTYPE = 'en_US.utf8'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
1. 데이터베이스 이름과 소유자
- CREATE DATABASE post
- 'post'라는 이름의 새 데이터베이스를 생성합니다.
- OWNER = postgres
- 데이터베이스의 소유권을 postgres 사용자에게 부여합니다.
2. 문자 인코딩 설정
- ENCODING = 'UTF8'
- 유니코드 문자 인코딩을 사용하여 다양한 언어의 데이터를 저장할 수 있게 합니다.
3. 로케일 설정
- LC_COLLATE = 'en_US.utf8'
- 문자열 정렬 방식을 미국 영어 기준으로 설정
- LC_CTYPE = 'en_US.utf8'
- 문자 분류 방식을 미국 영어 기준으로 설정
4. 저장소 및 연결 설정
- TABLESPACE = pg_default
- 기본 테이블스페이스를 사용하여 데이터를 저장
기본 테이블스페이스(pg_default)란❓
: PostgreSQL에서 데이터를 저장하는 물리적인 공간을 의미
- CONNECTION_LIMIT = -1
- 동시 접속자 수를 무제한으로 설정
프로젝트에서의 의미
이러한 설정들은 프로젝트의 안정성과 확장성에 중요한 영향을 미칩니다
- UTF8 인코딩을 사용함으로써
- 한글을 포함한 모든 언어의 데이터를 안전하게 저장
- 향후 다국어 지원이 필요할 때 별도의 마이그레이션 불필요
- 영어 로케일 설정으로
- 일관된 데이터 정렬 규칙 적용
- 국제적 표준에 맞는 문자 처리 가능
- 무제한 연결 설정으로
- 개발 환경에서 연결 제한 없이 작업 가능
- 필요시 프로덕션 환경에서 조정 가능
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.12.11 - 정렬 방식의 이해: 오름차순, 내림차순, 비내림차순, 비증가순 (0) | 2024.12.11 |
---|---|
[TIL, 일일 회고] 2024.12.10 - 파도반 수열이란❓ (0) | 2024.12.10 |
[TIL, 일일 회고] 2024.12.08 - Dockerfile : ARG 명령어 알아보기 (0) | 2024.12.08 |
[TIL, 일일 회고] 2024.12.07 - 스냅샷(Snapshot)이란? (0) | 2024.12.07 |
[TIL, 일일 회고] 2024.12.06 - Docker : RUN, CMD, ENTRYPOINT 명령어의 차이점알아보기 (0) | 2024.12.06 |