教程基于Mac Mini M4 + OrbStack
不知道为什么自动备份数据库失败了,说是数据库目录有损坏,我只好备份了一下immich的数据库,然后重建dataabase容器。
进入容器
docker exec -it immich_postgres bash
备份数据库
pg_dump -U postgres immich > /tmp/immich.sql
把文件移动到另外一个目录
docker cp immich_postgres:/tmp/immich.sql /Volumes/KIOXIA/immich.sql
然后在OrbStack里删除database容器,把immich根目录相应的postgres目录也删除
在immich目录执行
docker-compose pull && docker-compose up -d
把数据库文件移到database里
docker cp /Volumes/KIOXIA/immich.sql immich_postgres:/tmp/immich.sql
进入 psql
psql -U postgres
切换到 immich 数据库
\c immich
清空数据库
DO $$ DECLARE
r RECORD;
BEGIN
-- 直接删除所有表(CASCADE 会自动删除依赖,包括外键)
FOR r IN (SELECT table_name FROM information_schema.tables WHERE table_schema='public') LOOP
EXECUTE 'DROP TABLE IF EXISTS "' || r.table_name || '" CASCADE';
END LOOP;
END $$;
退出 psql
\q
导入备份
psql -U postgres -d immich -f /tmp/immich.sql
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
