如何將資料從SQL Server 遷移到PostgreSQL?將資料從SQL Server 遷移到PostgreSQL方法分析!
在不同型別的資料庫之間遷移資料並非易事。在本文中,我們將比較幾種從 SQL Server 轉換到 PostgreSQL 的方法。Microsoft SQL Server 是一個很棒的資料庫引擎,但在某些情況下它有缺點。免費的 Microsoft SQL Server Express 可以成功用於小型資料庫。
SQL Server Express 的限制:
- 資料庫引擎使用的最大記憶體為 1GB。
- 10GB 最大資料庫大小。
- 1MB 最大緩衝區快取。
- CPU 使用一 (1) 個插槽或四 (4) 個核心中的較小者(SQL 使用者連線數不受限制)。
對於大型資料庫,您可能需要從標準版許可證開始獲取 MSSQL Server 的付費版本。SQL Server 的成本取決於使用者數量和資料庫的大小。
如果您甚至買不起標準的 SQL Server 許可證,PostgreSQL 是一個替代方案。
PostgreSQL 是完全免費的,因此許可證成本是 PostgreSQL 相對於 Microsoft SQL Server 的主要優勢。
SQL Server 和 PostgreSQL 之間資料庫遷移的開源工具
手動資料遷移很麻煩。一個好的資料庫遷移工具應該提示使用者選擇要遷移的物件,例如表、索引、主鍵和外來鍵約束。
幸運的是,有一些工具可以自動化枯燥的手工工作。
1、pgloader 是 一個著名的開源工具,它使用COPY命令將SQL Server中的資料匯入PostgreSQL,載入資料、索引和外來鍵,並按預期將資料轉換為PostgreSQL。
- pgloader 將來自 MS SQL、SQLite、MySQL、CSV 等各種來源的資料載入到 PostgreSQL 中。
- 它在 PostgreSQL 許可下獲得許可,可以免費使用。
- pgloader 是一個跨平臺的軟體。
- Docker 映象可用。
2. Sqlserver2pgsql是用Perl 編寫的。這是另一個開源遷移工具,用於自動將 Microsoft SQL Server 資料庫轉換為 PostgreSQL 資料庫。
- 它將 SQL Server 模式轉換為 PostgreSQL 模式
- 如果需要,它可以建立一個 Pentaho Data Integrator (Kettle) 控制檯來將所有資料從 SQL Server 遷移到 PostgreSQL。
部分開源工具的缺點
- 上面提到的工具是命令列實用程式,因此它們沒有圖形介面。對於那些被終端嚇倒的人來說,它們並不好用。
- 這些工具僅限於可以將 PostgreSQL 配置為目的地的單向遷移
DBConvert 資料庫遷移軟體
適用於 SQL Server 和 PostgreSQL 的 DBConvert 和 DBSync 是流行的軟體工具,可最大限度地減少 SQL Server 和 PostgreSQL 資料庫之間的資料庫轉換和同步挑戰。
用於 SQL Server 和 PostgreSQL 的 DBConvert/DBSync 優點:
- DBConvert 工具是高度可定製的,允許您使用全面的圖形介面快速輕鬆地將資料從 Microsoft SQL Server 匯出到 Postgres。DBConvert Applications 指導您完成幾個步驟,從連線到源和目標資料庫、配置遷移引數以及安排後續執行。
- 在 DBConvert 產品中,目標資料庫以樹的形式呈現,這大大簡化了設定的配置。DBConvert 軟體經過驗證的優勢在於,非專業使用者也可以有效地使用它。
- 自動驗證系統會在遷移前仔細檢查源資料庫的結構和關係,確保不會丟失或損壞您的任何資料,並保證無風險和無錯誤的資料傳輸。
- 將源資料庫複製到目標資料庫後,使資料庫與更新、插入和刪除同步功能保持同步。
- DBSync 應用程式在 SQL Server 和 PostgreSQL 之間執行雙向複製(其中兩個不同的資料庫同時相互複製更改)。
- 在任何組合中, 使用 SQL Server 到 PostgreSQL 轉換器/同步工具,以下資料庫之間的資料遷移是可能的:
- 微軟 SQL 伺服器,
- Windows Azure SQL 資料庫/ Azure SQL 資料倉庫,
- 適用於 SQL Server 的 Google Cloud SQL,
- 用於 PostgreSQL 的 Google Cloud SQL,
- AWS RDS/極光,
- Heroku Postgres。
結論:
在本文中,我們介紹了將資料從 SQL Server 遷移到 PostgreSQL 的幾種方法。
Pgloader和Sqlserver2pgsql是 Linux 使用者和那些在終端中感覺舒適的優秀解決方案。它在從許多資料庫遷移到 PostgreSQL 時發揮作用。但只能在一個方向上進行轉換。
DBConvert 工具支援 SQL Server 和PostgreSQL 資料庫型別之間的雙向遷移和同步。支援更多本地和雲資料庫轉換。DBSync 是在初始遷移後持續保持資料庫同步的完美解決方案。