gitlab备份postgresql
情况 1:只备份 GitLab 主库
GitLab主库叫:
gitlabhq_production
应该用 pg_dump,不是 pg_dumpall:
pg_dump -h 127.0.0.1 -p 15432 -U gitlab \
-d gitlabhq_production \
-v -f /tmp/gitlab.sql
情况 2:真的要备份整个 PostgreSQL 实例
那就:
pg_dumpall -h 127.0.0.1 -p 15432 -U gitlab -v -f /tmp/all.sql
注意:不能写
-d
专业点备份恢复
不要用 plain SQL 备份。GitLab 推荐用 custom format:
pg_dump -h 127.0.0.1 -p 15432 -U gitlab \
-d gitlabhq_production \
-Fc -v -f /tmp/gitlab.dump
恢复时:
pg_restore -h 127.0.0.1 -p 15432 -U gitlab \
-d gitlabhq_production \
-v /tmp/gitlab.dump
优点:
- 支持并行恢复
- 支持只恢复部分对象
- 不会因为单条 SQL 报错直接终止