SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
Linux

postgresql 14에서 15로 업그레이드 하다 식겁했네요 ㅋㅋㅋ

SHISHAMO 249

0

10

언젠가 postgresql도 다른 버전으로 업그레이드를 하겠지 싶어, 미리 시범삼아 authentik에 연결된 postgresql14를 postgresql15로 업그레이드 시도해봤습니다.

 

 보니깐 postgresql은 데이터를 백업해서 복원하는 방법이 제일 쉬워 보여 진행했는데... 

저 덤프 파일과 상관 없이 
postgresql15 도커가 제대로 설치가 되지 않더군요. 그렇게 삭제하고 설치하고 뻘짓하다, 실수로 15 컨테이너 이름을 14랑 같은 걸로 해 버리는 바람에 컨테이너가 덮어써져 버리고....--

 

스냅샷으로 롤백하다 잘못 롤백해서 authentik이랑 다른 도커 이미지까지 손상이 나고 ㅋㅋㅋㅋㅋ

 

재부팅했을 때, 언레이드 커뮤니티 앱이랑 도커 이미지가 정상적으로 뜨지 않았을 때에는 진짜 기겁했습니다. 언제 다시 다하지 하고요.

 

그래도 앱데이터랑 도커 이미지 파일은 스냅샷 말고, zfs 복제로 스냅샷 기반 복제해 둔 것이 있어서 복제 파일로 도커 이미지 파일 되돌리고, 위에 도커 이미지가 정상 설치 되지 않는게 혹시 vdisk 용량 문제인 것 같아서, 기존 20gb였던 도커 이미지를 40gb로 늘렸습니다.

 

그리고 재부팅하니... 휴, 정상적으로 돌아왔습니다.

 

이후 다시 postgresql14를 설치해 zfs 복제 파일에서 14 앱데이터를 가져와 덮어쓰기 하는 방식으로 14 데이터베이스를 다시 살리고, 백업해서 15로 복원하니 깔끔히 성공했습니다.

(중간에 복원이 계속 안되면서 ERROR: syntax error at or near "OCI"가 떴는데, 백업파일이 제대로 만들어지지 않았더라고요. 어쩐지 용량이 500b 정도더랔ㅋㅋㅋㅋ)

 

 

 

진짜 서버 내 도커 다 날리는 줄 알고 기겁했던 시간이었습니다. 

 

postgresql 업그레이드는 

 


를 참조했습니다.

 

# 컨테이너 ID 확인
docker ps -a

#백업
docker exec -it {이전 pgsql컨테이너ID} /usr/bin/pg_dumpall -U {DB 유저 이름} > {백업 파일 저장 경로}/dumpfile.sql

#복원
cat {백업 파일 저장 경로}/dumpfile.sql | docker exec -i {신규 pgsql컨테이너ID} psql -U {DB 유저 이름} -d {DB 이름}

 

신고공유스크랩
10
1등
콜라 2024.03.06. 13:41
항상 마리아db쓰다가 이번에 넥스트클라우드+ 마리아 db에 버그가 있어서 포스트그레로 갈아탔습니다.

포스트그레로 구성하면서 좀 찾아보니 업그레이드 방법이.. 생각보다 복잡해 보이더라구요..
docker exec로 들어가서 mysql upgrade 명령어 치면 업그레이드 되는 마리아db와 달리..
세팅한지 2주도 안되서 가장 최신인 16.2로 구성했는데, 다음 업그레이드가 약간.. 걱정 됩니다.ㅎㅎ
SHISHAMO 글쓴이 2024.03.06. 13:57
콜라
어우... 어려웠습니다 ㅋㅋㅋㅋ
넥클은 그냥 aio로 알아서 하는 방향으로 ㅋㅋㅋㅋㅋ
2등
klayf 2024.03.06. 13:44
혹시 15 도커 이미지 설치시 발생했던 문제나 그 외 특별한 부분 알려주실 수 있으신가요?

저도 조만간 13 -> 15 이사 예정인데 13 세팅 후 한동안 문제 없이 돌아가는걸 옮기려니 괜히 걱정됩니다.
SHISHAMO 글쓴이 2024.03.06. 13:56
klayf
백업만 잘 되면 문제는 없을 것 같습니다.

제대로 되지 않은 백업 문제 + 도커 이미지 용량 문제(?) 등 복합적으로 동시에 발생해서 일어난 문제 같았습니다.

기존 data 파일만 남아 있다면, 문제 발생으로 롤백할 때, 13 재설치 후, 기존 data 파일들을 복붙하기만 해도 살아나긴 해서 크게 걱정 안하셔도 될 듯 해요.
3등
purndal 2024.03.06. 13:56

우와 해결하셨다니 다행입니다.... DB를 아직 이해를 못 해서 이제 것 놔두다가 오늘 

image: postgres:alpine으로 설치를 해 놓고 nocodb로 연결만 해둬 본 상태네요.. 

사용 기본법을 알아야겠다고 해서 설치를 했지만. 역시.. 뭐가 뭔지.. 모르겠네요.. 

그누보드라도 설치를 하려고 생각했더니.. 한 곳에서 가능할까?라고 생각도 들고. 

mysql 같은 경우 아이디별로 나눌 수 있었던 것 같은데.. 그게 가능할까?.. 생각도 들더라고요.. 

 

역시 서비스 쪽은 뭐 하나 하려고 하면 배울 것이 너무 많네요.. ㅎ. 

version: "3.8"
services:
  postgres:
    container_name: postgres
    image: postgres:alpine
    environment:
      POSTGRES_DB: test
      POSTGRES_PASSWORD: test
      POSTGRES_USER: test
      TZ: Asia/Seoul
    ports:
      - 5432:5432
    restart: unless-stopped
    volumes:
    -./db:/var/lib/postgresql/datata

 

SHISHAMO 글쓴이 2024.03.06. 14:00
purndal

DB를 이해하는 건 전 포기했습니다.
너무 어려워요.

도커 정도 용으로 쓰는 수준에서, 그냥 DB를 두기만 해도 되지 않을까... 고급 기능까지 배울 일은 없지 않을까 싶은 마음이네요 ㅋㅋㅋ
저 같은 경우에는 그냥 DB를 필요하는 컨테이너 별로 DB 컨테이너를 설치해서 같은 네트워크에서 포트 공개 없이 연결하는 방식으로 연결하고 있습니다.

purndal 2024.03.06. 14:38
SHISHAMO
역시 1:1이 맞는 거 같습니다. 백업 같은 것도 알아야 하고.. 오류 안나 길 바래야 하나 걱정도 되네요.. ㅎㅎ.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
제목 글쓴이 날짜 조회 추천
노트서비스 추천 6 bigworker128 10시간 전12:31 144 +1
Gemini API 사용을 위한 API KEY 발급받기 1 달소 5일 전10:52 172 +1
traefik v3.0 릴리즈 되었네요 2 사다리 5일 전09:12 135 +1
normal
bigworker128 10시간 전12:31 144 +1
image
딸기대장 24.04.13.12:51 293 +1
normal
i7-13700K 24.03.30.19:06 2042 +4
normal
zepinos 24.03.25.10:24 125 0
normal
NavyStack 24.03.12.22:28 204 +5
image
냥냥트래기 24.03.08.13:25 347 +3
normal
SHISHAMO 24.03.06.12:12 249 0
image
SHISHAMO 24.02.29.18:33 133 +1
normal
온더락스 24.02.29.13:35 181 +1
normal
24.02.21.16:53 348 0
normal
24.02.13.15:35 282 0
normal
김날이 24.02.08.02:50 293 +3
image
WHYism 24.01.22.10:40 274 0
normal
WHYism 24.01.19.09:35 159 +1
image
WHYism 24.01.17.11:37 252 +2
normal
WHYism 24.01.17.10:02 166 +1
image
WHYism 24.01.17.09:23 163 0
image
핀비 24.01.07.07:54 396 +2
normal
루비온 24.01.03.10:42 249 +7
normal
i7-13700K 24.01.01.21:18 258 +2