본문 바로가기
OS/Linux

[CentOS] PostgreSQL 설치

by dev.altkey 2017. 1. 10.



* PostgreSQL

포스트그래스큐엘은 어떻게보면 읽기가 힘든 DB 일지도 모르겠습니다. 하지만 포스트그래스큐엘은 RDBMS 중 4위(링크) 로 해외나 일본측 최근엔 한국에서 GIS 쪽으로 쓰이는것으로 알고있습니다. 개인적으로 오라클에 먹힌 (사용하기 좀 불안한) MySQL 보다는 연동되는 DB로 주로 이것을 사용합니다. 아직 포스트그래스큐엘로 개발해본적은 없지만 마리아 DB 로는 아직 프로그램 지원범위가 넓지 않아서 사용합니다. 즉 저의 사용목적은 Redmine 과 SonarQube 를 사용하기위한 DB로 사용하려고 합니다.


성능은 두말할것 없이 좋습니다. MariaDB InnoDB 로 했을때 PostgreSQL 이 좀더 빠르다는 벤치마크들이 종종 있습니다. 하지만 단점으로는 대형 DB로는 조금 부족하다는 얘기들도 있습니다. (링크) 결론은 아직은 결정권자의 단계가 아니기때문에 주로 일반적인 MySQL 의 자식격인 MariaDB 가 저는 낫다고 생각합니다.


두서가 조금 길어졌습니다만 요약하자면 저는 관리도구의 DB로 사용으로 목표를 정했습니다. 왜냐 RDBMS 중 PK FK 지원중 Write 보단 Read가 월등히 빠르니까!


* 설치

저에게 있어서는 최신버전이 크게 필요하지 않지만 그래도 최신버전을 설치하는것을 좋아하니 설치해보도록하겠습니다.

이번 설치에는 yum 으로 원격 rpm 을 가져와 설치해 보도록 하겠습니다.


이번에는 rpm 에 대한 주소를 가져와야 합니다. PostgreSQL 에는 (링크) 로 가시면 CentOS 라고 되어있는 부분을 주소만 가져옵니다.

그리고 리눅스 환경에서 다음과 같이 입력합니다.


yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm


이러면 기본적인 최신버전에 대한 주소를 가져오게 됩니다. MariaDB 처럼 말이죠


그리고 인스톨을 해보겠습니다 포스팅 기준으로 9.6 버전이 최신이므로


yum groupinstall "PostgreSQL Database Server 9.6 PGDG"


그리고 y y y 입니다. 그리고 설치가 완료가 정상적으로 되셨으면 Complete! 라는 안내 문구가 보일것입니다.


* 환경설정

디비 저장소 위치는 기본적으로는 /var/lib/pgsql/<version>/data 에 저장이 됩니다. 하지만 버전별로 관리할 필요가 없기때문에 한번 수정하도록 하겠습니다.


환경설정 파일은 /var/lib/pgsql/.bash_profile 에 저장되어있습니다.


vi /var/lib/pgsql/.bash_profile


여기서 버전 정보를 지우도록 하겠습니다. 포스팅에서는 9.6 이었으니 9.6을 삭제해주시면 됩니다.




그리고 저장하고 나옵니다.


포스트그래스큐엘은 관리자계정을 하나 생성을 해둡니다. 즉 마리아디비는 마리아 디비안에 root 계정이 있다하면 반대로 리눅스 계정안에 DB가 있는 느낌입니다. 포스트그래스큐엘을 설치하면 기본으로 생성되는 관리자 계정은 postgres 입니다. 


기본적으로 필요한 DB 정보를 생성하는 명령을 해보도록 하겠습니다.


/usr/pgsql-9.6/bin/postgresql96-setup initdb


포스트그래스큐엘 유저 암호를 설정해보도록 하겠습니다 설정하기 이전에 먼저 DB를 실행시키도록 하겠습니다.


systemctl start postgresql-9.6

Postgres 유저로 로그인한뒤 psql 을 실행시키겠습니다. psql 은 기본적으로 제공되는 SQL 툴입니다.

su - postgres
psql


입력하시면 SQL 구문 입력할 수 있는 창이 나옵니다. 이때 다음 SQL 쿼리문을 실행시키면 됩니다. 암호는 변경이 가능합니다.


ALTER USER postgres PASSWORD 'postgrespw';


psql 을 나오겠습니다.


\q


그다음 postgres bash 를 종료하겠습니다.


exit


포스트그래스큐엘 접근권한을 수정하도록 하겠습니다.


vi /var/lib/pgsql/9.6/data/pg_hba.conf



아래쪽에 내리다보면 빨간색 세 부분의 값을 md5로 바꿔준후 vi 저장후 종료합니다.


권한을 변경했으니 DB를 재시작 하도록 하겠습니다.


systemctl restart postgresql-9.6


마지막으로 시작과 부팅시 포스트그래스 DB 를 실행시키는 명령어 입니다.


systemctl enable postgresql-9.6



이렇게되면 포스트그래스 DB 설치가 완료가 되었습니다. 


* 레퍼런스

PostgreSQL Wiki YUM Installation (wiki.postgresql.org/wiki/YUM_Installation)

'OS > Linux' 카테고리의 다른 글

[CentOS] SonarQube 설치  (0) 2017.01.10
[CentOS] nginx 설치  (0) 2017.01.10
[CentOS] Jenkins 설치  (0) 2017.01.09
5장. MariaDB 설치 ( yum repo. )  (0) 2017.01.06
4장. git 설치 ( make )  (0) 2017.01.06

댓글