App下載

如何將數(shù)據(jù)從SQL Server 遷移到PostgreSQL?將數(shù)據(jù)從SQL Server 遷移到PostgreSQL方法分析!

溫柔嘗盡了嗎 2021-08-25 11:21:16 瀏覽數(shù) (7643)
反饋

在不同類型的數(shù)據(jù)庫之間遷移數(shù)據(jù)并非易事。在本文中,我們將比較幾種從 SQL Server 轉換到 PostgreSQL 的方法。Microsoft SQL Server 是一個很棒的數(shù)據(jù)庫引擎,但在某些情況下它有缺點。免費的 Microsoft SQL Server Express 可以成功用于小型數(shù)據(jù)庫。

SQL Server Express 的限制:

  • 數(shù)據(jù)庫引擎使用的最大內存為 1GB。
  • 10GB 最大數(shù)據(jù)庫大小。
  • 1MB 最大緩沖區(qū)緩存。
  • CPU 使用一 (1) 個插槽或四 (4) 個內核中的較小者(SQL 用戶連接數(shù)不受限制)。

對于大型數(shù)據(jù)庫,您可能需要從標準版許可證開始獲取 MSSQL Server 的付費版本。SQL Server 的成本取決于用戶數(shù)量和數(shù)據(jù)庫的大小。

如果您甚至買不起標準的 SQL Server 許可證,PostgreSQL 是一個替代方案。

PostgreSQL 是完全免費的,因此許可證成本是 PostgreSQL 相對于 Microsoft SQL Server 的主要優(yōu)勢。

SQL Server 和 PostgreSQL 之間數(shù)據(jù)庫遷移的開源工具

手動數(shù)據(jù)遷移很麻煩。一個好的數(shù)據(jù)庫遷移工具應該提示用戶選擇要遷移的對象,例如表、索引、主鍵和外鍵約束。

幸運的是,有一些工具可以自動化枯燥的手工工作。

1、pgloader 是 一個著名的開源工具,它使用COPY命令將SQL Server中的數(shù)據(jù)導入PostgreSQL,加載數(shù)據(jù)、索引和外鍵,并按預期將數(shù)據(jù)轉換為PostgreSQL。

  1. pgloader 將來自 MS SQL、SQLite、MySQL、CSV 等各種來源的數(shù)據(jù)加載到 PostgreSQL 中。
  2. 它在 PostgreSQL 許可下獲得許可,可以免費使用。
  3. pgloader 是一個跨平臺的軟件。
  4. Docker 鏡像可用。

2. Sqlserver2pgsql是用Perl 編寫的。這是另一個開源遷移工具,用于自動將 Microsoft SQL Server 數(shù)據(jù)庫轉換為 PostgreSQL 數(shù)據(jù)庫。

  1. 它將 SQL Server 模式轉換為 PostgreSQL 模式
  2. 如果需要,它可以創(chuàng)建一個 Pentaho Data Integrator (Kettle) 控制臺來將所有數(shù)據(jù)從 SQL Server 遷移到 PostgreSQL。

部分開源工具的缺點

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

DBConvert 數(shù)據(jù)庫遷移軟件

適用于 SQL Server 和 PostgreSQL 的 DBConvert 和 DBSync 是流行的軟件工具,可最大限度地減少 SQL Server 和 PostgreSQL 數(shù)據(jù)庫之間的數(shù)據(jù)庫轉換和同步挑戰(zhàn)。


用于 SQL Server 和 PostgreSQL 的 DBConvert/DBSync 優(yōu)點:

  1. DBConvert 工具是高度可定制的,允許您使用全面的圖形界面快速輕松地將數(shù)據(jù)從 Microsoft SQL Server 導出到 Postgres。DBConvert Applications 指導您完成幾個步驟,從連接到源和目標數(shù)據(jù)庫、配置遷移參數(shù)以及安排后續(xù)運行。
  2. 在 DBConvert 產(chǎn)品中,目標數(shù)據(jù)庫以樹的形式呈現(xiàn),這大大簡化了設置的配置。DBConvert 軟件經(jīng)過驗證的優(yōu)勢在于,非專業(yè)用戶也可以有效地使用它。
  3. 自動驗證系統(tǒng)會在遷移前仔細檢查源數(shù)據(jù)庫的結構和關系,確保不會丟失或損壞您的任何數(shù)據(jù),并保證無風險和無錯誤的數(shù)據(jù)傳輸。
  4. 將源數(shù)據(jù)庫復制到目標數(shù)據(jù)庫后,使數(shù)據(jù)庫與更新、插入和刪除同步功能保持同步。
  5. DBSync 應用程序在 SQL Server 和 PostgreSQL 之間執(zhí)行雙向復制(其中兩個不同的數(shù)據(jù)庫同時相互復制更改)。
  6. 在任何組合中, 使用 SQL Server 到 PostgreSQL 轉換器/同步工具,以下數(shù)據(jù)庫之間的數(shù)據(jù)遷移是可能的:
  • 微軟 SQL 服務器,
  • Windows Azure SQL 數(shù)據(jù)庫/ Azure SQL 數(shù)據(jù)倉庫,
  • 適用于 SQL Server 的 Google Cloud SQL,
  • 用于 PostgreSQL 的 Google Cloud SQL,
  • AWS RDS/極光,
  • Heroku Postgres。

結論:

在本文中,我們介紹了將數(shù)據(jù)從 SQL Server 遷移到 PostgreSQL 的幾種方法。

Pgloader和Sqlserver2pgsql是 Linux 用戶和那些在終端中感覺舒適的優(yōu)秀解決方案。它在從許多數(shù)據(jù)庫遷移到 PostgreSQL 時發(fā)揮作用。但只能在一個方向上進行轉換。

DBConvert 工具支持 SQL Server 和PostgreSQL 數(shù)據(jù)庫類型之間的雙向遷移和同步。支持更多本地和云數(shù)據(jù)庫轉換。DBSync 是在初始遷移后持續(xù)保持數(shù)據(jù)庫同步的完美解決方案。


0 人點贊