feat: enhanced capture queue with multi-type conversion, and bottom menu bar for cell phones
This commit is contained in:
44
project-docs/lifeos-database-backup.md
Normal file
44
project-docs/lifeos-database-backup.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Life OS - Database Backup & Restore
|
||||
|
||||
## Quick Backup
|
||||
|
||||
```bash
|
||||
docker exec lifeos-db pg_dump -U postgres -d lifeos_dev -Fc -f /tmp/lifeos_dev_backup.dump
|
||||
docker cp lifeos-db:/tmp/lifeos_dev_backup.dump /opt/lifeos/backups/lifeos_dev_$(date +%Y%m%d_%H%M%S).dump
|
||||
```
|
||||
|
||||
## Quick Restore
|
||||
|
||||
```bash
|
||||
# Drop and recreate the database, then restore
|
||||
docker exec lifeos-db psql -U postgres -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'lifeos_dev' AND pid <> pg_backend_pid();"
|
||||
docker exec lifeos-db psql -U postgres -c "DROP DATABASE lifeos_dev;"
|
||||
docker exec lifeos-db psql -U postgres -c "CREATE DATABASE lifeos_dev;"
|
||||
docker cp /opt/lifeos/backups/FILENAME.dump lifeos-db:/tmp/restore.dump
|
||||
docker exec lifeos-db pg_restore -U postgres -d lifeos_dev /tmp/restore.dump
|
||||
docker restart lifeos-dev
|
||||
```
|
||||
|
||||
Replace `FILENAME.dump` with the actual backup filename.
|
||||
|
||||
## First-Time Setup
|
||||
|
||||
Create the backups directory:
|
||||
|
||||
```bash
|
||||
mkdir -p /opt/lifeos/backups
|
||||
```
|
||||
|
||||
## List Available Backups
|
||||
|
||||
```bash
|
||||
ls -lh /opt/lifeos/backups/
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- `-Fc` = custom format (compressed, supports selective restore)
|
||||
- Backup includes schema + data + indexes + triggers + search vectors
|
||||
- Restore terminates active connections first, then drops/recreates the DB
|
||||
- Restart the app container after restore so connection pool reconnects
|
||||
- lifeos_prod is untouched by these commands (only lifeos_dev)
|
||||
Reference in New Issue
Block a user