[Linux] 리눅스 환경에서 PostgreSQL 소스코드 설치

‍류지원·2024년 7월 11일
0

PostgreSQL

목록 보기
7/10

소스코드 다운로드 및 설치환경 구축

sudo apt-get install libreadline-dev
wget https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz
tar -xvzf postgresql-16.0.tar.gz

컴파일

cd postgresql-16.0
mkdir bld
./configure --prefix=/home/jiwon0913/postgresql-16.0/bld --without-icu
make -j
sudo make install -j
  • 주의! --prefix 다음 경로는 절대경로를 입력해야 한다.

configure: error: ICU library not found
If you have ICU already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-icu to disable ICU support.

vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jiwon0913/postgresql-16.0/bld/lib
export PATH=$PATH:/home/jiwon0913/postgresql-16.0/bld/bin

# 저장 (:wq)

source ~/.bashrc
  • 본인 경로에 맞게 환경 변수를 설정한다.
  • 저장한 후, source ~/.bashrc 명령어를 입력한다.

Postgres 시작하기

  1. 데이터 디렉토리 초기화

    • 예제에서는 /mnt/nvme/data 라는 디렉토리를 데이터 디텍토리로 설정할 것이다. 본인의 경로에 맞게 설정하고, 디렉토리가 반드시 존재해야한다. (없으면 만들어야한다.)
    • 이 과정은 데이터 디렉토리 초기화할 때 한번만 수행하면 된다. 이 작업 이후 TPC-C 벤치마크 또는 TPC-H 벤치마크를 로딩하고 나면 backup으로 저장하고 복사해서 사용하면된다.
    • 아래 명령어를 입력하면 PostgreSQL 에서 사용하는 데이터 디렉토리 초기화가 실행된다.
    cd /mnt/nvme
    sudo mkdir data
    sudo chown -R jiwon0913:jiwon0913 /mnt/nvme/data
    sudo chmod 777 /mnt/nvme/data
    
    initdb -D /mnt/nvme/data
    • 수행 결과
  2. Postgres 서버 실행

    • 서버 실행
    pg_ctl -D /mnt/nvme/data -l logfile start
    • 데이터베이스 생성
    createdb --port=5432 new_db
    • 데이터베이스 접속
    psql --port=5432 new_db
    • 서버 중지
    pg_ctl -D /mnt/nvme/data -m smart stop

References

0개의 댓글