Postgresql, EPAS/설치

EPAS(Postgresql) 16 설치하기

havy 2025. 6. 17. 09:32

rocky linux 9.5에 EPAS 16을 설치해보겠다.

 

 

우선 설치 파일 및 필요 패키지를 다운받기 위해 repository 설정을 해야한다. 인터넷망이 연결되어있다면 상관없겠지만, 대부분 폐쇄망이기에 해당 절차로 작업한다.

 

0. 해당 절차는 인터넷이 되는 환경에서 

curl -1sSLf 'https://downloads.enterprisedb.com/2QfsDjM6uHCTExLCQ7jJvyx7TYMjepbK/enterprise/setup.rpm.sh' | sudo -E bash

을 수행한 후 다운받은 패키지들에서 설치파일 및 패키지를 압축 후 폐쇄망으로 반입하는 절차다.

 

 

1) repo 설정 시 사용하는 createrepo download
dnf download createrepo --resolve --alldeps --downloadonly --downloaddir=/edb

2) 설치파일 및 필요패키지 다운
dnf download edb-as16-server --resolve --alldeps --downloadonly --downloaddir=/edb

3) 파일 압축
tar -zcvf edb_lyj.tar.gz edb

 

 

1. createrepo 설치 및 local repo 설정

1) 반입한 압축파일 압축해제
tar -xzvf edb_lyj.tar.gz /edb

2)createrepo 설치

cd /edb
rpm -ivh createrepo_c*

3) edb-repo local repository 설정
$ vi /etc/yum.repos.d/edb.repo
[edb-repo]
name=edb-repo
baseurl=file:///edb
enabled=1
gpgcheck=0
module_hotfixes=1   ## yum module 기능을 사용하지 않도록 설정 해제

4)createrepo 수행

createrepo /edb

 

5)dnf 초기화 및 makecache

dnf clean all
dnf makecache

dnf repolist로 잘 반영되었나 확인

6) epas 엔진 설치
dnf install -y edb-as16-server

 

2. epas 16 설치

1) OS 파라미터 튜닝

$ vi /etc/sysctl.conf
kernel.sem = 10000 32000 10000 10000
kernel.shmmni = 4096 (getconf PAGESIZE)
kernel.shmall = (shmmax/4096)
kernel.shmmax = (물리 메모리 크기, free -b)
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 1024 65000sysctl -p
$ vi /etc/security/limits.conf
enterprisedb soft nofile 6553600
enterprisedb hard nofile 6553600
enterprisedb soft nproc 6553600
enterprisedb hard nproc 6553600
$ vi /etc/systemd/logind.conf
RemoveIPC=no 주석 해제
systemctl restart systemd-logind
$vi /etc/selinux/config
SELINUX=permissive

 

2) enterprise 유저에 .bash_profile 설정

# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/edb/.enterprisedb_profile ] && source /var/lib/edb/.enterprisedb_profileexport PGHOME=/usr/edb/as16
export PGDATA=/data1/as16/data
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PGDATABASE=edb
export PGUSER=enterprisedbalias ll='ls -alrt'
alias pcon='psql -d edb -U enterprisedb -p 5444'
alias pghome='cd $PGHOME'
alias pgdata='cd $PGDATA'
alias pgcfgv='vi $PGDATA/postgresql.conf'
alias pgcliv='vi $PGDATA/pg_hba.conf'
alias pglog='cd $PGDATA/log'
alias pstart='$PGHOME/bin/pg_ctl start -D $PGDATA'
alias pstop='$PGHOME/bin/pg_ctl stop -D $PGDATA'
export PS1="[`whoami`@`hostname`:\$PWD]$"

 

3)클러스터 생성
initdb -E UTF-8 --lc-collate=C -D /data1/as16/data

4)DB 기동
pg_ctl start -D /data1/as16/data

##DB 정지
pg_ctl stop -D /data1/as16/data

5)DB 기본 설정

vi $PGDATA/postgresql.conf (메모리 사이즈는 서버 환경에 맞게 설정하면 될듯..)

max_connections = 300
shared_buffers = 8GB
effective_cache_size = 24GB
maintenance_work_mem = 2GB
wal_buffers = 16MB
work_mem = 8MB
wal_compression = zstd
archive_mode = on
archive_command = cp %p /archivedir/%f