Gitea 从 SQLite 迁移到 PostgreSQL
- 目标:将 HomeLab 中的 Gitea 数据库从 SQLite 迁移到 PostgreSQL
- 目标数据库:
gitea@PGHOST:5432/gitea
操作流程
- 安装 PostgreSQL 客户端:
1apt install -y postgresql-client - 切换到
gitea用户并进入临时目录:1 2 3 4su gitea cd ~ mkdir temp cd temp - 导出 Gitea 数据库为 PostgreSQL 格式 dump:
1gitea dump --database postgres --file gitea-dump.zip --skip-repository --skip-custom-dir --skip-attachment-data --skip-package-data --skip-index --config /etc/gitea/app.ini - 解压 dump 文件:
1unzip gitea-dump.zip - 将
gitea-db.sql导入远程 PostgreSQL:1PGPASSWORD='Gitea_2026_Strong_Pass_ChangeMe!' psql -h PGHOST -p 5432 -U gitea -d gitea -f gitea-db.sql - 清理临时目录:
1 2cd .. rm -r temp - 编辑 Gitea 配置文件
app.ini:1nano app.in - 修改数据库配置为 PostgreSQL:
1 2 3 4 5 6 7 8[database] DB_TYPE = postgres HOST = PGHOST:5432 NAME = gitea USER = gitea PASSWD = Gitea_2026_Strong_Pass_ChangeMe! SSL_MODE = disable SCHEMA = public
备注
- 本次迁移使用
gitea dump --database postgres生成适用于 PostgreSQL 的 SQL 文件,再通过psql导入目标库。 PGHOST为占位符,实际使用时替换为 PostgreSQL Server 的真实地址。