기존 PostgreSQL 14 설치에서 15로 데이터를 업그레이드하는 방법을 알고 싶습니다.
apt를 통해 자동으로 PG 15를 설치하여 얻었습니다.
# dpkg -l | grep ii | cut -d" " -f3 | grep postgresql-1
postgresql-14
postgresql-15
하지만 데이터는 여전히 모두 PG 14에 있습니다.
두 가지 서비스가 있습니다
service postgresql@14-main status
그리고
service postgresql@15-main status
답변1
이전 14 클러스터에서 아직 실행 중인지 확인한 다음데이터를 백업하세요그리고
pg_dumpall -F t > ~/backup_postgres_all_dbs.tar
아직 비어 있는 기본 설치된 postgreSQL 15 클러스터를 중지하고 삭제합니다.
pg_dropcluster 15 main --stop
14 클러스터를 최신 버전(현재 15)으로 업그레이드
pg_upgradecluster 14 main
몇 시간이 걸릴 수 있습니다. 완료되면 업그레이드된 클러스터가 제대로 작동하는지 확인합니다.
service postgresql@14-main stop
service postgresql@15-main start
이제 14개 클러스터가 "다운" 상태여야 합니다. 실행 중인지 확인할 수 있습니다.
pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
14 main 5433 down postgres /var/lib/postgresql/14/main /var/log/postgresql/postgresql-14-main.log
15 main 5432 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
postgreSQL을 사용하는 애플리케이션이 모두 작동하는지 확인합니다(결국 psql-15 구성에서 포트를 조정합니다). 모든 것이 정상이면 클러스터 14를 삭제합니다.
# !be really sure to call this!
# !DON'T BE TOO FAST!!! # pg_dropcluster 14 main
오래된 패키지를 삭제하십시오.
apt-get purge postgresql-14 postgresql-client-14
(참고: 이는 Kali에서도 작동할 가능성이 높습니다.)
답변2
또는 데이터를 덤프하고 다시 가져오기
sudo -u postgres pg_dumpall --cluster 14/main > ~/backup_postgres_all_dbs.sql
sudo -u postgres psql -d postgres --cluster 15/main -f ~/backup_postgres_all_dbs.sql