Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Impostazioni di conversione da SQL Server a PostgreSQL
Le seguenti impostazioni si applicano quando l'origine è Microsoft SQL Server e la destinazione è Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL. Puoi configurare queste impostazioni utilizzando l'operazione o l'API. Console di gestione AWS ModifyConversionConfiguration
Questo argomento tratta le impostazioni specifiche del percorso di conversione da SQL Server a PostgreSQL. Oltre a queste impostazioni, DMS Schema Conversion fornisce impostazioni che si applicano a tutte le coppie di origine e destinazione, come il livello di gravità per i commenti sugli elementi di azione in SQL convertito e la possibilità di utilizzare l'intelligenza artificiale generativa per la conversione. Per queste impostazioni, vedi. Impostazioni di conversione comuni
Quando utilizzi l'API o la AWS CLI, specifica le impostazioni del percorso di conversione nei nomi delle sezioni MSSQL_TO_POSTGRESQLMSSQL_TO_POSTGRESQL_14, oppure. MSSQL_TO_POSTGRESQL_15 Tutte e tre le sezioni con versione accettano le stesse chiavi. Per scoprire quali nomi di sezione vengono utilizzati dal tuo progetto, chiama DescribeConversionConfigurationprima e aggiorna solo le sezioni presenti nella risposta.
Ogni impostazione mostra l' Console di gestione AWS etichetta seguita dal nome dei parametri API e AWS CLI tra parentesi. Utilizza il nome del parametro durante la configurazione delle impostazioni con l'API o la AWS CLI.
Impostazioni dei metadati
Impostazioni che controllano il modo in cui i metadati di origine di SQL Server, ovvero nomi degli oggetti, struttura dello schema e definizioni degli indici, vengono gestiti durante la conversione.
- Tratta i nomi degli oggetti del database di origine facendo distinzione tra maiuscole e minuscole
CaseSensitivityNames -
Controlla come vengono gestiti i nomi degli oggetti (tabelle, colonne, procedure e così via) durante la conversione.
-
true— I nomi degli oggetti vengono conservati nella loro versione originale e racchiusi in identificatori tra virgolette doppie (ad esempio,)."MyTable"Utilizzatelo quando l'applicazione fa riferimento a oggetti utilizzando nomi composti da maiuscole e minuscole. -
false— I nomi degli oggetti vengono piegati in minuscolo senza virgolette (ad esempio,).mytableCiò corrisponde al comportamento predefinito di ripiegamento tra maiuscole e minuscole di PostgreSQL.
Tipo: Boolean (|)
truefalseDefault:
false -
- Genera nomi univoci per gli indici ()
UniqueIndexGeneration -
Controlla se DMS Schema Conversion genera nomi di indice univoci nello schema PostgreSQL di destinazione. In SQL Server, gli indici possono condividere lo stesso nome su tabelle diverse. In PostgreSQL, tutti i nomi di indice all'interno di uno schema devono essere univoci.
-
true— DMS Schema Conversion genera nomi univoci per tutti gli indici, aggiungendo un suffisso ove necessario per evitare collisioni. Usalo quando lo schema di origine ha indici con lo stesso nome su tabelle diverse. -
false— I nomi degli indici vengono conservati così come sono dall'origine. Se lo stesso nome di indice esiste su più tabelle, la distribuzione su PostgreSQL potrebbe non riuscire con un errore di nome duplicato.
Tipo: Boolean (|)
truefalseDefault:
true -
- Converti le procedure in funzioni ()
ConvertProceduresToFunction -
Controlla se le stored procedure vengono convertite in funzioni o procedure PostgreSQL.
-
false— Le procedure vengono convertite in oggetti PostgreSQL (richiedePROCEDUREPostgreSQL 11 o versione successiva). -
true— Le procedure che restituiscono un set di risultati vengono convertite in oggetti PostgreSQLFUNCTION. Usalo quando l'applicazione legge un set di risultati da una chiamata di procedura o quando ha come target PostgreSQL 10 o versioni precedenti.
Tipo: Boolean (|)
truefalseDefault:
false -
- Crea routine aggiuntive per gestire set di dati aperti ()
OpenDatasetsProcedures -
Controlla come vengono convertite le procedure che memorizzano l'output di
EXECin una tabella.-
false— Questi modelli vengono lasciati come elementi d'azione. -
true— DMS Schema Conversion crea tabelle temporanee e una procedura aggiuntiva per emulare questo modello sulla destinazione.
Tipo: Boolean (|)
truefalseDefault:
false -
- Nomi degli schemi ()
SchemaNameTemplate -
Controlla il modo in cui il nome dello schema PostgreSQL di destinazione viene generato dalla convenzione di denominazione in due parti di SQL Server (database + schema).
Etichetta della console API/CLI valore Nome dello schema di destinazione generato DB_SCHEMA DB_SCHEMAdatabase_schema(ad esempio,AdventureWorks_dbo). Utilizzalo durante la migrazione di più database sulla stessa istanza PostgreSQL per evitare collisioni di nomi.DB DBdatabase(ad esempio,AdventureWorks).SCHEMA SCHEMAschema(ad esempio,dbo). Utilizzalo per la migrazione di un singolo database e desideri nomi di schema puliti senza un prefisso del database.Tipo: String (enum)
Default:
DB_SCHEMA
Impostazioni del codice SQL
Impostazioni che controllano il modo in cui il codice di SQL Server (identificatori, parametri, tipi di dati e funzioni non supportate) viene gestito durante la conversione.
- Mantieni i nomi degli oggetti nello stesso formato ()
AvoidCastingToLowerCase -
Controlla se DMS Schema Conversion aggiunge
LOWER()cast automatici attorno agli identificatori nel codice convertito.-
false— DMS Schema Conversion aggiunge iLOWER()cast laddove necessario per normalizzare i confronti tra casi. -
true— Non vengono aggiunti cast automaticiLOWER(). Usalo quando il tuo database PostgreSQL utilizza l'estensione o una collazione senza distinzione tra maiuscole e minuscole per gestirecitexti confronti in modo nativo.
Tipo
true:falseBoolean (|)Default:
falseNota
Questa impostazione non ha effetto quando
UseCitextForAllStringDatatypesè abilitata. Quando tutti i tipi di stringhe sono mappatiCITEXT, il confronto senza distinzione tra maiuscole e minuscole viene gestito in modo nativo dal tipo stesso, quindi non viene generato alcunLOWER()cast indipendentemente da questa impostazione. -
KeepOriginalParameterManesMantieni i nomi dei parametri originali ()-
Controlla se i nomi dei parametri originali T-SQL delle routine vengono conservati nella firma di routine PostgreSQL convertita.
-
false— I parametri possono essere rinominati per evitare conflitti con le parole riservate o le convenzioni di denominazione di PostgreSQL. -
true— I nomi dei parametri originali vengono mantenuti alla lettera. Utilizzatelo quando l'applicazione richiama le routine utilizzando la sintassi dei parametri denominati (ad esempio,).my_proc(param_name => value)
Tipo: Boolean (|)
truefalseDefault:
falseNota
Il nome del parametro API è
KeepOriginalParameterManes(termina con Manes, non con Names). Usa questa ortografia esatta quando chiami l'API o la AWS CLI. L'utilizzo nonKeepOriginalParameterNamesfunzionerà. -
- Utilizzate CITEXT per tutti i tipi di dati di tipo stringa ()
UseCitextForAllStringDatatypes -
Controlla il tipo di dati di destinazione per tutte le colonne e i parametri di caratteri.
-
false— I tipi di caratteri (CHAR,VARCHAR,NCHAR,NVARCHAR) sono mappati ai tipi PostgreSQL corrispondenti. -
true— Tutti i tipi di caratteri sono mappati su (testo senza distinzione tra maiuscole e minuscole).CITEXTUsalo quando esegui la migrazione da regole di confronto di SQL Server senza distinzione tra maiuscole e minuscole e desideri preservare quel comportamento in PostgreSQL senza modificare le query.
Tipo:
trueBoolean (|)falseDefault:
falseNota
Quando questa impostazione è abilitata, DMS Schema Conversion aggiunge
CREATE EXTENSION IF NOT EXISTS citext;automaticamente gli script dello schema convertito (sia quando si applica alla destinazione che quando si salva in un file). Tuttavia, ilcitextmodulo deve essere disponibile nel database PostgreSQL di destinazione prima di applicare lo schema convertito.Quando
UseCitextForAllStringDatatypesè abilitata, l'impostazione Keep object names in the same case (AvoidCastingToLowerCase) non ha alcun effetto, perchéCITEXTgestisce il confronto senza distinzione tra maiuscole e minuscole in modo nativo. -
- Converti oggetti incorporati non supportati in oggetti stub ()
ConvUnsupportedBuiltinsToStubs -
Controlla cosa succede quando DMS Schema Conversion incontra una funzione T-SQL integrata che non ha un equivalente diretto in PostgreSQL.
-
false— La funzione non supportata viene lasciata come elemento d'azione nel rapporto di valutazione. L'oggetto convertito è contrassegnato come soggetto a revisione manuale. -
true— La funzione non supportata viene sostituita da una funzione stub che ha la stessa firma ma genera un errore di runtime. L'oggetto convertito viene compilato correttamente, consentendo di distribuire e testare il resto dello schema prima di indirizzare i singoli stub. Le funzioni Stub generano il problema di migrazione 7822.
Tipo: Boolean (|)
truefalseDefault:
false -
- Crea oggetti stub in uno schema separato ()
CreateStubsInSeparateSchema -
Controlla dove vengono posizionati gli oggetti stub quando
ConvUnsupportedBuiltinsToStubsè abilitato.-
false— Gli oggetti Stub vengono creati nello stesso schema degli oggetti chiamanti. -
true— Gli oggetti Stub vengono inseriti in unoaws_sqlserver_stubschema dedicato sulla destinazione. Utilizzatelo per mantenere il codice stub isolato dagli oggetti dell'applicazione convertiti.
Tipo: Boolean (|)
truefalseDefault:
false -
Esempio: configurare SQL Server per le impostazioni di PostgreSQL
L'esempio seguente impostaSchemaNameTemplate, eConvertProceduresToFunction. UseCitextForAllStringDatatypes Applica le stesse impostazioni a ogni nome di sezione utilizzato dal progetto (controlla DescribeConversionConfigurationprima l'output di).
{ "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 } }