posted by 귀염둥이채원 2018. 12. 27. 15:53

도커 컨테이너 CentOS에서 postgres 10.6을 설치하는 방법입니다.


# ==========================================

# 컨테이너 기동

# ==========================================

-p 옵션을 사용하여 호스트와 컨테이너의 포트를 연결해준다.

(SQL 클라이언트이자 데이터베이스 관리 도구인 pgadmin, dbeaver를 통해 접근이 가능하다.)


$ docker run -dit \

--name centos7.4_postgres \

--privileged \

-e container=docker \

-v /sys/fs/cgroup:/sys/fs/cgroup:ro \

-p 5432:5432 \

centos:latest \

/usr/sbin/init


# ==========================================

# Postgres 설치

# ========================================== 

# CentOS 배포판 확인

아래 명령으로 postgresql 버전을 확인한다.

$ yum list | grep ^postgresql


# postgresql yum 저장소 업데이트

http://yum.postgresql.org/에 접속해서 버전 확인

https://download.postgresql.org/pub/repos/yum/에 접속해서 원하는 버전의 주소를 찾는다.

$ yum update

$ rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7.4-x86_64/pgdg-centos10-10-2.noarch.rpm


# postgresql 설치

$ yum install -y postgresql10.x86_64 postgresql10-server.x86_64


# 설치 패키지 확인

아래 명령을 실행해서 설치되었는지 확인한다.

$ rpm -qa | grep post


# 계정 확인

아래 명령을 통해 postgres 계정이 생성되었는지 확인한다.

$ cat /etc/passwd


# ==========================================

# 초기화, 기동, 접속, 종료

# ==========================================

# 초기화

아래 며령을 수행해서 postgresql을 초기화한다.

$ /usr/pgsql-10/bin/postgresql-10-setup initdb


# postgresql 계정 패스워드 설정

$ passwd postgres


# postgresql 기동

$ su - postgres

$ /usr/pgsql-10/bin/pg_ctl start


# postgresql 접속

$ -bash-4.2$ psql          ---> password 필요 없음

psql (10.6)

Type "help" for help.

postgres=# select version();

 PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit

(1 row)


# postgresql 종료

$ su - postgres

$ /usr/pgsql-10/bin/pg_ctl stop


# ==========================================

# 관리자 비밀번호 설정

# ==========================================

postgres=# \password postgres

Enter new password:

Enter it again:


# ==========================================

# 로컬 서버에서 암호를 이용한 접속으로 변경

# ==========================================

$ vi /var/lib/pgsql/10/data/pg_hba.conf

#local   all             all                                     peer  --> 암호 X

local   all             all                                     md5    --> 암호 O


# ==========================================

# Remote에서 접근 가능하도록 설정

# ==========================================

$ vi /var/lib/pgsql/10/data/pg_hba.conf

# IPv4 local connections:

host    all             all             0.0.0.0/0            trust        <-- 추가 (암호 X)

host    all             all             0.0.0.0/0            md5        <-- 추가 (암호 O)


$ vi /var/lib/pgsql/10/data/postgresql.conf

#listen_addresses = 'localhost'         # what IP address(es) to listen on;

listen_addresses = '*'          # what IP address(es) to listen on;

'DB > postgres' 카테고리의 다른 글

pgAdmin, DBeaver 무엇을 사용할까?  (0) 2018.12.28
PostgreSQL 백업 및 복원 하는 방법  (0) 2018.12.27
[PostgreSQL] psql 명령어 사용법 정리  (0) 2018.12.27