1. 程式人生 > 其它 >如何將資料從SQL Server 遷移到PostgreSQL?將資料從SQL Server 遷移到PostgreSQL方法分析!

如何將資料從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。

  1. pgloader 將來自 MS SQL、SQLite、MySQL、CSV 等各種來源的資料載入到 PostgreSQL 中。
  2. 它在 PostgreSQL 許可下獲得許可,可以免費使用。
  3. pgloader 是一個跨平臺的軟體。
  4. Docker 映象可用。

2. Sqlserver2pgsql是用Perl 編寫的。這是另一個開源遷移工具,用於自動將 Microsoft SQL Server 資料庫轉換為 PostgreSQL 資料庫。

  1. 它將 SQL Server 模式轉換為 PostgreSQL 模式
  2. 如果需要,它可以建立一個 Pentaho Data Integrator (Kettle) 控制檯來將所有資料從 SQL Server 遷移到 PostgreSQL。

部分開源工具的缺點


  • 上面提到的工具是命令列實用程式,因此它們沒有圖形介面。對於那些被終端嚇倒的人來說,它們並不好用。
  • 這些工具僅限於可以將 PostgreSQL 配置為目的地的單向遷移

DBConvert 資料庫遷移軟體


適用於 SQL Server 和 PostgreSQL 的 DBConvert 和 DBSync 是流行的軟體工具,可最大限度地減少 SQL Server 和 PostgreSQL 資料庫之間的資料庫轉換和同步挑戰。

 

 

用於 SQL Server 和 PostgreSQL 的 DBConvert/DBSync 優點:

  1. DBConvert 工具是高度可定製的,允許您使用全面的圖形介面快速輕鬆地將資料從 Microsoft SQL Server 匯出到 Postgres。DBConvert Applications 指導您完成幾個步驟,從連線到源和目標資料庫、配置遷移引數以及安排後續執行。
  2. 在 DBConvert 產品中,目標資料庫以樹的形式呈現,這大大簡化了設定的配置。DBConvert 軟體經過驗證的優勢在於,非專業使用者也可以有效地使用它。
  3. 自動驗證系統會在遷移前仔細檢查源資料庫的結構和關係,確保不會丟失或損壞您的任何資料,並保證無風險和無錯誤的資料傳輸。
  4. 將源資料庫複製到目標資料庫後,使資料庫與更新、插入和刪除同步功能保持同步。
  5. DBSync 應用程式在 SQL Server 和 PostgreSQL 之間執行雙向複製(其中兩個不同的資料庫同時相互複製更改)。
  6. 在任何組合中, 使用 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 是在初始遷移後持續保持資料庫同步的完美解決方案。