CentOS 7에 PostgreSQL 설치 방법

CentOS 7에 PostgreSQL 설치 방법

2022-06-01 last update

10 minutes reading centos database postgresql
PostgreSQL 또는Postgres는 일반적인 대상 관계 데이터베이스 관리 시스템으로 복잡한 웹 응용 프로그램을 만들 수 있는 많은 고급 기능을 가지고 있습니다.이 강좌에서는 CentOS 7 기기에 PostgreSQL을 설치하는 두 가지 방법을 보여 드리겠습니다.첫 번째 방법은 CentOS 저장소에서PostgreSQL v9.2.23을 설치하는 데 필요한 절차를 안내하고, 두 번째 방법은 공식 PostgreSQL 저장소에서 최신 버전의 PostgreSQL을 설치하는 방법을 보여 줍니다.응용 프로그램에 최신 버전이 필요하지 않으면 첫 번째 방법을 사용하고 CentOS 저장소에서PostgreSQL을 설치하는 것이 좋습니다.PostgreSQL 데이터베이스 관리에 대한 기초 지식도 살펴보겠습니다.

선결 조건

본 강좌를 계속하기 전에 user with sudo privileges 로 로그인하십시오.
.

CentOS 저장소에서 PostgreSQL 설치

본문을 작성할 때 CentOS 저장소에서 제공하는 최신 버전의 PostgreSQL은 PostgreSQL 9.2.23입니다.CentOS 서버에 PostgreSQL을 설치하려면 다음 절차를 따르십시오.
  • PostgreSQL을 설치하려면 PostgreSQL 서버를 설치하고 PostgreSQL 데이터베이스에 여러 가지 추가 기능을 제공하는 PostgreSQL contrib 패키지를 입력하십시오.
    sudo yum install postgresql-server postgresql-contrib
  • 데이터베이스를 초기화하려면 다음 명령을 사용하여 PostgreSQL 데이터베이스를 초기화합니다.
    sudo postgresql-setup initdb
    Initializing database ... OK
  • Starting PostgreSQL PostgreSQL 서비스를 시작하고 시작할 때 시작할 수 있도록 하려면
    sudo systemctl start postgresqlsudo systemctl enable postgresql
  • Verification PostgreSQL installation 설치를 검증하려면 psql 도구를 사용하여 PostgreSQL 데이터베이스 서버에 연결하고 인쇄server version
    :
    sudo -u postgres psql -c "SELECT version();"
    PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
    (1 row)
  • Psql은 대화식 명령행 유틸리티로 PostgreSQL 서버와 상호작용할 수 있습니다.

    PostgreSQL 저장소에서 PostgreSQL 설치

    본문을 작성할 때 PostgreSQL 공식 저장소에서 제공한 최신 버전은 PostgreSQL 버전 10.4입니다.다음 단계를 계속하기 전에 방문해야 합니다PostgreSQL Yum Repository
    페이지를 넘기고 사용할 수 있는 새 버전이 있는지 확인하십시오.다음 절차에 따라 CentOS 서버에 최신 버전의 PostgreSQL을 설치합니다.
  • PostgreSQL repository 사용 PostgreSQL repository를 사용하려면 저장소rpm 파일을 설치하십시오.
    sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  • PostgreSQL 저장소를 설치하려면 다음 도구를 사용하여 PostgreSQL 서버와 PostgreSQL contrib 패키지를 설치하십시오.
  • 데이터베이스를 초기화하여 PostgreSQL 데이터베이스 유형을 초기화하는 절차:
    sudo yum install postgresql10-server postgresql10-contrib
  • PostgreSQL 서비스를 시작하고 시작할 때 시작하는 절차:
    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
  • PostgreSQL 설치를 검증하고 설치하려면 psql 도구를 사용하여 PostgreSQL 데이터베이스 서버에 연결하고 서버를 인쇄합니다.버전:
    Initializing database ... OK
    sudo systemctl start postgresql-10sudo systemctl enable postgresql-10
  • PostgreSQL 역할 및 인증 방법

    PostgreSQL의 데이터베이스 접근 권한은 역할의 개념 처리를 사용합니다.역할은 데이터베이스 사용자 또는 데이터베이스 사용자 그룹을 나타낼 수 있습니다.PostgreSQL 지원 다중authentication methods
    . 가장 자주 사용하는 방법은
  • 신뢰 - 이 방법을 사용하면 pg_hba.conf에서 정의한 조건을 충족시키면 캐릭터가 비밀번호 없이 연결할 수 있다.
  • 암호 - 역할은 암호를 제공하여 연결할 수 있습니다.암호는 scram-sha-256 md5password (명문) 으로 저장할 수 있습니다.
  • Ident- 이 방법은 TCP/IP 연결에서만 지원됩니다.이것은 클라이언트의 운영체제 사용자 이름과 선택할 수 있는 사용자 이름 맵을 가져와서 작동합니다.
  • 등가 - Ident와 같지만 로컬 연결에서만 지원됩니다.
  • PostgreSQL 클라이언트 인증은 pg_hba.conf라는 프로필에서 정의됩니다.기본적으로 로컬 연결의 경우 PostgreSQL은 피어 인증 방법을 사용하도록 설정됩니다.PostgreSQL을 설치하면 사용자postgres가 자동으로 생성됩니다.이 사용자는 MySQL 루트에 해당하는 PostgreSQL 인스턴스의 수퍼유저입니다.먼저 Postgres 사용자로 PostgreSQL 서버에 로그인하려면 switch to the user
    그리고 psql 유틸리티를 사용하여 PostgreSQL 프롬프트에 액세스합니다.
    sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"
    여기에서 PostgreSQL 인스턴스와 상호작용할 수 있습니다.PostgreSQL 셸을 종료하려면 입력:
    PostgreSQL 10.4 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 프롬프트에 액세스할 수도 있습니다.
    명령:
    sudo su - postgrespsql
    sudo 사용자는 일반적으로 로컬 호스트에서만 사용하므로 암호를 설정하지 않는 것이 좋습니다.PostgreSQL 공식 저장소에서 PostgreSQL 버전 10이 설치된 경우 postgres 바이너리 파일의 전체 경로 psql 를 사용해야 합니다.

    PostgreSQL 역할 및 데이터베이스 만들기

    새 역할은 수퍼유저와 /usr/pgsql-10/bin/psql 권한이 있는 역할만 만들 수 있습니다.다음 예시에서 우리는 CREATEROLE라는 새로운 역할과 john라는 데이터베이스를 만들고 이 데이터베이스에 권한을 부여할 것이다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});
  • PostgreSQL Shell
    \q
    
  • 에 연결하여 새 PostgreSQL 역할 만들기 다음 명령으로 "john"이라는 새 역할을 만듭니다.
    sudo -u postgres psql
  • 새 PostgreSQL 데이터베이스 만들기 사용johndb 명령으로 "johndb"라는 새 데이터베이스 만들기:
    sudo -u postgres psql
  • 사용자 부여createdb이전 단계에서 만든 데이터베이스는 다음과 같은 조회를 실행합니다.
    CREATE ROLE john;

    PostgreSQL 서버에 대한 원격 액세스 활성화

    기본적으로 PostgreSQL 서버는 로컬 인터페이스 john 만 정탐합니다.PostgreSQL 서버에 대한 원격 액세스를 활성화하려면 구성 파일127.0.0.1을 열고 postgresql.conf 섹션에 추가listen_addresses = '*'합니다.
    CREATE DATABASE johndb;
    PostgreSQL 버전 10을 실행하는 경우 파일 경로는 CONNECTIONS AND AUTHENTICATION/var/lib/pgsql/data/postgresql.ff
    GRANT ALL PRIVILEGES ON DATABASE johndb TO john;
    파일을 저장하고 다음 명령을 사용하여 PostgreSQL 서비스를 다시 시작합니다.
    sudo vim /var/lib/pgsql/data/postgresql.conf
    PostgreSQL 버전 10을 실행하면 /var/lib/pgsql/10/data/postgresql.conf PostgreSQL 서비스를 다시 시작하십시오.systemctl restart postgresql-10 유틸리티를 사용하여 변경 내용 확인:
    #------------------------------------------------------------------------------
    # CONNECTIONS AND AUTHENTICATION
    #------------------------------------------------------------------------------
    
    # - Connection Settings -
    
    listen_addresses = '*'     # what IP address(es) to listen on;
    
    sudo systemctl restart postgresql
    PostgreSQL server is ss 위의 출력에서 보듯이
    모든 인터페이스(0.0.0)마지막 단계는 파일을 편집하여 원격 연결을 허용하도록 서버를 구성하는 것입니다.다음은 서로 다른 용례를 보여주는 예시들입니다:/var/lib/pgsql/data/pg\uhba.conf
    ss -nlt | grep 5432
    PostgreSQL 버전 10을 실행하는 경우 파일의 전체 경로는 pg_hba.conf 입니다.

    결론

    CentOS 7 서버에 PostgreSQL을 설치하고 구성하는 방법을 배웠습니다.문의 listening
    이 주제에 대한 자세한 내용입니다.만약 문제가 있으면 아래에 메시지를 남겨 주십시오.