[CentOS/PostgreSQL] PostgreSQL 컴파일 설치
Server/PostgreSQL

[CentOS/PostgreSQL] PostgreSQL 컴파일 설치


📌 PostgreSQL 컴파일 설치

 

AWS AMI2 환경에서 PostgreSQL를 Compile Install 하는 방법을 알아보겠습니다.

 

📒 설치 과정

 

PostgreSQL 설치를 위한 라이브러리 설치

$ sudo yum -y install gcc gcc-c++ make autoconf wget readline readline-devel
zlib zlib-devel openssl openssl-devel gettext gettext-devel

 

PostgreSQL 관리전용 계정 생성

이러한 특수 계정의 정보 등은 따로 기억해두거나 메모해놓는 편이 좋다

$ sudo adduser dbadmin
$ sudo passwd dbadmin

 

 

관리전용 계정의 Path 설정

 

Hot Ez Ex) .bash_profile은 해당 사용자가 시스템에 로그인 할 때마다 호출된다. (즉, 개별 사용자에 대한 설정 코드)

.. 기존의 코드는 전부 유지함 ...
# User specific environment and startup programs 
POSTGRES_HOME=/project/db/pgsql 
export POSTGRES_HOME 
#PostgreSQL Home Path 

PGDATA=/project/db/data 
export PGDATA 
#PostgrsqlSQL Data Path 

LD_LIBRARY_PATH=/home/dbadmin/pgsql/lib 
export LD_LIBRARY_PATH 
#PostgreSQL Library Path 

PATH=$POSTGRES_HOME/bin:$PATH 
export PATH 

PATH=$PATH:$HOME/.local/bin:$HOME/bin 
export PATH 
...

 

PostgreSQL 최신 버전, 혹은 원하는 버전 설치 ( 아래 주소는 예시 )

$ wget https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz

 

소유자 변경

$ chown dbadmin.dbadmin postgresql-10.6.tar.gz
$ chown dbadmin.dbadmin /project/db

 

압축 풀고 설치

$ tar zxvf postgresql-10.6.tar.gz
$ cd postgresql-10.6

$ ./configure --prefix=/project/db/pgsql

$ sudo make
$ sudo make check
$ sudo make install

📕 설치 이후

 

initdb 실행

$ cd /project/db/pgsql/bin/ 
$ ./initdb

그럼 아까 dbadmin bash_profile에 설정해둔 $PGDATA에 해당 하는 경로 ( 여기서는 /project/db/data에 기본 DB가 생성된다)

 

클라이언트 접속 환경설정 파일 수정 ( 외부 접근 허용 위함 )

Hot Ez Ex) pg_hba란 클라이언트가 postgreSQL에 접속할 때 거치는 환경설정 파일 중 하나이다.

(HBA는 호스트 기반 인증(host-based authentication)의 약어이다)

$ sudo vi pg_hba.conf

 

TYPE host에 관련한 내용을 지우거나 주석처리하고 아래와 같은 한 문장을 넣는다

host       all        all        0.0.0.0/0          md5

기존 host에 대한 내용 주석 처리

실행 & 확인

$ cd /project/db/pgsql/bin
$ ./pg_ctl start

$ ps -ef | grep post

비밀번호 변경

postgres=# alter user dbadmin with password ‘dbadmin’;

 

 

postgres 데이터베이스로 접속 및 데이터베이스 생성

$ psql postgres 
postgres=# CREATE DATABASE db_name OWNER onwer_name;

 

\l 명령어를 통해 데이터베이스 리스트 확인 가능

 

이후 python과 postgreSQL 연동을 위해 psycopg2 설치

$ sudo yum install postgresql-devel python-devel 
$ ./venv/bin/pip3.7 install psycopg2 

 

 

가상환경 및 Django 설치에 대해서는

 

 

https://zladnrms.tistory.com/21?category=865627

 

[Django] 가상환경 및 Django 설치

우선 Django를 설치 하기 전, pip (파이썬 패키지 관리 시스템) 을 최신화 해준다. $ sudo python -m pip install --upgrade pip 가상환경을 설치해준다 Python 가상환경을 이용하는 이유 : 여러 프로젝트를 개발..

zladnrms.tistory.com