mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 13:55:08 +00:00
40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# PostgreSQL Major Version Upgrade (v13 to v15)
|
|
|
|
Upgrading PostgreSQL from version 13 to 15 is a major version jump. Since PostgreSQL does not support in-place data directory upgrades, existing users must manually migrate their data using `pg_dump`.
|
|
|
|
### **Migration Steps**
|
|
|
|
1. **Backup Existing Data (Version 13):**
|
|
Before updating your compose file, ensure your containers are running and perform a dump of all databases.
|
|
```bash
|
|
docker exec -it <project_name>-db-1 pg_dumpall -U postgres > full_dump.sql
|
|
```
|
|
|
|
2. **Stop and Remove Containers:**
|
|
```bash
|
|
docker compose down
|
|
```
|
|
|
|
3. **Delete Old Data Volume:**
|
|
PostgreSQL 15 cannot read data created by version 13. You must remove the existing volume (Warning: this deletes the old data directory).
|
|
```bash
|
|
docker volume rm <project_name>_db-data
|
|
```
|
|
|
|
4. **Update Image and Start (Version 15):**
|
|
Update your `overrides/compose.postgres.yaml` (or pull the latest changes) and start the containers.
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
5. **Restore Data:**
|
|
Restore the dump into the new PostgreSQL 15 instance.
|
|
```bash
|
|
cat full_dump.sql | docker exec -i <project_name>-db-1 psql -U postgres
|
|
```
|
|
|
|
6. **Verify and Clean Up:**
|
|
Ensure your sites are working correctly with `bench migrate` and then remove the `full_dump.sql` file.
|
|
```bash
|
|
docker exec -it <project_name>-backend-1 bench --site all migrate
|
|
```
|