반응형
OS
- Ubuntu 24.04 Server
- Postgresql : 16.8
설치
sudo apt install postgresql postgresql-contrib -y
postgresql-contrib?
contrib(contributed modules) : 추가적인 기능 확장 모듈을 포함하는 패키지, 고급 기능이나 확장이 필요할 경우 유용
pg_stat_statements → SQL 실행 통계를 수집하는 확장 기능
hstore → JSON-like key-value 저장을 지원하는 기능
uuid-ossp → UUID 생성 기능 제공
pgcrypto → 암호화 및 해싱 함수 제공
fuzzystrmatch → 문자열 유사도 비교 기능
sudo systemctl enable postgresql
sudo systemctl status postgresql
설정
sudo vi /etc/postgresql/{version}/main/pg_hba.conf
# IPv4 local connections 하단에 추가
host all all 0.0.0.0/0 scram-sha-256
sudo vi /etc/postgresql/{version}/main/postgresql.conf
# 외부 접속 허용
listen_addresses = '*'
# 포트 변경
port = ~
# 동시에 처리할 수 있는 최대 클라이언트 연결 수
max_connections = 100
# 디스크에서 읽어온 데이터를 캐싱하는 버퍼 풀, 시스템 RAM의 25%가 적절
shared_buffers = 512MB
# 쿼리 정렬, 해시(Hash Join), 집계 연산 시 할당되는 메모리 크기
work_mem = 4MB
# 유지보수 작업에 사용되는 메모리
maintenance_work_mem = 64MB
# 로그 파일 명
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
# 1일마다 로그파일 분리
log_rotation_age = 1d
# 용량 10MB마다 파일 분리
log_rotation_size = 10MB
# log_rotation_age에 설정한 값 이후 쌓인 파일 제거
# log_rotation_age = 1d 01-01에 생성된 파일(0101.log)은 01-02에 삭제되며 0102.log파일이 새로 생성
# log_rotation_age, log_rotation_size의 적절한 값 적용 필요
log_truncate_on_rotation = on
# 1초이상 수행된 쿼리 로깅
log_min_duration_statement = 1000
sudo systemctl restart postgresql
sudo -u postgres psql
# DB 계정인 postgres의 비밀번호 변경
\password postgres
# SUPERUSER 생성
CREATE USER {userName} PASSWORD '{password}' SUPERUSER;
반응형
'DataBase > Postgresql' 카테고리의 다른 글
Postgresql EXTENSION ex) pg_stat_statements, pg_trgm (0) | 2025.04.04 |
---|