Ubuntu에서 최신 PostgreSQL 버전을 설치, 구성 및 사용하는 방법


이 페이지에서

  1. PostgreSQL 설치:
    1. Ubuntu 버전 선택
    2. PostgreSQL 서비스 상태 확인\n

    Postgres는 오픈 소스 관계형 데이터베이스입니다. Postgres는 엔터프라이즈급 성능, 트리거, 원자성, 일관성, 격리, 내구성과 같은 많은 고급 기능과 Postgres를 많은 복잡한 애플리케이션에 적합한 선택으로 만드는 기타 여러 기능을 갖추고 있습니다.

    PostgreSQL 설치:

    이 튜토리얼에서는 공식 PostgreSQL 웹사이트 https://www.postgresql.org/download/linux/ubuntu/에서 최신 버전의 Postgres를 다운로드합니다.

    PostgreSQL은 기본적으로 Ubuntus 저장소에서도 사용할 수 있습니다. 공식 사이트에서 PostgreSQL apt 저장소를 사용하면 선택한 특정 버전을 설치할 수 있습니다.

    우분투 버전을 선택하십시오

    내 Ubuntu 버전은 Bionic(18.04)입니다.

    PostgreSQL 저장소 파일을 만듭니다.

    nano /etc/apt/sources.list.d/pgdg.list 

    pgdg.list에 저장소 행을 추가합니다.

    deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

    18.04(Bionic)와 다른 Ubuntu 버전을 사용하는 경우 bionic이라는 단어를 사용된 Ubuntu 버전의 이름으로 바꿉니다. 저장소 서명 키 가져오기 및 패키지 목록 업데이트

    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    sudo apt-get update

    이제 다음 명령을 사용하여 Ubuntu 시스템에 최신 PostgreSQL 서버를 설치합니다.

    sudo apt-get install postgresql postgresql-contrib

    설치 후 PostgreSQL 서버가 자동으로 시작됩니다.

    PostgreSQL 서비스 상태 확인

    systemctl status postgresql

    이제 PostgreSQL 연결 및 PostgreSQL 서버 버전을 확인하세요.

    sudo -u postgres psql -c "SELECT version();"

    psql을 사용하여 PostgreSQL에 연결하고 서버 버전을 제공합니다.

     version 
    -----------------------------------------------------------------------------------------------------------------------------------
    PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit

    PostgreSQL 역할 및 인증 방법 사용

    PostgreSQL은 데이터베이스 액세스 권한의 역할 개념을 사용합니다. 역할은 데이터베이스 사용자 또는 데이터베이스 사용자 그룹에 적용될 수 있습니다.

    PostgreSQL은 여러 인증 방법을 지원합니다.

    다음은 PostgreSQL에서 가장 일반적으로 사용되는 인증 방법입니다.

    1.신뢰

    트러스트 인증 방법은 pg_hba.conf에서 정의할 수 있으며 이 방법을 사용하면 암호 없이 역할이 데이터베이스에 연결할 수 있습니다.

    2.비밀번호

    역할은 암호를 증명하여 데이터베이스에 연결할 수 있습니다.

    3.아이덴트

    ID 인증 방법은 TCP/IP 연결에서만 작동합니다.

    4. 피어

    로컬 연결에만 사용되는 피어 인증 방법.

    pg_hba.conf 파일은 클라이언트 인증 방법을 정의합니다. 다음 파일을 편집하여 인증 방법을 변경할 수 있습니다.

    nano /etc/postgresql/11/main/pg_hba.conf

    이 파일에서 PostgreSQL은 기본적으로 피어 인증 방법을 사용합니다. 피어를 다른 방법으로 변경하여 인증 방법을 변경할 수 있습니다.

    PostgreSQL 설치 시 기본적으로 postgres 사용자가 생성되며 postgres는 MYSQL 데이터베이스 서버의 루트 사용자와 마찬가지로 PostgreSQL 데이터베이스의 수퍼유저입니다. 이 postgres 사용자는 우분투에서도 생성합니다.

    PostgreSQL에 연결

    PostgreSQL과 연결하기 위한 다음 명령입니다.

    sudo -i -u postgres

    이제 다음 명령을 입력하여 MySQL과 같은 Postgres 프롬프트에 연결할 수 있습니다.

    psql

    다음 프롬프트가 표시되면 PostgreSQL 쿼리를 실행할 준비가 된 것입니다.

    다음 명령을 입력하기만 하면 데이터베이스 서버에 직접 연결할 수 있습니다.

    sudo -u postgres psql

    PostgreSQL에서 역할 및 데이터베이스 생성

    데이터베이스에 이미 postgres 역할이 있으므로 다음 명령을 사용하여 새 역할을 만듭니다.

    :/home# sudo -u postgres createuser --interactive

    Enter name of role to add: sohan
    Shall the new role be a superuser? (y/n) y

    다음 명령을 사용하여 기존 사용자 역할을 나열할 수 있습니다.

    postgres=# \du

    또는 postgres 프롬프트에서 다음 명령을 실행하십시오.

    SELECT rolname FROM pg_roles;

    DROP ROLE 명령을 사용하여 기존 사용자 역할을 삭제할 수 있습니다.

    postgres=# DROP ROLE sohan;
    DROP ROLE

    PostgreSQL 데이터베이스 생성

    여기에서 postgres 계정으로 로그인하고 다음 명령을 실행할 수 있습니다.

    :~$ createdb dummu

    또는 일반 우분투 사용자와 함께 다음 명령을 간단히 실행할 수 있습니다.

    sudo -u postgres createdb dummu 

    새 역할을 사용하여 postgres 프롬프트에 로그인

    시스템 터미널에서 직접 실행하여 새 사용자를 만듭니다.

    sudo adduser sohan

    시스템에서 새 사용자를 생성한 후 다음을 실행하십시오.

    sudo -u sohan psql

    또는 다음 명령을 입력하십시오

    sudo -i -u sohan
    psql

    다음과 같이 단순히 데이터베이스 이름을 제공하여 다른 데이터베이스에 연결할 수 있습니다.

    psql -d dummu

    위의 데이터베이스에 연결한 후 간단한 명령으로 해당 데이터베이스 정보를 얻을 수 있습니다.

    dummu=> \conninfo
    output
    You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';

    PostgreSQL에서 테이블 생성

    역할, 데이터베이스를 생성하고 데이터베이스 서버와의 연결을 생성한 후 이제 테이블을 생성합니다.

    CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);

    위의 명령은 MySQL과 마찬가지로 새 테이블 더미를 생성합니다. 입력하여 이 새 테이블을 확인할 수 있습니다.

    \d

    여기에서 시퀀스의 다음 번호를 추적하는 dummu_user_id_seq 테이블도 볼 수 있습니다.

    시퀀스 없이 테이블 이름만 표시하려면 다음 명령을 실행하십시오.

    \dt

    이렇게 하면 dummu 테이블만 표시됩니다.

    sohan=> \dt
    Output

              List of relations
     Schema |    Na    | Type  | Owner
    --------+------------+-------+-------
     public | dummu      | table | soha

    테이블에 데이터 추가

    이제 다음을 입력하여 dummu 테이블에 데이터를 추가합니다.

    Insert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','gmail.com','2019-06-24 11:11:11','2019-06-24 11:11:11');

    이제 dummu 테이블에서 데이터를 가져올 것입니다.

    SELECT * FROM dummu;

    테이블에서 열 삭제

    이제 이 테이블에서 데이터를 삭제할 수 있습니다.

    DELETE FROM dummu WHERE email = '';

    PostgreSQL 테이블 변경

    비슷한 방법으로 다음과 같이 alter query를 사용하여 테이블을 수정할 수 있습니다.

    ALTER TABLE dummu DROP email;

    이렇게 하면 dummu 테이블에서 이메일 필드가 제거됩니다.

    그것을 확인

    SELECT * FROM dummu;
    output:-

    user_id | username | password |     created_on      |     last_login      
    ---------+----------+----------+---------------------+---------------------
           1 | sohan    | 123456   | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

    테이블의 데이터 업데이트

    이제 데이터를 테이블로 업데이트하는 방법을 살펴보겠습니다.

    dummu 테이블에 암호를 업데이트하려면 다음 명령을 실행하십시오.

    UPDATE dummu SET password = 'postgres' where username = 'sohan';

    간단히 입력하여 변경 사항 확인

    SELECT * FROM dummu;
    output

    user_id | username | password |     created_on      |     last_login      
    ---------+----------+----------+---------------------+---------------------
           1 | sohan    | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

    요컨대, 이 자습서에서는 PostgreSQL 설치 방법, 역할 및 데이터베이스 생성 및 기본 데이터베이스 명령을 배웁니다.