App下載

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

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

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

SQL Server Express 的限制:

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

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

如果您甚至買不起標(biāo)準(zhǔn)的 SQL Server 許可證,PostgreSQL 是一個(gè)替代方案。

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

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

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

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

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

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

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

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

部分開源工具的缺點(diǎn)

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

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

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


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

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

結(jié)論:

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

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

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


0 人點(diǎn)贊