如何将Access数据库迁移至PostgreSQL服务器?求表结构转换工具
可实现Access转PostgreSQL并同步表结构的工具
1. pgLoader
这是专注数据库迁移的命令行工具,支持Access到PostgreSQL的全量迁移,覆盖表结构、数据、索引及约束:
- 使用流程:
- 安装pgLoader(Linux发行版可通过包管理器直接安装,Windows可借助WSL或预编译包)
- 编写配置文件(示例命名为
access2pg.load):LOAD DATABASE FROM msaccess:///path/to/your/access/file.mdb INTO postgresql://user:password@host:port/dbname WITH include drop, create tables, create indexes, reset sequences; - 执行命令:
pgloader access2pg.load
- 优势:自动映射Access数据类型到PostgreSQL对应类型,保留主键、外键等约束,还支持增量迁移(需额外配置)。
2. Microsoft Access 内置导出功能
可直接在Access中将表结构导出为SQL脚本,再到PostgreSQL中执行:
- 操作步骤:
- 打开目标Access数据库,选中要迁移的表
- 点击「外部数据」选项卡,选择「导出」→「ODBC 数据库」
- 勾选「仅导出定义」,通过PostgreSQL ODBC驱动连接目标库,完成表结构导出
- 后续再用dBForce或其他工具导入数据
- 注意:需提前安装PostgreSQL ODBC驱动,部分Access数据类型需手动调整(比如
AutoNumber对应PostgreSQL的SERIAL或IDENTITY)。
3. Navicat Premium
这款GUI工具支持跨数据库对象迁移,包含表结构、数据、视图等同步:
- 使用步骤:
- 同时连接Access和PostgreSQL数据库
- 选择「工具」→「数据传输」
- 在设置中勾选「表结构」「约束」「索引」等选项,执行迁移
- 优势:可视化操作门槛低,迁移后可对比源库与目标库的结构差异。
手动迁移(适配定制化需求)
若工具迁移存在适配问题,可手动生成结构脚本:
- 在Access中通过「数据库文档管理器」导出表结构信息,手动转换为PostgreSQL兼容的DDL
- 调整数据类型映射:比如
Text→VARCHAR,Date/Time→TIMESTAMP,Yes/No→BOOLEAN - 在PostgreSQL中执行DDL创建表,再导入数据
内容的提问来源于stack exchange,提问作者advapi
相关产品推荐
相关产品推荐

