반응형
전체 워크플로우 요약
0️⃣ 출발점 (상황)
- “깡통 서버”를 받음
- 목적: PostgreSQL 설치
- 실제 상태:
- OS: CentOS 7
- 아무 서비스는 없지만 OS는 이미 오래된 상태
1️⃣ 문제 ①
“깡통인데 왜 이렇게 문제가 많지?”
🔴 문제점
- PostgreSQL 최신 버전(13, 15 등) 설치 시도
- repo 에러, GPG 에러, yum lock, 의존성 에러 연쇄 발생
🔍 원인
- 깡통 서버 = 최신 서버가 아님
- 깡통은 단지:
- “아무 서비스도 안 깔린 OS”
- OS 자체가 CentOS 7 (이미 EOL)
👉 즉,
문제의 근본 원인은 ‘OS가 오래됨’
2️⃣ 문제 ②
“왜 PostgreSQL 버전이 계속 안 맞아?”
🔴 문제점
- PostgreSQL 15 → repo 404
- PostgreSQL 13 → ICU 라이브러리 문제
- PostgreSQL 12 → repo 자체가 없음
🔍 원인 (핵심)
PostgreSQL은 OS에 강하게 의존함:
항목CentOS 7
| glibc | 2.17 |
| OpenSSL | 1.0.2 |
| 상태 | EOL |
하지만 PostgreSQL은:
- 13 이상 → ICU 필요
- 15 이상 → OS 최신 라이브러리 필요
- 12 → 이제 repo 삭제됨
👉 결과적으로:
CentOS 7에서는
PostgreSQL을 yum으로 설치할 수 있는 공식 경로가 사라짐
3️⃣ 문제 ③
“repo를 바꿔도 왜 계속 404가 나지?”
🔴 문제점
- pgdg12 → 404
- pgdg12-archive → 404
- 계속 “No more mirrors” 에러
🔍 원인
- PostgreSQL + CentOS 7 조합이 이중 EOL
- PGDG 정책:
- EOL OS + EOL DB → repo 완전 삭제
- archive repo도 일정 기간 후 제거
👉 즉,
“우리가 뭘 잘못해서가 아니라
이제는 길 자체가 사라진 상태”
4️⃣ 중간에 나왔던 잡음들 (이해 안 됐던 것들 정리)
❓ ps, python이 왜 있었나?
- CentOS 7에서:
- yum은 python으로 만들어진 프로그램
- 그래서 ps에 python /bin/yum이 보인 것
- 백그라운드 서비스 아님
- 네가 실행한 yum이 멈춰 있었던 것뿐
❓ yum lock은 왜 걸렸나?
- repo 404 / GPG 에러 중 yum이 멈춤
- 프로세스는 살아 있고 lock은 유지
- 그래서:
- kill -9
- rpm DB 복구
- 캐시 정리
👉 이건 정상적인 장애 처리 절차
5️⃣ 우리가 시도했던 “방안들”과 결과
방안 ① PostgreSQL 15
- ❌ OS가 너무 낮음
- ❌ repo 지원 안 됨
방안 ② PostgreSQL 13
- ❌ ICU 라이브러리 필요
- ❌ CentOS 7에 ICU 런타임 없음
방안 ③ PostgreSQL 12
- ❌ 일반 repo 삭제
- ❌ archive repo도 삭제됨 (현재 시점)
👉 모든 yum 기반 설치 경로가 막힘
6️⃣ 최종 결론 (이게 핵심)
🔴 문제의 본질
문제는 PostgreSQL이 아니라
CentOS 7이라는 OS 자체가 수명을 다했다는 것
✅ 가능한 해결책은 3개뿐
✔ 해결책 1 (정답, 강력 추천)
OS 교체
- Rocky Linux 9
- AlmaLinux 9
- Ubuntu 22.04+
→ PostgreSQL 16까지 문제 없이 설치 가능
→ 가장 깔끔하고 미래 지향적
⚠ 해결책 2 (차선책)
Docker로 PostgreSQL 실행
- 호스트: CentOS 7 유지
- 컨테이너: PostgreSQL 12/13
→ 급할 때만 사용
→ 운영 복잡도 증가
❌ 해결책 3 (하지 말 것)
- 소스 컴파일
- rpm 강제 설치
- 라이브러리 수동 빌드
→ 기술 부채 + 유지 불가
7️⃣ 전체 흐름을 한 줄로 요약하면
“깡통 서버라서 문제가 생긴 게 아니라,
깡통 서버의 OS가 너무 오래돼서
PostgreSQL이 더 이상 올라갈 수 없는 상태였다.”
8️⃣ 지금 이 상황에서의 최선의 다음 액션
이 문장 하나면 충분하다:
“CentOS 7은 PostgreSQL 최신/안정 버전 설치가 불가능하므로
Rocky Linux 9 또는 Ubuntu 22.04 기반으로 재프로비저닝 필요”
연상
1️⃣ Rocky Linux 9 + PostgreSQL 16 전체 설치 흐름
2️⃣ Ubuntu 22.04 + PostgreSQL 설치
3️⃣ Docker로 PostgreSQL 운영 구조
4️⃣ “깡통 서버 받았을 때 체크리스트” 정리본
반응형
'실험실 > db이행' 카테고리의 다른 글
| 도커파일 (0) | 2026.01.22 |
|---|---|
| postgreSQL 컨테이너로 올릴지 (0) | 2026.01.20 |
| 서버환경 이슈 (0) | 2026.01.20 |
| 서버 데이터 psql insert (0) | 2026.01.16 |
| 이슈 업무범위 ddl까지 vs data 이행까지 (0) | 2026.01.15 |
댓글