Debian에서 postgreSQL 데이터베이스를 14에서 15로 업그레이드

Debian에서 postgreSQL 데이터베이스를 14에서 15로 업그레이드

기존 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에서도 작동할 가능성이 높습니다.)

다음에서 적응:https://www.paulox.net/2022/04/28/upgrading-postgresql-from-version-13-to-14-on-ubuntu-22-04-jammy-jellyfish/

답변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

바라보다https://unix.stackexchange.com/a/707827/20661

관련 정보