

# Diferenças entre o Babelfish para Aurora PostgreSQL e o SQL Server
<a name="babelfish-compatibility"></a>

O Babelfish é um recurso do Aurora PostgreSQL em evolução, com novas funcionalidades adicionadas em cada versão desde a oferta inicial no Aurora PostgreSQL 13.4. É projetado para fornecer semântica T-SQL sobre o PostgreSQL por meio do dialeto T-SQL usando a porta do TDS. Cada nova versão do Babelfish adiciona recursos e funções que melhor se alinham à funcionalidade e ao comportamento da T-SQL, conforme mostrado na tabela [Funcionalidades compatíveis no Babelfish por versão](babelfish-compatibility.supported-functionality-table.md). Para obter melhores resultados ao trabalhar com o Babelfish, recomendamos que você entenda as diferenças que existem atualmente entre o T-SQL compatível com o SQL Server e o Babelfish para a versão mais recente. Para saber mais, consulte [Diferenças do T-SQL no Babelfish](babelfish-compatibility.tsql.limitations.md).

Além das diferenças entre o T-SQL compatível com o Babelfish e o SQL Server, talvez você também precise considerar problemas de interoperabilidade entre o Babelfish e o PostgreSQL no contexto do cluster de banco de dados do Aurora PostgreSQL. Conforme mencionado anteriormente, o Babelfish oferece suporte a semântica T-SQL sobre o PostgreSQL por meio do dialeto T-SQL usando a porta do TDS. Ao mesmo tempo, o banco de dados Babelfish também pode ser acessado por meio da porta padrão do PostgreSQL com instruções SQL do PostgreSQL. Se você está pensando em usar as funcionalidades do PostgreSQL e do Babelfish em uma implantação de produção, precisa estar ciente dos possíveis problemas de interoperabilidade entre nomes de esquemas, identificadores, permissões, semântica transacional, vários conjuntos de resultados, agrupamentos padrão e assim por diante. Em termos simples, quando instruções do PostgreSQL ou acesso ao PostgreSQL ocorrem no contexto do Babelfish, pode ocorrer interferência entre o PostgreSQL e o Babelfish e pode afetar a sintaxe, a semântica e a compatibilidade quando novas versões do Babelfish são lançadas. Para obter informações e orientações completas sobre todas as considerações, consulte a [Orientação sobre a interoperabilidade do Babelfish](https://babelfishpg.org/docs/usage/interoperability/) na documentação do Babelfish para PostgreSQL. 

**nota**  
Antes de usar a funcionalidade nativa do PostgreSQL e a funcionalidade do Babelfish no mesmo contexto de aplicação, é altamente recomendável que você considere os problemas discutidos na [Orientação sobre a interoperabilidade do Babelfish](https://babelfishpg.org/docs/usage/interoperability/) na documentação do Babelfish para PostgreSQL. Esses problemas de interoperabilidade (Aurora PostgreSQL e Babelfish) são relevantes somente se você planeja usar a instância de banco de dados do PostgreSQL no mesmo contexto de aplicação do Babelfish. 

**Topics**
+ [Despejo e restauração do Babelfish](#babelfish-compatibility.dumprestore)
+ [Diferenças do T-SQL no Babelfish](babelfish-compatibility.tsql.limitations.md)
+ [Níveis de isolamento de transações no Babelfish](babelfish-transaction.md)

## Despejo e restauração do Babelfish
<a name="babelfish-compatibility.dumprestore"></a>

A partir das versões 4.0.0 e 3.4.0, os usuários do Babelfish agora podem usar os utilitários de despejo e restauração para fazer backup e restaurar bancos de dados. Consulte mais informações em [Babelfish dump and restore](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/wiki/Babelfish-Dump-and-Restore). Esse recurso foi desenvolvido com base nos utilitários de despejo e restauração do PostgreSQL. Consulte mais informações em [pg\_dump](https://www.postgresql.org/docs/current/app-pgdump.html) e [pg\_restore](https://www.postgresql.org/docs/current/app-pgrestore.html). Para usar efetivamente esse recurso no Babelfish, você precisa usar ferramentas baseadas em PostgreSQL que são adaptadas especificamente para o Babelfish. O recurso de backup e restauração do Babelfish difere significativamente daquele do SQL Server. Consulte mais informações sobre essas diferenças em [Dump and restore functionality differences : Babelfish and SQL Server](https://github.com/babelfish-for-postgresql/babelfish-for-postgresql/wiki/Babelfish-Dump-and-Restore#differences). O Babelfish para Aurora PostgreSQL fornece recursos adicionais para fazer backup e restauração de clusters de baco de dados do Amazon Aurora PostgreSQL. Para obter mais informações, consulte [Como fazer o backup e a restauração de um cluster de banco de dados do Amazon Aurora](BackupRestoreAurora.md).