SQL/PostgreSQL

CentOS 7에 PostgreSQL 11 설치 및 설정

마띠(쥔장) 2021. 3. 29. 17:54

#1 CentOS 7 VM에 올리기

1. CentOS Mirror List에서 다운받고자 하는 버전의 ISO 파일을 다운받는다. 현 포스팅에서는 CentOS-7-x86_64-Everything-2009.iso을 설치하였다.

 

CentOS Mirrors List

 

isoredirect.centos.org

2. VM에 다운받은 ISO 파일을 올린 다음,  ROOT 암호 및 사용자 생성 등의 설정을 통해 설치를 마무리한다.

#2 PostgreSQL 설치 및 시작

1.

su
rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 

2. 

yum install -y postgresql11-server postgresql11-contrib

3. 

/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl start postgresql-11

#3 PostgreSQL 설정 - (1) 초기 비밀번호

1. 초기 패스워드 변경

su - postgres -c 'psql'

ALTER USER postgres PASSWORD '변경할 패스워드';

쉘로 돌아오려면 '\q' 입력

2. 서비스 시작

systemctl start postgresql-11 
systemctl enable postgresql-11 

3. 서비스 실행 확인

netstat -tnlp

netstat 명령어를 통해 서비스가 실행 중인지 볼 수 있다. 포트 기본값은 '5432' 번이다.

#4 PostgreSQL 설정 - (2) postgres.conf

1. 로컬과 원격의 접속을 허용하고 포트 번호를 지정해주기 위해 'postgres.conf` 파일을 수정한다.

vi /var/lib/pgsql/11/dta/postgresql.conf

2. 'listen_addresses'를 '*' 값으로, 'port'를 '5432 (혹은 그 외 임의의 번호)'로 지정한다.

#5 PostgreSQL 설정 - (3) pg_hba.conf

1. 

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

2.

  • TYPE (접근자의 접근위치와 통신의 암호화 관련 설정)
    • local : Unix Domain Socket을 통한 접속
    • hostssl : ssl인증서를 통한 암호화 통신만 지원하며 localhost, 127.0.0.1식의 즉 TCP/IP접속에 해당
    • hostnossl : ssl접속은 불가능하며, TCP/IP통신을 지원
  • DATABASE
    • all : 모든 데이터베이스 접근
    • DB 명 : 특정한 디비에 대한 접속을 제한할 수 있으며 ,(콤마)로 여러 개의 DB로 접근 제어가 가능.
    • @DBlist file : DB가 많다면 dblist파일로 따로 만들어 PGDATA로 설정한 폴더의 안에 넣어 관리
  • USER
    • all : 모든 유저
    • user 명 : 계정설정으로 ,(콤마)구분으로 할 수 있음
    • @파일명 : 파일로 처리 가능
  • ADDRESS (CIDR 방식)
    • IPv4 CIDR구분으로 해당 C Class에 대해 모두 접근처리를 할 경우 : xxx.xxx.xxx.0/24
    • 해당 IP에 대한 접근처리를 할 경우 : xxx.xxx.xxx.xxx/32
  • METHOD (계정의 패스워드에 대한 서버로의 전송을 어떻게 할 것인가를 정하는 것)
    • trust : 패스워드 없이 접근 가능
    • reject : 거부
    • md5 : 패스워드를 md5로 암호화해서 전송
    • password : text로 패스워드를 전송하는 것.
    • krb4, krb5 : KerberOS V4, 5를 지원.
    • ident : 접속 ClientOS User이름을 확인하는 방법
    • pam : PAM(Pluggable Authentication Modules)서비스를 사용한 인증

3. 설정 완료 후 재시작한다.

systemctl restart postgresql-11

#6 PostgreSQL 설정 - (4) 방화벽 설정

1. 방화벽 실행 확인

systemctl | grep firewall

2.

systemctl stop firewalld.service

#7 연결 확인

telnet을 이용하여 CentOS IP에 5432번 포트로 접속한다.


[ref]

 

PostgreSQL 설치 및 설정

준비 운영체제 : CentOS 7.4 설치 Repository 추가 su - rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm PostgreSQL 설치 yum install -y postgresql10-server post..

dbza.tistory.com

 

728x90