2021. 10. 19. 18:03ㆍ[개발] 지식/PostgreSQL
CentOS 7에서 PostgreSQL-13 설치하기 (offline)
rpm 파일로 postgresql-13 설치
먼저 rpm 파일들을 다운받아야 한다.
아래 사이트에서 4개를 다운받을 수 있다.
- postgresql13 - PostgreSQL client programs and libraries
- postgresql13-contrib - Contributed source and binaries distributed with PostgreSQL
- postgresql13-libs - The shared libraries required for any PostgreSQL clients
- postgresql13-server - The programs needed to create and run a PostgreSQL server
RepoView: PostgreSQL PGDG 13 Updates RPMs
해당 파일을 리눅스로 옮긴다.
경로는 자유롭게 해도 되지만, 나는 /home/centos/
에 복사했다.
설치 순서는 아래와 같다.
- postgresql13-libs
- postgresql13
- postgresql13-server
- 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' 카테고리의 다른 글
[ubuntu-16.04] PostgreSQL - 포트 개방 (외부 접근 허용) (0) | 2022.07.19 |
---|---|
PostgreSQL - 시퀀스 생성 (0) | 2022.04.22 |
PostgreSQL - 테이블 생성 (0) | 2022.03.21 |
pg_dump, pg_restore를 활용한 DB 백업/복구 (0) | 2021.10.20 |