최근에 CentOS 7에 PostgreSQL을 설치했습니다. 설치 과정을 정리해봤습니다.

운영환경

  • CentOS 7.6
  • PostgreSQL 11.9

인터넷이 되는 환경

 

# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# PostgreSQL을 설치합니다.
sudo yum install -y postgresql11-server postgresql11-contrib

 

인터넷이 안되는 환경

1. RPM 다운로드

외부 환경에서 PostgreSQL Database Server 11 PGDG 페이지에 접속해서 RPM 파일들을 다운로드 하고 리눅스 환경으로 이동시킨다.

  • postgresql11-11.9-1PGDG.rhel7.x86_64.rpm
  • postgresql11-contrib-11.9-1PGDG.rhel7.x86_64.rpm
  • postgresql11-libs-11.9-1PGDG.rhel7.x86_64.rpm
  • postgresql11-server-11.9-1PGDG.rhel7.x86_64.rpm

2. 설치

postgresql11-libs -> postgresql11 -> (postgresql11-server, postgresql11-contrib) 순으로 설치

 

sudo rpm -ivh postgresql11-libs-11.5-1PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql11-11.5-1PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql11-server-11.5-1PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql11-contrib-11.5-1PGDG.rhel7.x86_64.rpm

 

설치된 패키지 확인

 

rpm -qa | grep postgresql

 

기본 Database 생성

initdb 명령어를 통해 기본 데이터베이스를 설치합니다. 기본 데이터베이스는 postgres 라는 이름으로 생성됩니다.

sudo /usr/pgsql-11/bin/postgresql-11-setup initdb

서비스 등록 및 실행

sudo systemctl enable postgresql-11
sudo systemctl start postgresql-11

 

postgresql 접속

sudo -u postgres psql

 

데이터베이스 생성

postgres=# create database <name> encoding 'utf-8';
 

1. centos이미지에는 영어 언어팩만 설치되어있음

/etc/yum.conf에서 다음을 주석처리한 후!
#override_install_langs=en_US

다음 실행
yum -y -q reinstall glibc-common 

https://www.postgresql.org/docs/9.3/multibyte.html 
2. 위 설정으로 모든게 끝난게 아님 
postgresql 서버가 설치될 때 기본 문자 캐릭터 셋은 sql ASCII임, 이를 해결하려면 처음 initdb --encoding='ko_Kr.utf8' --locale='ko_Kr'
http://blog.daum.net/initdb/103 (기타 옵션에 대해 참고)
처음 이 설정을 안했다면 어쩔 수 없이 DB를 생성할 때 다음과 같이 옵션을 줘서 문자 캐릭터 셋과 locale을 지정해줘야함
CREATE DATABASE "lol_project3" WITH ENCODING 'utf8' LC_COLLATE='ko_KR.utf8' LC_CTYPE='ko_KR.utf8' template=template0;

+ Recent posts