数据库差异对比工具
数据库 Schema 对比工具
一、pgAdmin Schema Diff
特点
- 对 PostgreSQL 支持较好,不支持其他类型数据库
- 服务可部署在服务端
- 服务为 B/S 模式
部署脚本(Docker)
docker run -p 5050:80 \
-e "PGADMIN_DEFAULT_EMAIL=admin@domain.com" \
-e "PGADMIN_DEFAULT_PASSWORD=dbPassword" \
-d dpage/pgadmin4:latest
前置约束
- 源/目标数据库服务器主版本必须相同
- 可跨服务器比较,只要两端都在 pgAdmin 中注册
官方文档
https://www.pgadmin.org/docs/pgadmin4/development/schema_diff.html
比较操作步骤
-
选择源/目标服务器
在对象比较面板中选择源/目标服务器(可连接或断开,断开时使用时提示输入密码)。 -
选择要比较的数据库
- 比数据库:源/目标服务器 + 数据库
- 比 schema:源/目标服务器 + 数据库 + schema
-
设置忽略项
Compare 按钮旁下拉菜单可勾选忽略项:- Owner(所有者)
- Whitespace(空白字符:空格、Tab、CRLF)
- Tablespace(表空间)
- Grant/Revoke(授权/撤销)
-
点击 Compare,得到比较结果。
结果分类(Filter)
右上角 Filter 按四类筛选:
| 分类 | 含义 |
|---|---|
| Identical | 两端都存在且 DDL 一致 |
| Different | 两端都存在但 DDL 不同 |
| Source Only | 仅源库存在 |
| Target Only | 仅目标库存在 |
DDL 比较面板
点击任意对象,下方 DDL Comparison 以三列展示:
- 源库对象的 DDL
- 目标库对象的 DDL
- 让目标匹配源所需的差异 SQL
生成同步脚本
- 在对象比较面板中勾选要同步的对象
- 点击右上角 Generate Script
- 新标签页打开 Query Tool,差异 SQL 已填入编辑器
- 审阅后在目标库执行
截图示例



二、SQL Schema Compare(TiCodeX)
文档及下载地址
https://github.com/TiCodeX/SQLSchemaCompare
特点
- 兼容常见数据库(Microsoft SQL Server、MySQL、PostgreSQL,以及 Azure SQL、Amazon RDS 上的 MS-SQL)
- 需要本地安装程序后连接数据库服务器
- PC 端软件(支持 Windows、Mac、Linux)
- macOS 上若提示未签名,需在终端运行命令解除阻止(详见 GitHub 说明)
使用指南
- 创建对比项目
- 配置源数据库、目标数据库
- 设置对比规则
截图示例





留待后查,同时方便他人
联系我:ivesbao@163.com
联系我:ivesbao@163.com

浙公网安备 33010602011771号