본문 바로가기

dev/리눅스

PostgreSQL 일반 계정 설치

저번에 말씀드렸듯이 일반 계정으로 PostgreSQL 설치하는 방법을 포스팅하겠습니다.

 

패키지 설치

 

먼저 PostgreSQL설치에 필요한 패키지부터 설치하겠습니다.

 

postgres 계정 생성

 

postgres 계정 생성하겠습니다.

 

postgres 계정 로그인

 

postgres 계정으로 로그인하겠습니다.

 

.bash_profile 수정

 

postgres 계정 환경변수 수정합니다.

 

PostgreSQL tar 다운

 

PostgreSQL tar 파일을 다운로드하고 tar 압축파일을 풉니다.

 

PostgreSQL tar 압축 해제

 

postgres 디렉터리 밑에 tar 압축파일을 제대로 풀었는지 확인합니다.

 

압축이 풀린 PostgreSQL로 이동하여 configure 명령어를 실행합니다.

(configure: 소스파일에 대한 환경설정을 하는 명령어)

 

make 명령어 실행

 

configure 명령어가 끝나면 make 명령어 실행합니다.

(make: 소스파일을 컴파일하여 실행파일을 만드는 명령어)

 

make 명령어 결과

 

make 명령어가 성공적으로 끝나면 위와 같은 메시지를 확인할 수 있습니다.

 

make install 명령어 실행

 

make install 명령어를 실행하여 PostgreSQL을 설치합니다.

(make install: make 명령어를 통해 만들어진 실행파일을 실행하는 명령어, 즉 설치하는 명령어)

 

make install을 실행하려면 루트 권한이 필요하므로 sudo를 입력합니다.

 

그러나 sudoers파일에 postgres계정이 추가되어 있지 않다면

 

위와 같이 sudo가 안 되는 경우가 발생할 수 있습니다.

 

root 계정 로그인

 

sudoers 파일 수정

 

root 계정으로 로그인하여 sudoers 파일에 postgres 계정을 추가합니다.

 

make install 명령어 실행

 

다시 postgres 계정으로 돌아와서 make install 명령어를 실행합니다.

 

PostgreSQL 설치 완료 화면

 

PostgreSQL이 성공적으로 설치되면 위와 같은 메시지를 확인할 수 있습니다.

 

data 디렉토리 생성

 

PostgreSQL의 데이터가 저장될 디렉터리를 생성합니다.

(/home/postgres/pgsql/data)

 

그러나 /home/postgres/pgsql/ 경로가 root 권한이므로 data 디렉터리가 생성되지 않습니다.

 

따라서 postgres 권한으로 변경하기 위해 root로 로그인하여 postgres 권한으로 변경합니다.

 

PostgreSQL 초기화

 

/home/postgres/pgsql/data 디렉터리를 생성하고 PostgreSQL 초기화합니다.

 

PostgreSQL 실행

 

PostgreSQL을 실행하여 제대로 구동 중인지 확인합니다.

 

PostgreSQL 중지

 

PostgreSQL의 접속 정보를 수정하기 위해 PostgreSQL을 중지합니다.

 

PostgreSQL 접속정보 수정

 

pg_hba.conf 파일과 postgresql.conf 파일을 수정합니다.

 

수정하는 내용은 이전에 포스팅한 "PostgreSQL 설치" 글을 확인하시기 바랍니다.

 

start.sh 파일 작성

 

PostgreSQL을 실행하기 위해 /home/postgres/pgsql/bin로 이동하여

 

pg_ctl 명령어를 실행하는 방법은 비효율적이므로 start.sh 파일을 작성합니다.

 

start.sh 파일

 

start.sh 파일 내용을 확인하면

 

2번째 라인의 PG_HOME 변수는 PostgreSQL이 설치된 경로를 뜻합니다.

 

7번째 라인의 if문은 root 계정일 경우 postgres 계정으로 로그인하여 PostgreSQL을 실행시킨다는 뜻입니다.

 

9번째 라인의 else문은 postgres 계정인 경우에만 PostgreSQL을 실행시키고 나머지 계정은 실행시키지 않는다는 뜻입니다.

 

start.sh 파일모드 수정

 

작성한 start.sh 파일이 실행할 수 없으므로 chmod명령어를 사용하여 실행할 수 있게 파일 모드를 수정합니다.

 

stop.sh status.sh 파일 작성

 

PostgreSQL을 실행하는 것 외에 정지하거나 현재 상태를 확인하는 것도 필요하므로

 

start.sh 파일의 내용과 크게 달라지는 부분이 없으므로

 

start.sh 파일을 복사하여 stop.sh, status.sh 파일을 작성합니다.

 

stop.sh 파일

 

status.sh 파일

 

"pg_ctl start ..." 명령어에서 start 대신에 stop, status로 작성하면 됩니다.

 

쉘 파일 실행

 

작성한 쉘 파일이 제대로 작동되는지 확인하기 위해 실행시킵니다.

 

위 화면과 같은 메시지가 확인된다면 제대로 작성된 것입니다.

 

쉘 파일 말고 다른 방법을 이용하고 싶으시면

 

PostgreSQL 실행/중지/상태 확인 명령어를 alias에 등록해서 사용하는 방법도 있습니다. 

'dev > 리눅스' 카테고리의 다른 글

yum 에러(Another app is currently holding the yum lock)  (0) 2020.01.19
swap 파일 삭제  (0) 2020.01.19
PostgreSQL 설치  (0) 2019.12.19
GeoServer 설치  (0) 2019.08.31
centos7 jdk 설치  (0) 2019.07.31