RHEL(Red Hat Enterprise Linux)에서 PostgreSQL을 빌드하여 설치하는 방법을 단계별로 안내합니다. PostgreSQL은 소스 코드를 다운로드하여 컴파일 후 설치할 수 있습니다. 아래는 그 과정을 설명한 단계입니다.
1. 필요 패키지 설치
PostgreSQL 빌드를 위해 필요한 도구와 라이브러리를 설치합니다.
sudo yum groupinstall "Development Tools" -y
sudo yum install -y gcc readline-devel zlib-devel
2. PostgreSQL 소스코드 다운로드
PostgreSQL 공식 웹사이트에서 원하는 버전의 소스코드를 다운로드합니다.
wget https://ftp.postgresql.org/pub/source/vXX.X/postgresql-XX.X.tar.gz
XX.X
는 설치하려는 PostgreSQL 버전을 나타냅니다. 예: 15.3
3. 소스코드 압축 해제
다운로드한 소스코드를 압축 해제합니다.
tar -xvf postgresql-XX.X.tar.gz
cd postgresql-XX.X
4. 구성(Configuration)
PostgreSQL 소스를 빌드하기 전에 ./configure
스크립트를 실행하여 환경을 설정합니다.
./configure --prefix=/usr/local/pgsql --with-includes=/usr/include --with-libraries=/usr/lib
옵션:
--prefix
: PostgreSQL이 설치될 경로를 지정합니다. (예:/usr/local/pgsql
)--with-includes
와--with-libraries
: 헤더 파일 및 라이브러리 경로를 명시합니다.
5. 빌드(Build)
컴파일 과정을 실행합니다.
make
6. 설치(Install)
컴파일이 완료되면 PostgreSQL을 시스템에 설치합니다.
sudo make install
7. PostgreSQL 데이터 디렉토리 초기화
PostgreSQL을 사용하려면 데이터 디렉토리를 초기화해야 합니다.
sudo mkdir -p /usr/local/pgsql/data
sudo chown $USER /usr/local/pgsql/data
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
8. PostgreSQL 서버 시작
PostgreSQL 서버를 백그라운드에서 실행합니다.
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
9. PostgreSQL 서버 시작
PostgreSQL 설치 후 postgres
사용자를 sudo 권한을 가지는 사용자로 변경하려면 아래 단계를 따르세요. 다만, 기본적으로 postgres
사용자는 데이터베이스 관리에만 사용되며, 일반적으로 보안 관점에서 이 사용자에게 루트 권한을 부여하지 않는 것이 좋습니다.
그럼에도 불구하고 필요에 따라 postgres
사용자를 sudoer로 변경하는 방법을 안내드립니다.
1. sudo
설치 여부 확인
RHEL에 sudo
가 설치되어 있는지 확인하세요. 없다면 아래 명령어로 설치합니다.
sudo yum install -y sudo
2. postgres
사용자 확인
PostgreSQL 설치 시 생성된 postgres
사용자가 있는지 확인합니다.
id postgres
출력 결과에 postgres
사용자의 UID와 그룹 정보가 나타나야 합니다.
3. postgres
를 sudo
그룹에 추가
sudo
그룹에 postgres
사용자를 추가합니다.
sudo useradd postgres
sudo passwd postgres
sudo usermod -aG wheel postgres
- RHEL에서는 기본적으로
wheel
그룹에 속한 사용자가sudo
권한을 가집니다. - 다른 그룹으로 설정된 경우
/etc/sudoers
파일을 확인해 필요에 따라 변경해야 합니다.
4. sudo
권한 테스트
postgres
계정으로 전환 후, sudo
명령어를 실행하여 권한을 테스트합니다.
su - postgres
sudo whoami
출력이 root
라면 성공적으로 설정된 것입니다.
5. (선택 사항) 특정 명령에만 sudo
허용
만약 postgres
사용자에게 특정 명령만 sudo
권한으로 실행할 수 있도록 제한하려면 /etc/sudoers
파일을 편집합니다.
sudo visudo
sudoers
파일에 다음 줄을 추가합니다:
postgres ALL=(ALL) NOPASSWD: /path/to/command
위 설정은 postgres
사용자가 /path/to/command
를 암호 없이 sudo
로 실행할 수 있도록 허용합니다.
6. 주의사항
postgres
사용자에게sudo
권한을 부여하면 시스템 전체에 대한 관리 권한이 주어지므로 보안상 위험할 수 있습니다.- 가능하다면 PostgreSQL 관리 전용으로
postgres
사용자를 유지하고, 별도의 시스템 관리 계정을 사용하는 것이 좋습니다.
10. 환경 변수 설정 (선택 사항)
PostgreSQL 바이너리가 있는 경로를 시스템 PATH
에 추가하여 편리하게 실행할 수 있도록 설정합니다.
echo "export PATH=/usr/local/pgsql/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
11. PostgreSQL 클라이언트 실행
PostgreSQL 명령줄 클라이언트를 실행합니다.
/usr/local/pgsql/bin/psql
12. PostgreSQL version 확인
PostgreSQL 명령줄 클라이언트를 실행합니다.
SELECT version();
이제 PostgreSQL이 RHEL에서 빌드 및 설치되어 사용 준비가 완료되었습니다! 🎉
참고: 빌드 설치 대신 RHEL의 공식 리포지토리 또는 PostgreSQL Yum Repository를 사용하는 방법도 있으며, 이는 더 간단한 설정 및 관리에 유리합니다.
'DB > PostgreSQL' 카테고리의 다른 글
[ Postgresql ] \l+, \dt+ - 데이터베이스, Table 크기 확인하기 (0) | 2025.01.08 |
---|---|
[ Postgresql ] RHEL 7,8,9 OS - 오프라인 설치하기 (0) | 2025.01.08 |
[ PostgreSQL ] PostgreSQL 버전 확인하기 (0) | 2024.12.02 |
[ PostgreSQL ] CHECK - 데이터 추가 시 Column 값 확인하기 (0) | 2024.11.14 |
[ PostgreSQL ] REFERENCES - 다른 테이블의 key를 사용하기 (0) | 2024.11.14 |