news 2026/5/1 9:22:50

在 WSL Ubuntu 上从零到数据迁移:通过 pgloader 将 SQL Server 转 PostgreSQL 实战笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 WSL Ubuntu 上从零到数据迁移:通过 pgloader 将 SQL Server 转 PostgreSQL 实战笔记

将 sqlserver 转 postgresql ,用 pgloader 的笔记

1. 环境初始化(WSL2 Ubuntu 22.04)

# 换国内源(可选)sudosed-i's@http://.*.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g'/etc/apt/sources.listsudoaptupdate&&sudoaptupgrade -y# 装依赖sudoaptinstall-y freetds-bin freetds-dev libsqlite3-devgawkmakeg++curlgit

2. 安装 pgloader

# 最快方案sudoaptinstall-y pgloader pgloader --version# ≥3.6.2 即可

3. 验证 FreeTDS 能连 SQL Server

# 脱敏变量,自行替换exportMSSQL_HOST='<SQL_SERVER_IP>'exportMSSQL_PORT='1433'exportMSSQL_USER='<USER>'exportMSSQL_PASS='<PASSWORD>'exportMSSQL_DB='<DATABASE>'tsql -H$MSSQL_HOST-p$MSSQL_PORT-U$MSSQL_USER-P$MSSQL_PASS-D$MSSQL_DB

看到1>表示连通,输入exit退出。


4. 迁移脚本(脱敏版)

文件:migrate.load

LOAD DATABASE FROM mssql://<USER>:<PASSWORD>@<SQL_SERVER_IP>:1433/<DATABASE>INTO postgresql://<PG_USER>:<PG_PASSWORD>@<PG_HOST>:5432/<PG_DATABASE>WITH include drop, create tables, create indexes, reset sequences ALTER SCHEMA'dbo' RENAME TO'central';

5. 跑!

pgloader migrate.load

进度实时刷,出错看/tmp/pgloader/*.log


6. 翻车急救表

报错一键排查
unknown reason`ldd $(which pgloader)
Login failed检查混合模式 & 密码
时间字段全 NULLCAST type datetime to timestamp
大表超时WITH batch rows = 10000, prefetch rows = 10000

7. 迁移后三板斧

VACUUMANALYZEcentral.*;GRANTUSAGEONSCHEMAcentralTO<APP_ROLE>;GRANTSELECT,INSERT,UPDATE,DELETEONALLTABLESINSCHEMAcentralTO<APP_ROLE>;

8. 收尾

WSL 里一条命令即可把 SQL Server 整个 schema 搬进 PostgreSQL,记得
“先让tsql通,再让 pgloader 飞”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 20:10:31

高效容器化部署:面向开发者的AzerothCore Docker解决方案

高效容器化部署&#xff1a;面向开发者的AzerothCore Docker解决方案 【免费下载链接】azerothcore-wotlk Complete Open Source and Modular solution for MMO 项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk 传统MMO服务器部署面临三大核心痛点…

作者头像 李华
网站建设 2026/4/23 18:46:38

Tiled碰撞蒙版终极指南:5分钟掌握游戏物理边界设计

Tiled碰撞蒙版终极指南&#xff1a;5分钟掌握游戏物理边界设计 【免费下载链接】tiled 项目地址: https://gitcode.com/gh_mirrors/til/tiled 还在为游戏角色穿墙、道具悬浮而烦恼吗&#xff1f;想要让游戏世界更加真实可信&#xff0c;却又被复杂的物理引擎配置困扰&a…

作者头像 李华
网站建设 2026/4/29 9:52:55

EmotiVoice语音节奏控制功能上线:可调节语速停顿情感起伏

EmotiVoice语音节奏控制功能上线&#xff1a;可调节语速停顿情感起伏 在有声读物的深夜陪伴中&#xff0c;你是否曾因机械平直的AI朗读而走神&#xff1f;在游戏NPC说出关键台词时&#xff0c;有没有期待过它能真正“愤怒”或“颤抖”&#xff1f;当虚拟助手一遍遍用同样的语调…

作者头像 李华
网站建设 2026/4/19 0:46:30

如何用pyinstaller打包使用了pyQt的程序?告诉你方法!

假设我在在 Qt Designer 中编写好了一个 draw.ui 文件&#xff0c;然后在一个 main.py 文件中读取使用了该 draw.ui 文件。现在我需要用 pyinstaller 将这个 main.py 文件打包为 main.exe 文件&#xff0c;结果发现这需要对 draw.ui 进行特殊处理&#xff0c;为什么呢&#xff…

作者头像 李华
网站建设 2026/5/1 8:49:51

Boltz生物分子交互模型安装配置完全指南

Boltz生物分子交互模型安装配置完全指南 【免费下载链接】boltz Official repository for the Boltz-1 biomolecular interaction model 项目地址: https://gitcode.com/GitHub_Trending/bo/boltz Boltz生物分子交互模型是一个革命性的开源工具&#xff0c;专门用于预测…

作者头像 李华
网站建设 2026/5/1 6:53:16

Quill编辑器字号控制终极指南:掌握文本大小的艺术

Quill编辑器字号控制终极指南&#xff1a;掌握文本大小的艺术 【免费下载链接】quill Quill is a modern WYSIWYG editor built for compatibility and extensibility 项目地址: https://gitcode.com/gh_mirrors/qui/quill 你是否曾经在文档编辑中为文本大小不一而烦恼&…

作者头像 李华