[Ubuntu] 우분투 20.04에 PostgreSQL 16 설치
1단계 - PostgreSQL 레파지토리 추가

이 명령은 시스템의 패키지 데이터베이스를 업데이트하는 명령어 입니다.
이 명령을 실행하면 패키지 관리자가 패키지 소스에서 최신 패키지 정보를 가져오고 시스템에 설치 가능한 패키지 목록을 업데이트합니다

이 명령은 gnupg2, wget, vim 이라는 패키지가 시스템에 설치 됩니다.
각 패키지의 역할은 다음과 같습니다.
1. gnupg2 : 암호화 및 디지털 서명을 지원하는 오픈 소스 소프트웨어입니다.
2. wget : 웹에서 파일을 다운로드하는 명령행 도구입니다.
3. vim : 텍스트 편집기입니다.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
이 명령은 PostgreSQL 저장소를 시스템의 sources.list.d 디렉토리에 추가하는 작업을 수행합니다.

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
이 명령은 PostgreSQL의 키를 다운로드하고 시스템에 추가하는 작업을 수행합니다.

패키지 목록을 업데이트 합니다.
2단계 - PostgreSQL 16설치

이 명령어는 PostgreSQL 16및 추가모듈(Contrib 모듈)을 시스템에 설치하는 작업을 수행합니다.

이 명령어는 PostgreSQL 서비스를 및 데이터베이스 서버를 실행합니다.

이 명령어는 PostgreSQL 서비스가 부팅시 자동으로 시작하도록 설정합니다.

이 명령어는 PostgreSQL의 버전을 확인합니다.
버전을 확인하고 psql(PostgreSQL) 16.0(Ubuntu 16.0-1.pgdg22.04+1)가 맞는지 확인해주세요.
3단계 - PostgreSQL 16 구성

이 명령어를 실행하면 GNU nano 편집기로 PostgreSQL 설정파일이 열어서 편집을 할 수 있습니다.
GNU nano는 텍스트 파일을 편집하는 명령행 편지기입니다.
저장하려면 Ctrl + O키를 누릅니다
편집기에서 나가려면 Ctrl + X키를 누릅니다.
필자는 listen_addresses = '*'을 입력하였습니다.

이 명령어는 PostgreSQL의 pg_hba.conf 파일에서 ident 인증 방식을 md5로 변경하는 작업을 수행합니다.

이 명령어는 PostgreSQL의 pg_hba.conf 파일에서 local 주소로의 연결을 peer 인증방식에서 trust 인증 방식으로 변경하는 작업을 수행합니다.

echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
이 명령어는 PostgreSQL DB에 대한 외부 연결을 가능하게 하는 설정을 pg_hba.conf 파일에 추가하는 명령입니다.
위와 같은 명령어를 사용하면 모든 IP에서 PostgreSQL DB연결이 허용됩니다.

이 명령어는 변경 사항을 적용하고 PostgreSQL을 다시 시작해주는 작업을 수행합니다.

이 명령어는 방화벽을 통해 PostgreSQL 포트를 허용하는 작업을 수행합니다.
postgres 사용자로 연결합니다.
4단계 - PostgreSQL에 연결

이 명령어는 postgres 사용자로 연결하는 작업을 수행합니다.

이 명령어는 PostgreSQL의 postgres 사용자의 암호를 변경하는 명령입니다.
결론 : Ubuntu에 PostgreSQL 16 설치 / 원격 연결 활성화 / 비밀번호 인증 설정 / DB 및 사용자 생성
참조 : https://dev.to/rainbowhat/postgresql-16-installation-on-ubuntu-2204-51ia?utm_source=oneoneone