

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Babelfish for Aurora PostgreSQL 與 SQL Server 之間的差異
<a name="babelfish-compatibility"></a>

Babelfish 是一種不斷發展的 Aurora PostgreSQL 功能，自從 Aurora PostgreSQL 13.4 中的初始產品以來，每個版本中都添加了新功能。Babelfish 旨在使用 TDS 連接埠，透過 T-SQL 方言在 PostgreSQL 的基礎上提供 T-SQL 語意。Babelfish 的每個新版本都會增加功能與 T-SQL 功能和行為更為一致，這些功能與 T-SQL 功能和行為更為一致，如 [Babelfish 各版本支援的功能](babelfish-compatibility.supported-functionality-table.md) 表所示。為了在使用 Babelfish 時獲得最佳結果，我們建議您了解最新版本 SQL 伺服器支援的 T-SQL 與 Babelfish 之間目前存在的差異。如需詳細資訊，請參閱 [Babelfish 中的 T-SQL 差異](babelfish-compatibility.tsql.limitations.md)。

除了 Babelfish 和 SQL 伺服器支援的 T-SQL 之間的差異之外，您可能還需要考慮在 Aurora PostgreSQL 資料庫叢集的環境中，Babelfish 和 PostgreSQL 之間的相互操作性問題。如前所述，Babelfish 使用 TDS 連接埠，透過 T-SQL 方言在 PostgreSQL 的基礎上支援 T-SQL 語意。同時，Babblefish 資料庫也可以使用 PostgreSQL SQL 陳述式，透過標準 PostgreSQL 通訊埠存取。如果您考慮在生產部署中同時使用 PostgreSQL 和 Babelfish 功能，則需要注意結構描述名稱、識別碼、許可、交易語意、多個結果集、預設定序等之間潛在的相互操作性問題。簡單來說，如果 Babelfish 環境中出現 PostgreSQL 陳述式或 PostgreSQL 存取，當 Babelfish 發行新版本時，PostgreSQL 和 Babelfish 之間可能會發生干擾，並且可能會影響語法、語意和相容性。如需有關所有考量事項的完整資訊和指引，請參閱 Babelfish for PostgreSQL 文件中的 [Babelfish 相互操作性指南](https://babelfishpg.org/docs/usage/interoperability/)。

**注意**  
在同一個應用程式環境中同時使用 PostgreSQL 原生功能和 Babelfish 功能之前，強烈建議您考慮 Babelfish for PostgreSQL 文件中 [Babelfish 相互操作性指南](https://babelfishpg.org/docs/usage/interoperability/)中討論的問題。只有當您打算在與 Babelfish 相同的應用程式環境中使用 PostgreSQL 資料庫執行個體時，才會發生這些相互操作性問題 (Aurora PostgreSQL 和 Babelfish)。

**Topics**
+ [Babelfish 傾印和還原](#babelfish-compatibility.dumprestore)
+ [Babelfish 中的 T-SQL 差異](babelfish-compatibility.tsql.limitations.md)
+ [Babelfish 中的交易隔離層級](babelfish-transaction.md)

## Babelfish 傾印和還原
<a name="babelfish-compatibility.dumprestore"></a>

從 4.0.0 和 3.4.0 版開始，Babelfish 使用者現在可以利用傾印和還原公用程式來備份和還原其資料庫。如需詳細資訊，請參閱 [Babelfish 傾印和還原](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/wiki/Babelfish-Dump-and-Restore)。此功能是根據 PostgreSQL 傾印和還原公用程式所建置。如需詳細資訊，請參閱 [pg\_dump](https://www.postgresql.org/docs/current/app-pgdump.html) 和參閱 [pg\_restore](https://www.postgresql.org/docs/current/app-pgrestore.html)。為了有效地在 Babelfish 中使用此功能，您需要使用專門針對 Babelfish 調整以 PostgreSQL 為基礎的工具。Babelfish 的備份和還原功能與 SQL Server 的備份和還原功能明顯不同。如需這些差異的詳細資訊，請參閱[傾印和還原功能差異：Babelfish 和 SQL Server](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/wiki/Babelfish-Dump-and-Restore#differences)。Babelfish for Aurora PostgreSQL 為 Amazon Aurora PostgreSQL 資料庫叢集的備份和還原提供額外功能。如需詳細資訊，請參閱[備份與還原 Amazon Aurora 資料庫叢集](BackupRestoreAurora.md)。