Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweaking postgres upgrade script #2389

Merged
merged 2 commits into from
Aug 4, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 11 additions & 20 deletions scripts/postgres_12_to_14_upgrade.sh
Original file line number Diff line number Diff line change
@@ -1,54 +1,45 @@
##!/bin/sh
#!/bin/sh
set -e

## This script upgrades the postgres from version 12 to 14
echo "Do not stop in the middle of this upgrade, wait until you see the message: Upgrade complete."

## Make sure everything is started
sudo docker-compose start
echo "Make sure postgres is started..."
sudo docker-compose up -d postgres
sleep 20s

# Export the DB
echo "Exporting the Database to 12_14.dump.sql ..."
sudo docker-compose exec -T postgres pg_dumpall -c -U lemmy > 12_14_dump.sql
echo "Done."

# Stop everything
sudo docker-compose stop

sleep 10s
echo "Stopping postgres..."
sudo docker-compose stop postgres
sleep 20s

# Delete the folder
echo "Removing the old postgres folder"
sudo rm -rf volumes/postgres

# Change the version in your docker-compose.yml
echo "Updating docker-compose to use postgres version 14."
sed -i "s/postgres:12-alpine/postgres:14-alpine/" ./docker-compose.yml

# Start up postgres
echo "Starting up new postgres..."
sudo docker-compose up -d postgres

# Sleep for a bit so it can start up, build the new folders
sleep 20s

# Import the DB
echo "Importing the database...."
cat 12_14_dump.sql | sudo docker-compose exec -T postgres psql -U lemmy
echo "Done."

POSTGRES_PASSWORD=$(grep "POSTGRES_PASSWORD" ./docker-compose.yml | cut -d"=" -f2)

# Fix weird password issue with postgres 14
echo "Fixing a weird password issue with postgres 14"
sudo docker-compose exec -T postgres psql -U lemmy -c "alter user lemmy with password '$POSTGRES_PASSWORD'"
sudo docker-compose restart postgres

# Just in case
echo "Setting correct perms for pictrs folder"
sudo chown -R 991:991 volumes/pictrs

# Start up the rest of lemmy
echo "Starting up lemmy"
echo "Starting up lemmy..."
sudo docker-compose up -d

# Delete the DB Dump? Probably safe to keep it
echo "A copy of your old database is at 12_14.dump.sql . You can delete this file if the upgrade went smoothly."
echo "Upgrade complete."