반응형

외부 네트워크가 불가능한 상황에서 PostgreSQL 15를 설치하는 방법

Rocky Linux 9

 

- EPEL 저장소 설치 (https://pkgs.org/download/epel-release)

OS 버전에 맞는 EPEL 을 다운받아 설치해주도록하자

rpm -ivh epel-release-9-7.el9.noarch.rpm

 

 

- PostgreSQL Source 파일 다운로드

아래의 URL을 접속하여, 원하는 버전의 tar파일을 다운로드

( 여기서는 postgresql-15.1.tar.gz  다운로드)

https://www.postgresql.org/ftp/source/

 

PostgreSQL: File Browser

 

www.postgresql.org

 

- 필수 패키지 확인 및 설치

이 부분이 가장 시간이 많이  소요되며, 외부 인터넷이 안되는 불편함을 느끼는 부분

(아래의 링크를 통해 필수 패키지 버전 확인이 가능하다.)

https://www.postgresql.org/docs/15/install-requirements.html

 

17.2. Requirements

17.2. Requirements In general, a modern Unix-compatible platform should be able to run PostgreSQL. The platforms that had received specific testing …

www.postgresql.org

 

rpm -qa|grep 명령어를 사용하여, 기존에 설치되어 있는 패키지 및 버전 확인하여 다운로드하여 설치

(추가로 필요한 패키지가 있는지 모르겠지만, 아래 정도만으로 설치 완료)

rpm -qa|grep glibc
rpm -qa|grep make
rpm -qa|grep gcc
rpm -qa|grep gcc-c++
rpm -qa|grep readline
rpm -qa|grep readline-devel
rpm -qa|grep zlib
rpm -qa|grep zlib-devel
rpm -qa|grep autoconf
rpm -qa|grep openssl
rpm -qa|grep openssl-devel
rpm -qa|grep uuid
rpm -qa|grep gettext
rpm -qa|grep gettext-devel

 

- root 접속

su -

 

- 유저 생성

groupadd postgres
useradd -g postgres -d /home/postgres postgres
passwd postgres
#유저 확인
cat /etc/passwd

#유저 디렉토리 변경
usermod -d /home/postgres postgres

 

- PATH 설정

vi /etc/profile
export PG_HOME=/home/postgres/pgsql
export PATH=$PG_HOME/bin:$PATH
export PGDATA=$PG_HOME/data
export LD_LIBRARY_PATH=$PG_HOME/lib
source /etc/profile

 

- tar 압축 해제 & 설치

https://www.postgresql.org/docs/15/install-procedure.html

 

17.4. Installation Procedure

17.4. Installation Procedure 17.4.1. configure Options 17.4.2. configure Environment Variables Configuration The first step of the installation procedure is to configure …

www.postgresql.org

 

tar -xvf postgresql-15.1.tar.gz
cd postgresql-15.1
./configure --prefix=/home/postgres/pgsql --enable-depend --enable-nls=utf-8 -with-openssl --with-ossp-uuid
make world
make check
make install-docs
make install-world

 

- PostgreSQL 초기화 (initdb)

cd /home/postgres/pgsql
mkdir ./data

cd /home/postgres/pgsql/bin
initdb -E utf-8 -D /home/postgres/pgsql/data

 

- 설정 파일 수정

postgresql.conf

vi /home/postgres/pgsql/data/postgresql.conf

#아래 내용 수정
#listen addresses ='localhost'
->
listen addresses ='*'

 

pg_hba.conf

vi /home/postgres/pgsql/data/pg_hba.conf

#아래 내용 추가
host    all             all             0.0.0.0/0               trust
host    all             all             all                     trust

 

- PostgreSQL 실행

cd /home/postgres/pgsql/bin
pg_ctl start -D /home/postgres/pgsql/data

 

- PostgreSQL 접속

cd /home/postgres/pgsql/bin
psql
\password postgres
\q
반응형
반응형

기존에 설치되어 있던 postgresql 을 삭제 해야하는 경우가 있다.

 

- root 접속

(상황에 따라 sudo 명령어 사용)

su -

 

- postgresql 종료

systemctl stop postgresql-15.service

 

- 서비스 상태 보기

systemctl list-unit-files postgresql*

 

- 서비스 비활성화

systemctl disable postgresql-15

 

- postgresql 홈 경로 삭제

(보통 /var/lib/pgsql 경로에 있으나, 확인 후 삭제)

rm -rf /var/lib/pgsql

 

- postgres 계정 삭제

userdel postgres
groupdel postgres

 

- 설치된 패키지 확인

yum list installed *postgres*

or

rpm -qa|grep postgres

 

- 설치된 패키지 삭제

yum remove *postgres*

or

rpm -e [package명]

 

마지막으로 설치된 패키지 확인시 안보이면 완료

반응형

+ Recent posts