CentOS 7에서 PostgreSQL-13 설치하기 (Offline)

2021. 10. 19. 18:03[개발] 지식/PostgreSQL

CentOS 7에서 PostgreSQL-13 설치하기 (offline)

rpm 파일로 postgresql-13 설치

먼저 rpm 파일들을 다운받아야 한다.

아래 사이트에서 4개를 다운받을 수 있다.

RepoView: PostgreSQL PGDG 13 Updates RPMs

해당 파일을 리눅스로 옮긴다.

경로는 자유롭게 해도 되지만, 나는 /home/centos/ 에 복사했다.

설치 순서는 아래와 같다.

  1. postgresql13-libs
  2. postgresql13
  3. postgresql13-server
  4. postgresql13-contrib

그리고 다음과 같은 명령어로 각각 설치한다(파일명은 무시).

sudo rpm -ivh postgresql13-libs-13.1-3PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql13-13.1-3PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql13-libs-13.1-3PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql13-server-13.1-3PGDG.rhel7.x86_64.rpm

그런데 난관에 봉착했다..

postgresql13-13.1-3PGDG.rhel7.x86_64.rpm 을 설치하는 과정에서 에러가 발생했다.

아마 대부분 이런 에러는 발생하지 않을 것이다.

Failed dependencies:
    libicu is needed by postgresql13-13.1-3PGDG.rhel7.x86_64

뭔지는 모르겠지만 libicu라는 패키지가 필요한가보다.

다음과 같이 설치한다.

yum install libicu

또다시 난관에 봉착했다.

postgresql13-contrib-13.1-3PGDG.rhel7.x86_64.rpm 을 설치하는 과정에서 에러가 발생했다.

Failed dependencies:
    libxslt.so.1()(64bit) is needed by postgresql13-contrib-13.1-3PGDG.rhel7.x86_64.rpm
    libxslt.so.1(LIBXML2_1.0.11)(64bit) is needed by postgresql13-contrib-13.1-3PGDG.rhel7.x86_64.rpm
    libxslt.so.1(LIBXML2_1.0.18)(64bit) is needed by postgresql13-contrib-13.1-3PGDG.rhel7.x86_64.rpm
    libxslt.so.1(LIBXML2_1.0.22)(64bit) is needed by postgresql13-contrib-13.1-3PGDG.rhel7.x86_64.rpm

뭔지는 모르겠지만 이번에도 libxslt.so.1 이라는 패키지가 필요한 것일까?

그런데 괄호는 뭐지?

yum search libxslt.so.1 을 미러 서버에서 검색해보았지만 나오지 않는다.

하지만 libxslt를 검색하니 나온다.

이것을 설치했다.

yum install libxslt

다시 contrib를 설치한다.

sudo rpm -ivh postgresql13-server-13.1-3PGDG.rhel7.x86_64.rpm

정상적으로 설치된다.

rpm 설치여부를 확인한다.

rpm -qa | grep postgresql

rpm 리스트가 나오면 정상적으로 설치가 된 것이다.

데이터베이스 생성

기본 데이터베이스를 생성한다.

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

서비스 등록, 실행

서비스를 등록하고 실행한다.

sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

postgresql 접속

postgresql에 접속한다.

-u 옵션은 postgres 계정으로 접속한다는 의미이다.

sudo -u postgres psql

데이터베이스 생성

데이터베이스를 생성한다.

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

Ref.

[PostgreSQL] CentOS 7에서 PostgreSQL 설치 및 시작

<