Gitea 从 SQLite 迁移到 PostgreSQL

Gitea 从 SQLite 迁移到 PostgreSQL

  • 目标:将 HomeLab 中的 Gitea 数据库从 SQLite 迁移到 PostgreSQL
  • 目标数据库:gitea@PGHOST:5432/gitea

操作流程

  1. 安装 PostgreSQL 客户端:
    1
    
    apt install -y postgresql-client
    
  2. 切换到 gitea 用户并进入临时目录:
    1
    2
    3
    4
    
    su gitea
    cd ~
    mkdir temp
    cd temp
    
  3. 导出 Gitea 数据库为 PostgreSQL 格式 dump:
    1
    
    gitea 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
    
  4. 解压 dump 文件:
    1
    
    unzip gitea-dump.zip
    
  5. gitea-db.sql 导入远程 PostgreSQL:
    1
    
    PGPASSWORD='Gitea_2026_Strong_Pass_ChangeMe!' psql -h PGHOST -p 5432 -U gitea -d gitea -f gitea-db.sql
    
  6. 清理临时目录:
    1
    2
    
    cd ..
    rm -r temp
    
  7. 编辑 Gitea 配置文件 app.ini
    1
    
    nano app.in
    
  8. 修改数据库配置为 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 的真实地址。
Licensed under CC BY-NC-SA 4.0
Last updated on Friday, April 3, 2026
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy