※ Installing PostgreSQL 16 on Linux from source.
※ Version: Linux 8.10 (Rocky), PostgreSQL 16.4.
[ Package 설치 ]
- package update
dnf update -y
- Developmemt Tools 설치
dnf groupinstall -y "Development Tools" --skip-broken
- package 설치
dnf install -y wget readline-devel zlib-devel bison flex libxml2-devel libxslt-devel openssl-devel libicu libicu-deve
[ PostgreSQL 설치 전 사전 작업]
- PostgreSQL 관리를 위한 OS 계정 추가 및 비밀번호 설정
useradd -m -U -r postgres
- -m : 사용자 홈 디렉토리 생성
- -U : 사용자 그룹 생성
- -r : 시스템 사용자로 생성
또는
adduser postgres
- PostgreSQL에서 사용할 디렉토리 생성하고 권한 조정
- 엔진 영역, 데이터 영역, 백업 영역 생성
mkdir -p /postgres /data /backup/archive /backup/backup /backup/pg_dump
- 소유자 변경
chown -R postgres:postgres /postgres /data /backup
- 권한 부여
chmod 700 /postgres /data /backup/archive /backup/backup /backup/pg_dump
[ PostgreSQL 다운로드 및 컴파일 설치]
- wget을 사용해 PostgreSQL을 다운로드하고 압축 해제
cd ~
wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.gz
tar -zxvf postgresql-16.4.tar.gz
cd postgresql-16.4
- configure, 컴파일, 실행
./configure --prefix=/postgres --with-openssl --with-libxml --with-libxslt
make && make install
[ 환경변수 설정 ]
- 사전에 생성한 PostgreSQL 관리요 OS 계정으로 전환
su - postgres
- PostgreSQL 전용 환경변수 파일 생성
vi /home/postgres/.postgresrc
# 아래내용 붙여넣기
# PostgreSQL env.
export PGHOME=/postgres
export PGBIN=$PGHOME/bin
export PGLIB=$PGHOME/lib
export PGPORT=5432
export PGDATA=/data
export LD_LIBRARY_PATH=$PGLIB:$LD_LIBRARY_PATH
export PGUSER=postgres
export PGDATABASE=postgres
export PGLOG=/data/log
export SRVLOG=$PGLOG
export PATH=$PGBIN:$PATH
export LANG=C
export PGALOG=/backup/archive
export PGBBAK=/backup/backup
export PGBLOG=$PGLOG
export HOSTUSER=postgres
export BACKUP_PATH=/backup/backup
export PGDBAK=/backup/pg_dump
- .bashrc 파일 수정
vi /home/postgres/.bashrc
# 아래 내용을 복사후 .bashrc 맨 아래 붙여넣기
# Get postgres env.
if
[ -f ~/.postgresrc ];
then
. ~/.postgresrc
fi
- 변경 사항 적용
source .postgresrc
source .bashrc
# 또는
# . .postgresrc
# . .bashrc
# 샾을 제외하고 입력
- initdb
[엔진영역]/bin/initdb --pgdata=/data --encoding=UTF8 --locale=ko_KR.utf8 --data-checksums
- PostgreSQL log 디렉토리, 생성, 권한 조정
mkdir /data/log
chmod 700 /data/log
- 작동 확인
pg_ctl start
psql
# DB 접속 후
select version();
반응형
'IT > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] VACUUM이란? (0) | 2025.02.28 |
---|---|
[PostgreSQL] MVCC란? (0) | 2025.02.28 |
[PostgreSQL] PostgreSQL이란? (0) | 2025.02.21 |