웹사이트 검색

RHEL 8에 PostgreSQL을 설치하는 방법


PostgreSQL(Postgres라고도 함)은 강력한 오픈 소스 객체 관계형 데이터베이스 관리 시스템으로, 안전하게 유지하고 확장할 수 있는 다양한 기능과 결합된 SQL 언어를 사용하고 확장합니다. 가장 복잡한 데이터 워크로드.

PostgreSQL에는 프로그래머가 애플리케이션을 개발하고, 관리자가 데이터 무결성을 보호하고 내결함성 환경을 조성하고, 데이터세트의 규모에 상관없이 데이터를 관리하는 데 도움이 되는 다양한 기능이 함께 제공됩니다.

무료이며 오픈 소스라는 점 외에도 PostgreSQL은 확장성이 매우 뛰어납니다. 예를 들어, 자신만의 데이터 유형을 추가하고, 사용자 정의 기능을 개발하고, 데이터베이스를 다시 컴파일하지 않고도 다양한 프로그래밍 언어로 코드를 작성할 수도 있습니다!

요구사항:

  1. 최소한의 설치로 RHEL 8
  2. RedHat 구독이 활성화된 RHEL 8
  3. 고정 IP 주소를 사용하는 RHEL 8

이 문서에서는 RHEL 8 Linux 배포판에서 PostgreSQL 데이터베이스 관리 시스템을 설치, 보안 및 구성하는 방법을 설명합니다.

PostgreSQL 패키지 설치

1. PostgreSQLRHEL 8의 기본 저장소에 포함되어 있으며 다음 dnf 명령을 사용하여 설치할 수 있습니다. 그러면 PostgreSQL 서버가 설치됩니다. 10, 라이브러리 및 클라이언트 바이너리.

dnf install @postgresql

참고: RHEL 8 시스템에 PostgreSQL 11 패키지를 설치하려면 PostgreSQL 서버, 클라이언트 바이너리, 타사 추가 기능 등 다양한 패키지가 포함된 PostgreSQL RPM 저장소.

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf update
dnf install postgresql11-server postgresql11  postgresql11-contrib

PostgreSQL 데이터베이스 초기화

2. PostgreSQL 패키지를 설치한 후 다음 단계는 /usr/를 사용하여 새 PostgreSQL 데이터베이스 클러스터를 초기화하는 것입니다. bin/postgresql-setup 유틸리티는 다음과 같습니다.

/usr/bin/postgresql-setup --initdb

3. 이제 PostgreSQL 클러스터가 초기화되었으므로 지금은 PostgreSQL 서비스를 시작한 다음 시스템 부팅 시 자동 시작되도록 활성화하고 다음을 사용하여 상태를 확인해야 합니다. systemctl 명령.

systemctl start postgresql
systemctl enable postgresql
systemctl status postgresql

PostgreSQL 데이터베이스 보안 및 구성

이 섹션에서는 Postgres 사용자 계정과 관리 사용자 계정을 보호하는 방법을 보여줍니다. 그런 다음 PostgreSQL을 구성하는 방법, 특히 클라이언트 인증을 설정하는 방법을 다룹니다.

4. 다음과 같이 passwd 유틸리티를 사용하여 postgres 시스템 사용자 계정에 대한 비밀번호를 만듭니다.

passwd postgres

5. 그런 다음 postgres 시스템 사용자 계정으로 전환하고 비밀번호를 생성하여 PostgreSQL 관리 데이터베이스 사용자 계정을 보호합니다. 강력하고 안전한 비밀번호).

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'adminpasswdhere123';"

6. 다양한 PostgreSQL 구성 파일은 /var/lib/pgsql/data/ 디렉터리에서 찾을 수 있습니다. 디렉토리 구조를 보려면 tree(dnf install tree를 사용하여 설치) 명령을 사용하면 됩니다.

tree -L 1 /var/lib/pgsql/data/

기본 서버 구성 파일은 /var/lib/pgsql/data/postgresql.conf입니다. 그리고 클라이언트 인증은 /var/lib/pgsql/data/pg_hba.conf를 사용하여 구성할 수 있습니다.

7. 다음으로 클라이언트 인증을 구성하는 방법을 살펴보겠습니다. PostgreSQL 데이터베이스 시스템은 비밀번호 기반 인증을 포함하여 다양한 유형의 인증을 지원합니다. 비밀번호 기반 인증에서는 md5, crypt 또는 비밀번호(비밀번호를 일반 텍스트로 전송) 방법 중 하나를 사용할 수 있습니다.

위의 비밀번호 인증 방법은 비슷한 방식으로 작동하지만 이들 사이의 주요 차이점은 사용자가 입력할 때 사용자의 비밀번호가 서버에 저장되고 연결을 통해 전송되는 방식입니다.

공격자의 비밀번호 스니핑을 방지하고 서버에 비밀번호가 일반 텍스트로 저장되는 것을 방지하려면 표시된 것처럼 md5를 사용하는 것이 좋습니다. 이제 클라이언트 인증 구성 파일을 엽니다.

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

그리고 다음 줄을 찾아 인증 방법을 md5로 변경하세요.

host    all             all             127.0.0.1/32            md5
host    all             all		::1/128                 md5

8. 이제 Postgres 서비스를 다시 시작하여 구성의 최근 변경 사항을 적용합니다.

systemctl reload postgresql

9. 이 단계에서는 이제 PostgreSQL 데이터베이스 서버 설치가 안전해졌습니다. postgres 계정으로 전환하고 PostgreSQL 작업을 시작할 수 있습니다.

su - postgres
psql

PostgreSQL의 작동 방식과 애플리케이션 개발에 PostgreSQL을 사용하는 방법을 이해하려면 공식 PostgreSQL 문서(설치한 버전에 대한 문서를 선택해야 함)를 읽을 수 있습니다.

지금은 여기까지입니다! 이 가이드에서는 RHEL 8에서 PostgreSQL 데이터베이스 관리 시스템을 설치, 보안 및 구성하는 방법을 보여주었습니다. 아래 피드백 양식을 통해 피드백을 제공할 수 있다는 점을 기억하세요.