Upgrading from postgres 15 -> 16-alpine. (#4426)
- Includes an upgrade script. - Fixes #4406
This commit is contained in:
parent
3647a46e86
commit
9367cbdb00
4 changed files with 45 additions and 3 deletions
|
@ -257,7 +257,7 @@ steps:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
database:
|
database:
|
||||||
image: postgres:15.2-alpine
|
image: postgres:16-alpine
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: lemmy
|
POSTGRES_USER: lemmy
|
||||||
POSTGRES_PASSWORD: password
|
POSTGRES_PASSWORD: password
|
||||||
|
|
|
@ -99,7 +99,7 @@ services:
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:15-alpine
|
image: postgres:16-alpine
|
||||||
# this needs to match the database host in lemmy.hson
|
# this needs to match the database host in lemmy.hson
|
||||||
# Tune your settings via
|
# Tune your settings via
|
||||||
# https://pgtune.leopard.in.ua/#/
|
# https://pgtune.leopard.in.ua/#/
|
||||||
|
|
|
@ -20,7 +20,7 @@ x-lemmy-default: &lemmy-default
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
x-postgres-default: &postgres-default
|
x-postgres-default: &postgres-default
|
||||||
image: postgres:15-alpine
|
image: postgres:16-alpine
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=lemmy
|
- POSTGRES_USER=lemmy
|
||||||
- POSTGRES_PASSWORD=password
|
- POSTGRES_PASSWORD=password
|
||||||
|
|
42
scripts/postgres_15_to_16_upgrade.sh
Executable file
42
scripts/postgres_15_to_16_upgrade.sh
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Do not stop in the middle of this upgrade, wait until you see the message: Upgrade complete."
|
||||||
|
|
||||||
|
echo "Stopping lemmy and all services..."
|
||||||
|
sudo docker-compose stop
|
||||||
|
|
||||||
|
echo "Make sure postgres is started..."
|
||||||
|
sudo docker-compose up -d postgres
|
||||||
|
echo "Waiting..."
|
||||||
|
sleep 20s
|
||||||
|
|
||||||
|
echo "Exporting the Database to 15_16.dump.sql ..."
|
||||||
|
sudo docker-compose exec -T postgres pg_dumpall -c -U lemmy > 15_16_dump.sql
|
||||||
|
echo "Done."
|
||||||
|
|
||||||
|
echo "Stopping postgres..."
|
||||||
|
sudo docker-compose stop postgres
|
||||||
|
echo "Waiting..."
|
||||||
|
sleep 20s
|
||||||
|
|
||||||
|
echo "Removing the old postgres folder"
|
||||||
|
sudo rm -rf volumes/postgres
|
||||||
|
|
||||||
|
echo "Updating docker-compose to use postgres version 16."
|
||||||
|
sed -i "s/image: postgres:.*/image: postgres:16-alpine/" ./docker-compose.yml
|
||||||
|
|
||||||
|
echo "Starting up new postgres..."
|
||||||
|
sudo docker-compose up -d postgres
|
||||||
|
echo "Waiting..."
|
||||||
|
sleep 20s
|
||||||
|
|
||||||
|
echo "Importing the database...."
|
||||||
|
cat 15_16_dump.sql | sudo docker-compose exec -T postgres psql -U lemmy
|
||||||
|
echo "Done."
|
||||||
|
|
||||||
|
echo "Starting up lemmy..."
|
||||||
|
sudo docker-compose up -d
|
||||||
|
|
||||||
|
echo "A copy of your old database is at 15_16.dump.sql . You can delete this file if the upgrade went smoothly."
|
||||||
|
echo "Upgrade complete."
|
Loading…
Reference in a new issue