As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurações de conversão do SQL Server para o PostgreSQL
As configurações a seguir se aplicam quando a origem é o Microsoft SQL Server e o destino é o Amazon RDS for PostgreSQL ou o Amazon Aurora PostgreSQL. Você pode definir essas configurações usando a operação Console de gerenciamento da AWS ou a ModifyConversionConfigurationAPI.
Este tópico aborda as configurações específicas do caminho de conversão do SQL Server para o PostgreSQL. Além dessas configurações, o DMS Schema Conversion fornece configurações que se aplicam a todos os pares de origem e destino, como o nível de severidade dos comentários de itens de ação no SQL convertido e a opção de usar IA generativa para conversão. Para essas configurações, consulteConfigurações de conversão comuns.
Ao usar a API ou a AWS CLI, especifique as configurações do caminho de conversão sob os nomes das seções MSSQL_TO_POSTGRESQLMSSQL_TO_POSTGRESQL_14, ou. MSSQL_TO_POSTGRESQL_15 Todas as três seções versionadas aceitam as mesmas chaves. Para descobrir quais nomes de seção seu projeto usa, chame DescribeConversionConfigurationprimeiro e atualize somente as seções presentes na resposta.
Cada configuração mostra o Console de gerenciamento da AWS rótulo seguido pelo nome do parâmetro da API e da AWS CLI entre parênteses. Use o nome do parâmetro ao definir as configurações com a API ou a AWS CLI.
Configurações de metadados
Configurações que controlam como os metadados do SQL Server de origem — nomes de objetos, estrutura do esquema e definições de índice — são tratados durante a conversão.
- Trate os nomes dos objetos do banco de dados de origem como diferenciando maiúsculas de minús
CaseSensitivityNames -
Controla como os nomes dos objetos (tabelas, colunas, procedimentos etc.) são tratados durante a conversão.
-
true— Os nomes dos objetos são preservados em maiúsculas e minúsculas originais e agrupados em identificadores de aspas duplas (por exemplo,"MyTable"). Use isso quando seu aplicativo fizer referência a objetos usando nomes de maiúsculas e minúsculas mistos. -
false— Os nomes dos objetos são dobrados para minúsculas sem aspas (por exemplo,mytable). Isso corresponde ao comportamento padrão de dobragem de maiúsculas e minúsculas do PostgreSQL.
Tipo: Boolean (
true|false)Padrão:
false -
- Gere nomes exclusivos para índices ()
UniqueIndexGeneration -
Controla se o DMS Schema Conversion gera nomes de índice exclusivos no esquema PostgreSQL de destino. No SQL Server, os índices podem compartilhar o mesmo nome em tabelas diferentes. No PostgreSQL, todos os nomes de índice dentro de um esquema devem ser exclusivos.
-
true— O DMS Schema Conversion gera nomes exclusivos para todos os índices, anexando um sufixo quando necessário para evitar colisões. Use isso quando seu esquema de origem tiver índices com o mesmo nome em tabelas diferentes. -
false— Os nomes dos índices são preservados da fonte no estado em que se encontram. Se o mesmo nome de índice existir em várias tabelas, a implantação no PostgreSQL poderá falhar com um erro de nome duplicado.
Tipo: Boolean (
true|false)Padrão:
true -
- Converter procedimentos em funções (
ConvertProceduresToFunction) -
Controla se os procedimentos armazenados são convertidos em funções ou procedimentos do PostgreSQL.
-
false— Os procedimentos são convertidos em objetos PostgreSQL (requer oPROCEDUREPostgreSQL 11 ou posterior). -
true— Os procedimentos que retornam um conjunto de resultados são convertidos em objetosFUNCTIONPostgreSQL. Use isso quando seu aplicativo ler um conjunto de resultados de uma chamada de procedimento ou ao usar o PostgreSQL 10 ou anterior.
Tipo: Boolean (
true|false)Padrão:
false -
- Crie rotinas adicionais para lidar com conjuntos de dados abertos ()
OpenDatasetsProcedures -
Controla como os procedimentos que armazenam a saída de
EXECem uma tabela são convertidos.-
false— Esses padrões são deixados como itens de ação. -
true— O DMS Schema Conversion cria tabelas temporárias e um procedimento adicional para emular esse padrão no destino.
Tipo: Boolean (
true|false)Padrão:
false -
- Nomes de esquemas ()
SchemaNameTemplate -
Controla como o nome do esquema PostgreSQL de destino é gerado a partir da convenção de nomenclatura de duas partes do SQL Server (banco de dados + esquema).
Etiqueta do console API/CLI valor Nome do esquema de destino gerado DB_SCHEMA DB_SCHEMAdatabase_schema(por exemplo,AdventureWorks_dbo). Use ao migrar vários bancos de dados para a mesma instância do PostgreSQL para evitar colisões de nomes.DB DBdatabase(por exemplo,AdventureWorks).SCHEMA SCHEMAschema(por exemplo,dbo). Use ao migrar um único banco de dados e você deseja nomes de esquema limpos sem um prefixo de banco de dados.Tipo: String (enum)
Padrão:
DB_SCHEMA
Configurações de código SQL
Configurações que controlam como o código do SQL Server — identificadores, parâmetros, tipos de dados e funções não suportadas — é tratado durante a conversão.
- Mantenha os nomes dos objetos no mesmo caso (
AvoidCastingToLowerCase) -
Controla se o DMS Schema Conversion adiciona conversões automáticas em torno de identificadores no código
LOWER()convertido.-
false— O DMS SchemaLOWER()Conversion adiciona conversões quando necessário para normalizar as comparações de casos. -
true— NenhumaLOWER()transmissão automática é adicionada. Use isso quando seu banco de dados PostgreSQL usa a extensão ou um agrupamento sem distinção entre maiúsculas ecitextminúsculas para lidar com comparações de forma nativa.
Tipo: Boolean (
true|false)Padrão:
falsenota
Essa configuração não tem efeito quando
UseCitextForAllStringDatatypesestá ativada. Quando todos os tipos de string são mapeados paraCITEXT, a comparação sem distinção entre maiúsculas e minúsculas é tratada nativamente pelo próprio tipo, portanto, nenhuma conversão é gerada, independentementeLOWER()dessa configuração. -
- Mantenha os nomes dos parâmetros originais (
KeepOriginalParameterManes) -
Controla se os nomes dos parâmetros originais das T-SQL rotinas são preservados na assinatura de rotina do PostgreSQL convertida.
-
false— Os parâmetros podem ser renomeados para evitar conflitos com palavras reservadas ou convenções de nomenclatura do PostgreSQL. -
true— Os nomes dos parâmetros originais são mantidos literalmente. Use isso quando seu aplicativo chamar rotinas usando a sintaxe de parâmetros nomeados (por exemplo,my_proc(param_name => value)).
Tipo: Boolean (
true|false)Padrão:
falsenota
O nome do parâmetro da API é
KeepOriginalParameterManes(terminando em Manes, não em Names). Use essa grafia exata ao chamar a API ou a AWS CLI. O uso nãoKeepOriginalParameterNamesfuncionará. -
- Use CITEXT para todos os tipos de dados de string ()
UseCitextForAllStringDatatypes -
Controla o tipo de dados de destino para todas as colunas e parâmetros de caracteres.
-
false— Os tipos de caracteres (CHAR,VARCHAR,NCHAR,NVARCHAR) são mapeados para os tipos PostgreSQL correspondentes. -
true— Todos os tipos de caracteres são mapeados paraCITEXT(texto sem distinção entre maiúsculas e minúsculas). Use isso ao migrar de um agrupamento do SQL Server que não diferencia maiúsculas de minúsculas e você deseja preservar esse comportamento no PostgreSQL sem modificar as consultas.
Tipo: Boolean (
true|false)Padrão:
falsenota
Quando essa configuração está ativada, a Conversão de Esquema do DMS é adicionada automaticamente
CREATE EXTENSION IF NOT EXISTS citext;aos scripts de esquema convertidos (tanto ao aplicar ao destino quanto ao salvar em um arquivo). No entanto, ocitextmódulo deve estar disponível no banco de dados PostgreSQL de destino antes de você aplicar o esquema convertido.Quando
UseCitextForAllStringDatatypesativada, a configuração Manter nomes de objetos no mesmo caso (AvoidCastingToLowerCase) não tem efeito, poisCITEXTtrata a comparação sem distinção entre maiúsculas e minúsculas de forma nativa. -
- Converta objetos embutidos não suportados em objetos stub ()
ConvUnsupportedBuiltinsToStubs -
Controla o que acontece quando o DMS Schema Conversion encontra uma função T-SQL incorporada que não tem equivalente direto do PostgreSQL.
-
false— A função não suportada é deixada como um item de ação no relatório de avaliação. O objeto convertido está marcado como exigindo revisão manual. -
true— A função não suportada é substituída por uma função stub que tem a mesma assinatura, mas gera um erro de tempo de execução. O objeto convertido é compilado com êxito, permitindo que você implante e teste o restante do esquema antes de abordar stubs individuais. As funções Stub geram o problema de migração 7822.
Tipo: Boolean (
true|false)Padrão:
false -
- Crie objetos stub em um esquema separado ()
CreateStubsInSeparateSchema -
Controla onde os objetos stub são colocados quando
ConvUnsupportedBuiltinsToStubsestá habilitado.-
false— Os objetos Stub são criados no mesmo esquema dos objetos de chamada. -
true— Os objetos Stub são colocados em umaws_sqlserver_stubesquema dedicado no alvo. Use isso para manter o código stub isolado dos objetos convertidos do aplicativo.
Tipo: Boolean (
true|false)Padrão:
false -
Exemplo: definir as configurações do SQL Server para PostgreSQL
O exemplo a seguir define SchemaNameTemplateConvertProceduresToFunction, UseCitextForAllStringDatatypes e. Aplique as mesmas configurações ao nome de cada seção que seu projeto usa (verifique DescribeConversionConfigurationprimeiro a saída).
{ "MSSQL_TO_POSTGRESQL_15": { "SchemaNameTemplate": "SCHEMA", "ConvertProceduresToFunction": true, "UseCitextForAllStringDatatypes": true }, "MSSQL_TO_POSTGRESQL_14": { "SchemaNameTemplate": "SCHEMA", "ConvertProceduresToFunction": true, "UseCitextForAllStringDatatypes": true }, "MSSQL_TO_POSTGRESQL": { "SchemaNameTemplate": "SCHEMA", "ConvertProceduresToFunction": true, "UseCitextForAllStringDatatypes": true } }