DB

손경현·2024년 11월 8일

1. 구조

Postgresql > Database > schema > table

2. Postgresql 설치 오류

  • 초기 오류
    sudo apt update
    E: Conflicting values set for option Signed-By regarding source http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg: /usr/share/keyrings/pgdg.gpg != /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg

    1. APT 소스 확인
      grep -r "apt.postgresql.org" /etc/apt/sources.list /etc/apt/sources.list.d/
      /etc/apt/sources.list.d/pgdg.sources:URIs: https://apt.postgresql.org/pub/repos/apt
      /etc/apt/sources.list.d/pgdg.sources:Signed-By: /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
      /etc/apt/sources.list.d/pgdg.list:deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main
      PostgreSQL 관련 소스 목록에서 두 개의 다른 설정을 확인할 수 있습니다:
      /etc/apt/sources.list.d/pgdg.sources 파일에는 PostgreSQL 소스에 대한 설정이 포함되어 있습니다.
      /etc/apt/sources.list.d/pgdg.list 파일에는 다른 GPG 키를 참조하고 있습니다.
    2. pgdg.sources 파일 수정 또는 삭제
      pgdg.sources 파일에서 PostgreSQL 소스가 정의되어 있는 부분을 수정하거나 삭제해야 합니다. 이 파일에서 GPG 키를 참조하는 부분을 지워주십시오. 다음 명령어로 파일을 열 수 있습니다:
      sudo vim /etc/apt/sources.list.d/pgdg.sources
      파일의 내용을 주석 처리하거나 아예 삭제합니다. (특히 Signed-By가 /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg를 가리키는 부분을 지웁니다.)
  • 2번째 오류
    E: Conflicting values set for option Signed-By regarding source http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg: /usr/share/keyrings/pgdg.gpg !=
    pgdg.sources 에서 제거해준 /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg 부분이 삭제됐음

    • pgdg.list
      형식:
      deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main
      용도:
      이 파일은 APT에게 PostgreSQL 패키지를 다운로드할 URL과 해당 URL에서 사용할 GPG 키를 알려줍니다.
      deb는 이 소스에서 바이너리 패키지를 설치할 것임을 나타내며, signed-by는 GPG 키의 경로를 지정합니다.
      jammy-pgdg는 Ubuntu의 배포판 이름과 PostgreSQL Global Development Group(PGDG) 리포지토리의 이름을 나타냅니다.
      main은 이 소스에서 사용할 구성 요소를 나타냅니다.
    • pgdg.sources
      - 형식
      ```Types: deb
      URIs: https://apt.postgresql.org/pub/repos/apt
      Suites: jammy-pgdg
      Components: main
      ```
      - 용도:
      이 파일은 pgdg.list와 유사한 정보를 포함하지만, 일반적으로 소스 리포지토리 또는 다른 종류의 패키지 소스를 관리할 때 사용됩니다.
      Types는 사용할 패키지의 종류를 지정하고 (deb는 바이너리 패키지), URIs는 소스의 URL, Suites는 해당 배포판 이름, Components는 사용할 구성 요소를 나타냅니다.
      이 파일은 보통 특정 소스를 사용할 때 GPG 키를 따로 지정하지 않고, APT에게 기본적으로 GPG 키를 사용하도록 지시합니다.
    1. sudo rm /etc/apt/sources.list.d/pgdg.sources 파일 삭제
  • 3번째 오류

    ghson@BOOK-P3F7MO0BJC:/etc/apt/sources.list.d$ apt update
    Reading package lists... Done
    E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
    E: Unable to lock directory /var/lib/apt/lists/
    1. sudo 로 실행

드디어 해결 .. ^^

3. Postgresql 패키지들

  1. postgresql-common
    설명: PostgreSQL의 여러 버전과 관련된 공통 도구 및 유틸리티를 포함한 패키지입니다.
    용도:
    PostgreSQL 데이터베이스 클러스터를 관리하는 도구를 제공합니다.
    PostgreSQL을 여러 버전 설치할 때 이 패키지가 필요합니다. 예를 들어, 데이터베이스 클러스터 생성, 삭제 및 관리와 관련된 명령어를 제공합니다.
    이 패키지는 PostgreSQL 서버가 설치되기 전에 설치해야 할 패키지입니다.
  2. postgresql-client
    설명: PostgreSQL 데이터베이스에 연결하고 쿼리를 실행할 수 있는 기본 클라이언트 패키지입니다.
    용도:
    데이터베이스에 연결하기 위해 psql 명령어와 같은 클라이언트 프로그램을 제공합니다.
    PostgreSQL 서버가 설치된 후에도, 이 클라이언트만으로도 원격 데이터베이스에 연결하고 작업할 수 있습니다.
    데이터베이스와 상호작용할 수 있는 CLI 도구를 필요로 할 때 유용합니다.
  3. postgresql
    설명: PostgreSQL 서버 패키지로, 데이터베이스 서버를 설치합니다.
    용도:
    실제 PostgreSQL 데이터베이스 서버를 설치하여 데이터베이스를 생성하고 관리합니다.
    클라이언트가 서버와 연결하여 데이터베이스를 쿼리할 수 있도록 하는 실제 데이터베이스 시스템을 제공합니다.
    데이터베이스 관리 및 운영을 위해 이 패키지가 필요합니다.
    요약
    postgresql-common: PostgreSQL의 다양한 버전 관리 및 클러스터 관리 도구.
    postgresql-client: PostgreSQL 데이터베이스에 연결하기 위한 클라이언트 도구.
    postgresql: PostgreSQL 데이터베이스 서버 설치.
profile
개린이

0개의 댓글