PostgreSQL을 Ubuntu 20.04에 설치하는 방법

PostgreSQL을 Ubuntu 20.04에 설치하는 방법

2022-05-17 last update

8 minutes reading database postgresql ubuntu
PostgreSQL 또는 Postgres는 일반적인 대상 관계 데이터베이스 관리 시스템으로, 많은 고급 기능을 가지고 있으며, 오류 환경이나 복잡한 응용 프로그램을 구축할 수 있습니다.이 설명서에서는 Ubuntu 20.04에 PostgreSQL 데이터베이스 서버를 설치하는 방법을 설명하고 PostgreSQL 데이터베이스 관리의 기초 지식을 탐색합니다.

선결 조건

패키지를 설치하려면 루트 또는 사용자로 로그인해야 합니다sudo privileges.

Ubuntu에 PostgreSQL 설치

본문을 작성할 때 공식 Ubuntu 저장소에서 제공한 최신 버전의 PostgreSQL은 PostgreSQL 10.4 버전이다.다음 명령을 실행하여 Ubuntu에 PostgreSQL 서버를 설치합니다:
sudo apt updatesudo apt install postgresql postgresql-contrib
PostgreSQL contrib 패키지도 설치했습니다. 이 패키지는 PostgreSQL 데이터베이스 시스템에 추가 기능을 제공합니다.설치가 완료되면 PostgreSQL 서비스가 자동으로 시작됩니다.psql 도구를 사용하여 PostgreSQL 데이터베이스 서버에 연결하고 인쇄version를 통해 설치 검증
sudo -u postgres psql -c "SELECT version();"
PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
이렇게.PostgreSQL이 설치되어 있으므로 사용할 수 있습니다.

PostgreSQL 역할 및 인증 방법

PostgreSQL의 데이터베이스 접근 권한은 캐릭터의 개념 처리를 사용한다.역할은 데이터베이스 사용자 또는 데이터베이스 사용자 그룹을 나타낼 수 있습니다.PostgreSQL은 다중 지원authentication methods
. 가장 일반적인 방법은
  • 신뢰 - pg_hba.conf에서 정의한 조건을 충족시키면 캐릭터는 비밀번호 없이 연결할 수 있다.
  • 비밀번호 - 캐릭터는 비밀번호를 제공하여 연결할 수 있다.암호는 scram-sha-256, md5password(명문)로 저장할 수 있습니다.
  • Ident-는 TCP/IP 연결에서만 지원됩니다.이것은 클라이언트의 운영체제 사용자 이름과 선택할 수 있는 사용자 이름 맵을 가져와서 작동합니다.
  • 피어 - Ident와 동일하지만 로컬 접속에서만 지원됩니다.
  • PostgreSQL 클라이언트 인증은 pg_hba.conf라는 구성 파일에서 정의됩니다.기본적으로 PostgreSQL은 로컬 연결에 대해 등가 인증 방법을 사용합니다.PostgreSQL을 설치하면 사용자postgres가 자동으로 생성됩니다.이 사용자는 PostgreSQL 인스턴스의 수퍼유저이며 MySQL 루트 사용자에 해당합니다.PostgreSQL 서버에 postgres 사용자로 로그인하려면 먼저switch to the user
    그리고 psql 유틸리티를 사용하여PostgreSQL 알림부호에 접근합니다:
    sudo su - postgrespsql
    여기서PostgreSQL 실례와 상호작용할 수 있습니다.PostgreSQL 셸 종료 형식:
    \q
    사용자를 전환하지 않고 PostgreSQL 알림에 접근하는 또 다른 방법은 사용 sudo
    명령:
    sudo -u postgres psql
    일반적으로 로컬 호스트에서만 postgres 신분으로 데이터베이스 서버에 로그인해야 합니다.

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

    수퍼유저와 CREATEROLE 권한이 있는 역할만 새 역할을 만들 수 있습니다.다음 예는 john라는 새로운 캐릭터johndb라는 데이터베이스를 만들고 데이터베이스에 권한을 부여하는 방법을 보여 줍니다.
  • 새로운 PostgreSQL 역할을 만듭니다.
    sudo su - postgres -c "createuser john"
  • 새로운 PostgreSQL 데이터베이스를 만듭니다.
    sudo su - postgres -c "createdb johndb"
  • 사용자에게 데이터베이스 권한을 부여하려면 PostgreSQL 셸에 연결하십시오. (adsby=Googlewindow.|||Google||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||추진({});
    sudo -u postgres psql
    및 다음 조회를 실행합니다.
    GRANT ALL PRIVILEGES ON DATABASE johndb TO john;

    PostgreSQL 서버에 대한 원격 액세스 사용

    기본적으로 PostgreSQL 서버는 로컬 인터페이스만 탐지합니다127.0.0.1.PostgreSQL 서버에 대한 원격 접근을 사용하려면 설정 파일postgresql.conf을 열고 listen_addresses = '*' 부분에 CONNECTIONS AND AUTHENTICATION를 추가하십시오.
    sudo nano /etc/postgresql/12/main/postgresql.conf
    /etc/postgresql/12/main/postgresql.conf
    #------------------------------------------------------------------------------
    # CONNECTIONS AND AUTHENTICATION
    #------------------------------------------------------------------------------
    
    # - Connection Settings -
    
    listen_addresses = '*'     # what IP address(es) to listen on;
    파일을 저장하고 PostgreSQL 서비스를 다시 시작합니다.
    sudo service postgresql restart
    사용 ss 실용 프로그램 검증 변경 사항:
    ss -nlt | grep 5432
    출력에 PostgreSQL 서버가 listening임을 나타냅니다.
    모든 인터페이스(0.0.0.0:
    LISTEN  0        244              0.0.0.0:5432           0.0.0.0:*              
    LISTEN  0        244                 [::]:5432              [::]:* 
    
    다음 단계는 편집pg_hba.conf 파일을 통해 서버를 원격 연결을 받도록 설정하는 것입니다.다음은 서로 다른 용례를 보여 주는 예들입니다:/etc/postgresql/12/main/pg hba.conf
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # The user jane can access all databases from all locations using md5 password
    host    all             jane            0.0.0.0/0                md5
    
    # The user jane can access only the janedb from all locations using md5 password
    host    janedb          jane            0.0.0.0/0                md5
    
    # The user jane can access all databases from a trusted location (192.168.1.134) without a password
    host    all             jane            192.168.1.134            trust
    
    의 마지막 단계는 방화벽의 포트5432를 여는 것입니다.사용 중인 경우 UFW
    방화벽을 관리하고 192.168.1.0/24 서브넷에서 액세스할 수 있도록 하려면 다음 명령을 실행하십시오.
    sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432
    방화벽이 신뢰할 수 있는 IP 범위의 연결만 받도록 구성되었는지 확인하십시오.

    결론

    Ubuntu 20.04 서버에 PostgreSQL을 설치하고 구성하는 방법을 보여 드렸습니다.문의PostgreSQL 12 Documentation
    이 항목에 대한 추가 정보.만약 무슨 문제가 있으면 아래에 메시지를 남겨 주십시오.