Ubuntu 16.04에 PostgreSQL을 설치하려고 합니다.
PostgreSQL의 2023.02.10일 현재 최상위 버전은 15.2입니다.
( 참고로, Ubuntu 포함 Linux 환경을 모르는 철저하게 윈도우 사용자로 살아온 사람입니다.
쉬운 방법을 두고 돌아가는 것일 수도 있고 잘못된 방법일 수도 있다는 점 참고부탁드립니다. )
PostgreSQL 지원 버전 확인
PostgreSQL 공식 홈페이지 > 다운로드 설명을 확인하니 아래와 같은 설명이 있습니다.
PostgreSQL Apt Repository가 지원하는 현재 Ubuntu 버전:
- kinetic (22.10, non-LTS)
- jammy (22.04, LTS)
- focal (20.04, LTS)
- bionic (18.04, LTS)
다음 아키텍쳐:
- amd64
- arm64 (18.04 and newer; LTS releases only)
- i386 (18.04 and older)
- ppc64el (LTS releases only)
16.04 버전은 지원하지 않습니다...
그래도 혹시 모르니, 위 페이지에서 설명하는대로, 따라 해보기로 합니다.
실패
# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Update the package lists:
sudo apt-get update
# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get -y install postgresql-12
- sudo apt-get update 명령어에서 부터 Ign, Err 가 많이 표시되는 것이 불안합니다.
root@...:~# sudo apt-get update
Ign:1 http://apt.postgresql.org/pub/repos/apt xenial-pgdg InRelease
Hit:2 http://security.ubuntu.com/ubuntu xenial-security InRelease
Hit:3 http://kr.archive.ubuntu.com/ubuntu xenial InRelease
# ... 생략
Ign:11 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main Translation-en
Reading package lists... Done
W: The repository 'http://apt.postgresql.org/pub/repos/apt xenial-pgdg Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://apt.postgresql.org/pub/repos/apt/dists/xenial-pgdg/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
그래도 계속 진행합니다.
- sudo apt-get -y install postgresql-12 명령어를 입력합니다.
root@...:~# sudo apt-get install postgresql-12
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package postgresql-12
당연하게도? 실패합니다.
(sudo apt-get -y install postgresql-11로 버전을 내려서 해도 동일합니다.)
원인
PostgreSQL wiki 사이트 > News에서 다음과 같은 내용을 확인할 수 있습니다.
* 2022-09-19: Ubuntu xenial and impish have been removed from apt.postgresql.org.
Ubuntu xenial(16.04) 이 apt.postgresql.org에서 제거되었다고 합니다...
해결
열심히 검색 결과, Travis CI Community Form에서 해결 방법을 찾았습니다.
I suggest changing apt.postgresql.org for apt-archive.postgresql.org in Xenial to solve the issue.
apt-archive.postgresql.org로 변경하라고 합니다.
apt-archive로 연결 변경
- 저는 이미 pgdb.list를 생성했으니 편집합니다. 해당 파일을 편집할 수 있게 엽니다.
vi /etc/apt/sources.list.d/pgdg.list
- 파일 내용 중, http://apt.postgresql.org/pub/repos/apt을 http://apt-archive.postgresql.org/pub/repos/apt로 변경합니다. 결과적으로 아래 내용과 같습니다:
deb http://apt-archive.postgresql.org/pub/repos/apt xenial-pgdg main
이전 과정 다시 진행
- 다시 위 과정을 진행합니다.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- 패키지 업데이트
sudo apt-get update
(와우, 이번에는 잘 받아집니다.)
postgreSQL 다시 설치
위에서 진행한 명령어에서 postgresql-contrib 가 추가되었습니다. 부가 모듈을 추가로 설치하는 부분이라고 합니다.
sudo apt-get install postgresql-13 postgresql-contrib-13
설치가 성공적으로 완료되었습니다.
(처음에는 14 버전으로 시도했는데, 실패했습니다. 14 버전은 archive에도 없나 봅니다.)
다음과 같은 성공 메시지가 나왔습니다.
Success. You can now start the database server using:
pg_ctlcluster 13 main start
Ver Cluster Port Status Owner Data directory Log file
13 main 5432 down postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log
update-alternatives: using /usr/share/postgresql/13/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
Processing triggers for ureadahead (0.100.0-19.1) ...
Processing triggers for systemd (229-4ubuntu21.31) ...
-- 설치 끝 --
PostgreSQL 연결 및 버전 확인
postgreSQL 데이터베이스에 연결
sudo -u postgres psql
버전 확인
select version();
참고.
저의 경우 9.5 버전을 이미 설치한 상태에서, 제거 없이 상위 버전을 설치했습니다.
상위 버전으로 업그레이드해서 9.5 버전을 더 이상 사용할 수 없다는 내용으로 보입니다.
그래도 깔끔하게 제거 후 다시 설치하기로 했습니다.
PostgreSQL과 관련 패키지 전체 삭제하기
sudo apt-get --purge remove postgresql\*
확인
dpkg -l | grep postgres
다시 설치
위 내용을 다시 진행합니다.
끝까지 읽어주셔서 감사합니다.
'냐냐한 IT > 냐냐한 실습 기록' 카테고리의 다른 글
Nginx + Ubuntu 환경에 certbot 설치 (0) | 2023.02.09 |
---|---|
Nginx 설치 (Naver Cloud, Ubuntu 16.04) (0) | 2023.02.08 |
java -jar 실행 종료 및 시작 스크립트 (0) | 2023.02.02 |
NAVER CLOUD, Public IP(공인 IP) 신청 및 Spring Boot 실행 확인 + 도메인 연결 (0) | 2023.02.01 |
NAVER CLOUD PLATFORM 가입 및 1년 무료 서버 생성, 콘솔 접속까지 (0) | 2023.01.31 |