PostgreSQL 17 환경 구축(1) : 설치 하기 - Rocky Linux 8, Ubuntu 24.04 LTS 환경
- -
안녕하세요! 갓대희 입니다.
오늘은 PostgreSQL을 처음 설치하는 과정을 공유하려 한다.

이 글에서는 Rocky Linux 8.10과 Ubuntu 24.04 LTS 두 환경에서 PostgreSQL 17을 설치하고 원격 접속 설정까지 완료하는 과정을 비교한다. 각 환경의 특성과 장단점을 이해하면 프로젝트에 맞는 선택을 할 수 있다.
- 대상 버전 : PostgreSQL 17.7 (2025년 11월 릴리즈)
- 대상 플랫폼 : Rocky Linux 8.10 (Green Obsidian) / Ubuntu 24.04 LTS (Noble Numbat)
- 대상 독자 : DBA, 백엔드 개발자
- 공식문서 링크 : https://www.postgresql.org/docs/17/
목차
1. 환경 비교 개요
Rocky Linux와 Ubuntu는 PostgreSQL 운영 환경으로 모두 훌륭하지만, 패키지 관리 방식과 기본 설정이 상당히 다르다.
표 1-1. Rocky Linux vs Ubuntu 주요 차이점
| 항목 | Rocky Linux 8.10 | Ubuntu 24.04 LTS |
|---|---|---|
| 패키지 관리자 | dnf (yum) | apt |
| 데이터 디렉토리 | /var/lib/pgsql/17/data | /var/lib/postgresql/17/main |
| 설정 파일 위치 | /var/lib/pgsql/17/data/ | /etc/postgresql/17/main/ |
| 클러스터 초기화 | 수동 initdb 필요 | apt 설치 시 자동 생성 |
| 서비스 관리 | systemctl + postgresql-17 | pg_ctlcluster 래퍼 |
| 보안 모델 | SELinux Enforcing | AppArmor |
| 방화벽 | firewalld | ufw |
| 지원 기간 | 2029년 (10년) | 2029년 (5년, ESM 10년) |
Rocky Linux는 RHEL 호환으로 엔터프라이즈 환경에, Ubuntu는 빠른 실험과 개발 환경에 적합하다. 백업 스크립트 작성 시 데이터 디렉토리 및 설정 파일 경로가 다르므로 주의가 필요하다.
2. Rocky Linux 8.10 PostgreSQL 17 설치
단계별 권한 요약 (Rocky Linux)
PostgreSQL 설치시 root 작업과 postgres 작업을 구분하자. 하기 요약 참고
| 단계 | 권한 | 권장 명령 |
|---|---|---|
| PGDG 저장소 설치 | root | sudo dnf install ... |
| 디렉토리 생성 (/data, /pg_wal) | root | sudo mkdir, sudo chown |
| initdb 실행 | postgres | sudo -iu postgres |
| 서비스 등록/시작 (systemctl) | root | sudo systemctl ... |
| SELinux 설정 | root | sudo semanage ... |
| psql 접속 테스트 | postgres | sudo -u postgres psql |
su - root 대신 sudo를 사용한다. initdb는 반드시 postgres 유저로 실행해야 하며, root로 실행하면 소유권 문제가 발생한다.
2-0. 준비된 환경에 따른 설치 방법 확인
상기에 작성한 버전에 따른 설치를 진행할 예정이지만, 혹시 다른 환경인 경우에도 다음과 같은 방법으로 설치 준비를 할 수 있다.
- Download 페이지 접속 > 본인이 설치할 환경 선택

- 본인의 준비된 장비 상세 스펙과 설치할 PostgreSQL 버전을 선택하면 설치 스크립트를 복사할 수 있다.

2-1. PGDG 저장소 설정 및 엔진 설치
PostgreSQL Global Development Group (PGDG)에서 제공하는 공식 저장소를 사용한다. 배포판 기본 저장소의 PostgreSQL은 버전이 오래된 경우가 많으므로 PGDG를 권장한다.
# PGDG 저장소 RPM 설치
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 배포판 기본 PostgreSQL 모듈 비활성화
sudo dnf -qy module disable postgresql
# PostgreSQL 17 서버 설치
sudo dnf install -y postgresql17-server postgresql17-contribex) sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

ex) sudo dnf -qy module disable postgresql

ex) sudo dnf install -y postgresql17-server postgresql17-contrib

설치가 완료되면
postgres OS 유저가 자동으로 생성된다.# postgres 유저 확인
cat /etc/passwd | grep postgres
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
# postgres OS 유저 패스워드 설정 (su - postgres 사용 시 필요)
sudo passwd postgres
2-2. 데이터 디렉토리 준비 (별도 볼륨 사용 시)
업무 환경에서는 데이터와 WAL 파일을 별도 디스크 볼륨에 저장하는 것이 일반적이다. 디렉토리를 생성하고 postgres 유저에게 소유권을 부여한다.
# 데이터 및 WAL 디렉토리 생성 (root 권한 필요)
sudo mkdir -p /pgdata/17
sudo mkdir -p /pg_wal/17
# postgres 유저에게 소유권 부여
sudo chown postgres:postgres /pgdata/17
sudo chown postgres:postgres /pg_wal/17
# 권한 확인
ls -la /pgdata/
drwxr-xr-x. 2 postgres postgres 6 Jan 19 12:30 17- 성능: WAL을 별도 SSD에 배치하면 I/O 경합 감소
- 용량 관리: 데이터와 WAL의 증가량을 별도로 모니터링 가능
- 백업 효율: 스냅샷 백업 시 볼륨 단위로 관리 용이
2-3. 데이터베이스 클러스터 초기화 (initdb)
Rocky Linux에서는 apt와 달리 수동으로 initdb를 실행해야 한다. 이는 DBA가 직접 옵션을 제어할 수 있다는 장점이 있다.
표 2-1. initdb 핵심 옵션
| 옵션 | 설명 |
|---|---|
| --locale='C' | 한글 정렬 정확성 및 LIKE 검색 인덱스 사용을 위해 필수 |
| --encoding='UTF8' | 모든 한글 조합 지원 (한글 3바이트, 영문 1바이트) |
| --auth='scram-sha-256' | 버전 14부터 기본값, 가장 안전한 인증 방식 |
| --data-checksums | 데이터 블록 손상 감지, pgBackRest delta 복구에 필요 |
| --pgdata | 데이터베이스 클러스터 저장 위치 |
| --waldir | WAL 파일 저장 위치 (별도 디스크 권장) |
- 한글 정렬 문제: ko_KR.UTF-8 로케일에서 한글 정렬 결과가 부정확할 수 있다
- 인덱스 사용 문제: 'C' 외의 로케일에서 LIKE 'prefix%' 검색 시 인덱스를 사용하지 못할 수 있다
기본 경로 사용 시: (나의 경우 별도 디렉도리 사용 > 이후 방법)
# postgres 유저로 전환
sudo -i -u postgres
# 데이터베이스 클러스터 초기화
/usr/pgsql-17/bin/initdb --locale='C' --encoding='UTF8' \
--auth='scram-sha-256' --data-checksums --pwprompt
# 기본 데이터 경로: /var/lib/pgsql/17/data
업무용 별도 디스크 볼륨 사용 시:
ex)

2-4. 인스턴스 시작 및 서비스 등록
# postgres 유저로 전환 후 환경 변수 설정
sudo -iu postgres
# ~/.bash_profile에 환경 변수 추가
echo "export PATH=/usr/pgsql-17/bin:\$PATH" >> ~/.bash_profile
echo "export PGDATA=/pgdata/17" >> ~/.bash_profile
source ~/.bash_profile
# postgres 유저 세션 종료
exit
# 서비스 자동 시작 등록 (일반 유저로 복귀 후)
sudo systemctl enable postgresql-17기본 경로(/var/lib/pgsql/17/data)가 아닌 별도 경로를 사용하는 경우, systemd 서비스 파일에서 PGDATA를 수정해야 한다.
# 서비스 파일 위치 확인
systemctl list-unit-files | grep -i postgre
postgresql-17.service disabled
# 서비스 파일 수정
sudo vi /usr/lib/systemd/system/postgresql-17.service
# Environment 라인 수정
Environment=PGDATA=/pgdata/17
# 변경사항 적용
sudo systemctl daemon-reload
# 서비스 시작 및 상태 확인
sudo systemctl start postgresql-17
sudo systemctl status postgresql-17
표 2-3. pg_ctl 명령어 주요 옵션
| 옵션 | 설명 |
|---|---|
| start | 인스턴스 시작 |
| stop | 인스턴스 종료 |
| restart | 인스턴스 재시작 |
| reload | 설정 변경 적용 (재시작 없이) |
| status | 인스턴스 상태 확인 |
표 2-4. pg_ctl 종료 모드 (-m 옵션)
| 모드 | 동작 | Oracle 대응 |
|---|---|---|
| smart | 모든 클라이언트 세션이 종료될 때까지 대기 후 종료 | SHUTDOWN NORMAL |
| fast | 트랜잭션 롤백 후 세션 강제 종료, 체크포인트 수행 (기본값) | SHUTDOWN IMMEDIATE |
| immediate | 체크포인트 없이 즉시 종료 (다음 시작 시 복구 필요) | SHUTDOWN ABORT |
# 기본 종료 (fast 모드)
pg_ctl stop
# 세션 종료 대기 후 종료
pg_ctl stop -m smart
# 강제 즉시 종료 (복구 필요)
pg_ctl stop -m immediate
2-5. SELinux 고려사항
Rocky Linux는 기본적으로 SELinux Enforcing 모드로 동작한다. 단, 환경에 따라 Disabled 또는 Permissive로 설정된 경우도 있으므로 먼저 상태를 확인한다.
# SELinux 상태 확인
getenforce
Enforcing # 또는 Permissive / Disabled- Disabled: SELinux가 비활성화 상태 → 이 섹션을 건너뛰어도 됨
- Permissive: 정책 위반을 로그만 기록 → 선택적으로 설정
- Enforcing: 정책 위반 시 차단 → 아래 설정 필수
Enforcing 모드에서 별도 데이터 디렉토리 사용 시:
# semanage 명령이 없는 경우 패키지 설치
sudo dnf install -y policycoreutils-python-utils
# 별도 데이터 디렉토리 SELinux 컨텍스트 설정
sudo semanage fcontext -a -t postgresql_db_t "/pgdata/17(/.*)?"
sudo restorecon -Rv /pgdata/17
# 비표준 포트 사용 시 (5432 외 포트)
sudo semanage port -a -t postgresql_port_t -p tcp 5433
2-6. 접속 테스트
# postgres 유저로 psql 접속
sudo -u postgres psql
-- 버전 확인
SELECT version();
-- 종료
\qex) sudo -iu postgres > psql -d postgres

3. Ubuntu 24.04 PostgreSQL 17 설치
Ubuntu는 apt 설치 시 클러스터가 자동으로 생성된다. 이 점이 Rocky Linux와 가장 큰 차이점이다.
단계별 권한 요약 (Ubuntu)
| 단계 | 권한 | 권장 명령 |
|---|---|---|
| PGDG APT 저장소 설정 | root | sudo apt install ... |
| PostgreSQL 설치 (클러스터 자동 생성) | root | sudo apt install ... |
| 서비스 제어 (pg_ctlcluster) | root | sudo pg_ctlcluster ... |
| psql 접속 테스트 | postgres | sudo -u postgres psql |
sudo -u postgres psql로 접속 가능하다.3-1. PGDG APT 저장소 설정
# 필수 패키지 설치
sudo apt install -y postgresql-common
# PGDG APT 저장소 자동 설정 스크립트 실행
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
# 또는 수동 설정
sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
. /etc/os-release
sudo sh -c "echo 'deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $VERSION_CODENAME-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
sudo apt update
3-2. PostgreSQL 17 설치
# PostgreSQL 17 서버 설치 (클러스터 자동 생성)
sudo apt install -y postgresql-17 postgresql-contrib-17apt 설치 완료 후 바로
sudo -u postgres psql로 접속할 수 있다. initdb 없이 기본 클러스터(main)가 자동 생성된다.
3-3. pg_ctlcluster 래퍼 명령어
Ubuntu/Debian에서는 pg_ctl 대신 pg_ctlcluster 래퍼 명령어를 사용한다.
# 클러스터 목록 확인
pg_lsclusters
# 클러스터 제어
sudo pg_ctlcluster 17 main start
sudo pg_ctlcluster 17 main stop
sudo pg_ctlcluster 17 main restart
sudo pg_ctlcluster 17 main reload
sudo pg_ctlcluster 17 main status표 3-1. Ubuntu PostgreSQL 주요 경로
| 항목 | 경로 |
|---|---|
| 데이터 디렉토리 | /var/lib/postgresql/17/main |
| 설정 파일 | /etc/postgresql/17/main/ |
| 바이너리 | /usr/lib/postgresql/17/bin/ |
| 로그 | /var/log/postgresql/ |
3-4. 접속 테스트
# postgres 유저로 psql 접속
sudo -u postgres psql
-- 버전 확인
SELECT version();
-- 종료
\qex)

4. 접속 설정 (pg_hba.conf, 방화벽)
PostgreSQL 설치 후 로컬 접속은 바로 가능하지만, 원격 접속을 위해서는 추가 설정이 필요하다. 두 가지를 설정해야 한다: postgresql.conf(리스닝 설정)와 pg_hba.conf(인증 설정).
4-1. postgresql.conf - listen_addresses 설정
기본 설정에서 PostgreSQL은 localhost(127.0.0.1)에서만 접속을 수신한다. 원격 접속을 허용하려면 listen_addresses를 변경해야 한다.
# Rocky Linux: 설정 파일 위치
sudo vi /var/lib/pgsql/17/data/postgresql.conf
# Ubuntu: 설정 파일 위치
sudo vi /etc/postgresql/17/main/postgresql.conf
# listen_addresses 설정 변경
listen_addresses = '*' # 모든 IP에서 접속 허용
# 또는 특정 IP만 허용
listen_addresses = '192.168.1.10,127.0.0.1'
# 포트 설정 (기본값: 5432)
port = 5432
4-2. pg_hba.conf - 클라이언트 인증 설정
pg_hba.conf는 PostgreSQL의 Host-Based Authentication 파일로, 누가 어떤 데이터베이스에 어떤 방식으로 접속할 수 있는지 정의한다.
표 4-1. pg_hba.conf 칼럼 설명
| 칼럼 | 설명 |
|---|---|
| TYPE | local (유닉스 소켓), host (TCP/IP), hostssl (SSL 필수), hostnossl (SSL 금지) |
| DATABASE | 대상 데이터베이스 (all, 특정 DB명, @파일명) |
| USER | 대상 사용자 (all, 특정 유저명, +그룹명) |
| ADDRESS | 클라이언트 IP (CIDR 형식: 192.168.1.0/24) |
| METHOD | 인증 방식 (아래 표 참조) |
표 4-2. 인증 방식 (METHOD)
| METHOD | 설명 |
|---|---|
| trust | 암호 없이 접속 허용 (보안 취약, 테스트 환경에서만) |
| peer | OS 유저명과 DB 유저명 일치 시 허용 (local 접속만) |
| scram-sha-256 | 암호 해시 검증 (권장, PG 14+ 기본값) |
| md5 | 암호 해시 검증 (레거시, scram-sha-256 권장) |
| reject | 무조건 접속 거부 |
권장 설정 예시:
# Rocky: /var/lib/pgsql/17/data/pg_hba.conf
# Ubuntu: /etc/postgresql/17/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# 로컬 유닉스 소켓 접속 (OS 유저 인증)
local all postgres peer
local all all peer
# IPv4 로컬 접속
host all all 127.0.0.1/32 scram-sha-256
# IPv6 로컬 접속
host all all ::1/128 scram-sha-256
# 특정 서브넷에서 원격 접속 허용
host all all 192.168.1.0/24 scram-sha-256
# 특정 IP에서만 특정 DB 접속 허용
host mydb myuser 10.0.0.100/32 scram-sha-256- 규칙은 위에서 아래로 순차 적용된다 (첫 번째 매칭 규칙 사용)
- 더 구체적인 규칙을 위에 배치해야 한다
- 설정 변경 후
pg_ctl reload또는 서비스 재시작 필요
4-3. 사용자 생성 및 암호 설정
-- postgres 유저로 접속 후
sudo -u postgres psql
-- 새 사용자 생성
CREATE USER myuser WITH PASSWORD 'secure_password';
-- 데이터베이스 생성
CREATE DATABASE mydb OWNER myuser;
-- 권한 부여
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
-- 기존 유저 암호 변경
ALTER USER postgres PASSWORD 'new_secure_password';
4-4. 설정 적용 및 방화벽
# 설정 변경 적용 (재시작 없이)
# Rocky Linux
sudo systemctl reload postgresql-17
# Ubuntu
sudo pg_ctlcluster 17 main reload방화벽 설정:
# Rocky Linux (firewalld)
sudo firewall-cmd --add-service=postgresql --permanent
sudo firewall-cmd --reload
# 또는 포트 직접 지정
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
# Ubuntu (ufw)
sudo ufw allow 5432/tcp
sudo ufw status
4-5. 원격 접속 트러블슈팅
PostgreSQL 원격 접속은 3단계로 이루어진다. 각 단계에서 발생하는 에러와 해결 방법을 체계적으로 정리한다.
PostgreSQL 연결 3단계
| 1 | 네트워크 도달 | 클라이언트 → 서버 IP:Port 도달 (방화벽, 라우팅) |
| 2 | TCP 수신 대기 | PostgreSQL이 해당 인터페이스에서 수신 (listen_addresses) |
| 3 | 클라이언트 인증 | pg_hba.conf 규칙 매칭 + 암호 검증 |
표 4-3. 접속 에러 유형과 원인
| 단계 | 에러 메시지 (영문) | 원인 | 확인 대상 |
|---|---|---|---|
| 1-2 | Connection refused |
서버가 해당 IP에서 수신하지 않음 | listen_addresses, 방화벽 |
| 3 | no pg_hba.conf entry for host |
pg_hba.conf에 규칙 없음 | pg_hba.conf |
| 3 | password authentication failed |
암호 불일치 또는 암호화 방식 불일치 | 암호, password_encryption |
| 3 | role "user" does not exist |
해당 유저가 존재하지 않음 | CREATE ROLE |
| 3 | database "db" does not exist |
해당 데이터베이스가 존재하지 않음 | CREATE DATABASE |
(출처: PostgreSQL 17 공식 문서 - Authentication Problems)
Case 1: Connection refused
$ psql -h <server-ip> -p 5432 -d postgres -U postgres
psql: error: connection to server at "<server-ip>", port 5432 failed:
Connection refused
Is the server running on that host and accepting TCP/IP connections?원인: PostgreSQL이 해당 네트워크 인터페이스에서 TCP 연결을 수신하지 않는다. listen_addresses 파라미터의 기본값은 'localhost'이며, 이 경우 로컬 루프백 인터페이스에서만 수신한다.
해결:
# postgresql.conf 수정
listen_addresses = '*' # 모든 인터페이스에서 수신
# 재시작 필요 (listen_addresses는 서버 시작 시에만 적용)
pg_ctl restart -D $PGDATAlisten_addresses는 서버 시작 시점에만 읽는 파라미터다. pg_ctl reload로는 적용되지 않으며, 반드시 재시작이 필요하다.(출처: PostgreSQL 17 - Connection Settings)
Case 2: no pg_hba.conf entry for host
$ psql -h <server-ip> -p 5432 -d postgres -U postgres
psql: error: connection to server at "<server-ip>", port 5432 failed:
FATAL: no pg_hba.conf entry for host "<client-ip>", user "postgres",
database "postgres", no encryption원인: TCP 연결은 성공했으나, pg_hba.conf에 해당 클라이언트 IP/유저/DB 조합에 대한 인증 규칙이 없다.
해결:
# pg_hba.conf에 규칙 추가 (보안 수준에 맞게 선택)
# 특정 서브넷만 허용 (권장)
host all all 192.168.1.0/24 scram-sha-256
# 모든 IP 허용 (개발 환경 전용)
host all all 0.0.0.0/0 scram-sha-256
# reload로 적용 가능 (재시작 불필요)
pg_ctl reload -D $PGDATA
표 4-4. 설정 변경 시 적용 방법
| 설정 파일/파라미터 | 적용 방법 | Rocky Linux | Ubuntu |
|---|---|---|---|
listen_addresses |
재시작 필요 | systemctl restart postgresql-17 |
pg_ctlcluster 17 main restart |
pg_hba.conf |
reload 가능 | systemctl reload postgresql-17 |
pg_ctlcluster 17 main reload |
postgresql.conf (대부분) |
reload 가능 | systemctl reload postgresql-17 |
pg_ctlcluster 17 main reload |
특정 파라미터의 적용 방법은 pg_settings 뷰의 context 컬럼으로 확인할 수 있다: SELECT name, context FROM pg_settings WHERE name = 'listen_addresses';
클라이언트에 표시되는 에러 메시지는 보안상 간략화되어 있다. 상세한 인증 실패 원인은 서버 로그에 기록된다.
# Rocky Linux
tail -f /pgdata/17/log/postgresql-*.log
# Ubuntu (기본 경로)
tail -f /var/log/postgresql/postgresql-17-main.log
(출처: PostgreSQL 17 - Authentication Problems - "The server log always contains the real reason for failure")
4-6. 접속 방법 요약
표 4-5. 접속 유형별 설정
| 접속 유형 | 명령어 | pg_hba.conf TYPE | 권장 METHOD |
|---|---|---|---|
| 로컬 (유닉스 소켓) | psql |
local |
peer |
| 로컬 TCP | psql -h localhost |
host (127.0.0.1/32) |
scram-sha-256 |
| 원격 TCP | psql -h <server-ip> |
host (CIDR) |
scram-sha-256 |
표 4-6. psql 접속 옵션
| 옵션 | 설명 | 기본값 |
|---|---|---|
| -h | 데이터베이스 서버 호스트 (IP 또는 hostname) | 유닉스 소켓 (local) |
| -p | 접속 포트 | 5432 |
| -d | 접속 대상 데이터베이스 | $PGDATABASE 또는 OS 유저명 |
| -U | 접속 유저명 | $PGUSER 또는 OS 유저명 |
5. 환경별 선택 가이드
5-1. Rocky Linux를 선택해야 하는 경우
- On-premises 엔터프라이즈 환경: RHEL 호환성이 필요한 경우
- 장기 운영 시스템: 10년 지원 주기 (EOL 2029년)
- Oracle에서 마이그레이션: DBA가 RHEL 계열에 익숙한 경우
- 규제 환경: SELinux Enforcing 필수인 경우
- 금융/공공 기관: RHEL 계열 표준화된 환경
5-2. Ubuntu를 선택해야 하는 경우
- 빠른 실험/PoC: apt 설치 후 바로 사용 가능
- 개발 환경: 상대적으로 낮은 운영 마찰 (AppArmor)
- 클라우드 환경: AWS, GCP 등에서 Ubuntu 이미지 선호도 높음
- 컨테이너 환경: Docker 이미지 크기가 상대적으로 작음
- AI/ML 파이프라인: Python 생태계와의 통합이 용이
5-3. 공통 주의사항
두 환경의 데이터 디렉토리 및 설정 파일 경로가 다르므로, 환경별 분기 처리가 필요하다.
| 항목 | Rocky Linux | Ubuntu |
|---|---|---|
| 데이터 | /var/lib/pgsql/17/data | /var/lib/postgresql/17/main |
| 설정 | /var/lib/pgsql/17/data/ | /etc/postgresql/17/main/ |
마무리
이번 글에서는 Rocky Linux 8.10과 Ubuntu 24.04 LTS 두 환경에서 PostgreSQL 17을 설치하고 원격 접속 설정까지 완료하는 방법을 비교했다.
핵심 요약:
- Rocky Linux: 수동 initdb, SELinux, firewalld - 엔터프라이즈 환경에 적합
- Ubuntu: 자동 클러스터 생성, AppArmor, ufw - 개발/실험 환경에 적합
- 접속 설정: listen_addresses + pg_hba.conf + 방화벽 세 가지 모두 설정 필요
- 인증 방식: scram-sha-256 권장 (PG 14+ 기본값)
다음 글에서는 pgvector를 활용한 벡터 검색을 다룰 예정이다. AI/RAG 파이프라인에서 PostgreSQL을 벡터 DB로 활용하는 방법을 소개한다.
궁금한 점은 댓글로 남겨주시면 아는 선에서 답변드리겠다!
참고 자료
공식 문서
검증 정보
- 이 글의 명령어는 PostgreSQL 공식 문서(2026년 1월 기준)와 대조 검증됨
- Rocky Linux 8.10, Ubuntu 24.04 LTS 환경에서 테스트됨
'PostgreSQL > 환경 구축' 카테고리의 다른 글
| PostgreSQL 17 환경 구축(2) : 기본 관리 - 권한, 롤, 사용자, 스키마, 익스텐션 등 (0) | 2026.01.22 |
|---|
소중한 공감 감사합니다