AWS Schema Conversion Tool

Transcription

AWS Schema Conversion Tool
AWS Schema Conversion Tool
Guide de l'utilisateur
Version 1.0
AWS Schema Conversion Tool Guide de l'utilisateur
AWS Schema Conversion Tool Guide de l'utilisateur
AWS Schema Conversion Tool: Guide de l'utilisateur
Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any
manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other
trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to,
or sponsored by Amazon.
AWS Schema Conversion Tool Guide de l'utilisateur
Table of Contents
Qu'est-ce qu'AWS Schema Conversion Tool ? .................................................................................. 1
Conversion d'un schéma ........................................................................................................ 2
La fenêtre de projet .............................................................................................................. 2
Rubriques connexes .............................................................................................................. 4
Installation et mise à jour ............................................................................................................... 5
Installation d'AWS Schema Conversion Tool ............................................................................. 5
Installation des pilotes de base de données requis ..................................................................... 6
Installation des pilotes JDBC sur Linux ............................................................................. 7
Stockage des chemins d'accès aux pilotes dans les paramètres globaux ................................ 8
Mise à jour d'AWS Schema Conversion Tool ............................................................................ 9
Rubriques connexes .............................................................................................................. 9
Mise en route ............................................................................................................................. 10
Avant de commencer ........................................................................................................... 10
Création d'un projet ............................................................................................................. 11
Connexion à la base de données source ................................................................................ 12
Connexion à votre base de données cible ............................................................................... 12
Conversion d'un schéma ...................................................................................................... 13
Privilèges de base de données requis .................................................................................... 14
Privilèges pour bases de données source ....................................................................... 14
Privilèges pour bases de données cible .......................................................................... 16
Rubriques connexes .................................................................................................... 24
Mise en route de la conversion de schémas de base de données ............................................... 25
Avant de commencer ................................................................................................... 25
Conversion d'un schéma .............................................................................................. 25
Rapport d'évaluation de migration de base de données ..................................................... 27
Application du schéma converti à l'instance DB cible ........................................................ 31
Rubriques connexes .................................................................................................... 32
Mise en route de la conversion de schémas d'entrepôt de données ............................................. 33
Avant de commencer ................................................................................................... 33
Choix des règles et des stratégies d'optimisation .............................................................. 33
Collecte ou téléchargement des statistiques .................................................................... 34
Conversion d'un schéma .............................................................................................. 36
Gestion et personnalisation des clés .............................................................................. 37
Rapport d'évaluation de migration de base de données ..................................................... 38
Application du schéma converti à la base de données cible ............................................... 42
Rubriques connexes .................................................................................................... 43
Connexion à la base de données source ........................................................................................ 44
Connexion à une base de données source Amazon Redshift ..................................................... 44
Rubriques connexes .................................................................................................... 46
Connexion à une base de données source Greenplum ............................................................. 47
Rubriques connexes .................................................................................................... 49
Connexion à une base de données source Microsoft SQL Server ................................................ 49
Rubriques connexes .................................................................................................... 51
Connexion à une base de données source MySQL .................................................................. 51
Rubriques connexes .................................................................................................... 54
Connexion à une base de données source Netezza ................................................................. 54
Rubriques connexes .................................................................................................... 55
Connexion à une base de données source Oracle ................................................................... 55
Rubriques connexes .................................................................................................... 58
Connexion à une base de données source d'entrepôt de données Oracle ..................................... 58
Rubriques connexes .................................................................................................... 61
Connexion à une base de données source PostgreSQL ............................................................ 61
Rubriques connexes .................................................................................................... 63
Connexion à une base de données source Teradata ................................................................ 64
Rubriques connexes .................................................................................................... 65
Version 1.0
iv
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schémas de base de données ................................................................................. 66
Création de règles de mappage ............................................................................................ 68
Création de règles de mappage .................................................................................... 68
Création de règles de mappage pour des objets .............................................................. 69
Exportation des règles de mappage ............................................................................... 70
Conversion d'un schéma ...................................................................................................... 70
Conversion de schémas ............................................................................................... 70
Modification du schéma converti .................................................................................... 72
Suppression d'un schéma converti ................................................................................. 73
Création et utilisation du rapport d'évaluation ........................................................................... 74
Création d'un rapport d'évaluation de migration de la base de données ................................ 75
Récapitulatif ................................................................................................................ 75
Eléments d'action ........................................................................................................ 76
Enregistrement du rapport d'évaluation ........................................................................... 77
Gestion des conversions manuelles ....................................................................................... 78
Modification de votre schéma source ............................................................................. 79
Modification de votre schéma cible ................................................................................ 79
Rubriques connexes .................................................................................................... 79
Mise à jour et actualisation de votre schéma converti ............................................................... 79
Enregistrement et application de votre schéma ........................................................................ 80
Enregistrement de votre schéma converti en un fichier ...................................................... 81
Application de votre schéma converti ............................................................................. 81
Schéma du kit d'extension ............................................................................................ 82
Conversion du schéma d'entrepôt de données ................................................................................. 83
Choix des règles et des stratégies d'optimisation ..................................................................... 85
Rubriques connexes .................................................................................................... 86
Collecte ou téléchargement des statistiques ............................................................................ 86
Rubriques connexes .................................................................................................... 87
Création de règles de mappage ............................................................................................ 88
Création de règles de mappage .................................................................................... 88
Création de règles de mappage pour des objets .............................................................. 89
Exportation des règles de mappage ............................................................................... 90
Conversion d'un schéma ...................................................................................................... 90
Conversion de schémas ............................................................................................... 90
Modification du schéma converti .................................................................................... 92
Suppression d'un schéma converti ................................................................................. 93
Gestion et personnalisation des clés ...................................................................................... 94
Rubriques connexes .................................................................................................... 95
Création et utilisation du rapport d'évaluation ........................................................................... 95
Création d'un rapport d'évaluation de migration de la base de données ................................ 96
Récapitulatif ................................................................................................................ 96
Eléments d'action ........................................................................................................ 97
Enregistrement du rapport d'évaluation ........................................................................... 98
Gestion des conversions manuelles ....................................................................................... 99
Modification de votre schéma source ............................................................................ 100
Modification de votre schéma cible ............................................................................... 100
Rubriques connexes .................................................................................................. 100
Mise à jour et actualisation de votre schéma converti .............................................................. 100
Enregistrement et application de votre schéma ...................................................................... 101
Enregistrement de votre schéma converti en un fichier .................................................... 102
Application de votre schéma converti ............................................................................ 102
Schéma du kit d'extension .......................................................................................... 103
Bibliothèques Python .................................................................................................. 104
Optimisation d'Amazon Redshift ................................................................................................... 105
Avant de commencer ......................................................................................................... 105
Optimisation de la base de données Amazon Redshift ............................................................ 106
Rubriques connexes .......................................................................................................... 107
Utilisation d'AWS DMS ............................................................................................................... 108
Version 1.0
v
AWS Schema Conversion Tool Guide de l'utilisateur
Avant de commencer ......................................................................................................... 108
Informations d'identification ................................................................................................. 108
Création d'une tâche .......................................................................................................... 109
Exécution et surveillance d'une tâche ................................................................................... 109
Rubriques connexes .......................................................................................................... 110
Utilisation du kit d'extension ........................................................................................................ 111
Kit d'extension et services AWS pour bases de données ......................................................... 111
Utilisation de services AWS pour émuler les fonctions de base de données ......................... 112
Avant de commencer ................................................................................................. 112
Application du kit d'extension ...................................................................................... 112
Kit d'extension et bibliothèques Python pour entrepôts de données ............................................ 113
Utilisation de services AWS pour télécharger des bibliothèques Python personnalisées ......... 114
Avant de commencer ................................................................................................. 114
Application du kit d'extension ...................................................................................... 114
Rubriques connexes .................................................................................................. 115
Conversion d'Application SQL ..................................................................................................... 116
Avant de commencer ......................................................................................................... 116
Présentation de la conversion de code SQL d'application ......................................................... 117
Création de projets de conversion d'applications .................................................................... 117
Analyse et conversion de votre code SQL ............................................................................. 120
Création et utilisation du rapport d'évaluation ......................................................................... 121
Création d'un rapport d'évaluation d'application .............................................................. 121
Modification et enregistrement de votre code SQL converti ...................................................... 122
Stockage de profils AWS ............................................................................................................ 123
Stockage d'informations d'identification AWS ......................................................................... 123
Définition du profil par défaut pour un projet .......................................................................... 124
Rubriques connexes .......................................................................................................... 124
Bonnes pratiques ...................................................................................................................... 125
Options générales de gestion et de performances de mémoire ................................................. 125
Configuration de mémoire supplémentaire ............................................................................. 125
Rubriques connexes .......................................................................................................... 126
Dépannage ............................................................................................................................... 127
Je ne peux pas charger d'objets à partir d'une base de données source Oracle ........................... 127
Rubriques connexes .......................................................................................................... 128
Raccourcis clavier ..................................................................................................................... 129
Rubriques connexes .......................................................................................................... 129
Référence ................................................................................................................................. 130
Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL ............................ 130
Instructions ............................................................................................................... 131
Procédures ............................................................................................................... 134
Contrôle de flux ......................................................................................................... 135
Fonctions ................................................................................................................. 135
Opérateurs ............................................................................................................... 143
Transactions ............................................................................................................. 145
Types de données ..................................................................................................... 146
Langage de définition de données (DDL) ...................................................................... 148
Curseurs .................................................................................................................. 149
Rubriques connexes .................................................................................................. 150
Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL ...................... 150
Langage de définition de données (DDL) ...................................................................... 150
Langage de manipulation de données (DML) ................................................................. 153
Types de données ..................................................................................................... 158
Messagerie de base de données ................................................................................. 159
Fonctions ................................................................................................................. 161
Opérateurs ............................................................................................................... 170
Autre ....................................................................................................................... 172
Service Broker .......................................................................................................... 173
SQL Server Agent ...................................................................................................... 174
Version 1.0
vi
AWS Schema Conversion Tool Guide de l'utilisateur
Sauvegarde SQL Server ............................................................................................. 177
T-SQL ...................................................................................................................... 177
Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL .............................................................................................................. 179
Conversion de schéma prise en charge de MySQL vers PostgreSQL ......................................... 205
DDL ......................................................................................................................... 205
DML ........................................................................................................................ 207
Fonctions ................................................................................................................. 210
Types de données ..................................................................................................... 219
Informations de référence sur la conversion de MySQL vers PostgreSQL. ........................... 223
Conversion de schéma prise en charge d'Oracle vers MySQL .................................................. 236
Instructions ............................................................................................................... 237
Procédures ............................................................................................................... 242
Contrôle de flux ......................................................................................................... 242
Packages ................................................................................................................. 242
Fonctions ................................................................................................................. 243
Opérateurs ............................................................................................................... 252
Types de données ..................................................................................................... 256
Langage de définition de données (DDL) ...................................................................... 258
Curseurs .................................................................................................................. 262
Indicateurs ................................................................................................................ 262
Exceptions ................................................................................................................ 265
Rubriques connexes .................................................................................................. 266
Conversion de schéma prise en charge d'Oracle vers PostgreSQL ............................................ 266
DDL ......................................................................................................................... 266
DML ........................................................................................................................ 270
PLSQL ..................................................................................................................... 290
Types de données ..................................................................................................... 295
Référence de conversion d'Oracle vers PostgreSQL ....................................................... 297
Conversion de schéma prise en charge de PostgreSQL vers MySQL ......................................... 327
DDL ......................................................................................................................... 327
DML ........................................................................................................................ 328
PL/pgSQL ................................................................................................................. 337
Informations de référence sur la conversion de PostgreSQL vers MySQL ........................... 344
Rubriques connexes .......................................................................................................... 381
Historique du document .............................................................................................................. 382
Version 1.0
vii
AWS Schema Conversion Tool Guide de l'utilisateur
Qu'est-ce qu'AWS Schema
Conversion Tool ?
Vous pouvez utiliser AWS Schema Conversion Tool pour convertir votre schéma de base de données
existante d'un moteur de base de données en un autre. Vous pouvez convertir le schéma OLTP
relationnel ou le schéma d'entrepôt de données. Votre schéma converti convient pour une instance DB
MySQL (Amazon RDS) Amazon Relational Database Service, un cluster de base de données Amazon
Aurora, une instance DB PostgreSQL Amazon RDS ou un cluster Amazon Redshift.
AWS Schema Conversion Tool prend en charge les conversions OLTP suivantes.
Base de données source
Base de données cible sur Amazon RDS
Microsoft SQL Server (version 2008 ou
ultérieure)
Amazon Aurora (MySQL ou PostgreSQL),
Microsoft SQL Server, MySQL, PostgreSQL
MySQL (version 5.6 ou ultérieure)
Amazon Aurora (PostgreSQL), MySQL,
PostgreSQL
Oracle (version 10.2 ou ultérieure)
Amazon Aurora (MySQL ou PostgreSQL),
MySQL, Oracle, PostgreSQL
PostgreSQL (version 9.1 ou ultérieure)
Amazon Aurora (MySQL), MySQL, PostgreSQL
Note
Vous pouvez migrer le schéma et les données de MySQL vers un cluster de base de
données Amazon Aurora (MySQL) sans utiliser AWS Schema Conversion Tool. Pour plus
d'informations, consultez la rubrique Migrating Data to an Amazon Aurora DB Cluster.
AWS Schema Conversion Tool prend en charge les conversions d'entrepôt de données suivantes.
Base de données source
Base de données cible sur Amazon Redshift
Base de données Greenplum (version 4.3 ou
ultérieure)
Amazon Redshift
Netezza (version 7.2 ou ultérieure)
Amazon Redshift
Oracle (version 11 ou ultérieure)
Amazon Redshift
Version 1.0
1
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
Base de données source
Base de données cible sur Amazon Redshift
Teradata (version 15 ou ultérieure)
Amazon Redshift
En plus de convertir votre schéma de base de données existant d'un moteur de base de données à
un autre, AWS Schema Conversion Tool offre des fonctions supplémentaires qui vous permettent
de déplacer vos données et vos applications dans le cloud. AWS Schema Conversion Tool inclut les
fonctions supplémentaires suivantes :
• Vous pouvez utiliser AWS Schema Conversion Tool pour créer des points de terminaison et des
tâches AWS DMS. Vous pouvez exécuter et surveiller les tâches à partir d'AWS Schema Conversion
Tool. Pour plus d'informations, consultez Utilisation d'AWS Database Migration Service avec AWS
Schema Conversion Tool (p. 108).
• Vous pouvez utiliser AWS Schema Conversion Tool pour optimiser votre base de données Amazon
Redshift existante. AWS Schema Conversion Tool recommande d'utiliser des clés de tri et de
distribution pour optimiser votre base de données. Pour plus d'informations, consultez Optimisation
d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool (p. 105).
• Vous pouvez utiliser AWS Schema Conversion Tool pour copier votre schéma de base de données
sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur.
Cette fonction vous permet d'analyser les économies de coûts potentielles en cas de déplacement
vers le cloud et de changement de votre type de licence.
• Vous pouvez utiliser AWS Schema Conversion Tool pour convertir le code SQL dans le code de
votre application C++, C#, Java ou autre. Vous pouvez afficher, analyser, modifier et enregistrer le
code SQL converti. Pour plus d'informations, consultez Conversion d'Application SQL en utilisant
AWS Schema Conversion Tool (p. 116).
Conversion d'un schéma
AWS Schema Conversion Tool propose une interface utilisateur basée sur un projet pour convertir
automatiquement le schéma de base de données de votre base de données source en un format
compatible avec votre instance Amazon RDS cible. Si le schéma de votre base de données source ne
peut pas être converti automatiquement, AWS Schema Conversion Tool fournit une aide sur la façon
dont vous pouvez créer le schéma équivalent dans votre base de données Amazon RDS cible.
Pour plus d'informations sur la façon d'installer AWS Schema Conversion Tool, consultez Installation et
mise à jour d'AWS Schema Conversion Tool (p. 5).
Pour obtenir un exemple qui vous guide sur la façon d'utiliser AWS Schema Conversion Tool pour
convertir un schéma de base de données transactionnelle, consultez Mise en route de la conversion
de schémas de base de données avec AWS Schema Conversion Tool (p. 25).
Pour obtenir un exemple qui vous guide sur la façon d'utiliser AWS Schema Conversion Tool pour
convertir un schéma de base de données transactionnelle, consultez Mise en route de la conversion
de schémas d'entrepôt de données avec AWS Schema Conversion Tool (p. 33).
La fenêtre de projet
L'illustration suivante représente ce que vous voyez dans AWS Schema Conversion Tool lorsque vous
créez un projet de migration de schéma et convertissez ensuite un schéma.
1. Dans le volet gauche, le schéma de votre base de données source est présenté dans une
arborescence. Votre schéma de base de données est « avec chargement différé ». En d'autres
termes, lorsque vous sélectionnez un élément de l'arborescence, AWS Schema Conversion Tool
obtient et affiche le schéma actuel de votre base de données source.
Version 1.0
2
AWS Schema Conversion Tool Guide de l'utilisateur
La fenêtre de projet
2. Dans le volet du milieu de la partie supérieure, les éléments de l'action apparaissent pour
les éléments de schéma du moteur de base de données source qui n'a pas pu être converti
automatiquement en moteur de base de données cible.
3. Dans le panneau droit, le schéma de votre instance DB cible est présenté dans une arborescence.
Votre schéma de base de données est « avec chargement différé ». Autrement dit, au moment où
vous sélectionnez un élément dans l'arborescence, AWS Schema Conversion Tool obtient et affiche
le schéma actuel de votre base de données cible.
4. Dans le volet inférieur gauche, lorsque vous choisissez un élément de schéma, les propriétés
décrivant l'élément de schéma source et la commande SQL pour créer cet élément dans la base de
données source sont affichées.
5. Dans le volet inférieur droit, lorsque vous choisissez un élément de schéma, les propriétés décrivant
l'élément de schéma cible et la commande SQL pour créer cet élément dans la base de données
Version 1.0
3
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
cible sont affichées. Vous pouvez modifier cette commande SQL et enregistrer la commande mise à
jour avec votre projet.
Rubriques connexes
• Bonnes pratiques pour AWS Schema Conversion Tool (p. 125)
Version 1.0
4
AWS Schema Conversion Tool Guide de l'utilisateur
Installation d'AWS Schema Conversion Tool
Installation et mise à jour d'AWS
Schema Conversion Tool
AWS Schema Conversion Tool est une application autonome qui propose une interface utilisateur
basée sur un projet. AWS Schema Conversion Tool est disponible pour Microsoft Windows, Mac OS
X, Ubuntu Linux version 15.04 et Fedora Linux. AWS Schema Conversion Tool est pris en charge
uniquement sur les systèmes d'exploitation 64 bits. AWS Schema Conversion Tool installe également
Java Runtime Environment (JRE) version 8u45.
Installation d'AWS Schema Conversion Tool
Pour installer AWS Schema Conversion Tool
1.
Téléchargez le fichier zip qui contient le programme d'installation AWS Schema Conversion
Tool en choisissant le lien correspondant à votre système d'exploitation, que vous trouverez cidessous :
• Téléchargement Microsoft Windows
• Téléchargement Mac OS X
• Téléchargement Ubuntu Linux version 15.04
• Téléchargement Fedora Linux
2.
Extrayez le fichier du programme d'installation AWS Schema Conversion Tool correspondant à
votre système d'exploitation, que vous trouverez ci-dessous.
Système d'exploitation Nom de fichier
3.
Microsoft Windows
AWS Schema Conversion Tool-1.0.msi
Mac OS X
AWS Schema Conversion Tool-1.0.dmg
Ubuntu Linux
aws-schema-conversion-tool-1.0.deb
Fedora Linux
aws-schema-conversion-tool-1.0-1.x86_64.rpm
Exécutez le fichier du programme d'installation AWS Schema Conversion Tool extrait à l'étape
précédente. Suivez les instructions ci-dessous correspondant à votre système d'exploitation.
Version 1.0
5
AWS Schema Conversion Tool Guide de l'utilisateur
Installation des pilotes de base de données requis
Système d'exploitation Instructions d'installation
Microsoft Windows
Double-cliquez sur le fichier pour exécuter le programme d'installation.
Mac OS X
Dans le Finder, ouvrez AWS Schema Conversion Tool-1.0.dmg.
Faites glisser AWS Schema Conversion Tool-1.0.dmg vers le
dossier Applications.
Ubuntu Linux
Exécutez la commande suivante, file-path correspondant au dossier
dans lequel vous avez téléchargé le fichier :
sudo dpkg -i file-path/aws-schema-conversiontool-1.0.deb
Fedora Linux
Exécutez la commande suivante, file-path correspondant au dossier
dans lequel vous avez téléchargé le fichier :
sudo yum install file-path/aws-schema-conversiontool-1.0-1.x86_64.rpm
4.
Installez les pilotes Java Database Connectivity (JDBC) pour vos moteurs de base de données
source et cible. Vous trouverez plus de détails et des liens de téléchargement à la page
Installation des pilotes de base de données requis (p. 6).
Installation des pilotes de base de données requis
Pour qu'AWS Schema Conversion Tool fonctionne correctement, vous devez installer les pilotes JDBC
appropriés pour les moteurs de vos bases de données source et cible. En cas de doute, installez la
dernière version disponible pour les pilotes.
Après avoir téléchargé les pilotes, indiquez à AWS Schema Conversion Tool l'emplacement des
fichiers de pilote. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans
les paramètres globaux (p. 8).
Vous pouvez télécharger les pilotes de base de données à partir des emplacements suivants.
Moteur de
base de
données
Pilotes
Emplacement de téléchargement
Amazon Aurora mysql-connector-java-5.1.6.jar
(compatible
MySQL)
https://www.mysql.com/products/connector/
Amazon Aurora postgresql-9.4-1204-jdbc42.jar
(compatible
PostgreSQL)
https://jdbc.postgresql.org/download.html
Amazon
Redshift
RedshiftJDBC41-1.1.10.1010.jar http://docs.aws.amazon.com/redshift/latest/mgmt/
configure-jdbc-connection.html
Greenplum
Database
postgresql-9.4-1204-jdbc42.jar
https://jdbc.postgresql.org/
Oracle
sqljdbc4.jar
https://www.microsoft.com/en-us/download/
details.aspx?displaylang=en&id=11774
MySQL
mysql-connector-java-5.1.6.jar
https://www.mysql.com/products/connector/
Version 1.0
6
AWS Schema Conversion Tool Guide de l'utilisateur
Installation des pilotes JDBC sur Linux
Moteur de
base de
données
Pilotes
Emplacement de téléchargement
Netezza
nzjdbc.jar
http://www.ibm.com/support/knowledgecenter/
SSULQD_7.2.1/com.ibm.nz.datacon.doc/
c_datacon_plg_overview.html
Utiliser les logiciels d'outils
clients.
Oracle
ojdbc7.jar
Les versions 7 et ultérieures du
pilote sont prises en charge.
http://www.oracle.com/technetwork/
database/features/jdbc/jdbc-drivers-12cdownload-1958347.html
PostgreSQL
postgresql-9.4-1204-jdbc42.jar
https://jdbc.postgresql.org/download.html
Teradata
terajdbc4.jar
https://downloads.teradata.com/download/
connectivity/jdbc-driver
tdgssconfig.jar
Installation des pilotes JDBC sur Linux
Vous pouvez exécuter les étapes suivantes pour installer les pilotes JDBC sur votre système Linux en
vue d'utiliser AWS Schema Conversion Tool.
Pour installer les pilotes JDBC sur votre système Linux
1.
Créez un répertoire pour y stocker les pilotes JDBC.
PROMPT>sudo mkdir –p /usr/local/jdbc-drivers
2.
Installez le pilote JDBC pour votre moteur de base de données à l'aide des commandes indiquées
ci-dessous.
Moteur de base de
données
Amazon Aurora
(compatible MySQL)
Amazon Aurora
(compatible
PostgreSQL)
Microsoft SQL Server
MySQL
Oracle
Commandes d'installation
PROMPT> cd /usr/local/jdbc-drivers
PROMPT> sudo tar xzvf /tmp/mysql-connector-javaX.X.X.tar.gz
PROMPT> cd /usr/local/jdbc-drivers
PROMPT> sudo cp -a /tmp/postgresql-X.X.X.jre7.tar .
PROMPT> cd /usr/local/jdbc-drivers
PROMPT> sudo tar xzvf /tmp/sqljdbc_X.X.X_enu.tar.gz
PROMPT> cd /usr/local/jdbc-drivers
PROMPT> sudo tar xzvf /tmp/mysql-connector-javaX.X.X.tar.gz
PROMPT> cd /usr/local/jdbc-drivers
PROMPT> sudo mkdir oracle-jdbc
Version 1.0
7
AWS Schema Conversion Tool Guide de l'utilisateur
Stockage des chemins d'accès aux
pilotes dans les paramètres globaux
Moteur de base de
données
Commandes d'installation
PROMPT> cd oracle-jdbc
PROMPT> sudo cp -a /tmp/ojdbc7.jar .
PostgreSQL
PROMPT> cd /usr/local/jdbc-drivers
PROMPT> sudo cp -a /tmp/postgresql-X.X.X.jre7.tar .
Stockage des chemins d'accès aux pilotes dans les
paramètres globaux
Après avoir téléchargé et installé les pilotes JDBC requis, vous pouvez définir l'emplacement des
pilotes de façon globale dans les paramètres d'AWS Schema Conversion Tool. Si vous ne définissez
pas l'emplacement des pilotes de façon globale, l'application vous demandera l'emplacement des
pilotes lorsque vous vous connecterez à une base de données.
Pour mettre à jour l'emplacement des fichiers de pilote
1.
Dans AWS Schema Conversion Tool, choisissez Settings, puis Global Settings.
2.
Dans Global settings, choisissez Drivers. Ajoutez le chemin de fichier du pilote JDBC pour votre
moteur de base de données source et votre moteur de base de données d'instance DB RDS.
Note
Pour Teradata, vous spécifiez 2 pilotes, en les séparant par un point virgule.
Version 1.0
8
AWS Schema Conversion Tool Guide de l'utilisateur
Mise à jour d'AWS Schema Conversion Tool
3.
Lorsque vous avez ajouté les chemins d'accès, cliquez sur OK.
Mise à jour d'AWS Schema Conversion Tool
Pour vérifier si une nouvelle version d'AWS Schema Conversion Tool est disponible, choisissez Help,
puis Check for Updates. Si une version plus récente d'AWS Schema Conversion Tool est disponible,
vous êtes invité à télécharger et installer cette version.
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
Version 1.0
9
AWS Schema Conversion Tool Guide de l'utilisateur
Avant de commencer
Mise en route avec AWS Schema
Conversion Tool
Ci-dessous, vous pouvez trouver des procédures qui vous aident à commencer à utiliser AWS Schema
Conversion Tool. AWS Schema Conversion Tool fournit une interface utilisateur basée sur le projet.
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Avant de commencer
Avant d'exécuter les procédures fournies dans cette rubrique, vous devez commencer par effectuer les
opérations suivantes :
• Installez AWS Schema Conversion Tool. Pour plus d'informations, consultez Installation et mise à
jour d'AWS Schema Conversion Tool (p. 5).
• Créez votre instance DB Amazon Relational Database Service (Amazon RDS) ou base de données
Amazon Redshift cible, si elle n'existe pas déjà. Pour plus d'informations, consultez la documentation
suivante.
Moteur de base de
données
Documentation
Amazon Aurora
Création d'un cluster DB Amazon Aurora
Connexion à un cluster DB Amazon Aurora
Amazon Redshift
Mise en route avec Amazon Redshift
Oracle
Création d'une instance de base de données exécutant le moteur de
base de données Microsoft SQL Server
Version 1.0
10
AWS Schema Conversion Tool Guide de l'utilisateur
Création d'un projet
Moteur de base de
données
Documentation
Connexion à une instance DB exécutant le moteur de base de données
Microsoft SQL Server
MySQL
Création d'une instance DB exécutant le moteur de base de
données MySQL
Connexion à une instance DB exécutant le moteur de base de données
MySQL
Oracle
Création d'une instance DB exécutant le moteur de base de
données Oracle
Connexion à une instance de base de données exécutant le moteur de
base de données Oracle
PostgreSQL
Création d'une instance DB exécutant le moteur de base de
données PostgreSQL
Connexion à une instance DB exécutant le moteur de base de données
PostgreSQL
• Vérifiez que vous disposez des privilèges appropriés pour les bases de données source et cible pour
pouvoir exécuter AWS Schema Conversion Tool. Pour plus d'informations, consultez Privilèges de
base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14).
Création d'un projet AWS Schema Conversion
Tool
La procédure suivante vous montre comment créer un projet AWS Schema Conversion Tool.
Pour créer votre projet
1.
Démarrer AWS Schema Conversion Tool.
2.
Choisissez New Project dans le menu File. La boîte de dialogue New Project s'affiche.
Version 1.0
11
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à la base de données source
3.
Ajoutez les informations préliminaires suivantes sur le projet.
Pour ce paramètre
Procédez comme suit
Project Name
Saisissez un nom pour votre projet, qui est stocké localement
sur votre ordinateur.
Emplacement
Saisissez l'emplacement de votre fichier de projet local.
Choisissez Transactional Database (OLTP) ou Data
Warehouse (OLAP).
Moteur DB source
(OLTP) Choisissez Microsoft SQL Server, MySQL, Oracle ou
PostgreSQL.
(OLAP) Choisissez Amazon Redshift, Greenplum, Netezza,
Oracle DW ou Teradata.
Moteur DB cible
(OLTP) Choisissez Amazon Aurora (compatible MySQL),
Amazon Aurora (compatible PostgreSQL), Amazon RDS
pour Microsoft SQL Server, Amazon RDS pour MySQL,
Amazon RDS pour Oracle ou Amazon RDS pour PostgreSQL.
(OLAP) Choisissez Amazon Redshift.
4.
Choisissez OK pour créer votre projet AWS Schema Conversion Tool.
Connexion à la base de données source
Les rubriques suivantes vous montrent comment vous connecter à votre base de données source.
Choisissez la rubrique correspondant à votre base de données source.
• Connexion à une base de données source Amazon Redshift (p. 44)
• Connexion à une base de données source Greenplum (p. 47)
• Connexion à une base de données source Microsoft SQL Server (p. 49)
• Connexion à une base de données source MySQL (p. 51)
• Connexion à une base de données source Netezza (p. 54)
• Connexion à une base de données source Oracle (p. 55)
• Connexion à une base de données source d'entrepôt de données Oracle (p. 58)
• Connexion à une base de données source PostgreSQL (p. 61)
• Connexion à une base de données source Teradata (p. 64)
Connexion à votre base de données cible
La procédure suivante vous montre comment vous connecter à votre base de données cible.
Pour vous connecter à votre base de données cible
1.
Démarrer AWS Schema Conversion Tool.
2.
Choisissez Connect to target, où target indique le moteur de base de données pour votre
instance DB cible.
3.
Ajoutez les informations suivantes pour vous connecter à votre instance DB RDS cible.
Version 1.0
12
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS de votre instance DB cible.
Server port
Tapez le port utilisé pour se connecter à votre instance DB cible.
User name et
Password
Tapez le nom d'utilisateur et mot de passe pour vous connecter à votre
instance DB cible.
Note
AWS Schema Conversion Tool se sert du mot de passe pour
se connecter à la base de données cible uniquement pendant
que vous créez votre projet. Vous pouvez aussi choisir l'option
Connect to target dans un projet, où target correspond
à votre base de données cible. Pour éviter d'exposer le mot
de passe de votre base de données cible, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si vous
fermez et rouvrez votre projet AWS Schema Conversion Tool,
vous êtes invité à saisir le mot de passe pour vous connecter à
la base de données cible, si nécessaire.
Use SSL
4.
5.
Sélectionnez cette option si vous voulez utiliser le protocole SSL pour
vous connecter à la base de données. Fournissez des informations
supplémentaires, le cas échéant, sous l'onglet SSL.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données cible.
Choisissez OK pour vous connecter à votre instance DB cible.
Conversion d'un schéma
Une fois que vous démarrez en utilisant les procédures décrites dans cette rubrique, vous pouvez
continuer à travailler avec AWS Schema Conversion Tool avec des entrepôts de bases de données et
des données transactionnelles dans les rubriques suivantes :
• Mise en route de la conversion de schémas de base de données avec AWS Schema Conversion
Tool (p. 25)
• Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion
Tool (p. 33)
Version 1.0
13
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges de base de données requis
Privilèges de base de données requis pour
l'utilisation d'AWS Schema Conversion Tool
Lorsque vous utilisez AWS Schema Conversion Tool pour convertir votre schéma de base de
données, vous devez disposer de certains privilèges pour les bases de données source et cible. Ces
privilèges sont répertoriés ci-après.
Privilèges pour bases de données source
Les privilèges dont vous avez besoin pour la base de données source sont répertoriés dans le tableau
suivant.
Base de données
source
Privilèges requis
Remarques
Amazon Redshift
• USAGE ON
SCHEMA
<nom_schéma>
• SELECT ON
ALL TABLES
IN SCHEMA
<nom_schéma>
—
• SELECT ON
PG_CATALOG.PG_STATISTIC
• SELECT ON
SVV_TABLE_INFO
• SELECT
ON TABLE
STV_BLOCKLIST
• SELECT
ON TABLE
STV_TBL_PERM
Greenplum
• CONNECT ON —
DATABASE
<nom_base_de_données>
• USAGE ON
SCHEMA
<nom_schéma>
Oracle
• VIEW
DEFINITION
Répétez l'octroi pour chaque base de données dont vous
convertissez le schéma.
• VIEW
DATABASE
STATE
MySQL
• SELECT ON *.*
—
• SELECT ON
mysql.proc
• SHOW VIEW
ON *.*
Version 1.0
14
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données source
Base de données
source
Privilèges requis
Remarques
Netezza
• SELECT ON
—
SYSTEM.DEFINITION_SCHEMA.SYSTEM
VIEW
• SELECT ON
SYSTEM.DEFINITION_SCHEMA.SYSTEM
TABLE
• SELECT ON
SYSTEM.DEFINITION_SCHEMA.MANAGEMENT
TABLE
• LIST ON
<nom_base_de_données>
• LIST ON
<nom_base_de_données>.ALL.TABLE
• LIST ON
<nom_base_de_données>.ALL.EXTERNAL
TABLE
• LIST ON
<nom_base_de_données>.ALL.VIEW
• LIST ON
<nom_base_de_données>.ALL.MATERIALIZED
VIEW
• LIST ON
<nom_base_de_données>.ALL.PROCEDURE
• LIST ON
<nom_base_de_données>.ALL.SEQUENCE
• LIST ON
<nom_base_de_données>.ALL.FUNCTION
• LIST ON
<nom_base_de_données>.ALL.AGGREGATE
Oracle
• connect
—
• select_catalog_role
• select any
dictionary
Oracle Data
Warehouse
• connect
—
• select_catalog_role
• select any
dictionary
Version 1.0
15
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
source
Privilèges requis
Remarques
PostgreSQL
• CONNECT ON —
DATABASE
<nom_base_de_données>
• USAGE ON
SCHEMA
<nom_base_de_données>
• SELECT ON
ALL TABLES
IN SCHEMA
<nom_base_de_données>
• SELECT
ON ALL
SEQUENCES
IN SCHEMA
<nom_base_de_données>
Teradata
• SELECT ON
DBC
—
Privilèges pour bases de données cible
Les privilèges dont vous avez besoin pour la base de données cible sont répertoriés dans le tableau
suivant.
Base de données
cible
Privilèges requis
Amazon Aurora
avec compatibilité
MySQL
• CREATE ON *.* S'il s'agit d'une base de données source
Microsoft SQL Server, accordez également le privilège
• ALTER ON *.*
INSERT,UPDATE ON AWS_SQLSERVER_EXT.*
• DROP ON *.*
• INDEX ON *.*
S'il s'agit d'une base de données source Oracle,
• REFERENCES accordez également le privilège INSERT,UPDATE ON
AWS_ORACLE_EXT.*
ON *.*
• SELECT ON *.*
• CREATE VIEW
ON *.*
• SHOW VIEW
ON *.*
Remarques
S'il s'agit d'une base de données source PostgreSQL,
accordez également le privilège INSERT,UPDATE ON
AWS_POSTGRESQL_EXT.*
• TRIGGER ON
*.*
• CREATE
ROUTINE ON
*.*
• ALTER
ROUTINE ON
*.*
• EXECUTE ON
*.*
Version 1.0
16
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
Remarques
• SELECT ON
mysql.proc
Amazon Aurora
avec compatibilité
PostgreSQL
Si le nouveau
Dans PostgreSQL, seul le propriétaire d'un schéma ou un
schéma n'existe
super utilisateur peut supprimer un schéma. Le propriétaire
pas encore,
peut supprimer le schéma, ainsi que tous les objets qu'il
accordez le
contient, même s'il n'est pas propriétaire de tous les objets
privilège CREATE contenus.
ON DATABASE
<nom_base_de_données>
Si le nouveau
schéma existe
déjà, accordez le
privilège INSERT
ON ALL TABLES
IN SCHEMA
<nom_schéma>
Amazon Redshift
• CREATE ON
Dans Amazon Redshift, seul le propriétaire d'un schéma
DATABASE
ou un super utilisateur peut supprimer un schéma. Le
<nom_base_de_données>
propriétaire peut supprimer le schéma, ainsi que tous les
objets qu'il contient, même s'il n'est pas propriétaire de tous
• USAGE ON
les objets contenus.
LANGUAGE
plpythonu
• SELECT ON
ALL TABLES
IN SCHEMA
pg_catalog
Oracle
• CREATE
SCHEMA
—
• CREATE
TABLE
• CREATE VIEW
• CREATE TYPE
• CREATE
DEFAULT
• CREATE
FUNCTION
• CREATE
PROCEDURE
• CREATE
ASSEMBLY
• CREATE
AGGREGATE
• CREATE
FULLTEXT
CATALOG
Version 1.0
17
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
MySQL
• CREATE ON *.* S'il s'agit d'une base de données source
Microsoft SQL Server, accordez également le privilège
• ALTER ON *.*
INSERT,UPDATE ON AWS_SQLSERVER_EXT.*
• DROP ON *.*
• INDEX ON *.*
S'il s'agit d'une base de données source Oracle,
• REFERENCES accordez également le privilège INSERT,UPDATE ON
AWS_ORACLE_EXT.*
ON *.*
• SELECT ON *.* S'il s'agit d'une base de données source PostgreSQL,
• CREATE VIEW
ON *.*
• SHOW VIEW
ON *.*
Remarques
accordez également le privilège INSERT,UPDATE ON
AWS_POSTGRESQL_EXT.*
• TRIGGER ON
*.*
• CREATE
ROUTINE ON
*.*
• ALTER
ROUTINE ON
*.*
• EXECUTE ON
*.*
• SELECT ON
mysql.proc
Version 1.0
18
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
Remarques
Oracle
• SELECT_CATALOG_ROLE
—
• RESOURCE
• CONNECT
• alter user
<nom_utilisateur>
quota unlimited
on USERS;
• alter user
<nom_utilisateur>
quota unlimited
on IDX;
• alter user
<nom_utilisateur>
quota unlimited
on ARCH;
• alter user
<nom_utilisateur>
quota unlimited
on ARCH_IDX;
• DROP ANY
CUBE BUILD
PROCESS
• ALTER ANY
CUBE
• CREATE
ANY CUBE
DIMENSION
• CREATE ANY
ASSEMBLY
• ALTER ANY
RULE
• SELECT ANY
DICTIONARY
• ALTER ANY
DIMENSION
• CREATE ANY
DIMENSION
• ALTER ANY
TYPE
• DROP ANY
TRIGGER
• CREATE ANY
VIEW
• ALTER ANY
CUBE BUILD
PROCESS
• CREATE ANY
CREDENTIAL
Version 1.0
19
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
Remarques
• DROP
ANY CUBE
DIMENSION
• DROP ANY
ASSEMBLY
• DROP ANY
PROCEDURE
• ALTER ANY
PROCEDURE
• ALTER
ANY SQL
TRANSLATION
PROFILE
• DROP ANY
MEASURE
FOLDER
• CREATE ANY
MEASURE
FOLDER
• DROP ANY
CUBE
• DROP ANY
MINING
MODEL
• CREATE
ANY MINING
MODEL
• DROP ANY
EDITION
• CREATE ANY
EVALUATION
CONTEXT
• DROP ANY
DIMENSION
• ALTER ANY
INDEXTYPE
• DROP ANY
TYPE
• CREATE ANY
PROCEDURE
• CREATE
ANY SQL
TRANSLATION
PROFILE
• CREATE ANY
CUBE
• COMMENT
ANY MINING
MODEL
Version 1.0
20
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
Remarques
• ALTER ANY
MINING
MODEL
• DROP ANY
SQL PROFILE
• CREATE ANY
JOB
• DROP ANY
EVALUATION
CONTEXT
• ALTER ANY
EVALUATION
CONTEXT
• CREATE ANY
INDEXTYPE
• CREATE ANY
OPERATOR
• CREATE ANY
TRIGGER
• DROP ANY
ROLE
• DROP ANY
SEQUENCE
• DROP ANY
CLUSTER
• DROP
ANY SQL
TRANSLATION
PROFILE
• ALTER ANY
ASSEMBLY
• CREATE ANY
RULE SET
• ALTER ANY
OUTLINE
• UNDER ANY
TYPE
• CREATE ANY
TYPE
• DROP ANY
MATERIALIZED
VIEW
• ALTER ANY
ROLE
• DROP ANY
VIEW
• ALTER ANY
INDEX
• COMMENT
ANY TABLE
Version 1.0
21
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
Remarques
• CREATE ANY
TABLE
• CREATE USER
• DROP ANY
RULE SET
• CREATE ANY
CONTEXT
• DROP ANY
INDEXTYPE
• ALTER ANY
OPERATOR
• CREATE ANY
MATERIALIZED
VIEW
• ALTER ANY
SEQUENCE
• DROP ANY
SYNONYM
• CREATE ANY
SYNONYM
• DROP USER
• ALTER ANY
MEASURE
FOLDER
• ALTER ANY
EDITION
• DROP ANY
RULE
• CREATE ANY
RULE
• ALTER ANY
RULE SET
• CREATE ANY
OUTLINE
• UNDER ANY
TABLE
• UNDER ANY
VIEW
• DROP ANY
DIRECTORY
• ALTER ANY
CLUSTER
• CREATE ANY
CLUSTER
• ALTER ANY
TABLE
• CREATE ANY
CUBE BUILD
PROCESS
Version 1.0
22
AWS Schema Conversion Tool Guide de l'utilisateur
Privilèges pour bases de données cible
Base de données
cible
Privilèges requis
Remarques
• ALTER
ANY CUBE
DIMENSION
• CREATE ANY
EDITION
• CREATE ANY
SQL PROFILE
• ALTER ANY
SQL PROFILE
• DROP ANY
OUTLINE
• DROP ANY
CONTEXT
• DROP ANY
OPERATOR
• DROP ANY
LIBRARY
• ALTER ANY
LIBRARY
• CREATE ANY
LIBRARY
• ALTER ANY
MATERIALIZED
VIEW
• ALTER ANY
TRIGGER
• CREATE ANY
SEQUENCE
• DROP ANY
INDEX
• CREATE ANY
INDEX
• DROP ANY
TABLE
PostgreSQL
Si le nouveau
Dans PostgreSQL, seul le propriétaire d'un schéma ou un
schéma n'existe
super utilisateur peut supprimer un schéma. Le propriétaire
pas encore,
peut supprimer le schéma, ainsi que tous les objets qu'il
accordez le
contient, même s'il n'est pas propriétaire de tous les objets
privilège CREATE contenus.
ON DATABASE
<nom_base_de_données>
Si le nouveau
schéma existe
déjà, accordez le
privilège INSERT
ON ALL TABLES
IN SCHEMA
<nom_schéma>
Version 1.0
23
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Rubriques connexes
• Mise en route avec AWS Schema Conversion Tool (p. 10)
Version 1.0
24
AWS Schema Conversion Tool Guide de l'utilisateur
Mise en route de la conversion
de schémas de base de données
Mise en route de la conversion de schémas de
base de données avec AWS Schema Conversion
Tool
Vous trouverez ci-dessous des informations qui vous aideront à convertir votre schéma de base de
données de traitement de transaction en ligne (OLTP) d'un moteur de base de données vers un autre.
Vous pouvez utiliser le schéma converti avec une instance DB (Amazon Relational Database Service)
(Amazon RDS). AWS Schema Conversion Tool prend en charge les conversions de base de données
OLTP suivantes.
Base de données source
Base de données cible sur Amazon RDS
Microsoft SQL Server (version 2008 ou
ultérieure)
Amazon Aurora (MySQL ou PostgreSQL),
Microsoft SQL Server, MySQL, PostgreSQL
MySQL (version 5.6 ou ultérieure)
Amazon Aurora (PostgreSQL), MySQL,
PostgreSQL
Oracle (version 10.2 ou ultérieure)
Amazon Aurora (MySQL ou PostgreSQL),
MySQL, Oracle, PostgreSQL
PostgreSQL (version 9.1 ou ultérieure)
Amazon Aurora (MySQL), MySQL, PostgreSQL
Si vous voulez convertir un schéma d'entrepôt de données, consultez Mise en route de la conversion
de schémas d'entrepôt de données avec AWS Schema Conversion Tool (p. 33).
Avant de commencer
Avant d'exécuter les procédures fournies dans cette rubrique, vous devez commencer par effectuer les
opérations suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Pour plus d'informations, consultez Mise en route avec AWS Schema Conversion Tool (p. 10).
Conversion d'un schéma
Utilisez la procédure suivante pour convertir un schéma.
Pour convertir un schéma
1.
Choisissez View, puis Main View.
Version 1.0
25
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
2.
Dans le volet gauche où figure le schéma de votre base de données source, choisissez l'objet de
schéma à convertir. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Convert
schema.
3.
Une fois la conversion du schéma terminée par AWS Schema Conversion Tool, vous pouvez
examiner le schéma proposé dans le panneau situé à droite du projet.
A ce stade, aucun schéma n'est appliqué à l'instance DB RDS cible. Le schéma planifié est un
composant du projet. Si vous sélectionnez un élément du schéma converti, la commande du
schéma planifié s'affiche dans le panneau situé dans la partie centrale inférieure pour l'instance
DB RDS cible.
Vous pouvez modifier le schéma dans cette fenêtre. Le schéma modifié est stocké comme
composant de votre projet et est écrit dans l'instance DB cible lorsque vous choisissez d'appliquer
le schéma converti.
Version 1.0
26
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion
Tool (p. 70).
Création et examen du rapport d'évaluation de
migration de base de données
Le rapport d'évaluation de migration de base de données synthétise tous les éléments d'action du
schéma qui ne peuvent pas être convertis automatiquement pour le moteur de votre instance DB RDS
cible. Le rapport donne également une estimation du temps nécessaire pour écrire le code équivalent
pour l'instance DB cible.
Vous pouvez à tout moment créer (ou mettre à jour) un rapport d'évaluation de migration de base de
données dans votre projet en exécutant la procédure suivante.
Pour créer et afficher le rapport d'évaluation de migration de base de données
1.
Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de
schéma pour lequel vous souhaitez créer un rapport d'évaluation. Ouvrez le menu contextuel (clic
droit) pour l'objet, puis choisissez Create Report.
Version 1.0
27
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
La vue du rapport d'évaluation s'ouvre.
2.
Choisissez l'onglet Action Items.
L'onglet Action Items affiche la liste des éléments de description du schéma qui ne peuvent
pas être convertis automatiquement. Sélectionnez un des éléments d'action dans la liste. Notez
que l'outil AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel
s'applique l'élément d'action, comme le montre l'illustration suivante.
Version 1.0
28
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
3.
Choisissez l'onglet Summary.
L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de
données. Il indique le nombre d'éléments qui ont été convertis automatiquement et le nombre de
ceux qui ne l'ont pas été. Ce récapitulatif comprend en outre une estimation du temps que prendra
la création d'un schéma dans l'instance DB cible équivalent à celui de la base de données source.
La section Evaluation de licence et prise en charge du cloud contient des informations sur le
déplacement de votre schéma de base de données sur site existant vers une instance de base
de données Amazon RDS qui exécute le même moteur. Par exemple, si vous voulez modifier les
types de licence, cette section du rapport vous indique quelles fonctions de votre base de données
actuelle doivent être supprimées.
Un exemple de récapitulatif de rapport d'évaluation est illustré ci-après.
Version 1.0
29
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
4.
Choisissez l'onglet Summary, puis Save to PDF. Le rapport d'évaluation de migration de base
de données est enregistré au format PDF. Le fichier PDF contient à la fois le récapitulatif et les
informations sur les éléments d'action.
Vous pouvez également choisir Save to CSV pour enregistrer le rapport sous forme de fichier
CSV (valeurs séparées par des virgules). Le fichier CSV contient uniquement des informations sur
l'élément d'action.
Version 1.0
30
AWS Schema Conversion Tool Guide de l'utilisateur
Application du schéma converti à l'instance DB cible
Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema
Conversion Tool (p. 74).
Application du schéma converti à l'instance DB cible
Vous pouvez appliquer le schéma de base de données converti à votre instance DB RDS cible. Une
fois que le schéma a été appliqué à l'instance DB cible, vous pouvez le mettre à jour en fonction des
éléments d'action figurant dans le rapport d'évaluation de migration de base de données.
Caution
Cette procédure a pour effet de remplacer le schéma cible existant. Veillez à ne pas remplacer
le schéma accidentellement. Faites attention de ne pas remplacer le schéma dans l'instance
DB cible que vous avez déjà modifiée, car ces modifications seront remplacées.
Version 1.0
31
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour appliquer le schéma de base de données converti à l'instance DB RDS cible
1.
2.
Choisissez l'élément de schéma dans le panneau droit de votre projet, qui présente le schéma
planifié de l'instance DB cible.
Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to
database.
Le schéma converti est appliqué à l'instance DB cible.
Pour de plus amples informations, veuillez consulter Enregistrement et application de votre schéma
converti dans AWS Schema Conversion Tool (p. 80).
Rubriques connexes
• Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema
Conversion Tool (p. 66)
Version 1.0
32
AWS Schema Conversion Tool Guide de l'utilisateur
Mise en route de la conversion de
schémas d'entrepôt de données
Mise en route de la conversion de schémas
d'entrepôt de données avec AWS Schema
Conversion Tool
Vous trouverez ci-dessous des informations qui vous aideront à convertir votre schéma d'entrepôt
de données d'un moteur de base de données vers un autre. Vous pouvez utiliser le schéma converti
avec un cluster Amazon Redshift. AWS Schema Conversion Tool prend en charge les conversions
d'entrepôt de données suivantes.
Base de données source
Base de données cible sur Amazon Redshift
Base de données Greenplum (version 4.3 ou
ultérieure)
Amazon Redshift
Netezza (version 7.2 ou ultérieure)
Amazon Redshift
Oracle (version 11 ou ultérieure)
Amazon Redshift
Teradata (version 15 ou ultérieure)
Amazon Redshift
Si vous souhaitez convertir un schéma de base de données de traitement des transactions en ligne
(OLTP), consultez Mise en route de la conversion de schémas de base de données avec AWS
Schema Conversion Tool (p. 25).
Avant de commencer
Avant d'exécuter les procédures fournies dans cette rubrique, vous devez commencer par effectuer les
opérations suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Pour plus d'informations, consultez Mise en route avec AWS Schema Conversion Tool (p. 10).
Choix des règles et des stratégies d'optimisation
Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de
données, vous pouvez choisir les stratégies et les règles que l'outil va utiliser. Après la conversion de
votre schéma et la vérification des clés suggérés, vous pouvez ajuster vos règles ou modifier votre
stratégie afin d'obtenir les résultats souhaités.
Pour choisir vos stratégies d'optimisation et règles
1.
2.
3.
Choisissez Settings, puis Projet Settings. La boîte de dialogue Current project settings s'affiche.
Dans le volet gauche, choisissez Optimization Strategies. Les stratégies d'optimisation
apparaissent dans le volet droit avec les valeurs par défaut sélectionnées.
Pour Strategy Sector, choisissez la stratégie d'optimisation que vous voulez utiliser. Choisissez
parmi les éléments suivants :
• Use metadata, ignore statistical information – Dans cette stratégie, seules les informations des
métadonnées sont utilisées pour les décisions d'optimisation. Par exemple, s'il existe plusieurs
Version 1.0
33
AWS Schema Conversion Tool Guide de l'utilisateur
Collecte ou téléchargement des statistiques
index sur une table source, l'ordre de tri de la base de données source est utilisé, et le premier
index devient une clé de distribution.
• Ignore metadata, use statistical information – Dans cette stratégie, les décisions d'optimisation
s'appuient uniquement sur les informations statistiques. Cette stratégie s'applique uniquement
aux tables et aux colonnes pour lesquelles les statistiques sont fournis. Pour plus d'informations,
consultez Collecte ou chargement des statistiques pour AWS Schema Conversion
Tool (p. 86).
• Use metadata and use statistical information – Dans cette stratégie, à la fois les métadonnées et
les statistiques sont utilisées pour les décisions d'optimisation.
4.
Une fois que vous choisissez votre stratégie d'optimisation, vous pouvez choisir les règles que
vous voulez utiliser. Choisissez parmi les éléments suivants :
• Choix de la clé de distribution et des clés de tri en utilisant les métadonnées
• Choix de la table des faits et la dimension appropriée pour le classement
• Analyse de la cardinalité des colonnes d'index
• Recherche des tables et des colonnes les plus utilisées à partir de la table QueryLog
Pour chaque règle, vous pouvez entrer une pondération pour la clé de tri et une pondération pour
la clé de distribution. AWS Schema Conversion Tool se sert des pondérations que vous définissez
au moment de convertir votre schéma.
Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à utiliser avec
AWS Schema Conversion Tool (p. 85).
Collecte ou téléchargement des statistiques
Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de
données, vous pouvez fournir les statistiques de votre base de données source que l'outil peut utiliser.
Vous pouvez collecter les statistiques directement à partir de la base de données, ou charger un fichier
de statistiques existant.
Pour fournir et vérifier les statistiques
1.
Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion
à la base de données source (p. 12).
2.
Choisissez un objet de schéma dans le volet gauche de votre projet et ouvrez le menu de contexte
(clic droit) pour l'objet. Choisissez Collect Statistics ou Upload Statistics comme le suggère
l'illustration ci-dessous.
Version 1.0
34
AWS Schema Conversion Tool Guide de l'utilisateur
Collecte ou téléchargement des statistiques
3.
Choisissez un objet de schéma dans le volet gauche de votre projet, puis choisissez l'onglet
Statistics. Vous pouvez vérifier les statistiques pour l'objet.
Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema
Conversion Tool (p. 86).
Version 1.0
35
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
Conversion d'un schéma
Utilisez la procédure suivante pour convertir un schéma.
Pour convertir un schéma
1.
Choisissez View, puis Main View.
2.
Dans le volet gauche où figure le schéma de votre base de données source, choisissez l'objet de
schéma à convertir. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Convert
schema.
3.
Une fois la conversion du schéma terminée par AWS Schema Conversion Tool, vous pouvez
examiner le schéma proposé dans le panneau situé à droite du projet.
Version 1.0
36
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion et personnalisation des clés
A ce stade, aucun schéma n'est appliqué à la base de données cible. Le schéma planifié est
un composant du projet. Si vous sélectionnez un élément du schéma converti, la commande de
schéma planifié s'affiche dans le panneau situé dans la partie centrale inférieure pour la base de
données cible.
Vous pouvez modifier le schéma dans cette fenêtre. Le schéma modifié est stocké comme
composant de votre projet et est écrit dans la base de données cible lorsque vous choisissez
d'appliquer le schéma converti.
Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion
Tool (p. 90).
Gestion et personnalisation des clés
Une fois que vous convertissez votre schéma, vous pouvez gérer et modifier vos clés. La gestion des
clés est le cœur d'une conversion d'entrepôt de données.
Pour gérer les clés, sélectionnez une table de votre base de données cible, puis choisissez l'onglet
Key Management illustré ci-dessous.
Version 1.0
37
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
Le volet de gauche contient des suggestions de clés et comprend l'évaluation de confiance pour
chaque suggestion. Vous pouvez choisir une des suggestions, ou vous pouvez personnaliser la clé en
l'éditant dans le volet droit.
Si les choix de la clé ne ressemblent pas à vos attentes, vous pouvez modifier vos stratégies
d'optimisation et retenter la conversion. Pour plus d'informations, consultez Choix des règles et des
stratégies d'optimisation (p. 33).
Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema
Conversion Tool (p. 94).
Création et examen du rapport d'évaluation de
migration de base de données
Le rapport d'évaluation de migration de base de données synthétise tous les éléments d'action du
schéma qui ne peuvent pas être convertis automatiquement pour le moteur de votre base de données.
Le rapport donne également une estimation du temps nécessaire à l'écriture du code équivalent pour
la base de données cible.
Vous pouvez à tout moment créer (ou mettre à jour) un rapport d'évaluation de migration de base de
données dans votre projet en exécutant la procédure suivante.
Pour créer et afficher le rapport d'évaluation de migration de base de données
1.
Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de
schéma pour lequel vous souhaitez créer un rapport d'évaluation. Ouvrez le menu contextuel (clic
droit) pour l'objet, puis choisissez Create Report.
Version 1.0
38
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
La vue du rapport d'évaluation s'ouvre.
2.
Choisissez l'onglet Action Items.
L'onglet Action Items affiche la liste des éléments de description du schéma qui ne peuvent
pas être convertis automatiquement. Sélectionnez un des éléments d'action dans la liste. Notez
que l'outil AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel
s'applique l'élément d'action, comme le montre l'illustration suivante.
Version 1.0
39
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
3.
Choisissez l'onglet Summary.
L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de
données. Il indique le nombre d'éléments qui ont été convertis automatiquement et le nombre de
ceux qui ne l'ont pas été. Ce récapitulatif donne également une estimation du temps nécessaire à
la création d'un schéma dans la base de données cible équivalent à celui de la base de données
source. Voici un exemple ci-dessous.
Version 1.0
40
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
4.
Choisissez l'onglet Summary, puis Save to PDF. Le rapport d'évaluation de migration de base
de données est enregistré au format PDF. Le fichier PDF contient à la fois le récapitulatif et les
informations sur les éléments d'action.
Vous pouvez également choisir Save to CSV pour enregistrer le rapport sous forme de fichier
CSV (valeurs séparées par des virgules). Le fichier CSV contient uniquement des informations sur
l'élément d'action.
Version 1.0
41
AWS Schema Conversion Tool Guide de l'utilisateur
Application du schéma converti
à la base de données cible
Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema
Conversion Tool (p. 95).
Application du schéma converti à la base de
données cible
Vous pouvez appliquer le schéma de base de données converti à votre base de données cible. Une
fois que le schéma a été appliqué à votre base de données cible, vous pouvez le mettre à jour en
fonction des éléments d'action figurant dans le rapport d'évaluation de migration de base de données.
Version 1.0
42
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Caution
Cette procédure a pour effet de remplacer le schéma cible existant. Veillez à ne pas remplacer
le schéma accidentellement. Faites attention de ne pas remplacer le schéma dans la base de
données cible que vous avez déjà modifiée, car ces modifications seront remplacées.
Pour appliquer le schéma de base de données converti à votre base de données cible
1.
Choisissez l'élément de schéma dans le panneau droit de votre projet, qui présente le schéma
planifié de votre base de données cible.
2.
Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to
database.
Le schéma converti est appliqué à la base de données cible.
Pour de plus amples informations, veuillez consulter Enregistrement et application de votre schéma
converti dans AWS Schema Conversion Tool (p. 101).
Rubriques connexes
• Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema
Conversion Tool (p. 83)
Version 1.0
43
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de
données source Amazon Redshift
Connexion à la base de données
source
Vous trouverez ci-après des informations sur la façon de vous connecter à votre source de données
source. Choisissez la rubrique correspondant à votre base de données source.
Rubriques
• Connexion à une base de données source Amazon Redshift avec AWS Schema Conversion
Tool (p. 44)
• Connexion à une base de données source Greenplum avec AWS Schema Conversion
Tool (p. 47)
• Connexion à une base de données source Microsoft SQL Server avec AWS Schema Conversion
Tool (p. 49)
• Connexion à une base de données source MySQL avec AWS Schema Conversion Tool (p. 51)
• Connexion à une base de données source Netezza avec AWS Schema Conversion Tool (p. 54)
• Connexion à une base de données source Oracle avec AWS Schema Conversion Tool (p. 55)
• Connexion à une base de données source d'entrepôt de données Oracle avec AWS Schema
Conversion Tool (p. 58)
• Connexion à une base de données source PostgreSQL avec AWS Schema Conversion
Tool (p. 61)
• Connexion à une base de données source Teradata avec AWS Schema Conversion
Tool (p. 64)
Connexion à une base de données source
Amazon Redshift avec AWS Schema Conversion
Tool
Utilisez la procédure suivante pour vous connecter à une base de données source Amazon Redshift.
Pour vous connecter à une base de données source Amazon Redshift
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Source Amazon Redshift.
Version 1.0
44
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de
données source Amazon Redshift
La boîte de dialogue Connect to Amazon Redshift s'affiche.
2.
Fournissez les informations de connexion à la base de données source Amazon Redshift. Utilisez
les instructions fournies dans le tableau suivant.
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS ou l'adresse IP du serveur de la base de
données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
Database
Entrez le nom de la base de données Amazon Redshift.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Version 1.0
45
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL pour vous connecter à la base de données. Fournissez les
informations supplémentaires suivantes, le cas échéant, dans
l'onglet SSL :
• Verify Server Certificate : Sélectionnez cette option pour
vérifier le certificat de serveur en utilisant un référentiel
d'approbations.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
Pour plus d'information sur la prise en charge SSL pour
Amazon Redshift, consultez Configurer les options de sécurité
des connexions.
Chemin d'accès au pilote
Amazon Redshift
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Version 1.0
46
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Greenplum
Connexion à une base de données source
Greenplum avec AWS Schema Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source Greenplum.
Pour vous connecter à une base de données source Greenplum
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Greenplum.
La boîte de dialogue Connect to Greenplum s'affiche.
2.
Fournissez les informations de connexion à la base de données source Greenplum. Utilisez les
instructions fournies dans le tableau suivant.
Version 1.0
47
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Greenplum
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS ou l'adresse IP du serveur de la base de
données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
Database
Entrez le nom de la base de données Greenplum.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL pour vous connecter à la base de données. Fournissez les
informations supplémentaires suivantes, le cas échéant, dans
l'onglet SSL :
• Verify Server Certificate : Sélectionnez cette option pour
vérifier le certificat de serveur en utilisant un référentiel
d'approbations.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
Chemin d'accès au pilote
Greenplum
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Version 1.0
48
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Connexion à une base de données source
Microsoft SQL Server avec AWS Schema
Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source Microsoft
SQL Server.
Pour vous connecter à une base de données source Microsoft SQL Server
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Microsoft SQL Server.
La boîte de dialogue Connect to Microsoft SQL Server s'affiche.
Version 1.0
49
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données
source Microsoft SQL Server
2.
Fournissez les informations de connexion à la base de données source Microsoft SQL Server.
Utilisez les instructions fournies dans le tableau suivant.
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom du service DNS (Domain Name Service) ou
l'adresse IP du serveur de la base de données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
Instance name
Tapez le nom de l'instance de la base de données SQL Server.
Pour trouver le nom de l'instance, exécutez la requête SELECT
@@servername; sur la base de données SQL Server.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
Version 1.0
50
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL (Secure Sockets Layer) pour vous connecter à la base
de données. Fournissez les informations supplémentaires
suivantes, le cas échéant, dans l'onglet SSL :
• Trust Server Certificate : Sélectionnez cette option pour
approuver le certificat de serveur.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
Sql Server Driver Path
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Connexion à une base de données source
MySQL avec AWS Schema Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source MySQL.
Pour vous connecter à une base de données source MySQL
1.
Dans AWS Schema Conversion Tool, choisissez Connect to MySQL.
Version 1.0
51
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source MySQL
La boîte de dialogue Connect to MySQL s'affiche.
2.
Fournissez les informations de connexion à la base de données source MySQL. Utilisez les
instructions fournies dans le tableau suivant.
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS ou l'adresse IP du serveur de la base de
données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Version 1.0
52
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source MySQL
Pour ce paramètre
Procédez comme suit
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL pour vous connecter à la base de données. Fournissez les
informations supplémentaires suivantes, le cas échéant, dans
l'onglet SSL :
• Require SSL : Sélectionnez cette option si vous souhaitez
vous connecter au serveur via SSL uniquement.
Note
Si vous choisissez Require SSL et que le serveur
ne prend pas en charge SSL, vous ne pouvez pas
vous connecter au serveur. Si vous ne choisissez
pas Require SSL et que le serveur ne prend pas
en charge SSL, vous pouvez quand même vous
connecter au serveur sans utiliser SSL. Pour plus
d'informations, consultez Using Secure Connections.
• Verify Server Certificate : Sélectionnez cette option pour
vérifier le certificat de serveur en utilisant un référentiel
d'approbations.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
MySql Driver Path
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Version 1.0
53
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Connexion à une base de données source
Netezza avec AWS Schema Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source Netezza.
Pour vous connecter à une base de données source Netezza
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Netezza.
La boîte de dialogue Connect to Netezza s'affiche.
2.
Fournissez les informations de connexion à la base de données source Netezza. Utilisez les
instructions fournies dans le tableau suivant.
Version 1.0
54
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS ou l'adresse IP du serveur de la base de
données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Chemin d'accès au pilote
Netezza
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Connexion à une base de données source Oracle
avec AWS Schema Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source Oracle.
Pour vous connecter à une base de données source Oracle
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Oracle.
Version 1.0
55
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Oracle
La boîte de dialogue Connect to Oracle s'affiche.
2.
Fournissez les informations de connexion à la base de données source Oracle. Utilisez les
instructions fournies dans le tableau suivant.
Pour ce paramètre
Procédez comme suit
Type
Choisissez le type de connexion à la base de données. Selon
le type choisi, fournissez les informations complémentaires
suivantes :
Version 1.0
56
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Oracle
Pour ce paramètre
Procédez comme suit
• SID
• Server name : Nom DNS ou adresse IP du serveur de
votre base de données source.
• Server port : Port utilisé pour vous connecter au serveur de
la base de données source.
• Oracle SID : ID du système Oracle (SID). Pour trouver le
SID Oracle, soumettez la requête suivante à votre base de
données Oracle :
SELECT
sys_context('userenv','instance_name') AS
SID FROM dual;
• Service Name
• Server name : Nom DNS ou adresse IP du serveur de
votre base de données source.
• Server port : Port utilisé pour vous connecter au serveur de
la base de données source.
• Service Name : Nom du service Oracle auquel se
connecter.
• TNS Alias
• TNS file path : Chemin d'accès au fichier qui contient les
informations de connexion de nom TNS (Transparent
Network Substrate).
• TNS file path : Alias TNS de ce fichier à utiliser pour vous
connecter à la base de données source.
• TNS Connect Identifier
• TNS identifier : Identificateur des informations de
connexion TNS inscrites.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Version 1.0
57
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL pour vous connecter à la base de données. Fournissez les
informations supplémentaires suivantes, le cas échéant, dans
l'onglet SSL :
• SSL Authentication : Sélectionnez cette option pour utiliser
l'authentification SSL pour la connexion.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
• Key Store : Emplacement d'un magasin de clés contenant
une clé privée et des certificats. Cette valeur est obligatoire
si SSL Authentication est sélectionné. Sinon, elle est
facultative.
• Trust Store Password : Mot de passe du magasin de
clés. Cette valeur est obligatoire si SSL Authentication est
sélectionné. Sinon, elle est facultative.
Oracle Driver Path
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Connexion à une base de données source
d'entrepôt de données Oracle avec AWS Schema
Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source d'entrepôt de
données Oracle.
Pour vous connecter à une base de données source d'entrepôt de données Oracle
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Oracle DW.
Version 1.0
58
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données
source d'entrepôt de données Oracle
La boîte de dialogue Connect to Oracle s'affiche.
2.
Fournissez les informations de connexion à la base de données source d'entrepôt de données
Oracle. Utilisez les instructions fournies dans le tableau suivant.
Pour ce paramètre
Procédez comme suit
Type
Choisissez le type de connexion à la base de données. Selon
le type choisi, fournissez les informations complémentaires
suivantes :
Version 1.0
59
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données
source d'entrepôt de données Oracle
Pour ce paramètre
Procédez comme suit
• SID
• Server name : Nom DNS ou adresse IP du serveur de
votre base de données source.
• Server port : Port utilisé pour vous connecter au serveur de
la base de données source.
• Oracle SID : ID du système Oracle (SID). Pour trouver le
SID Oracle, soumettez la requête suivante à votre base de
données Oracle :
SELECT
sys_context('userenv','instance_name') AS
SID FROM dual;
• Service Name
• Server name : Nom DNS ou adresse IP du serveur de
votre base de données source.
• Server port : Port utilisé pour vous connecter au serveur de
la base de données source.
• Service Name : Nom du service Oracle auquel se
connecter.
• TNS Alias
• TNS file path : Chemin d'accès au fichier qui contient les
informations de connexion de nom TNS (Transparent
Network Substrate).
• TNS file path : Alias TNS de ce fichier à utiliser pour vous
connecter à la base de données source.
• TNS Connect Identifier
• TNS identifier : Identificateur des informations de
connexion TNS inscrites.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Version 1.0
60
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL pour vous connecter à la base de données. Fournissez les
informations supplémentaires suivantes, le cas échéant, dans
l'onglet SSL :
• SSL Authentication : Sélectionnez cette option pour utiliser
l'authentification SSL pour la connexion.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
• Key Store : Emplacement d'un magasin de clés contenant
une clé privée et des certificats. Cette valeur est obligatoire
si SSL Authentication est sélectionné. Sinon, elle est
facultative.
• Trust Store Password : Mot de passe du magasin de
clés. Cette valeur est obligatoire si SSL Authentication est
sélectionné. Sinon, elle est facultative.
Oracle Driver Path
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Connexion à une base de données source
PostgreSQL avec AWS Schema Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source PostgreSQL.
Pour vous connecter à une base de données source PostgreSQL
1.
Dans AWS Schema Conversion Tool, choisissez Connect to PostgreSQL.
Version 1.0
61
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source PostgreSQL
La boîte de dialogue Connect to PostgreSQL s'affiche.
2.
Fournissez les informations de connexion à la base de données source PostgreSQL. Utilisez les
instructions fournies dans le tableau suivant.
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS ou l'adresse IP du serveur de la base de
données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
Database
Tapez le nom de la base de données PostgreSQL.
Version 1.0
62
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Use SSL
Sélectionnez cette option si vous voulez utiliser le protocole
SSL pour vous connecter à la base de données. Fournissez les
informations supplémentaires suivantes, le cas échéant, dans
l'onglet SSL :
• Verify Server Certificate : Sélectionnez cette option pour
vérifier le certificat de serveur en utilisant un référentiel
d'approbations.
• Trust Store : Emplacement d'un référentiel d'approbations
contenant des certificats.
• Trust Store Password : Mot de passe du référentiel
d'approbations.
PostgreSQL Driver Path
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Version 1.0
63
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Teradata
Connexion à une base de données source
Teradata avec AWS Schema Conversion Tool
Utilisez la procédure suivante pour vous connecter à une base de données source Teradata.
Pour vous connecter à une base de données source Teradata
1.
Dans AWS Schema Conversion Tool, choisissez Connect to Teradata.
La boîte de dialogue Connect to Teradata s'affiche.
2.
Fournissez les informations de connexion à la base de données source Teradata. Utilisez les
instructions fournies dans le tableau suivant.
Version 1.0
64
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
Server name
Tapez le nom DNS ou l'adresse IP du serveur de la base de
données source.
Server port
Indiquez le port utilisé pour vous connecter au serveur de la
base de données source.
Base de données
Tapez le nom de la base de données Teradata.
User name et Password
Tapez le nom utilisateur et le mot de passe pour vous
connecter au serveur de la base de données source.
Note
AWS Schema Conversion Tool se sert du mot de
passe pour se connecter à la base de données source
uniquement pendant que vous créez votre projet.
Vous pouvez aussi choisir l'option Connect to source
dans un projet, où source correspond à votre base
de données source. Pour éviter d'exposer le mot de
passe de votre base de données source, AWS Schema
Conversion Tool ne stocke pas le mot de passe. Si
vous fermez et rouvrez votre projet AWS Schema
Conversion Tool, vous êtes invité à entrer le mot de
passe pour vous connecter à la base de données
source, si nécessaire.
Encrypt Data
Sélectionnez cette option si vous souhaitez chiffrer les données
que vous échangez avec la base de données.
Teradata Driver Path
Tapez le chemin d'accès au pilote à utiliser pour vous
connecter à la base de données source. Pour plus
d'informations, consultez Installation des pilotes de base de
données requis (p. 6).
Si vous stockez le chemin d'accès au pilote dans les
paramètres globaux du projet, il ne s'affiche pas dans la boîte
de dialogue de connexion. Pour plus d'informations, consultez
Stockage des chemins d'accès aux pilotes dans les paramètres
globaux (p. 8).
3.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base
de données source.
4.
Choisissez OK pour vous connecter à la base de données source.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14)
• Connexion à votre base de données cible (p. 12)
Version 1.0
65
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schémas de base de
données pour Amazon RDS à l'aide
d'AWS Schema Conversion Tool
AWS Schema Conversion Tool automatise une grande partie du processus de conversion de votre
schéma de base de données OLTP (traitement de transaction en ligne) en instance DB MySQL
Amazon Relational Database Service (Amazon RDS), en cluster de base de données Amazon Aurora
ou en instance DB PostgreSQL. Les moteurs de base de données source et cible contiennent de
nombreuses caractéristiques et fonctions et AWS Schema Conversion Tool tente de créer un schéma
équivalent dans votre instance DB RDS, dans la mesure du possible. Si aucune conversion directe
n'est possible, AWS Schema Conversion Tool fournit une liste des actions possibles que vous pouvez
effectuer.
Vous pouvez également utiliser AWS Schema Conversion Tool pour copier votre schéma de base de
données sur site existant vers une instance de base de données Amazon RDS qui exécute le même
moteur. Vous pouvez utiliser cette fonction pour analyser les économies de coûts potentielles en cas
de migration vers le cloud.
AWS Schema Conversion Tool prend en charge les conversions OLTP suivantes.
Base de données source
Base de données cible sur Amazon RDS
Microsoft SQL Server (version 2008 ou
ultérieure)
Amazon Aurora (MySQL ou PostgreSQL),
Microsoft SQL Server, MySQL, PostgreSQL
MySQL (version 5.6 ou ultérieure)
Amazon Aurora (PostgreSQL), MySQL,
PostgreSQL
Oracle (version 10.2 ou ultérieure)
Amazon Aurora (MySQL ou PostgreSQL),
MySQL, Oracle, PostgreSQL
PostgreSQL (version 9.1 ou ultérieure)
Amazon Aurora (MySQL), MySQL, PostgreSQL
Si vous voulez convertir un schéma d'entrepôt de données, consultez Conversion du schéma
d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 83).
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
Version 1.0
66
AWS Schema Conversion Tool Guide de l'utilisateur
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en
route avec AWS Schema Conversion Tool (p. 10).
Pour convertir votre schéma de base de données vers Amazon RDS, vous effectuez les étapes
détaillées suivantes :
• Créer des règles de mappage – Avant de convertir votre schéma à l'aide d'AWS Schema Conversion
Tool, vous pouvez définir des règles qui changent le type de données des colonnes, déplacent des
objets d'un schéma à un autre et modifient les noms des objets.
Pour plus d'informations, consultez Création de règles de mappage dans AWS Schema Conversion
Tool (p. 68).
• Convertir votre schéma – AWS Schema Conversion Tool crée une version locale du schéma
converti pour vous permettre de le vérifier, mais il ne l'applique pas à votre instance DB cible jusqu'à
ce que vous soyez prêt.
Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema
Conversion Tool (p. 70).
• Créer un rapport d'évaluation de la migration de base de données – AWS Schema Conversion Tool
crée un rapport d'évaluation de la migration de base de données qui détaille les éléments de schéma
qui ne peuvent pas être convertis automatiquement. Vous pouvez utiliser ce rapport pour identifier
où vous avez besoin de créer un schéma de votre instance DB RDS compatible avec votre base de
données source.
Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema
Conversion Tool (p. 74).
• Décider comment gérer les conversions manuelles – si vous avez des éléments de schéma qui
ne peuvent pas être convertis automatiquement, deux choix s'offrent à vous : mettre à jour le
schéma source puis le convertir à nouveau ou créer des éléments de schéma équivalents dans votre
instance DB RDS cible.
Pour plus d'informations, consultez Gestion des conversions manuelles dans AWS Schema
Conversion Tool (p. 78).
• Mettre à jour et actualiser le schéma de votre projet AWS Schema Conversion Tool – vous pouvez
mettre à jour votre projet AWS Schema Conversion Tool avec le schéma le plus récent de votre
base de données source.
Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS
Schema Conversion Tool (p. 79).
• Appliquer le schéma converti à votre base de données cible – lorsque vous êtes prêt, faites
appliquer par AWS Schema Conversion Tool le schéma converti dans votre projet local à votre
instance DB RDS cible.
Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans
AWS Schema Conversion Tool (p. 80).
Version 1.0
67
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage
Création de règles de mappage dans AWS
Schema Conversion Tool
Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez définir des
règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et
modifient les noms des objets. Par exemple, si votre schéma source comporte un ensemble de tables
nommé test_TABLE_NAME, vous pouvez configurer une règle qui remplace le préfixe test_ par le
préfixe demo_ dans le schéma cible.
Note
Vous pouvez uniquement créer des règles de mappage si les moteurs des bases de données
source et cible sont différents.
Vous pouvez créer des règles de mappage qui effectuent les tâches suivantes :
• Modifier le type de données
• Déplacer des objets
• Renommer des objets
• Préfixe - ajouter un préfixe, supprimer un préfixe, remplacer un préfixe
• Suffixe - ajouter un suffixe, supprimer un suffixe, remplacer un suffixe
Vous pouvez créer des règles de mappage pour les objets suivants :
• Base de données
• Schéma
• Tableau
• Colonne
Création de règles de mappage
Vous pouvez créer des règles de mappage et les enregistrer dans le cadre de votre projet. Avec le
projet ouvert, utilisez la procédure suivante pour créer des règles de mappage.
Pour créer des règles de mappage
1.
Choisissez Mapping Rules dans le menu Settings. La boîte de dialogue Mapping Rules s'affiche.
Version 1.0
68
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage pour des objets
2.
Choisissez Add new rule. Une nouvelle ligne est ajoutée à la liste de règles.
3.
Choisissez l'icône de modification pour configurer votre règle.
a.
Sous Name, entrez un nom unique pour la règle.
b.
Sous For, choisissez le type d'objet auquel la règle s'applique.
c.
Sous where, entrez le filtre à appliquer aux objets avant d'appliquer la règle de mappage. La
clause Where est évaluée à l'aide d'une clause Like. Vous pouvez entrer un nom exact pour
sélectionner un objet, ou spécifier un modèle afin de sélectionner plusieurs objets.
Les champs disponibles pour la clause where varient en fonction du type de l'objet. Par
exemple, s"il s'agit du type d'objet schéma, un seul champ est disponible pour le nom de
schéma.
d.
Sous Actions, choisissez le type de règle de mappage que vous voulez créer.
e.
En fonction du type de règle, entrez une ou deux valeurs supplémentaires. Par exemple,
pour renommer un objet, entrez le nouveau nom de l'objet. Pour remplacer un préfixe, entrez
l'ancien et le nouveau préfixes.
4.
Une fois que vous avez configuré votre règle de mappage, choisissez Save pour enregistrer la
règle. Vous pouvez également choisir Cancel pour annuler vos modifications.
5.
Une fois que vous avez ajouté, modifié ou supprimé les règles, choisissez Save All pour
enregistrer toutes vos modifications.
6.
Choisissez Close pour fermer la boîte de dialogue Mapping Rules.
Vous pouvez utiliser l'icône bascule pour désactiver une règle de mappage sans la supprimer. Vous
pouvez utiliser l'icône de copie pour dupliquer une règle de mappage existante. Vous pouvez utiliser
l'icône de suppression pour supprimer une règle de mappage existante. Pour enregistrer toutes les
modifications apportées à vos règles de mappage, choisissez Save All.
Affichage des règles de mappage pour les objets
Après avoir configuré vos règles de mappage, vous pouvez vérifier leur impact sur des objets
spécifiques de votre schéma avant de convertir ce dernier. Dans l'arborescence du schéma source,
choisissez l'objet voulu. Dans l'affichage principal, choisissez l'onglet Mapping. L'onglet Mapping
Version 1.0
69
AWS Schema Conversion Tool Guide de l'utilisateur
Exportation des règles de mappage
s'ouvre et affiche la liste de toutes les règles de mappage appliquées à l'objet. Vous pouvez voir le
nom de l'objet dans le schéma source et son nouveau nom dans le schéma cible. Si vous avez des
règles de type de données, le type de données de la colonne est également affiché dans le schéma
source et son nouveau type de données est affiché dans le schéma cible.
Exportation des règles de mappage
Si vous utilisez AWS Database Migration Service (AWS DMS) pour migrer vos données de la base de
données source vers la base de données cible, vous pouvez fournir des informations sur les règles
de mappage à AWS DMS. Pour plus d'informations sur les tâches, consultez Utilisation des tâches de
réplication AWS Database Migration Service.
Pour exporter des règles de mappage
1.
Dans AWS Schema Conversion Tool, dans l'arborescence du schéma source, ouvrez le menu
contextuel (clic droit) et choisissez Export script for DMS. La boîte de dialogue d'enregistrement
s'affiche.
2.
Accédez à l'emplacement où vous souhaitez enregistrer votre script, puis choisissez Save. Vos
règles de mappage sont enregistrées sous forme de script JSON pouvant être utilisé par AWS
DMS.
Conversion de votre schéma en utilisant AWS
Schema Conversion Tool
Une fois que vous avez connecté votre projet à votre base de données source et à votre instance DB
RDS cible, votre projet AWS Schema Conversion Tool affiche le schéma de votre base de données
source dans le volet gauche. Le schéma est présenté sous forme d'arborescence, et chaque nœud
de l'arborescence est « avec chargement différé ». En d'autres termes, lorsque vous sélectionnez un
nœud dans l'arborescence, AWS Schema Conversion Tool demande les informations de schéma de
votre base de données source à ce moment-là.
Vous pouvez choisir des éléments de schéma de votre base de données source, puis convertir le
schéma en schéma équivalent pour le moteur de base de données de votre instance DB cible. Vous
pouvez choisir n'importe quel élément de schéma de votre base de données source de convertir. Si
l'élément de schéma que vous choisissez dépend d'un élément parent, puis AWS Schema Conversion
Tool génère également le schéma de l'élément parent. Par exemple, si vous choisissez une colonne
dans une table de convertir, alors AWS Schema Conversion Tool génère le schéma de la colonne, la
table dans laquelle la colonne se trouve et la base de données dans laquelle la table se trouve.
Conversion de schémas
Pour convertir le schéma de votre base de données source, choisissez l'objet de schéma à convertir
dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez
Convert schema, comme indiqué ci-dessous.
Version 1.0
70
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schémas
Une fois que vous avez converti le schéma de votre base de données source, vous pouvez choisir
des éléments de schéma dans le volet gauche de votre projet et afficher le schéma converti dans
les panneaux centraux de votre projet. Le panneau situé dans la partie centrale inférieure affiche les
propriétés et la commande SQL pour créer le schéma converti, comme illustré ci-après.
Version 1.0
71
AWS Schema Conversion Tool Guide de l'utilisateur
Modification du schéma converti
Une fois que vous avez converti votre schéma, vous pouvez enregistrer votre projet. Les informations
de schéma de votre base de données source sont enregistrées avec votre projet. Cette fonctionnalité
signifie que vous pouvez travailler hors ligne sans être connecté à votre base de données source.
AWS Schema Conversion Tool se connecte à votre base de données source pour mettre à jour le
schéma de votre projet, si vous choisissez Refresh from Database pour votre base de données source.
Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS
Schema Conversion Tool (p. 79).
Vous pouvez créer un rapport d'évaluation de la migration de base de données des éléments qui
ne peuvent pas être convertis automatiquement. Le rapport d'évaluation est utile pour identifier
et résoudre les éléments de schéma qui ne peut pas être convertis automatiquement. Pour plus
d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion
Tool (p. 74).
Lorsqu'AWS Schema Conversion Tool génère un schéma converti, il ne l'applique pas immédiatement
à l'instance DB cible. En revanche, le schéma converti est stocké localement jusqu'à ce que vous
soyez prêt à l'appliquer à l'instance DB cible. Pour plus d'informations, consultez Application de votre
schéma converti (p. 81).
Modification du schéma converti
Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet.
Version 1.0
72
AWS Schema Conversion Tool Guide de l'utilisateur
Suppression d'un schéma converti
Pour modifier le schéma converti
1.
Dans le volet gauche qui affiche le schéma de votre base de données source, sélectionnez
l'élément pour lequel vous voulez modifier le schéma converti.
2.
Dans le volet situé dans la partie centrale inférieure qui affiche le schéma converti pour l'élément
sélectionné, choisissez l'onglet SQL.
3.
Dans le texte affiché pour l'onglet SQL, modifiez le schéma comme requis. Le schéma est
automatiquement enregistré avec votre projet comme vous le mettez à jour.
Les modifications que vous apportez au schéma converti sont stockées avec votre projet lorsque vous
effectuez des mises à jour. Si vous convertissez nouvellement un élément de schéma de votre base
de données source et que vous avez fait des mises à jour de schéma précédemment converti pour cet
élément, ces mises à jour existantes sont remplacées par l'élément de schéma nouvellement converti
basé sur votre base de données source.
Suppression d'un schéma converti
Jusqu'à ce que vous appliquiez le schéma à votre instance DB cible, AWS Schema Conversion Tool
stocke localement que le schéma converti dans votre projet. Vous pouvez supprimer le schéma
planifié de votre projet en choisissant le nœud de l'arborescence pour votre instance DB cible, puis en
choisissant Refresh from Database. Parce qu'aucun schéma n'a été écrit dans votre instance DB cible,
l'actualisation de la base de données supprime les éléments de schéma planifiés dans votre projet de
l'outil de conversion de schémas pour correspondre à ce qui existe dans votre instance DB cible.
Version 1.0
73
AWS Schema Conversion Tool Guide de l'utilisateur
Création et utilisation du rapport d'évaluation
Création et utilisation du rapport d'évaluation dans
AWS Schema Conversion Tool
Le rapport d'évaluation de la migration de la base de données fournit des informations importantes à
propos de la conversion du schéma de votre base de données source à votre instance DB RDS cible.
Le rapport résume toutes les tâches de conversion de schémas et détaille les éléments de l'action de
schéma qui ne peuvent pas être convertis au moteur de base de données de votre instance DB cible.
Ce rapport comprend également des estimations des efforts qui devront être fournis pour écrire le code
équivalent dans votre instance DB cible qui ne peut pas être converti automatiquement.
Si vous utilisez AWS Schema Conversion Tool pour copier votre schéma de base de données sur site
existant sur une instance de base de données Amazon RDS qui exécute le même moteur, le rapport
peut vous aider à analyser les exigences requises pour la migration vers le cloud et la modification de
votre type de licence.
Version 1.0
74
AWS Schema Conversion Tool Guide de l'utilisateur
Création d'un rapport d'évaluation
de migration de la base de données
Création d'un rapport d'évaluation de migration de la
base de données
Utilisez la procédure suivante pour créer un rapport d'évaluation de la migration de base de données.
Pour créer un rapport d'évaluation de migration de base de données
1.
Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de
schéma pour lequel vous souhaitez créer un rapport d'évaluation.
2.
Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report.
Récapitulatif du rapport d'évaluation
Après avoir créé un rapport d'évaluation, l'affichage du rapport d'évaluation s'ouvre et affiche l'onglet
Summary. L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de
données. Il indique les éléments qui ont été convertis automatiquement et ceux qui ne l'ont pas été.
Version 1.0
75
AWS Schema Conversion Tool Guide de l'utilisateur
Eléments d'action
En ce qui concerne les éléments du schéma qui ne peuvent pas être convertis automatiquement pour
le moteur de base de données cible, ce récapitulatif comprend une estimation de l'effort nécessaire
pour créer des éléments de schéma dans votre instance DB cible équivalents à ceux de votre instance
DB cible.
Ce rapport classe le temps estimé pour convertir ces éléments de schéma de la façon suivante :
• Simple – Actions qui peuvent être exécutées en moins d'1 heure.
• Moyen – Actions qui sont plus complexes et peuvent être exécutées entre 1 à 4 heures.
• Important – Actions qui sont très complexes et dont l'exécution prendra plus de 4 heures.
La section Evaluation de licence et prise en charge du cloud contient des informations sur le
déplacement de votre schéma de base de données sur site existant vers une instance de base de
données Amazon RDS qui exécute le même moteur. Par exemple, si vous voulez modifier les types
de licence, cette section du rapport vous indique quelles fonctions de votre base de données actuelle
doivent être supprimées.
Elément d'action du rapport d'évaluation
L'affichage de rapport d'évaluation comprend également un onglet Action Items. Cet onglet contient
une liste des éléments qui ne peuvent pas être convertis automatiquement dans le moteur de base
de données de votre instance DB RDS cible. Si vous sélectionnez un élément d'action dans la liste,
AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel s'applique l'élément
d'action.
Version 1.0
76
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement du rapport d'évaluation
Le rapport contient également des recommandations sur la manière de convertir manuellement
l'élément de schéma. Pour plus d'informations sur la façon de gérer les conversions manuelles,
consultez Gestion des conversions manuelles dans AWS Schema Conversion Tool (p. 78).
Enregistrement du rapport d'évaluation
Vous pouvez enregistrer une copie locale du rapport d'évaluation de la migration de la base de
données dans un fichier PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier CSV
contient uniquement des informations sur l'élément d'action. Le fichier PDF contient les informations
sur le récapitulatif et les éléments d'action, comme illustré dans l'exemple suivant.
Version 1.0
77
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion des conversions manuelles
Gestion des conversions manuelles dans AWS
Schema Conversion Tool
Le rapport d'évaluation inclut une liste des éléments qui ne peuvent pas être convertis
automatiquement vers le moteur de base de données de votre instance DB RDS cible. Pour chaque
élément qui ne peut pas être converti, il y a un élément de l'action sur l'onglet Action Items.
Vous pouvez réagir aux éléments d'action du rapport d'évaluation des manières suivantes :
• Modifiez votre schéma de base de données source.
• Modifiez votre schéma de base de données cible.
Version 1.0
78
AWS Schema Conversion Tool Guide de l'utilisateur
Modification de votre schéma source
Modification de votre schéma source
Pour certains éléments, il peut être plus facile de modifier le schéma de base de données dans votre
base de données source en un schéma qui peut être converti automatiquement. Tout d'abord, vérifiez
que les nouvelles modifications sont compatibles avec l'architecture de votre application, puis mettez à
jour le schéma dans votre base de données source. Enfin, actualisez votre projet avec les informations
de schéma mises à jour. Vous pouvez ensuite convertir le schéma mis à jour et générer un nouveau
rapport d'évaluation de la migration de la base de données. Les éléments d'action n'apparaissent plus
pour les éléments qui ont été modifiés dans le schéma source.
L'avantage de ce processus est que le schéma mis à jour est toujours disponible lors de l'actualisation
à parti de votre base de données source.
Modification de votre schéma cible
Pour certains éléments, il peut être plus facile d'appliquer le schéma converti à votre base de données
cible, et d'ajouter ensuite les éléments de schéma équivalent manuellement à votre base de données
cible pour les éléments qui n'ont pas pu être convertis automatiquement. Vous pouvez écrire tout le
schéma qui peut être converti automatiquement à votre instance DB cible en appliquant le schéma.
Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS
Schema Conversion Tool (p. 80).
Le schéma qui est écrit dans votre instance DB cible ne contient pas les éléments qui ne peuvent
pas être convertis automatiquement. Après avoir appliqué le schéma à votre instance DB cible, vous
pouvez alors créer manuellement un schéma dans votre instance DB cible qui est équivalent à celui de
la base de données source. Les éléments d'action dans le rapport d'évaluation de la migration de base
de données contiennent des suggestions sur la façon de créer le schéma équivalent.
Caution
Si vous créez manuellement le schéma de votre instance DB cible, enregistrez une copie
de n'importe quel travail manuel que vous faites. Si vous appliquez de nouveau le schéma
converti à partir de votre projet à votre instance DB cible, il remplace le travail manuel que
vous avez terminé.
Dans certains cas, vous ne pouvez pas créer de schéma équivalent dans votre instance DB cible.
Vous devrez reconcevoir une partie de votre application et de votre base de données afin d'utiliser
les fonctionnalités disponibles dans le moteur de base de données pour votre instance DB cible.
Dans d'autres cas, vous pourrez simplement ignorer le schéma qui ne peut pas être converti
automatiquement.
Rubriques connexes
• Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 70)
• Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 74)
• Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 79)
Mise à jour et actualisation de votre schéma
converti dans AWS Schema Conversion Tool
Vous pouvez mettre à jour le schéma source et le schéma cible dans votre projet AWS Schema
Conversion Tool.
Version 1.0
79
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement et application de votre schéma
• Source – Si vous mettez à jour le schéma de votre base de données source, AWS Schema
Conversion Tool remplace le schéma de votre projet par le dernier schéma de votre base de
données source. A l'aide de cette fonctionnalité, vous pouvez mettre à jour votre projet si les
modifications ont été apportées au schéma de votre base de données source.
• Cible – si vous mettez à jour le schéma de votre instance DB RDS cible, AWS Schema Conversion
Tool remplace le schéma de votre projet par le dernier schéma de votre instance DB cible. Si vous
n'avez pas appliqué un schéma de votre instance DB cible, AWS Schema Conversion Tool supprime
le schéma converti de votre projet. Vous pouvez ensuite convertir le schéma de votre base de
données source en une instance DB cible propre.
Vous mettez à jour le schéma dans votre projet AWS Schema Conversion Tool en choisissant Refresh
from Database, comme indiqué ci-dessous.
Enregistrement et application de votre schéma
converti dans AWS Schema Conversion Tool
Lorsqu'AWS Schema Conversion Tool génère le schéma converti (comme indiqué dans Conversion de
votre schéma en utilisant AWS Schema Conversion Tool (p. 70)), il n'applique pas immédiatement
le schéma converti à l'instance DB cible. Au lieu de cela, le schéma converti est stocké localement
dans votre projet jusqu'à ce que vous soyez prêt à l'appliquer à l'instance DB cible. A l'aide de cette
Version 1.0
80
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement de votre schéma converti en un fichier
fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas être convertis
automatiquement à votre moteur de base de données cible. Pour plus d'informations sur les éléments
qui ne peuvent pas être convertis automatiquement, consultez Création et utilisation du rapport
d'évaluation dans AWS Schema Conversion Tool (p. 74).
De manière facultative, l'outil peut enregistrer votre schéma converti en un fichier en tant que script
SQL avant d'appliquer le schéma à votre instance DB cible. Vous pouvez faire appliquer par l'outil le
schéma converti directement à votre instance DB cible.
Enregistrement de votre schéma converti en un
fichier
Vous pouvez enregistrer votre schéma converti sous forme de scripts SQL dans un fichier texte. Grâce
à cette approche, vous pouvez modifier les scripts SQL générés à partir d'AWS Schema Conversion
Tool pour les éléments que l'outil ne peut pas convertir automatiquement. Vous pouvez ensuite
exécuter vos scripts mis à jour sur votre instance DB cible pour appliquer votre schéma converti à
votre base de données cible.
Pour enregistrer votre schéma converti sous forme de scripts SQL, ouvrez le menu contextuel (clic
droit) pour l'élément de schéma, puis choisissez Save as SQL, comme indiqué ci-dessous.
Application de votre schéma converti
Une fois que vous êtes prêt à appliquer votre schéma converti à l'instance DB RDS cible, choisissez
l'élément de schéma dans le volet droit du projet. Ouvrez le menu contextuel (clic droit) pour l'élément
de schéma, puis choisissez Apply to database, comme indiqué ci-dessous.
Version 1.0
81
AWS Schema Conversion Tool Guide de l'utilisateur
Schéma du kit d'extension
Schéma du kit d'extension
La première fois que vous appliquez votre schéma converti à votre instance de base de données cible,
AWS Schema Conversion Tool ajoute un schéma supplémentaire à cette dernière. Ce schéma met en
œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma
converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension.
Ne modifiez pas ce schéma ou vous risquez d'obtenir des résultats inattendus dans le schéma converti
écrit dans l'instance de base de données cible. Lorsque votre schéma est entièrement migré vers
l'instance de base de données cible et que vous n'avez plus besoin d'AWS Schema Conversion Tool,
vous pouvez supprimer le schéma de kit d'extension.
Le schéma de kit d'extension est nommé selon votre base de données source, comme suit :
•
•
•
•
Microsoft SQL Server: AWS_SQLSERVER_EXT
MySQL: AWS_MYSQL_EXT
Oracle: AWS_ORACLE_EXT
PostgreSQL: AWS_POSTGRESQL_EXT
Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et services AWS
pour bases de données (p. 111).
Version 1.0
82
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion du schéma d'entrepôt
de données en Amazon Redshift en
utilisant AWS Schema Conversion
Tool
AWS Schema Conversion Tool automatise une grande partie du processus de conversion de votre
schéma d'entrepôt de données en un schéma de base de données Amazon Redshift. Les moteurs de
base de données source et cible contiennent de nombreuses caractéristiques et fonctions et l'AWS
Schema Conversion Tool tente de créer un schéma équivalent dans votre base de données cible, dans
la mesure du possible. Si aucune conversion directe n'est possible, l'AWS Schema Conversion Tool
fournit une liste des actions possibles que vous pouvez effectuer.
AWS Schema Conversion Tool prend en charge les conversions d'entrepôt de données suivantes.
Base de données source
Base de données cible sur Amazon Redshift
Base de données Greenplum (version 4.3 ou
ultérieure)
Amazon Redshift
Netezza (version 7.2 ou ultérieure)
Amazon Redshift
Oracle (version 11 ou ultérieure)
Amazon Redshift
Teradata (version 15 ou ultérieure)
Amazon Redshift
Si vous souhaitez convertir un schéma de base de données de traitement des transactions en ligne
(OLTP), consultez Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS
Schema Conversion Tool (p. 66).
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Version 1.0
83
AWS Schema Conversion Tool Guide de l'utilisateur
Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en
route avec AWS Schema Conversion Tool (p. 10).
Pour convertir votre schéma d'entrepôt de base de données vers Amazon RDS, vous effectuez les
étapes détaillées suivantes :
• Choisir votre stratégie d'optimisation – Pour optimiser la façon dont AWS Schema Conversion Tool
convertit votre schéma d'entrepôt de données, vous pouvez choisir les stratégies et les règles de
l'outil à utiliser.
Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à utiliser avec
AWS Schema Conversion Tool (p. 85).
• Collecter les statistics – Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre
schéma d'entrepôt de données, vous pouvez fournir les statistiques de votre base de données
source que l'outil peut utiliser. Vous pouvez collecter les statistiques directement à partir de la base
de données, ou charger un fichier de statistiques existant.
Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema
Conversion Tool (p. 86).
• Créer des règles de mappage – Avant de convertir votre schéma à l'aide d'AWS Schema Conversion
Tool, vous pouvez définir des règles qui changent le type de données des colonnes, déplacent des
objets d'un schéma à un autre et modifient les noms des objets.
Pour plus d'informations, consultez Création de règles de mappage dans AWS Schema Conversion
Tool (p. 88).
• Convertir votre schéma – AWS Schema Conversion Tool crée une version locale du schéma
converti pour pouvoir le vérifier, mais il ne l'applique pas à votre base de données cible jusqu'à ce
que vous soyez prêt.
Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema
Conversion Tool (p. 90).
• Gérer et personnaliser les clés – Quand vous convertissez votre schéma, vous pouvez gérer et
modifier vos clés. La gestion des clés est le cœur d'une conversion d'entrepôt de données.
Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema
Conversion Tool (p. 94).
• Créer un rapport d'évaluation de la migration de base de données – AWS Schema Conversion Tool
crée un rapport d'évaluation de la migration de base de données qui détaille les éléments de schéma
qui ne peuvent pas être convertis automatiquement. Vous pouvez utiliser ce rapport pour identifier
où vous avez besoin de créer manuellement un schéma dans votre base de données cible qui est
compatible avec votre base de données source.
Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema
Conversion Tool (p. 95).
• Décider comment gérer les conversions manuelles – Si vous avez des éléments de schéma qui ne
peuvent pas être convertis automatiquement, deux choix s'offrent à vous : mettre à jour le schéma
Version 1.0
84
AWS Schema Conversion Tool Guide de l'utilisateur
Choix des règles et des stratégies d'optimisation
source puis le convertir à nouveau ou créer des éléments de schéma équivalents dans votre base
de données cible.
Pour plus d'informations, consultez Gestion des conversions manuelles dans AWS Schema
Conversion Tool (p. 99).
• Mettre à jour et actualiser le schéma de votre projet AWS Schema Conversion Tool – vous pouvez
mettre à jour votre projet AWS Schema Conversion Tool avec le schéma le plus récent de votre
base de données source.
Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS
Schema Conversion Tool (p. 100).
• Appliquer le schéma converti à votre base de données cible – Lorsque vous êtes prêt, faites
appliquer par AWS Schema Conversion Tool le schéma converti dans votre projet local à votre base
de données cible.
Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans
AWS Schema Conversion Tool (p. 101).
Choix des stratégies d'optimisation et des règles à
utiliser avec AWS Schema Conversion Tool
Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de
données, vous pouvez choisir les stratégies et les règles que l'outil va utiliser. Après la conversion de
votre schéma et la vérification des clés suggérés, vous pouvez ajuster vos règles ou modifier votre
stratégie afin d'obtenir les résultats souhaités.
Pour choisir vos stratégies d'optimisation et règles
1.
Choisissez Settings, puis Projet Settings. La boîte de dialogue Current project settings s'affiche.
2.
Dans le volet gauche, choisissez Optimization Strategies. Les stratégies d'optimisation
apparaissent dans le volet droit avec les valeurs par défaut sélectionnées.
3.
Pour Strategy Sector, choisissez la stratégie d'optimisation que vous voulez utiliser. Choisissez
parmi les éléments suivants :
• Use metadata, ignore statistical information – Dans cette stratégie, seules les informations des
métadonnées sont utilisées pour les décisions d'optimisation. Par exemple, s'il existe plusieurs
index sur une table source, l'ordre de tri de la base de données source est utilisé, et le premier
index devient une clé de distribution.
• Ignore metadata, use statistical information – Dans cette stratégie, les décisions d'optimisation
s'appuient uniquement sur les informations statistiques. Cette stratégie s'applique uniquement
aux tables et aux colonnes pour lesquelles les statistiques sont fournis. Pour plus d'informations,
consultez Collecte ou chargement des statistiques pour AWS Schema Conversion
Tool (p. 86).
• Use metadata and use statistical information – Dans cette stratégie, à la fois les métadonnées et
les statistiques sont utilisées pour les décisions d'optimisation.
Version 1.0
85
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
4.
Une fois que vous choisissez votre stratégie d'optimisation, vous pouvez choisir les règles que
vous voulez utiliser. Choisissez parmi les éléments suivants :
• Choix de la clé de distribution et des clés de tri en utilisant les métadonnées
• Choix de la table des faits et la dimension appropriée pour le classement
• Analyse de la cardinalité des colonnes d'index
• Recherche des tables et des colonnes les plus utilisées à partir de la table QueryLog
Pour chaque règle, vous pouvez entrer une pondération pour la clé de tri et une pondération pour
la clé de distribution. AWS Schema Conversion Tool se sert des pondérations que vous définissez
au moment de convertir votre schéma. Plus tard, lorsque vous vérifiez les clés suggérées, vous
pouvez revenir ici et modifier vos paramètres si vous n'êtes pas satisfait des résultats. Pour de
plus amples informations, veuillez consulter Gestion et personnalisation des clés dans AWS
Schema Conversion Tool (p. 94).
Rubriques connexes
• Choix de la meilleure clé de tri
• Choisir le meilleur style de distribution
Collecte ou chargement des statistiques pour
AWS Schema Conversion Tool
Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de
données, vous pouvez fournir les statistiques de votre base de données source que l'outil peut utiliser.
Vous pouvez collecter les statistiques directement à partir de la base de données, ou charger un fichier
de statistiques existant.
Pour fournir et vérifier les statistiques
1.
Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion
à la base de données source (p. 12).
2.
Choisissez un objet de schéma dans le volet gauche de votre projet et ouvrez le menu de contexte
(clic droit) pour l'objet. Choisissez Collect Statistics ou Upload Statistics comme le suggère
l'illustration ci-dessous.
Version 1.0
86
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
3.
Choisissez un objet de schéma dans le volet gauche de votre projet, puis choisissez l'onglet
Statistics. Vous pouvez vérifier les statistiques pour l'objet.
Plus tard, lorsque vous vérifiez les clés suggérées, vous pouvez collecter des statistiques
supplémentaires et répéter l'opération si vous n'êtes pas satisfait des résultats. Pour de plus
amples informations, veuillez consulter Gestion et personnalisation des clés dans AWS Schema
Conversion Tool (p. 94).
Rubriques connexes
• Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion
Tool (p. 85)
• Choix de la meilleure clé de tri
• Choisir le meilleur style de distribution
Version 1.0
87
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage
Création de règles de mappage dans AWS
Schema Conversion Tool
Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez définir des
règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et
modifient les noms des objets. Par exemple, si votre schéma source comporte un ensemble de tables
nommé test_TABLE_NAME, vous pouvez configurer une règle qui remplace le préfixe test_ par le
préfixe demo_ dans le schéma cible.
Note
Vous pouvez uniquement créer des règles de mappage si les moteurs des bases de données
source et cible sont différents.
Vous pouvez créer des règles de mappage qui effectuent les tâches suivantes :
• Modifier le type de données
• Déplacer des objets
• Renommer des objets
• Préfixe - ajouter un préfixe, supprimer un préfixe, remplacer un préfixe
• Suffixe - ajouter un suffixe, supprimer un suffixe, remplacer un suffixe
Vous pouvez créer des règles de mappage pour les objets suivants :
• Base de données
• Schéma
• Tableau
• Colonne
Création de règles de mappage
Vous pouvez créer des règles de mappage et les enregistrer dans le cadre de votre projet. Avec le
projet ouvert, utilisez la procédure suivante pour créer des règles de mappage.
Pour créer des règles de mappage
1.
Choisissez Mapping Rules dans le menu Settings. La boîte de dialogue Mapping Rules s'affiche.
Version 1.0
88
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage pour des objets
2.
Choisissez Add new rule. Une nouvelle ligne est ajoutée à la liste de règles.
3.
Choisissez l'icône de modification pour configurer votre règle.
a.
Sous Name, entrez un nom unique pour la règle.
b.
Sous For, choisissez le type d'objet auquel la règle s'applique.
c.
Sous where, entrez le filtre à appliquer aux objets avant d'appliquer la règle de mappage. La
clause Where est évaluée à l'aide d'une clause Like. Vous pouvez entrer un nom exact pour
sélectionner un objet, ou spécifier un modèle afin de sélectionner plusieurs objets.
Les champs disponibles pour la clause where varient en fonction du type de l'objet. Par
exemple, s"il s'agit du type d'objet schéma, un seul champ est disponible pour le nom de
schéma.
d.
Sous Actions, choisissez le type de règle de mappage que vous voulez créer.
e.
En fonction du type de règle, entrez une ou deux valeurs supplémentaires. Par exemple,
pour renommer un objet, entrez le nouveau nom de l'objet. Pour remplacer un préfixe, entrez
l'ancien et le nouveau préfixes.
4.
Une fois que vous avez configuré votre règle de mappage, choisissez Save pour enregistrer la
règle. Vous pouvez également choisir Cancel pour annuler vos modifications.
5.
Une fois que vous avez ajouté, modifié ou supprimé les règles, choisissez Save All pour
enregistrer toutes vos modifications.
6.
Choisissez Close pour fermer la boîte de dialogue Mapping Rules.
Vous pouvez utiliser l'icône bascule pour désactiver une règle de mappage sans la supprimer. Vous
pouvez utiliser l'icône de copie pour dupliquer une règle de mappage existante. Vous pouvez utiliser
l'icône de suppression pour supprimer une règle de mappage existante. Pour enregistrer toutes les
modifications apportées à vos règles de mappage, choisissez Save All.
Affichage des règles de mappage pour les objets
Après avoir configuré vos règles de mappage, vous pouvez vérifier leur impact sur des objets
spécifiques de votre schéma avant de convertir ce dernier. Dans l'arborescence du schéma source,
choisissez l'objet voulu. Dans l'affichage principal, choisissez l'onglet Mapping. L'onglet Mapping
Version 1.0
89
AWS Schema Conversion Tool Guide de l'utilisateur
Exportation des règles de mappage
s'ouvre et affiche la liste de toutes les règles de mappage appliquées à l'objet. Vous pouvez voir le
nom de l'objet dans le schéma source et son nouveau nom dans le schéma cible. Si vous avez des
règles de type de données, le type de données de la colonne est également affiché dans le schéma
source et son nouveau type de données est affiché dans le schéma cible.
Exportation des règles de mappage
Si vous utilisez AWS Database Migration Service (AWS DMS) pour migrer vos données de la base de
données source vers la base de données cible, vous pouvez fournir des informations sur les règles
de mappage à AWS DMS. Pour plus d'informations sur les tâches, consultez Utilisation des tâches de
réplication AWS Database Migration Service.
Pour exporter des règles de mappage
1.
Dans AWS Schema Conversion Tool, dans l'arborescence du schéma source, ouvrez le menu
contextuel (clic droit) et choisissez Export script for DMS. La boîte de dialogue d'enregistrement
s'affiche.
2.
Accédez à l'emplacement où vous souhaitez enregistrer votre script, puis choisissez Save. Vos
règles de mappage sont enregistrées sous forme de script JSON pouvant être utilisé par AWS
DMS.
Conversion de votre schéma en utilisant AWS
Schema Conversion Tool
Une fois que vous avez connecté votre projet à votre base de données source et à votre base de
données cible, votre projet AWS Schema Conversion Tool affiche le schéma de votre base de
données source dans le volet gauche. Le schéma est présenté sous forme d'arborescence, et
chaque nœud de l'arborescence est « avec chargement différé ». En d'autres termes, lorsque vous
sélectionnez un nœud dans l'arborescence, AWS Schema Conversion Tool demande les informations
de schéma de votre base de données source à ce moment-là.
Vous pouvez choisir des éléments de schéma de votre base de données source, puis convertir
le schéma en schéma équivalent pour le moteur de base de données de votre base de données
cible. Vous pouvez choisir n'importe quel élément de schéma de votre base de données source de
convertir. Si l'élément de schéma que vous choisissez dépend d'un élément parent, puis AWS Schema
Conversion Tool génère également le schéma de l'élément parent. Par exemple, si vous choisissez
une colonne dans une table de convertir, alors AWS Schema Conversion Tool génère le schéma de
la colonne, la table dans laquelle la colonne se trouve et la base de données dans laquelle la table se
trouve.
Conversion de schémas
Pour convertir le schéma de votre base de données source, choisissez l'objet de schéma à convertir
dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez
Convert schema, comme indiqué ci-dessous.
Version 1.0
90
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schémas
Une fois que vous avez converti le schéma de votre base de données source, vous pouvez choisir
des éléments de schéma dans le volet gauche de votre projet et afficher le schéma converti dans
les panneaux centraux de votre projet. Le panneau situé dans la partie centrale inférieure affiche les
propriétés et la commande SQL pour créer le schéma converti, comme illustré ci-après.
Version 1.0
91
AWS Schema Conversion Tool Guide de l'utilisateur
Modification du schéma converti
Une fois que vous avez converti votre schéma, vous pouvez enregistrer votre projet. Les informations
de schéma de votre base de données source sont enregistrées avec votre projet. Cette fonctionnalité
signifie que vous pouvez travailler hors ligne sans être connecté à votre base de données source.
AWS Schema Conversion Tool se connecte à votre base de données source pour mettre à jour le
schéma de votre projet, si vous choisissez Refresh from Database pour votre base de données source.
Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS
Schema Conversion Tool (p. 100).
Vous pouvez créer un rapport d'évaluation de la migration de base de données des éléments qui
ne peuvent pas être convertis automatiquement. Le rapport d'évaluation est utile pour identifier
et résoudre les éléments de schéma qui ne peut pas être convertis automatiquement. Pour plus
d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion
Tool (p. 95).
Lorsqu'AWS Schema Conversion Tool génère un schéma converti, il ne l'applique pas immédiatement
à la base de données cible. En revanche, le schéma converti est stocké localement jusqu'à ce
que vous soyez prêt à l'appliquer à la base de données cible. Pour plus d'informations, consultez
Application de votre schéma converti (p. 102).
Modification du schéma converti
Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet.
Version 1.0
92
AWS Schema Conversion Tool Guide de l'utilisateur
Suppression d'un schéma converti
Pour modifier le schéma converti
1.
Dans le volet gauche qui affiche le schéma de votre base de données source, sélectionnez
l'élément pour lequel vous voulez modifier le schéma converti.
2.
Dans le volet situé dans la partie centrale inférieure qui affiche le schéma converti pour l'élément
sélectionné, choisissez l'onglet SQL.
3.
Dans le texte affiché pour l'onglet SQL, modifiez le schéma comme requis. Le schéma est
automatiquement enregistré avec votre projet comme vous le mettez à jour.
Les modifications que vous apportez au schéma converti sont stockées avec votre projet lorsque vous
effectuez des mises à jour. Si vous convertissez nouvellement un élément de schéma de votre base
de données source et que vous avez fait des mises à jour de schéma précédemment converti pour cet
élément, ces mises à jour existantes sont remplacées par l'élément de schéma nouvellement converti
basé sur votre base de données source.
Suppression d'un schéma converti
Jusqu'à ce que vous appliquiez le schéma à votre base de données cible, AWS Schema Conversion
Tool stocke uniquement le schéma converti localement dans votre projet. Vous pouvez supprimer le
schéma planifié de votre projet en choisissant le nœud de l'arborescence pour votre base de données
cible, puis en choisissant Refresh from Database. Parce qu'aucun schéma n'a été écrit dans votre
base de données cible, l'actualisation de la base de données supprime les éléments de schéma
planifiés dans votre projet de l'outil de conversion de schéma pour correspondre à ce qui existe dans
votre base de données cible.
Version 1.0
93
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion et personnalisation des clés
Gestion et personnalisation des clés dans AWS
Schema Conversion Tool
Une fois que vous convertissez votre schéma, vous pouvez gérer et modifier vos clés. La gestion des
clés est le cœur d'une conversion d'entrepôt de données.
Pour gérer les clés, sélectionnez une table de votre base de données cible, puis choisissez l'onglet
Key Management illustré ci-dessous.
Version 1.0
94
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Le volet de gauche contient des suggestions de clés et comprend l'évaluation de confiance pour
chaque suggestion. Vous pouvez choisir une des suggestions, ou vous pouvez personnaliser la clé en
l'éditant dans le volet droit.
Si les choix de la clé ne ressemblent pas à vos attentes, vous pouvez modifier vos stratégies
d'optimisation et retenter la conversion. Pour plus d'informations, consultez Choix des stratégies
d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 85).
Rubriques connexes
• Choix de la meilleure clé de tri
• Choisir le meilleur style de distribution
Création et utilisation du rapport d'évaluation dans
AWS Schema Conversion Tool
Le rapport d'évaluation de la migration de la base de données fournit des informations importantes
à propos de la conversion du schéma de votre base de données source à votre base de données
cible. Le rapport résume toutes les tâches de conversion de schéma et détaille les éléments d'action
de schéma qui ne peuvent pas être convertis vers le moteur de base de données de votre base de
données cible. Ce rapport comprend également des estimations des efforts qui devront être fournis
pour écrire le code équivalent dans votre base de données cible qui ne peuvent pas être converties
automatiquement.
Version 1.0
95
AWS Schema Conversion Tool Guide de l'utilisateur
Création d'un rapport d'évaluation
de migration de la base de données
Création d'un rapport d'évaluation de migration de la
base de données
Utilisez la procédure suivante pour créer un rapport d'évaluation de la migration de base de données.
Pour créer un rapport d'évaluation de migration de base de données
1.
Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de
schéma pour lequel vous souhaitez créer un rapport d'évaluation.
2.
Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report.
Récapitulatif du rapport d'évaluation
Après avoir créé un rapport d'évaluation, l'affichage du rapport d'évaluation s'ouvre et affiche l'onglet
Summary. L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de
données. Il indique les éléments qui ont été convertis automatiquement et ceux qui ne l'ont pas été.
Version 1.0
96
AWS Schema Conversion Tool Guide de l'utilisateur
Eléments d'action
En ce qui concerne les éléments du schéma qui ne peuvent pas être convertis automatiquement pour
le moteur de base de données cible, ce récapitulatif comprend une estimation de l'effort nécessaire
pour créer des éléments de schéma dans votre base de données cible équivalents à ceux de votre
base de données cible.
Ce rapport classe le temps estimé pour convertir ces éléments de schéma de la façon suivante :
• Simple – Actions qui peuvent être exécutées en moins d'1 heure.
• Moyen – Actions qui sont plus complexes et peuvent être exécutées entre 1 à 4 heures.
• Important – Actions qui sont très complexes et dont l'exécution prendra plus de 4 heures.
Elément d'action du rapport d'évaluation
L'affichage de rapport d'évaluation comprend également un onglet Action Items. Cet onglet contient
une liste des éléments qui ne peuvent pas être convertis automatiquement pour le moteur de base
de données de votre base de données cible. Si vous sélectionnez un élément d'action dans la liste,
AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel s'applique l'élément
d'action.
Le rapport contient également des recommandations sur la manière de convertir manuellement
l'élément de schéma. Pour plus d'informations sur la façon de gérer les conversions manuelles,
consultez Gestion des conversions manuelles dans AWS Schema Conversion Tool (p. 99).
Version 1.0
97
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement du rapport d'évaluation
Enregistrement du rapport d'évaluation
Vous pouvez enregistrer une copie locale du rapport d'évaluation de la migration de la base de
données dans un fichier PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier CSV
contient uniquement des informations sur l'élément d'action. Le fichier PDF contient les informations
sur le récapitulatif et les éléments d'action, comme illustré dans l'exemple suivant.
Version 1.0
98
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion des conversions manuelles
Gestion des conversions manuelles dans AWS
Schema Conversion Tool
Le rapport d'évaluation inclut une liste des éléments qui ne peuvent pas être convertis
automatiquement pour le moteur de base de données de votre base de données cible. Pour chaque
élément qui ne peut pas être converti, il y a un élément de l'action sur l'onglet Action Items.
Vous pouvez réagir aux éléments d'action du rapport d'évaluation des manières suivantes :
• Modifiez votre schéma de base de données source.
• Modifiez votre schéma de base de données cible.
Version 1.0
99
AWS Schema Conversion Tool Guide de l'utilisateur
Modification de votre schéma source
Modification de votre schéma source
Pour certains éléments, il peut être plus facile de modifier le schéma de base de données dans votre
base de données source en un schéma qui peut être converti automatiquement. Tout d'abord, vérifiez
que les nouvelles modifications sont compatibles avec l'architecture de votre application, puis mettez à
jour le schéma dans votre base de données source. Enfin, actualisez votre projet avec les informations
de schéma mises à jour. Vous pouvez ensuite convertir le schéma mis à jour et générer un nouveau
rapport d'évaluation de la migration de la base de données. Les éléments d'action n'apparaissent plus
pour les éléments qui ont été modifiés dans le schéma source.
L'avantage de ce processus est que le schéma mis à jour est toujours disponible lors de l'actualisation
à parti de votre base de données source.
Modification de votre schéma cible
Pour certains éléments, il peut être plus facile d'appliquer le schéma converti à votre base de données
cible, et d'ajouter ensuite les éléments de schéma équivalent manuellement à votre base de données
cible pour les éléments qui n'ont pas pu être convertis automatiquement. Vous pouvez écrire tout le
schéma qui peut être converti automatiquement pour votre base de données cible en appliquant le
schéma. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti
dans AWS Schema Conversion Tool (p. 101).
Le schéma qui est écrit dans votre base de données cible ne contient pas les éléments qui ne peuvent
pas être convertis automatiquement. Après avoir appliqué le schéma à votre base de données
cible, vous pouvez alors créer manuellement un schéma dans votre base de données cible qui est
équivalent à celui de la base de données source. Les éléments d'action dans le rapport d'évaluation
de la migration de base de données contiennent des suggestions sur la façon de créer le schéma
équivalent.
Caution
Si vous créez manuellement le schéma de votre base de données cible, enregistrez une copie
de n'importe quel travail manuel que vous faites. Si vous appliquez de nouveau le schéma
converti à partir de votre projet à votre base de données cible, il remplace le travail manuel
que vous avez terminé.
Dans certains cas, vous ne pouvez pas créer de schéma équivalent dans votre base de données cible.
Vous devrez reconcevoir une partie de votre application et de votre base de données afin d'utiliser
les fonctionnalités disponibles dans le moteur de base de données pour votre base de données
cible. Dans d'autres cas, vous pourrez simplement ignorer le schéma qui ne peut pas être converti
automatiquement.
Rubriques connexes
• Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 90)
• Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 95)
• Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 100)
Mise à jour et actualisation de votre schéma
converti dans AWS Schema Conversion Tool
Vous pouvez mettre à jour le schéma source et le schéma cible dans votre projet AWS Schema
Conversion Tool.
Version 1.0
100
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement et application de votre schéma
• Source – Si vous mettez à jour le schéma de votre base de données source, AWS Schema
Conversion Tool remplace le schéma de votre projet par le dernier schéma de votre base de
données source. A l'aide de cette fonctionnalité, vous pouvez mettre à jour votre projet si les
modifications ont été apportées au schéma de votre base de données source.
• Target – Si vous mettez à jour le schéma de votre base de données cible, AWS Schema Conversion
Tool remplace le schéma de votre projet par le dernier schéma de votre base de données cible. Si
vous n'avez pas appliqué un schéma à votre base de données cible, AWS Schema Conversion Tool
efface le schéma converti de votre projet. Vous pouvez ensuite convertir le schéma de votre base de
données source en une base de données cible propre.
Vous mettez à jour le schéma dans votre projet AWS Schema Conversion Tool en choisissant Refresh
from Database, comme indiqué ci-dessous.
Enregistrement et application de votre schéma
converti dans AWS Schema Conversion Tool
Lorsqu'AWS Schema Conversion Tool génère le schéma converti (comme indiqué dans Conversion de
votre schéma en utilisant AWS Schema Conversion Tool (p. 90)), il n'applique pas immédiatement
le schéma converti à la base de données cible. Au lieu de cela, le schéma converti est stocké
localement dans votre projet jusqu'à ce que vous soyez prêt à l'appliquer à la base de données cible. A
Version 1.0
101
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement de votre schéma converti en un fichier
l'aide de cette fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas
être convertis automatiquement pour votre moteur de base de données cible. Pour plus d'informations
sur les éléments qui ne peuvent pas être convertis automatiquement, consultez Création et utilisation
du rapport d'évaluation dans AWS Schema Conversion Tool (p. 95).
De manière facultative, l'outil peut enregistrer votre schéma converti en un fichier en tant que script
SQL avant d'appliquer le schéma à votre base de données cible. Vous pouvez également faire que
l'outil applique le schéma converti directement à votre base de données cible.
Enregistrement de votre schéma converti en un
fichier
Vous pouvez enregistrer votre schéma converti sous forme de scripts SQL dans un fichier texte. Grâce
à cette approche, vous pouvez modifier les scripts SQL générés à partir d'AWS Schema Conversion
Tool pour les éléments que l'outil ne peut pas convertir automatiquement. Vous pouvez ensuite
exécuter vos scripts mis à jour sur votre base de données cible pour appliquer votre schéma converti à
votre base de données cible.
Pour enregistrer votre schéma converti sous forme de scripts SQL, ouvrez le menu contextuel (clic
droit) pour l'élément de schéma, puis choisissez Save as SQL, comme indiqué ci-dessous.
Application de votre schéma converti
Une fois que vous êtes prêt à appliquer votre schéma converti à votre base de données cible,
choisissez l'élément de schéma dans le volet droit du projet. Ouvrez le menu contextuel (clic droit) pour
l'élément de schéma, puis choisissez Apply to database, comme indiqué ci-dessous.
Version 1.0
102
AWS Schema Conversion Tool Guide de l'utilisateur
Schéma du kit d'extension
Schéma du kit d'extension
La première fois que vous appliquez votre schéma converti à votre instance de base de données cible,
AWS Schema Conversion Tool ajoute un schéma supplémentaire à cette dernière. Ce schéma met en
œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma
converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension.
Ne modifiez pas ce schéma ou vous risquez d'obtenir des résultats inattendus dans le schéma converti
écrit dans l'instance de base de données cible. Lorsque votre schéma est entièrement migré vers
l'instance de base de données cible et que vous n'avez plus besoin d'AWS Schema Conversion Tool,
vous pouvez supprimer le schéma de kit d'extension.
Le schéma de kit d'extension est nommé selon votre base de données source, comme suit :
• Greenplum : AWS_GREENPLUM_EXT
• Netezza : AWS_NETEZZA_EXT
• Oracle: AWS_ORACLE_EXT
• Teradata: AWS_TERADATA_EXT
Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et bibliothèques
Python pour entrepôts de données (p. 113).
Version 1.0
103
AWS Schema Conversion Tool Guide de l'utilisateur
Bibliothèques Python
Bibliothèques Python
Pour créer des fonctions personnalisées dans Amazon Redshift, vous utilisez le langage Python.
Utilisez le kit d'extension AWS Schema Conversion Tool pour installer des bibliothèques Python pour
votre base de données Amazon Redshift. Pour plus d'informations, consultez Kit d'extension AWS
Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 113).
Version 1.0
104
AWS Schema Conversion Tool Guide de l'utilisateur
Avant de commencer
Optimisation d'Amazon Redshift à
l'aide d'AWS Schema Conversion
Tool
Vous pouvez utiliser AWS Schema Conversion Tool pour optimiser votre base de données Amazon
Redshift. Lors de l'utilisation de votre base de données Amazon Redshift comme source et d'une
base de données Amazon Redshift de test comme cible, AWS Schema Conversion Tool recommande
d'avoir recours à des clés de tri et de distribution pour optimiser votre base de données.
Avant de commencer
Presque toutes les tâches que vous exécutez avec AWS Schema Conversion Tool commencent par
les mêmes trois étapes. Effectuez les étapes suivantes avant d'optimiser votre base de données
Amazon Redshift :
1. Créez un projet AWS Schema Conversion Tool Pour plus d'informations, consultez Création d'un
projet AWS Schema Conversion Tool (p. 11).
2. Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion à
une base de données source Amazon Redshift avec AWS Schema Conversion Tool (p. 44).
3. Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Connexion à
votre base de données cible (p. 12).
Important
N'utilisez pas le même cluster pour la source et la cible de l'optimisation.
Avant d'optimiser la base de données Amazon Redshift, vous devez également choisir vos stratégies
d'optimisation. Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à
utiliser avec AWS Schema Conversion Tool (p. 85).
Version 1.0
105
AWS Schema Conversion Tool Guide de l'utilisateur
Optimisation de la base de données Amazon Redshift
Optimisation de la base de données Amazon
Redshift
Utilisez la procédure suivante pour optimiser votre base de données Amazon Redshift.
Pour optimiser votre base de données Amazon Redshift
1.
Prenez un instantané manuel de votre cluster Amazon Redshift en guise de sauvegarde. Vous
pouvez le supprimer une fois que vous avez terminé l'optimisation du cluster Amazon Redshift
et que vous avez testé toutes les modifications effectuées. Pour plus d'informations, consultez
Instantanés Amazon Redshift.
2.
Choisissez l'objet de schéma à convertir dans le volet gauche de votre projet. Ouvrez le menu
contextuel (clic droit) de l'objet, puis choisissez Collect Statistics.
AWS Schema Conversion Tool utilise les statistiques pour faire des suggestions pour des clés de
tri et de distribution.
3.
Choisissez l'objet de schéma à optimiser dans le volet gauche de votre projet. Ouvrez le menu
contextuel (clic droit) de l'objet, puis choisissez Run Optimization.
AWS Schema Conversion Tool fait des suggestions pour les clés de tri et de distribution.
4.
Pour passer en revue les suggestions, développez le nœud de tables sous votre schéma dans
le volet gauche de votre projet, puis choisissez une table. Choisissez l'onglet Key Management
comme illustré ci-après.
Le volet de gauche contient des suggestions de clés et comprend l'évaluation de confiance pour
chaque suggestion. Vous pouvez choisir une des suggestions, ou vous pouvez personnaliser la
clé en l'éditant dans le volet droit.
Version 1.0
106
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
5.
Vous pouvez créer un rapport contenant les suggestions d'optimisation. Pour créer le rapport,
procédez comme suit :
a.
b.
Choisissez l'objet de schéma que vous avez optimisé dans le volet gauche de votre projet.
Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report.
Le rapport s'ouvre dans la fenêtre principale et l'onglet Summary s'affiche. Le nombre d'objets
comportant des suggestions d'optimisation s'affiche dans le rapport.
Choisissez l'onglet Action Items pour afficher les suggestions de clés sous forme de rapport.
c.
6.
Vous pouvez enregistrer une copie locale du rapport d'optimisation dans un fichier PDF ou
un fichier de valeurs séparées par des virgules (CSV). Le fichier CSV contient uniquement
des informations sur l'élément d'action. Le fichier PDF contient à la fois le récapitulatif et les
informations sur les éléments d'action.
Pour appliquer les optimisations proposées pour votre base de données, choisissez un objet dans
le volet droit de votre projet. Ouvrez le menu contextuel (clic droit) de l'objet, puis choisissez Apply
to database.
Rubriques connexes
• Choix de la meilleure clé de tri
• Choisir le meilleur style de distribution
• Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema
Conversion Tool (p. 83)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
107
AWS Schema Conversion Tool Guide de l'utilisateur
Avant de commencer
Utilisation
d'AWS Database Migration Service
avec AWS Schema Conversion Tool
AWS Database Migration Service (AWS DMS) est un service web qui vous permet de migrer les
données vers et depuis la plupart des bases de données commerciales et open source largement
utilisées. Vous pouvez utiliser AWS Schema Conversion Tool pour créer des points de terminaison
et des tâches AWS DMS. Vous pouvez exécuter et surveiller les tâches à partir d'AWS Schema
Conversion Tool. Pour plus d'informations sur AWS DMS, consultez la section Présentation d'AWS
Database Migration Service dans le manuel de l'utilisateur AWS DMS.
Avant de commencer
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en
route avec AWS Schema Conversion Tool (p. 10).
Comme AWS DMS interagit avec le schéma cible, vous devez convertir votre schéma de base de
données avant l'intégration à AWS DMS. Pour convertir votre schéma de base de données, consultez
Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion
Tool (p. 66).
Informations d'identification pour l'utilisation
d'AWS DMS
Pour créer des tâches AWS DMS, AWS Schema Conversion Tool doit se connecter à AWS DMS avec
vos informations d'identification. Vous pouvez utiliser des informations d'identification que vous avez
Version 1.0
108
AWS Schema Conversion Tool Guide de l'utilisateur
Création d'une tâche
précédemment stockées dans les paramètres globaux de l'application et associées au projet. Pour plus
d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 123).
Création d'une tâche AWS DMS
Une fois que vous avez utilisé AWS Schema Conversion Tool pour convertir votre schéma de base
de données, vous pouvez créer des tâches AWS DMS. Utilisez la procédure suivante pour créer une
tâche AWS DMS.
Pour créer une tâche AWS DMS
1.
Dans AWS Schema Conversion Tool, choisissez un objet de base de données ou de schéma
dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) de l'objet, puis
choisissez Create DMS Task.
La boîte de dialogue Create DMS task s'affiche.
2.
Sous Task name, entrez un nom pour votre tâche.
3.
Sous Replication instance, sélectionnez l'instance de réplication que vous souhaitez utiliser. Pour
plus d'informations, consultez Instances de réplication pour AWS Database Migration Service.
4.
Sous Source endpoint, choisissez un point de terminaison existant. Vous pouvez également
choisir Create new pour créer un point de terminaison. Lorsque vous choisissez Create new, un
nouveau point de terminaison est créé pour vous à l'aide des informations de connexion actuelles.
Vous pouvez vérifier les informations de connexion et nommer le point de terminaison avant sa
création.
5.
Sous Target endpoint, choisissez un point de terminaison existant. Vous pouvez également choisir
Create new pour créer un point de terminaison. Lorsque vous choisissez Create new, un nouveau
point de terminaison est créé pour vous à l'aide des informations de connexion actuelles. Vous
pouvez vérifier les informations de connexion et nommer le point de terminaison avant sa création.
Sous Inclure les colonnes LOB dans la réplication, choisissez Ne pas inclure les colonnes LOB,
Mode LOB complet ou Mode LOB limité. Pour plus d'informations, consultez Prise en charge de
LOB pour les bases de données source.
Sous Taille de bloc du LOB (ko), entrez la taille de bloc du LOB en kilo-octets.
Sélectionnez Activer la journalisation pour activer la journalisation pour la tâche.
6.
7.
8.
9. Choisissez Preview JSON pour afficher le fichier JSON créé pour la tâche.
10. Choisissez Save JSON pour enregistrer une copie du ficher JSON créé pour la tâche.
11. Une fois que vous avez configuré votre tâche, choisissez Créer pour enregistrer la tâche. Vous
pouvez également choisir Fermer pour annuler vos modifications.
Exécution et surveillance d'une tâche AWS DMS
Après avoir créé des tâches AWS DMS, vous pouvez les exécuter et les surveiller dans la vue de
migration des données. Utilisez la procédure suivante pour exécuter et surveiller vos tâches AWS
DMS.
Pour exécuter et surveiller vos tâches AWS DMS
1.
2.
Ouvrez le menu View, puis choisissez Data Migration View.
Dans la liste des tâches, choisissez celle que vous souhaitez exécuter. Choisissez Start pour
exécuter la tâche. La colonne Status affiche l'état de la tâche.
3.
Lors de l'exécution d'une tâche, vous pouvez choisir les actions suivantes :
• Choisissez Stop pour arrêter une tâche.
Version 1.0
109
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
• Choisissez Resume pour reprendre une tâche.
4.
5.
6.
Choisissez Delete pour supprimer une tâche.
Choisissez Refresh pour actualiser la liste des tâches. La colonne Status affiche l'état actuel de
chaque tâche.
Choisissez Show Log pour afficher le journal des tâches. Si vous avez sélectionné Enable logging
lors de la création de la tâche, le journal des tâches affiche les informations du journal.
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Utilisation des tâches de réplication AWS Database Migration Service
• Surveillance des tâches AWS Database Migration Service
Version 1.0
110
AWS Schema Conversion Tool Guide de l'utilisateur
Kit d'extension et services AWS pour bases de données
Utilisation du kit d'extension AWS
Schema Conversion Tool
Vous trouverez ci-après des informations sur le kit d'extension AWS Schema Conversion Tool.
Topics
• Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 111)
• Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de
données (p. 113)
Kit d'extension AWS Schema Conversion Tool et
services AWS pour bases de données
Lorsque vous convertissez votre schéma de base de données, AWS Schema Conversion Tool ajoute
un schéma supplémentaire à votre instance de base de données cible. Ce schéma met en œuvre les
fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti
dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension.
Le schéma de kit d'extension est nommé selon votre base de données source, comme suit :
• Microsoft SQL Server: AWS_SQLSERVER_EXT
• MySQL: AWS_MYSQL_EXT
• Oracle: AWS_ORACLE_EXT
• PostgreSQL: AWS_POSTGRESQL_EXT
Dans les deux cas suivants, vous pouvez installer le kit d'extension manuellement :
• Vous avez supprimé accidentellement le schéma de base de données du kit d'extension de votre
base de données cible.
• Vous voulez utiliser des services AWS pour émuler les fonctions de base de données.
Version 1.0
111
AWS Schema Conversion Tool Guide de l'utilisateur
Utilisation de services AWS pour émuler
les fonctions de base de données
Utilisation de services AWS pour émuler les
fonctions de base de données
Dans certains cas, les fonctions de base de données ne peuvent pas être converties en fonctions
Amazon Relational Database Service (Amazon RDS) équivalentes. Quelques exemples sont les
appels d'envoi d'e-mail Oracle qui utilisent UTL_SMTP et les tâches Microsoft SQL Server qui utilisent
un planificateur de tâches. Si vous hébergez et gérez vous-même une base de données sur la
plateforme Amazon Elastic Compute Cloud (Amazon EC2), vous pouvez imiter ces fonctionnalités en
remplaçant les services AWS par ces dernières.
L'assistant du kit d'extension AWS Schema Conversion Tool vous permet d'installer, de créer et de
configurer des fonctions AWS Lambda afin d'émuler les fonctions d'envoi d'e-mail, de planification des
tâches ainsi que d'autres fonctions.
Avant de commencer
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en
route avec AWS Schema Conversion Tool (p. 10).
Avant d'installer le kit d'extension, vous devez convertir votre schéma de base de données. Pour plus
d'informations, consultez Conversion de schémas de base de données pour Amazon RDS à l'aide
d'AWS Schema Conversion Tool (p. 66).
Application du kit d'extension
Utilisez la procédure suivante pour appliquer le kit d'extension.
Important
Les fonctions d'émulation de service AWS sont uniquement prises en charge pour les bases
de données installées et auto-gérées sur la plateforme Amazon EC2. N'installez pas les
fonctions d'émulation de service si votre base de données cible se trouve sur une instance de
base de données Amazon RDS.
Pour appliquer le kit d'extension
1.
Dans AWS Schema Conversion Tool, dans l'arborescence de base de données cible, ouvrez le
menu contexte (clic droit) et choisissez Apply Extension Pack.
Version 1.0
112
AWS Schema Conversion Tool Guide de l'utilisateur
Kit d'extension et bibliothèques
Python pour entrepôts de données
L'assistant Kit d'extension s'affiche.
2.
Lisez la page d'accueil, puis choisissez Next.
3.
Dans la page AWS Services Settings, procédez comme suit :
• Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez
Skip this step for now, puis Next.
• Si vous installez des services AWS, entrez les informations d'identification requises pour vous
connecter à votre compte AWS. Vous pouvez utiliser vos informations d'identification AWS
Command Line Interface (AWS CLI) si vous avez installé l'interface de ligne de commande
(AWS CLI). Vous pouvez également utiliser les informations d'identification précédemment
stockées dans un profil dans les paramètres globaux de l'application et associées au projet.
Choisissez Navigate to Project Settings pour associer un autre profil au projet, si nécessaire.
Choisissez Global Settings pour créer un profil, si nécessaire. Pour plus d'informations,
consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 123).
4.
Dans la page Email Sending Service, procédez comme suit :
• Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez
Skip this step for now, puis Next.
• Si vous installez des services AWS et qu'il existe déjà une fonction AWS Lambda, vous pouvez
la fournir. Sinon l'assistant la crée à votre place. Lorsque vous avez terminé, cliquez sur Next.
5.
Dans la page Job Emulation Service, procédez comme suit :
• Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez
Skip this step for now, puis Next.
• Si vous installez des services AWS et qu'il existe déjà une fonction AWS Lambda, vous pouvez
la fournir. Sinon l'assistant la crée à votre place. Lorsque vous avez terminé, cliquez sur Next.
6.
Dans la page Functions Emulation, choisissez Create Extension Pack. Des messages affichent
l'état des opérations du kit d'extension. Lorsque vous avez terminé, choisissez Finish.
Kit d'extension AWS Schema Conversion Tool et
bibliothèques Python pour entrepôts de données
Lorsque vous convertissez votre schéma d'entrepôt de données, AWS Schema Conversion Tool
ajoute un schéma supplémentaire à l'instance de base de données cible. Ce schéma met en œuvre
les fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti
dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension.
Le schéma de kit d'extension est nommé selon votre base de données source, comme suit :
Version 1.0
113
AWS Schema Conversion Tool Guide de l'utilisateur
Utilisation de services AWS pour télécharger
des bibliothèques Python personnalisées
• Greenplum : AWS_GREENPLUM_EXT
• Netezza : AWS_NETEZZA_EXT
• Oracle: AWS_ORACLE_EXT
• Teradata: AWS_TERADATA_EXT
Dans les deux cas suivants, vous pouvez installer le kit d'extension manuellement :
• Vous avez supprimé accidentellement le schéma de base de données du kit d'extension de votre
base de données cible.
• Vous voulez télécharger des bibliothèques Python personnalisées pour émuler des fonctions de
base de données.
Utilisation de services AWS pour télécharger des
bibliothèques Python personnalisées
Dans certains cas, les fonctions de base de données source ne peuvent pas être converties en
fonctions Amazon Redshift équivalentes. AWS Schema Conversion Tool contient une bibliothèque
Python personnalisée qui émule quelques fonctions de base de données source sur Amazon Redshift.
L'assistant du kit d'extension AWS Schema Conversion Tool vous permet d'installer la bibliothèque
Python personnalisée.
Avant de commencer
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en
route avec AWS Schema Conversion Tool (p. 10).
Avant d'installer le kit d'extension, vous devez convertir votre schéma de base de données. Pour
plus d'informations, consultez Conversion du schéma d'entrepôt de données en Amazon Redshift en
utilisant AWS Schema Conversion Tool (p. 83).
Application du kit d'extension
Utilisez la procédure suivante pour appliquer le kit d'extension.
Pour appliquer le kit d'extension
1.
Dans AWS Schema Conversion Tool, dans l'arborescence de base de données cible, ouvrez le
menu contexte (clic droit) et choisissez Apply Extension Pack.
Version 1.0
114
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
2.
L'assistant Kit d'extension s'affiche.
Lisez la page d'accueil, puis choisissez Next.
3.
Dans la page AWS Services Settings, procédez comme suit :
• Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez
Skip this step for now, puis Next.
4.
• Si vous téléchargez la bibliothèque Python, fournissez les informations d'identification requises
pour vous connecter à votre compte AWS. Vous pouvez utiliser vos informations d'identification
AWS Command Line Interface (AWS CLI) si vous avez installé l'interface de ligne de commande
(AWS CLI). Vous pouvez également utiliser les informations d'identification précédemment
stockées dans un profil dans les paramètres globaux de l'application et associées au projet.
Choisissez Navigate to Project Settings pour associer un autre profil au projet, si nécessaire.
Choisissez Global Settings pour créer un profil, si nécessaire. Pour plus d'informations,
consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 123).
Dans la page Python Library Upload, procédez comme suit :
• Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez
Skip this step for now, puis Next.
• Si vous téléchargez la bibliothèque Python, indiquez le chemin d'accès Amazon S3 puis
choisissez Upload Library to S3. Lorsque vous avez terminé, cliquez sur Next.
5.
Dans la page Functions Emulation, choisissez Create Extension Pack. Des messages affichent
l'état des opérations du kit d'extension. Lorsque vous avez terminé, choisissez Finish.
Rubriques connexes
• Prise en charge du langage Python pour les fonctions UDF
Version 1.0
115
AWS Schema Conversion Tool Guide de l'utilisateur
Avant de commencer
Conversion d'Application SQL en
utilisant AWS Schema Conversion
Tool
Lorsque vous convertissez votre schéma de base de données à partir d'un moteur à un autre, vous
devez également mettre à jour le code SQL dans vos applications pour interagir avec le nouveau
moteur de base de données au lieu de l'ancien. Vous pouvez aussi utiliser AWS Schema Conversion
Tool pour convertir le code SQL dans votre code d'application C++, C#, Java ou autre. Vous pouvez
afficher, analyser, modifier et enregistrer le code SQL converti.
Avant de commencer
Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les
trois étapes suivantes :
1. Créez un projet AWS Schema Conversion Tool
2. Connectez-vous à votre base de données source.
3. Connectez-vous à votre base de données cible.
Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en
route avec AWS Schema Conversion Tool (p. 10).
Etant donné que le code SQL dans votre application interagit avec votre schéma de base de données,
vous devez convertir votre schéma de base de données avant de pouvoir convertir votre SQL
d'application. Pour convertir votre schéma de base de données, utilisez les procédures décrites dans
l'une des rubriques suivantes :
• Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema
Conversion Tool (p. 66)
Version 1.0
116
AWS Schema Conversion Tool Guide de l'utilisateur
Présentation de la conversion de code SQL d'application
• Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema
Conversion Tool (p. 83)
Présentation de la conversion de code SQL
d'application
Pour convertir le code SQL dans votre application, vous effectuez les étapes détaillées suivantes :
• Create an application conversion project – Le projet de conversion d'application est un enfant du
projet de conversion du schéma de base de données. Chaque projet de conversion de schéma de
base de données peut avoir un ou plusieurs projets de conversion d'application enfant.
Pour plus d'informations, consultez Création de projets de conversion d'application dans AWS
Schema Conversion Tool (p. 117).
• Analyze and convert your SQL code – AWS Schema Conversion Tool analyse votre application,
extrait le code SQL et crée une version locale du SQL converti pour vous permettre de le vérifier et
le modifier. L'outil ne change pas le code de votre application jusqu'à ce que vous soyez prêt.
Pour plus d'informations, consultez Analyse et conversion de votre code de SQL à l'aide d'AWS
Schema Conversion Tool (p. 120).
• Create an application assessment report – Le rapport d'évaluation d'application fournit des
informations importantes à propos de la conversion du code SQL d'application à partir de votre
schéma de base de données source vers votre schéma de base de données cible.
Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation (p. 121).
• Edit, apply changes to, and save your converted SQL code – Le rapport d'évaluation inclut une liste
des éléments de code SQL qui ne peuvent pas être convertis automatiquement. Pour ces éléments,
vous pouvez modifier le code SQL manuellement pour exécuter la conversion.
Pour plus d'informations, consultez Modification et enregistrement de votre Code SQL converti avec
AWS Schema Conversion Tool (p. 122).
Création de projets de conversion d'application
dans AWS Schema Conversion Tool
Le projet de conversion d'application est un enfant du projet de conversion du schéma de base de
données. Chaque projet de conversion de schéma de base de données peut avoir un ou plusieurs
projets de conversion d'application enfant. Utilisez la procédure suivante pour créer un projet de
conversion d'application.
Pour créer un projet de conversion d'application
1.
Dans AWS Schema Conversion Tool, choisissez New Application du menu Applications.
Version 1.0
117
AWS Schema Conversion Tool Guide de l'utilisateur
Création de projets de conversion d'applications
La boîte de dialogue New application conversion project s'affiche.
2.
Ajoutez les informations du projet suivantes.
Pour ce paramètre
Procédez comme suit
Application Project Name
Saisissez un nom pour votre projet de conversion d'application.
Chaque projet de conversion du schéma de base de données
peut avoir un ou plusieurs projets de conversion d'application
enfant. Choisissez par conséquent un nom logique si vous
ajoutez plus de projets plus tard.
Emplacement
Saisissez l'emplacement du code source pour votre application.
Project language
Choisissez l'une des méthodes suivantes :
• JAVA
Version 1.0
118
AWS Schema Conversion Tool Guide de l'utilisateur
Création de projets de conversion d'applications
Pour ce paramètre
Procédez comme suit
• C++
• C#
• Tous
Style de paramètre SQL pour
la base de données cible
Choisissez l'une des méthodes suivantes :
• Same as in source
• Positional (?)
• Indexed (:1)
• Indexed ($1)
• Named (@name)
• Named (:name)
Select source database
schema
3.
Dans l'arborescence source, sélectionnez le schéma utilisé par
votre code d'application.
Choisissez OK pour créer votre projet de conversion d'application.
La fenêtre de projet s'ouvre.
4.
La première fois que vous créez un projet de conversion d'application, la fenêtre de projet s'ouvre
automatiquement. Pour ouvrir un projet de conversion d'application existant, sélectionnez le nœud
du projet dans l'arborescence source, ouvrez le menu contextuel (clic droit) et choisissez Manage
application.
Version 1.0
119
AWS Schema Conversion Tool Guide de l'utilisateur
Analyse et conversion de votre code SQL
5.
Vous pouvez ajouter des projets de conversion d'application supplémentaires en choisissant
New Application dans le menu Applications, ou en sélectionnant le nœud Applications dans
l'arborescence source, en ouvrant le menu contextuel (clic droit), puis en choisissant Add
application.
Analyse et conversion de votre code de SQL à
l'aide d'AWS Schema Conversion Tool
Utilisez la procédure suivante pour analyser et convertir votre code SQL.
Pour analyser et convertir votre code SQL
1.
Dans le projet de conversion d'application, sélectionnez Analyze.
AWS Schema Conversion Tool analyse votre code d'application et extrait le code SQL. Une liste
de tous les codes SQL extraits s'affiche dans le volet Parsed SQL Scripts au bas de la fenêtre.
L'élément sélectionné dans la liste apparaît également dans le volet Extracted SQL script.
2.
Vous pouvez analyser chaque élément de code SQL dans la liste et lorsque vous êtes prêt,
cliquez sur Convert pour convertir le SQL en SQL pour votre base de données cible.
Note
Vous pouvez modifier le code converti SQL dans une procédure ultérieure.
Version 1.0
120
AWS Schema Conversion Tool Guide de l'utilisateur
Création et utilisation du rapport d'évaluation
Création et utilisation du rapport d'évaluation
Le rapport d'évaluation d'application fournit des informations importantes à propos de la conversion
du code SQL d'application à partir de votre schéma de base de données source à votre schéma de
base de données cible. Le rapport détaille tout le code SQL extrait de l'application, tout le code SQL
converti et les éléments d'action pour SQL qui ne peut pas être converti. Le rapport inclut également
des estimations de la quantité d'effort qu'il faudra pour convertir manuellement le code SQL qui ne peut
pas être converti automatiquement.
Création d'un rapport d'évaluation d'application
Utilisez la procédure suivante pour créer un rapport d'évaluation d'application.
Pour créer un rapport d'évaluation d'application
1.
Dans la fenêtre de projet de conversion d'application, choisissez Create Report dans le menu
Actions.
Le rapport est créé et s'affiche dans la fenêtre de projet de conversion d'application.
2.
Vérifiez l'onglet Summary.
L'onglet Summary illustré ci-dessous, affiche les informations résumées du rapport d'évaluation
d'application. Il indique les éléments du code SQL qui ont été convertis automatiquement et ceux
qui ne l'ont pas été.
Version 1.0
121
AWS Schema Conversion Tool Guide de l'utilisateur
Modification et enregistrement de votre code SQL converti
3.
Choisissez l'onglet SQL Conversion Actions et vérifiez les informations.
L'onglet SQL Conversion Actions contient une liste d'éléments de code SQL qui ne peuvent
pas être converties automatiquement. Il existe également des recommandations sur la manière
de convertir le code SQL manuellement. Vous modifiez votre code SQL converti à une étape
ultérieure. Pour plus d'informations, consultez Modification et enregistrement de votre Code SQL
converti avec AWS Schema Conversion Tool (p. 122).
4.
Vous pouvez enregistrer une copie locale du rapport d'évaluation d'application dans un fichier
PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier PDF contient à la fois le
récapitulatif et les informations sur les éléments d'action. Le fichier CSV contient uniquement des
informations sur l'élément d'action.
Modification et enregistrement de votre Code SQL
converti avec AWS Schema Conversion Tool
Le rapport d'évaluation inclut une liste des éléments de code SQL qui ne peuvent pas être convertis
automatiquement. Pour chaque élément qui ne peut pas être converti, il y a un élément d'action dans
l'onglet SQL Conversion Actions. Pour ces éléments, vous pouvez modifier le code SQL manuellement
pour exécuter la conversion.
Utilisez la procédure suivante pour modifier votre code SQL converti, appliquer les modifications et les
enregistrer.
Pour modifier, appliquer des modifications à votre code converti de SQL et l'enregistrer
1.
2.
3.
Modifiez votre code SQL converti directement dans le volet Target SQL script. S'il n'y a aucun
code converti affiché, vous pouvez cliquer dans le volet et commencer à taper.
Une fois que vous avez terminé de modifier votre code SQL converti, choisissez Apply. A ce
stade, les modifications sont enregistrées dans la mémoire, mais pas encore écrites dans votre
fichier.
Choisissez Save pour enregistrer vos modifications dans votre fichier.
Important
Lorsque vous choisissez Save, vous remplacez votre fichier d'origine. Faites une copie
de votre fichier d'origine avant d'enregistrer afin de conserver un enregistrement de votre
code d'application d'origine.
Version 1.0
122
AWS Schema Conversion Tool Guide de l'utilisateur
Stockage d'informations d'identification AWS
Stockage de profils AWS dans AWS
Schema Conversion Tool
Vous pouvez stocker vos informations d'identification AWS dans AWS Schema Conversion Tool. AWS
Schema Conversion Tool se sert de vos informations d'identification lorsque vous utilisez des fonctions
qui s'intègrent aux services AWS. Par exemple, AWS Schema Conversion Tool s'intègre à Amazon S3,
AWS Lambda et AWS Database Migration Service.
AWS Schema Conversion Tool demande vos informations d'identification AWS lorsque vous accédez
à une fonction qui requiert ces informations. Vous pouvez stocker vos informations d'identification dans
les paramètres globaux de l'application. Ainsi, lorsque AWS Schema Conversion Tool les demande,
vous pouvez sélectionner celles déjà enregistrées.
Vous pouvez stocker plusieurs ensembles d'informations d'identification AWS dans les paramètres
globaux de l'application. Par exemple, il est possible de stocker un ensemble d'informations
d'identification que vous utilisez dans les scénarios de test et un second, utilisé dans les scénarios
de production. Vous pouvez également stocker des informations d'identification différentes selon les
régions AWS.
Stockage d'informations d'identification AWS
Utilisez la procédure suivante pour stocker les informations d'identification AWS de manière globale.
Pour stocker les informations d'identification AWS
1.
Ouvrez le menu Settings, puis choisissez Global Settings. La boîte de dialogue Global settings
s'affiche avec l'onglet AWS Service Profiles sélectionné.
2.
Choisissez Add new AWS Service Profile. Une nouvelle ligne est ajoutée à la liste de profils.
3.
Choisissez l'icône de modification pour configurer votre profil.
4.
a.
Sous Profile name, entrez un nom pour le profil.
b.
Sous AWS Access Key, entrez votre clé d'accès AWS.
c.
Sous AWS Secret Key, entrez votre clé secrète AWS.
d.
Sous Region, choisissez une région pour le profil.
Une fois que vous avez configuré votre profil, choisissez Save pour l'enregistrer. Vous pouvez
également choisir Cancel pour annuler vos modifications.
Version 1.0
123
AWS Schema Conversion Tool Guide de l'utilisateur
Définition du profil par défaut pour un projet
5.
Choisissez Close pour fermer la boîte de dialogue Global Settings.
Définition du profil par défaut pour un projet
Vous pouvez définir le profil par défaut pour un projet AWS Schema Conversion Tool. Vous associez
ainsi au projet les informations d'identification AWS stockées dans le profil. Le projet étant ouvert,
procédez comme suit pour définir le profil par défaut.
Pour définir le profil par défaut pour un projet
1.
Ouvrez le menu Settings, puis choisissez Project Settings. La boîte de dialogue Current project
settings s'affiche.
2.
Choisissez l'onglet Project Environment.
3.
4.
Sous AWS Service Profile, choisissez le profil que vous souhaitez associer au projet.
Choisissez OK pour fermer la boîte de dialogue Current project settings. Vous pouvez également
choisir Cancel pour annuler vos modifications.
Rubriques connexes
• Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 111)
• Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de
données (p. 113)
• Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 108)
Version 1.0
124
AWS Schema Conversion Tool Guide de l'utilisateur
Options générales de gestion et
de performances de mémoire
Bonnes pratiques pour AWS
Schema Conversion Tool
Ci-dessous, vous pouvez trouver des informations sur les bonnes pratiques et options pour utiliser
AWS Schema Conversion Tool.
Options générales de gestion et de performances
de mémoire
Vous pouvez configurer AWS Schema Conversion Tool avec divers paramètres de performances de
mémoire. L'augmentation de la mémoire accélère les performances de votre conversion mais utilise
plus de ressources mémoire sur votre ordinateur de bureau.
Pour définir votre option de gestion de mémoire, choisissez Global Settings dans le menu Settings et
choisissez l'onglet Performance and Memory. Choisissez l'une des options suivantes :
• Fast conversion, but large memory consumption – Cette option optimise la vitesse de la conversion,
mais peut nécessiter plus de mémoire pour le cache de référence d'objet.
• Low memory consumption, but slower conversion – Cette option réduit la quantité de mémoire
utilisée, mais entraîne une conversion plus lente. Utilisez cette option si votre bureau dispose d'une
quantité limitée de mémoire.
• Balance speed with memory consumption – Cette option offre un compromis entre l'utilisation de la
mémoire et la vitesse de conversion.
Configuration de mémoire supplémentaire
Pour convertir des schémas de base de données volumineux, par exemple une base de données
comportant 3 500 procédures stockées, vous pouvez configurer la quantité de mémoire disponible
pour AWS Schema Conversion Tool.
Pour modifier la quantité de mémoire utilisée par AWS Schema Conversion Tool
1.
Recherchez le dossier où se trouve le fichier de configuration (C:\Program Files\AWS Schema
Conversion Tool\App).
Version 1.0
125
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
2.
Ouvrez le fichier de configuration AWS Schema Conversion Tool.cfg dans le Bloc-notes ou
votre éditeur de texte préféré.
3.
Modifiez la section JVMUserOptions afin de définir la quantité de mémoire minimale et maximale
disponible. L'exemple suivant définit les quantités minimale et maximale de mémoire sur 4 Go et
40 Go, respectivement.
[JVMUserOptions]
-Xmx48960m
-Xms4096m
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
126
AWS Schema Conversion Tool Guide de l'utilisateur
Je ne peux pas charger d'objets à partir
d'une base de données source Oracle
Résolution des problèmes pour
AWS Schema Conversion Tool
Ci-dessous, vous pouvez trouver des informations sur le dépannage des problèmes avec AWS
Schema Conversion Tool.
Je ne peux pas charger d'objets à partir d'une
base de données source Oracle
Lorsque vous tentez de charger le schéma à partir d'une base de données Oracle, l'une des erreurs
suivantes peu survenir.
Cannot load objects tree.
ORA-00942: table or view does not exist
Ces erreurs se produisent car l'utilisateur dont vous avez utilisé l'ID pour vous connecter à la base de
données Oracle n'a pas les autorisations nécessaires pour lire le schéma, comme requis par AWS
Schema Conversion Tool.
Vous pouvez résoudre le problème en accordant à l'utilisateur l'autorisation select_catalog_role,
ainsi que une autorisation pour n'importe quel dictionnaire dans la base de données. Ces autorisations
permettent l'accès en lecture seule pour les vues et les tables système qui est requis par AWS
Schema Conversion Tool. L'exemple suivant crée un ID d'utilisateur nommé min_privs et accorde
à l'utilisateur avec cet ID les autorisations minimales requises pour convertir le schéma à partir d'une
base de données source Oracle.
create user min_privs identified by min_privs;
grant connect to min_privs;
grant select_catalog_role to min_privs;
grant select any dictionary to min_privs;
Version 1.0
127
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
128
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Raccourcis clavier pour AWS
Schema Conversion Tool
Voici les raccourcis clavier que vous pouvez utiliser avec AWS Schema Conversion Tool.
Raccourci clavier
Description
Ctrl+N
Crée un projet.
Ctrl+O
Ouvre un projet existant.
Ctrl+S
Enregistre un projet ouvert.
Ctrl+W
Crée un nouveau projet à l'aide de l'assistant.
Ctrl+L
Etablit une connexion à la base de données source.
Ctrl+R
Se connecte à la base de données cible.
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
129
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en charge
de Microsoft SQL Server vers MySQL
Informations de référence sur AWS
Schema Conversion Tool
Vous trouverez ci-dessous des informations de référence sur AWS Schema Conversion Tool :
• Conversion de schéma prise en charge de MySQL vers PostgreSQL (p. 205)
• Conversion de schéma prise en charge d'Oracle vers MySQL (p. 236)
• Conversion de schéma prise en charge d'Oracle vers PostgreSQL (p. 266)
• Conversion de schéma prise en charge de PostgreSQL vers MySQL (p. 205)
• Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL (p. 130)
• Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL (p. 150)
Conversion de schéma prise en charge de
Microsoft SQL Server vers MySQL
Les sections suivantes dressent la liste des éléments de schéma de Microsoft SQL Server et indiquent
s'ils sont pris en charge dans le cadre d'une conversion automatique vers MySQL à l'aide d'AWS
Schema Conversion Tool.
Rubriques
• Instructions (p. 131)
• Procédures (p. 134)
• Contrôle de flux (p. 135)
• Fonctions (p. 135)
• Opérateurs (p. 143)
• Transactions (p. 145)
• Types de données (p. 146)
• Langage de définition de données (DDL) (p. 148)
• Curseurs (p. 149)
Version 1.0
130
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
• Rubriques connexes (p. 150)
Instructions
Topics
• SELECT (p. 131)
• INSERT (p. 132)
• UPDATE (p. 132)
• DELETE (p. 133)
SELECT
Clause
Conversion Détails
automatique
WITH
Non
UNION
Oui
EXCEPT | INTERSECT
Non
ALL | DISTINCT
Oui
TOP
Partielle
<select_list>
Oui
INTO
Non
DE
Partielle
WHERE
Oui
GROUP BY
Partielle
HAVING
Oui
ORDER BY
Partielle
Essayez de convertir l'expression WITH(query) en sousrequête et utilisez-la dans une requête SELECT.
MySQL ne prend pas en charge TOP avec les options
PERCENT ou WITH TIES. Essayez d'utiliser l'option
LIMIT ou procédez à une conversion manuelle.
MySQL ne prend pas en charge les prédicats CONTAINS
et FREETEXT dans la condition de recherche de la
clause FROM.
MySQL ne prend pas en charge ORDER BY avec les
options ROLLUP, CUBE et GROUPING SETS. Essayez
de créer une procédure stockée pour remplacer la
requête.
MySQL ne prend pas en charge ORDER BY avec les
options OFFSET ou FETCH. Essayez de créer une
procédure stockée pour remplacer la requête.
MySQL ne prend pas en charge ORDER BY avec
l'option COLLATE. Vous devez utiliser les paramètres de
classement (COLLATION) qui ont été affectés pendant la
création de la base de données.
FOR
Non
OPTION
Non
Version 1.0
131
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
INSERT
Clause
Conversion Détails
automatique
WITH
Non
INSERT
Oui
TOP
Non
INTO
Oui
table_name
Oui
WITH
(<Table_Hint_Limited>)
Non
Utilisez les méthodes MySQL d'optimisation des
performances.
OUTPUT
Non
Créez un déclencheur pour les instructions INSERT de
la table, puis enregistrez les lignes insérées dans une
table temporaire. Après l'opération INSERT, vous pouvez
utiliser les lignes enregistrées dans la table temporaire.
Cette logique peut être placée dans une procédure
stockée.
VALUES
Oui
derived_table
Oui
execute_statement
Non
<dml_table_source >
Non
DEFAULT VALUES
Non
Essayez de convertir la requête WITH en sous-requête,
puis utilisez cette dernière dans la requête INSERT.
Obtenez un décompte de toutes les lignes, puis utilisez
l'expression suivante, où count_of_all_rows correspond
à votre nombre de lignes : percent_expression *
count_of_all_rows / 100
Créez une table temporaire, remplissez-la avec les
données à insérer, puis utilisez la table temporaire dans
la requête.
UPDATE
Clause
Conversion Détails
automatique
WITH
Non
Essayez de convertir la requête WITH en sous-requête,
puis utilisez cette dernière dans la requête UPDATE.
TOP
Partielle
MySQL ne prend pas en charge UPDATE avec
l'option PERCENT. Obtenez un décompte de toutes
les lignes, puis utilisez l'expression suivante, où
count_of_all_rows correspond à votre nombre de lignes :
percent_expression * count_of_all_rows / 100
WITH
(<Table_Hint_Limited>)
Non
Utilisez les méthodes MySQL d'optimisation des
performances.
SET
Non
Version 1.0
132
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion Détails
automatique
OUTPUT
Non
Créez un déclencheur pour les instructions UPDATE
de la table, puis enregistrez les lignes modifiées dans
une table temporaire. Après l'opération UPDATE, vous
pouvez utiliser les lignes enregistrées dans la table
temporaire. Cette logique peut être placée dans une
procédure stockée.
DE
Partielle
MySQL ne prend pas en charge une clause FROM. AWS
Schema Conversion Tool déplace <table-source> dans la
clause UPDATE.
WHERE
Oui
CURRENT OF
Non
GLOBAL
Non
OPTION
Non
Remplacez la clause CURRENT OF par une expression
constituée de conditions qui utilisent les champs de clé
unique de la table.
Note
MySQL ne prend pas en charge FILESTREAM DATA. Procédez à une conversion manuelle
pour mettre à jour les données dans le fichier du système de fichiers.
DELETE
Clause
Conversion Détails
automatique
WITH
Non
Essayez de convertir la requête WITH en sous-requête,
puis utilisez cette dernière dans la requête DELETE.
TOP
Partielle
MySQL ne prend pas en charge l'option PERCENT.
Une conversion manuelle est nécessaire. Obtenez
un décompte de toutes les lignes, puis utilisez
l'expression suivante, où count_of_all_rows correspond
à votre nombre de lignes : percent_expression *
count_of_all_rows / 100
DE
Oui
table_or_view_name
Oui
rowset_function_limited
Non
WITH
Non
MySQL ne prend pas en charge les indicateurs dans
les instructions DELETE. De ce fait, AWS Schema
Conversion Tool ignore les options sous la forme
WITH(Table_Hint_Limited). Utilisez les méthodes MySQL
d'optimisation des performances.
OUTPUT
Non
Créez un déclencheur pour les instructions DELETE de
la table, puis enregistrez les lignes supprimées dans
Version 1.0
133
AWS Schema Conversion Tool Guide de l'utilisateur
Procédures
Clause
Conversion Détails
automatique
une table temporaire. Après l'opération DELETE, vous
pouvez utiliser les lignes enregistrées dans la table
temporaire. Cette logique peut être placée dans une
procédure stockée.
WHERE
Oui
CURRENT OF
Non
GLOBAL
Non
OPTION
Non
Remplacez la clause CURRENT OF par une expression
constituée de conditions qui utilisent les champs de clé
unique de la table.
Procédures
Topics
• CREATE PROCEDURE (p. 134)
CREATE PROCEDURE
Clause
Conversion Détails
automatique
@paramètre
Oui
VARYING
Partielle
MySQL ne prend pas en charge les arguments de
procédure du type de données CURSOR. Changez
de logique business pour ne plus avoir à envoyer de
curseurs à une procédure stockée par l'intermédiaire
d'arguments.
OUT
OUTPUT
Partielle
READONLY
Partielle
WITH
Non
FOR REPLICATION
Non
AS BEGIN … END
Non
ENCRYPTION
Oui
RECOMPILE
Non
EXECUTE AS
Non
Version 1.0
134
AWS Schema Conversion Tool Guide de l'utilisateur
Contrôle de flux
Contrôle de flux
Clause
Conversion Détails
automatique
TRY…CATCH
Non
Essayez d'utiliser DECLARE HANDLER pour le bloc
d'émulation CATCH et l'opérateur SIGNAL SQLSTATE
pour émuler l'opérateur THROW.
WAITFOR
Non
Procédez à une conversion manuelle.
DECLARE
Non
Procédez à une conversion manuelle.
GOTO
Non
Corrigez votre code de façon à éliminer les opérateurs
GOTO, en utilisant des blocs BEGIN...END avec des
opérateurs LEAVE, REPEAT, UNTIL et WHILE.
BREAK
Oui
CONTINUE
Oui
IF…ELSE
Oui
RETURN
Non
WHILE
Oui
CASE
Oui
COALESCE
Oui
NULLIF
Oui
THROW
MySQL ne prend pas en charge le retour d'une valeur
en provenance d'une procédure à l'aide de l'instruction
RETURN. Pour retourner une valeur, utilisez le
paramètre OUT ou un jeu de résultats.
Fonctions
Topics
• Fonctions d'agrégation (p. 136)
• Fonctions de date et d'heure (p. 136)
• Fonctions mathématiques (p. 137)
• Fonctions de chaîne (p. 138)
• Fonctions de configuration (p. 139)
• Fonctions de conversion (p. 139)
• Fonctions de sécurité (p. 140)
• Fonctions système (p. 140)
• Fonctions logiques (p. 142)
• CREATE FUNCTION (p. 142)
• EXECUTE (p. 142)
Dans cette section, vous trouverez une liste des fonctions intégrées Microsoft SQL Server indiquant si
AWS Schema Conversion Tool assure une conversion automatique. Dans les cas où MySQL ne prend
pas en charge une fonction, envisagez de créer une fonction définie par l'utilisateur.
Version 1.0
135
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions d'agrégation
Fonction
Conversion Détails
automatique
AVG
Oui
COUNT
Oui
COUNT_BIG
Partielle
MIN
Oui
MAX
Oui
SUM
Oui
CHECKSUM_AGG
Non
STDEV
Partielle
MySQL ne prend pas en charge la fonction STDEV avec
la clause DISTINCT.
STDEVP
Partielle
MySQL ne prend pas en charge la fonction STDEVP
avec la clause DISTINCT.
GROUPING
Non
GROUPING_ID
Non
VAR
Partielle
MySQL ne prend pas en charge la fonction VAR avec la
clause DISTINCT.
VARP
Partielle
MySQL ne prend pas en charge la fonction VARP avec la
clause DISTINCT.
Fonctions de date et d'heure
Fonction
Conversion Détails
automatique
DATEADD
Partielle
MySQL ne prend pas en charge la fonction DATEADD
avec l'élément de date nanosecondes.
DATEDIFF
Partielle
MySQL ne prend pas en charge la fonction DATEDIFF
avec l'élément de date semaine, millisecondes ou
nanosecondes.
DATENAME
Partielle
MySQL ne prend pas en charge la fonction DATENAME
avec l'élément de date millisecondes, nanosecondes ou
TZoffset.
DATEPART
Partielle
MySQL ne prend pas en charge la fonction DATEPART
avec l'élément de date millisecondes, nanosecondes ou
TZoffset.
DAY
Partielle
GETDATE
Partielle
GETDATE + 1
Partielle
Version 1.0
136
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
GETUTCDATE
Partielle
MONTH
Partielle
YEAR
Partielle
DATETIMEOFFSETFROMPARTS
Non
ISDATE
Non
SWITCHOFFSET
Non
SYSDATETIMEOFFSET
Non
TODATETIMEOFFSET
Non
Fonctions mathématiques
Fonction
Conversion Détails
automatique
ABS
Oui
ACOS
Oui
ASIN
Oui
ATN2
Partielle
ATAN
Oui
CEILING
Oui
COS
Oui
COT
Oui
DEGREES
Oui
EXP
Oui
FLOOR
Oui
LOG10
Oui
LOG
Oui
PI
Oui
POWER
Oui
RADIANS
Oui
RAND
Oui
ROUND
Partielle
SIGN
Oui
MySQL ne prend pas en charge la fonction ROUND avec
l'argument de fonction.
Version 1.0
137
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
SIN
Oui
SQRT
Oui
SQUARE
Non
TAN
Oui
Fonctions de chaîne
Fonction
Conversion Détails
automatique
ASCII
Oui
CHAR
Oui
CHARINDEX
Non
CONCAT
Oui
DIFFERENCE
Non
FORMAT
Non
LEFT
Oui
LEN
Partielle
LOWER
Oui
LTRIM
Oui
NCHAR
Non
PATINDEX
Non
QUOTENAME
Partielle
REPLACE
Oui
REPLICATE
Partielle
REVERSE
Oui
RIGHT
Oui
RTRIM
Oui
SOUNDEX
Non
SPACE
Oui
STR
Non
STUFF
Non
SUBSTRING
Oui
Version 1.0
138
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
UNICODE
Non
UPPER
Oui
Fonctions de configuration
Fonction
Conversion Détails
automatique
@@DATEFIRST
Non
@@DBTS
Oui
@@LANGID
Oui
@@LANGUAGE
Non
@@LOCK_TIMEOUT
Oui
@@MAX_CONNECTIONS Non
@@MAX_PRECISION
Oui
@@NESTLEVEL
Oui
@@OPTIONS
Oui
@@REMSERVER
Oui
@@SERVERNAME
Non
@@SERVICENAME
Oui
@@SPID
Oui
@@TEXTSIZE
Oui
@@VERSION
Non
Fonctions de conversion
Fonction
Conversion Détails
automatique
CAST et CONVERT
Non
PARSE
Non
TRY_CAST
Non
TRY_CONVERT
Non
TRY_PARSE
Non
Version 1.0
139
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions de sécurité
Fonction
Conversion Détails
automatique
CERTENCODED
Oui
CERTPRIVATEKEY
Oui
CURRENT_USER
Non
DATABASE_PRINCIPAL_ID Non
HAS_PERMS_BY_NAME
Oui
IS_MEMBER
Oui
IS_ROLEMEMBER
Oui
IS_SRVROLEMEMBER
Oui
ORIGINAL_LOGIN
Non
PERMISSIONS
Oui
PWDCOMPARE
Oui
PWDENCRYPT
Oui
SCHEMA_ID
Oui
SCHEMA_NAME
Non
SESSION_USER
Non
SUSER_ID
Oui
SUSER_NAME
Oui
SUSER_SID
Oui
SUSER_SNAME
Oui
sys.fn_builtin_permissions
Oui
sys.fn_get_audit_file
Oui
sys.fn_my_permissions
Oui
SYSTEM_USER
Oui
USER_ID
Oui
USER_NAME
Oui
Fonctions système
Fonction
Conversion Détails
automatique
$PARTITION
Oui
Version 1.0
140
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
@@ERROR
Oui
@@IDENTITY
Oui
@@PACK_RECEIVED
Oui
@@ROWCOUNT
Oui
@@TRANCOUNT
Oui
BINARY_CHECKSUM
Oui
CHECKSUM
Non
CONNECTIONPROPERTY Oui
CONTEXT_INFO
Oui
CURRENT_REQUEST_ID
Oui
ERROR_LINE
Non
ERROR_MESSAGE
Non
ERROR_NUMBER
Non
ERROR_PROCEDURE
Non
ERROR_SEVERITY
Non
ERROR_STATE
Non
FORMATMESSAGE
Non
GET_FILESTREAM_TRANSACTION_CONTEXT
Oui
GETANSINULL
Oui
HOST_ID
Non
HOST_NAME
Non
ISNULL
Non
MIN_ACTIVE_ROWVERSION
Oui
NEWID
Oui
NEWSEQUENTIALID
Oui
PARSENAME
Oui
ROWCOUNT_BIG
Oui
XACT_STATE
Oui
Version 1.0
141
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions logiques
Fonction
Conversion Détails
automatique
CHOOSE
Non
IIF
Non
CREATE FUNCTION
Clause
Conversion Détails
automatique
@parameter_name
Oui
type_schema_name
Oui
parameter_data_type
Non
= default
Oui
READONLY
Non
RETURNS
return_data_type
Non
WITH function_option
Oui
BEGIN … END
Non
RETURN
scalar_expression
Oui
MySQL prend uniquement en charge les fonctions qui
retournent une valeur scalaire.
EXECUTE
Clause
Conversion Détails
automatique
@parameter_name
Oui
type_schema_name
Oui
parameter_data_type
Non
= default
Oui
READONLY
Non
RETURNS
return_data_type
Non
WITH function_option
Oui
BEGIN … END
Non
RETURN
scalar_expression
Oui
MySQL prend uniquement en charge les fonctions qui
retournent une valeur scalaire.
Version 1.0
142
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs
Topics
• Opérateurs arithmétiques (p. 143)
• Opérateur d'affectation (p. 143)
• Opérateurs au niveau du bit (p. 143)
• Opérateurs de comparaison (p. 144)
• Opérateurs logiques (p. 144)
• Opérateurs d'ensembles (p. 144)
• Opérateur de concaténation de chaînes (p. 145)
• Opérateurs unaires (p. 145)
Opérateurs arithmétiques
Clause
Conversion Détails
automatique
+
Oui
+=
Oui
–
Oui
-=
Oui
*
Oui
*=
Oui
/
Oui
/=
Oui
%
Oui
Opérateur d'affectation
Clause
Conversion Détails
automatique
=
Oui
Opérateurs au niveau du bit
Clause
Conversion Détails
automatique
&
Oui
|
Oui
^
Oui
~
Oui
Version 1.0
143
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs de comparaison
Clause
Conversion Détails
automatique
=
Oui
>
Oui
<
Oui
>=
Oui
<=
Oui
<>
Oui
!=
Oui
!<
Oui
!>
Oui
Opérateurs logiques
Clause
Conversion Détails
automatique
ALL
Oui
AND
Oui
ANY
Oui
BETWEEN
Oui
EXISTS
Oui
IN
Oui
LIKE
Oui
NOT
Oui
OR
Oui
SOME
Partielle
AWS Schema Conversion Tool convertit SOME en ANY.
Opérateurs d'ensembles
Clause
Conversion Détails
automatique
UNION
Oui
UNION ALL
Oui
EXCEPT
Non
Procédez à une conversion manuelle.
Version 1.0
144
AWS Schema Conversion Tool Guide de l'utilisateur
Transactions
Clause
Conversion Détails
automatique
INTERSECT
Non
Procédez à une conversion manuelle.
Opérateur de concaténation de chaînes
Clause
Conversion Détails
automatique
+
Oui
Opérateurs unaires
Clause
Conversion Détails
automatique
+
Oui
–
Oui
Transactions
Topics
• BEGIN TRANSACTION (p. 145)
BEGIN TRANSACTION
Clause
Conversion Détails
automatique
DISTRIBUTED
Non
MySQL ne prend pas en charge les transactions
distribuées. Modifiez votre architecture de telle sorte
qu'elle utilise les transactions distribuées.
transaction_name
Non
MySQL ne prend pas en charge les transactions
nommées. Corrigez votre code de façon à éliminer les
transactions marquées.
WITH MARK
Non
MySQL ne prend pas en charge l'option WITH MARK.
Corrigez votre code de façon à éliminer les transactions
marquées.
SAVE
Partielle
ROLLBACK
Partielle
transaction_name
Non
savepoint_name
Partielle
MySQL ne prend pas en charge les transactions
nommées. Corrigez votre code de façon à éliminer les
transactions nommées.
Version 1.0
145
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion Détails
automatique
COMMIT
Partielle
DELAYED_DURABILITY
Non
Types de données
Topics
• Valeurs numériques (p. 146)
• Date et heure (p. 146)
• Chaînes de caractères (p. 147)
• Chaînes binaires (p. 147)
• Types spéciaux (p. 148)
Valeurs numériques
Type de données
Conversion
automatique
Conversion par défaut
Détails
bigint
Oui
bigint
int
Oui
int
smallint
Oui
smallint
tinyint
Oui
tinyint unsigned
bit
Oui
bit(1)
money
Oui
numeric(19,4)
smallmoney
Oui
numeric(10,4)
numeric
Oui
numeric
decimal
Oui
decimal
float
Oui
double
real
Oui
float
Type de données
Conversion
automatique
Conversion par défaut
Détails
date
Partielle
date
De 0001-01-01 à
9999-12-31
datetime2(7)
Partielle
datetime
De 0001-01-01 à
9999-12-31 00:00:00 et
23:59:59.9999999
Date et heure
Version 1.0
146
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Conversion
automatique
Conversion par défaut
Détails
datetime
Partielle
datetime
De 1753-01-01 à
9999-12-31 00:00:00 et
23:59:59.997
datetimeoffset(7)
Non
smalldatetime
Oui
datetime
time(7)
Oui
time
Chaînes de caractères
Type de données
Conversion
automatique
Conversion par défaut
Détails
char(len)
Partielle
char
len = 1 à 255 symboles (2 ^
8-1) (plage de perte)
varchar(len)
Oui
varchar
varchar(max)
Oui
longtext
text
Oui
longtext
nchar(len)
len = 1 à
4 000
char
nvarchar(len)
Oui
varchar
nvarchar(max)
Oui
longtext
ntext
Oui
longtext
Type de données
Conversion
automatique
Conversion par défaut
binary(len)
Oui
blob
varbinary(len)
Oui
blob
varbinary(max)
Oui
longblob
hierarchyid
Non
sql_variant
Non
table
Non
uniqueidentifier
Non
xml
Non
geography
Non
len = 1 à 255 symboles (2 ^
8-1) (plage de perte)
Chaînes binaires
Version 1.0
147
Détails
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Type de données
Conversion
automatique
geometry
Non
Conversion par défaut
Détails
Détails
Types spéciaux
Type de données
Conversion
automatique
Conversion par défaut
UNIQUEIDENTIFIER
Partielle
CHAR(38) OU
BINARY(16)
DOUBLE PRECISION
Partielle
FLOAT(53)
IDENTITY
Partielle
AUTO_INCREMENT
SYSNAME
Partielle
NVARCHAR(128) NOT
NULL
Langage de définition de données (DDL)
Topics
• CREATE TABLE (p. 148)
• CREATE INDEX (p. 148)
• CREATE TRIGGER (p. 148)
• CREATE VIEW (p. 149)
CREATE TABLE
Les instructions CREATE TABLE sont converties automatiquement sauf pour la clause suivante.
Clause
Conversion Détails
automatique
SET DEFAULT
Non
MySQL ne prend pas en charge l'option SET DEFAULT
pour FOREIGN KEY.
CREATE INDEX
AWS Schema Conversion Tool ne prend pas en charge la migration automatique du code en langage
de définition de données (DDL) pour créer un index.
CREATE TRIGGER
Les instructions CREATE TRIGGER sont converties automatiquement sauf pour la clause suivante.
Clause
Conversion Détails
automatique
FOR
Non
MySQL ne prend pas en charge une clause FOR dans
une instruction CREATE TRIGGER.
Version 1.0
148
AWS Schema Conversion Tool Guide de l'utilisateur
Curseurs
CREATE VIEW
Les instructions CREATE VIEW sont converties automatiquement sauf pour les clauses suivantes.
Clause
Conversion Détails
automatique
SCHEMABINDING
Non
AWS Schema Conversion Tool ignore cette clause.
ENCRYPTION
Non
AWS Schema Conversion Tool ignore cette clause.
VIEW_METADATA
Non
AWS Schema Conversion Tool ignore cette clause.
Curseurs
Topics
• DECLARE CURSOR (p. 149)
DECLARE CURSOR
Clause
Conversion Détails
automatique
LOCAL
Oui
Remplacez le curseur global par un curseur local ou
corrigez votre code de sorte qu'il n'exige pas de curseurs
globaux.
GLOBAL
Non
Sachant que la définition de cette option correspond au
comportement normal des curseurs dans MySQL, AWS
Schema Conversion Tool ignore cette option pendant la
conversion.
FORWARD_ONLY
Partielle
Modifiez votre code pour éliminer les curseurs avec
l'option SCROLL.
SCROLL
Non
STATIC
Oui
Sachant que l'appartenance et l'ordre des lignes ne
change jamais pour les curseurs dans MySQL, AWS
Schema Conversion Tool ignore cette option pendant la
conversion. Vérifiez que le comportement des schémas
convertis est acceptable.
KEYSET
Partielle
Corrigez votre code de façon à éliminer les curseurs
dynamiques.
DYNAMIC
Non
Sachant que la définition de cette option correspond au
comportement normal des curseurs dans MySQL, AWS
Schema Conversion Tool ignore cette option pendant la
conversion.
FAST_FORWARD
Oui
Tous les curseurs MySQL étant en lecture seule, AWS
Schema Conversion Tool ignore cette option pendant la
conversion.
READ_ONLY
Oui
Etant donné que MySQL ne prend pas en charge l'option
SCROLL_LOCKS, AWS Schema Conversion Tool
Version 1.0
149
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Clause
Conversion Détails
automatique
ignore cette option pendant la conversion. Vérifiez que le
comportement des schémas convertis est acceptable.
SCROLL_LOCKS
Partielle
Etant donné que MySQL ne prend pas en charge l'option
OPTIMISTIC, AWS Schema Conversion Tool ignore
cette option pendant la conversion. Vérifiez que le
comportement des schémas convertis est acceptable.
OPTIMISTIC
Partielle
Etant donné que MySQL ne prend pas en charge l'option
TYPE_WARNING, AWS Schema Conversion Tool
ignore cette option pendant la conversion. Vérifiez que le
comportement des schémas convertis est acceptable.
TYPE_WARNING
Partielle
Remplacez le curseur global par un curseur local ou
corrigez votre code de sorte qu'il n'exige pas de curseurs
globaux.
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Conversion de schéma prise en charge de
Microsoft SQL Server vers PostgreSQL
Les sections suivantes dressent la liste des éléments de schéma d'une base de données Microsoft
SQL Server et indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers
PostgreSQL à l'aide d'AWS Schema Conversion Tool.
Langage de définition de données (DDL)
Dénomination d'objets
Clause
Conversion Détails
automatique
Schémas
Oui
Tables, colonnes
Oui
Instructions
Clause
Conversion Détails
automatique
ALTER INDEX
Non
ALTER PROCEDURE
Non
Version 1.0
150
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion Détails
automatique
ALTER TRIGGER
Non
ALTER VIEW
Non
CREATE FUNCTION
Partielle
CREATE PROCEDURE
Oui
CREATE SEQUENCE
Oui
IDENTITY (x,y)
Oui
TRUNCATE TABLE
Oui
UPDATE STATISTICS
Non
La migration automatique des fonctions en ligne n'est
pas prise en charge. Les paramètres par défaut spécifiés
pour une fonction sont ignorés.
ALTER TABLE
Clause
Conversion Détails
automatique
ADD
Oui
ALTER COLUMN
Non
DROP COLUMN
Non
DROP CONSTRAINT
Non
ENABLE/DISABLE
TRIGGER
Oui
CREATE INDEX
Clause
Conversion Détails
automatique
Option CLUSTER
Partielle
Index COLUMNSTORE
Partielle
Clause INCLUDE
Partielle
Autres options INDEX
Partielle
Index SPATIAL
Partielle
Option UNIQUE
Oui
Index XML
Partielle
Version 1.0
151
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
CREATE TABLE
Clause
Conversion Détails
automatique
Tables partitionnées
Oui
Tables standard
Oui
Tables temporaires
Partielle
Tables larges
Oui
CREATE TRIGGER
Clause
Conversion Détails
automatique
Déclencheurs FOR EACH
STATEMENT
Partielle
Déclencheurs INSTEAD
OF
Partielle
Evénement déclencheur
(INSERT/UPDATE/
DELETE)
Partielle
Temps de déclenchement
(BEFORE/AFTER)
Partielle
CREATE VIEW
Clause
Conversion Détails
automatique
CREATE VIEW
Oui
Vues actualisables
Oui
VIEW
Oui
Instructions DROP
Clause
Conversion Détails
automatique
DROP TABLE
Oui
DROP VIEW
Oui
Autres types d'objets
Oui
Version 1.0
152
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Langage de manipulation de données (DML)
Clause pour les instructions
Clause
Conversion Détails
automatique
Indicateurs de jointure
Non
Indicateurs de requête
Non
Indicateur de table
Non
WHERE
Oui
Jointures
Jointures croisées
Clause
Conversion Détails
automatique
Jointure croisée
Oui
Jointure croisée avec
condition
Oui
Jointures internes
Clause
Conversion Détails
automatique
Jointures internes
Oui
Jointures externes
Clause
Conversion Détails
automatique
Jointure complète
Oui
Jointure externe complète
Oui
Jointure gauche
Oui
Jointure externe gauche
Oui
Jointure droite
Oui
Jointure externe droite
Oui
Version 1.0
153
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Prédicats pour instructions
Clause
Conversion Détails
automatique
Conditions booléennes
Oui
Conditions Exists
Oui
Conditions In
Oui
Conditions Null
Oui
Conditions de
correspondance de
modèles
Oui
Conditions de plage
Oui
Conditions de comparaison
Clause
Conversion Détails
automatique
=, <>, <, <=, >, >=
Oui
ANY, SOME, ALL
Partielle
Instructions
DELETE
Clause
Conversion Détails
automatique
CURRENT OF
Oui
FROM
Partielle
OUTPUT
Partielle
TOP
Non
VALUES
Oui
WITH
Oui
INSERT
Clause
Conversion Détails
automatique
DEFAULT
Oui
DEFAULT VALUES
Oui
FROM
Oui
Version 1.0
154
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Clause
Conversion Détails
automatique
INTO
Oui
OUTPUT
Non
TOP
Non
VALUES
Oui
WITH
Oui
SELECT
Clause
Conversion Détails
automatique
Clause GROUP BY avec
une expression
Oui
Clause GROUP BY avec
plusieurs tables
Oui
GROUP BY CUBE
Non
Group By Grouping Sets
Non
GROUP BY ROLLUP
Non
Limitation du nombre de
lignes retournées
Oui
Sélectionner toutes les
colonnes (en utilisant * et
des alias)
Oui
Sélectionner toutes les
colonnes (en utilisant *)
Oui
Sélectionner un sousensemble de colonnes
Oui
Sélectionner avec des
calculs
Oui
Sélectionner avec en-tête
de colonne
Oui
Sélectionner avec des
constantes
Oui
Spécifier un ordre
croissant
Oui
Spécifier un classement
Oui
Spécifier un ordre
conditionnel
Oui
Version 1.0
155
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Clause
Conversion Détails
automatique
Spécifier un ordre
décroissant
Oui
Spécifier un pourcentage
Oui
Spécifier un pourcentage
(argument 100 %)
Oui
Spécifier un alias comme
colonne de tri
Oui
Spécifier une expression
comme colonne de tri
Oui
Spécifier un ordre à la fois
croissant et décroissant
Oui
TOP avec une variable
Oui
Utiliser ORDER BY et une
commande OFFSET
Oui
Utiliser ORDER BY et une
fonction de classement
Oui
Utiliser ORDER BY avec
UNION
Oui
Utiliser WITH TIES
Non
WHERE avec BETWEEN
Oui
WHERE avec une
combinaison de prédicats
Oui
WHERE avec CONTAINS
Non
WHERE avec EXISTS
subquery
Oui
WHERE avec FREETEXT
Non
WHERE avec IN custom
list
Oui
WHERE avec IN subquery
Oui
WHERE avec LIKE
Partielle
WHERE avec inversion
de la valeur d'une entrée
booléenne
Oui
WHERE avec NULL
Oui
Version 1.0
156
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
DISTINCT
Clause
Conversion Détails
automatique
DISTINCT
Oui
FROM
Clause
Conversion Détails
automatique
FROM
Oui
GROUP BY
Clause
Conversion Détails
automatique
GROUP BY
Oui
HAVING
Clause
Conversion Détails
automatique
HAVING
Oui
ORDER BY
Clause
Conversion Détails
automatique
ORDER BY
Oui
TOP
Clause
Conversion Détails
automatique
TOP
Oui
WHERE
Clause
Conversion Détails
automatique
WHERE
Oui
Version 1.0
157
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
UPDATE
Clause
Conversion Détails
automatique
CURRENT OF
Oui
DEFAULT
Oui
Données FILESTREAM
Non
FROM
Oui
OUTPUT
Partielle
TOP
Non
VALUES
Oui
WITH
Oui
Types de données
Clause
Conversion Détails
automatique
BIGINT
Oui
BINARY
Oui
BIT
Oui
CHAR, CHARACTER
Oui
DATETIME
Oui
DATETIMEOFFSET
Non
DEC, DECIMAL
Oui
DOUBLE PRECISION
Oui
FLOAT
Oui
GEOGRAPHY
Non
GEOMETRY
Non
HIERARCHYID
Non
IDENTITY
Non
INT, INTEGER
Oui
MONEY
Oui
NCHAR
Oui
NTEXT
Oui
NUMERIC
Oui
Version 1.0
158
AWS Schema Conversion Tool Guide de l'utilisateur
Messagerie de base de données
Clause
Conversion Détails
automatique
NVARCHAR
Oui
REAL
Oui
ROWVERSION
Non
SMALL MONEY
Oui
SMALLDATETIME
Oui
SMALLINT
Oui
SQL_VARIANT
Non
SYSNAME
Oui
TABLE
Non
TEXT
Oui
TIMESTAMP
Oui
TINYINT
Oui
UNIQUEIDENTIFIER
Oui
VARBINARY
Oui
VARCHAR
Oui
XML
Non
Converti en identificateur unique universel (UUID)
si le module ossp-uuid est installé dans l'instance
PostgreSQL. Le module ossp-uuid intègre des fonctions
qui permettent de générer des UUID en utilisant l'un de
différents algorithmes standard.
Messagerie de base de données
Clause
Conversion Détails
automatique
Comptes et profils
Oui
Objets de configuration de
la messagerie de base de
données
Oui
Objets de messagerie de
la messagerie de base de
données
Oui
Paramètres de la
messagerie de base de
données
Oui
Sécurité
Oui
Version 1.0
159
AWS Schema Conversion Tool Guide de l'utilisateur
Messagerie de base de données
Clause
Conversion Détails
automatique
sp_send_dbmail
Non
sysmail_add_account_sp
Non
sysmail_add_principalprofile_sp
Non
sysmail_add_profile_sp
Non
sysmail_add_profileaccount_sp
Non
sysmail_allitems
Non
sysmail_configure_sp
Non
sysmail_delete_account_sp Non
sysmail_delete_log_sp
Non
sysmail_delete_mailitems_spNon
sysmail_delete_principalprofile_sp
Non
sysmail_delete_profile_sp
Non
sysmail_delete_profileaccount_sp
Non
sysmail_event_log
Non
sysmail_faileditems
Non
sysmail_help_account_sp
Non
sysmail_help_configure_sp Non
sysmail_help_principalprofile_sp
Non
sysmail_help_profile_sp
Non
sysmail_help_profileaccount_sp
Non
sysmail_help_queue_sp
Non
sysmail_help_status_sp
Non
sysmail_help_status_sp
Non
sysmail_mailattachments
Non
sysmail_sentitems
Non
sysmail_start_sp
Non
sysmail_start_sp
Non
sysmail_stop_sp
Non
sysmail_stop_sp
Non
sysmail_unsentitems
Non
sysmail_update_account_sp Non
Version 1.0
160
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
sysmail_update_principalprofile_sp
Oui
sysmail_update_principalprofile_sp
Non
sysmail_update_profile_sp
Non
sysmail_update_profileaccount_sp
Non
Etat du système
Oui
Fonctions
@@functions
Clause
Conversion Détails
automatique
@@CONNECTIONS
Non
@@CPU_BUSY
Non
@@CURSOR_ROWS
Non
@@DATEFIRST
Non
@@DBTS
Non
@@ERROR
Non
@@FETCH_STATUS
Oui
@@IDENTITY
Oui
@@IDLE
Non
@@IO_BUSY
Non
@@LANGID
Non
@@LANGUAGE
Non
@@LOCK_TIMEOUT
Non
@@MAX_CONNECTIONS Non
@@MAX_PRECISION
Non
@@NESTLEVEL
Non
@@OPTIONS
Non
@@PACK_RECEIVED
Non
@@PACK_SENT
Non
@@PACKET_ERRORS
Non
@@PROCID
Non
Version 1.0
161
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
@@REMSERVER
Non
@@ROWCOUNT
Non
@@SERVERNAME
Non
@@SERVICENAME
Non
@@SPID
Non
@@TEXTSIZE
Non
@@TIMETICKS
Non
@@TOTAL_ERRORS
Non
@@TOTAL_READ
Non
@@TOTAL_WRITE
Non
@@TRANCOUNT
Non
@@VERSION
Non
Agrégation
Clause
Conversion Détails
automatique
AVG
Partielle
CHECKSUM_AGG
Non
COUNT
Oui
COUNT_BIG
Oui
GROUPING
Non
GROUPING_ID
Non
MAX
Oui
MIN
Oui
STDEV
Oui
STDEVP
Oui
SUM
Oui
VAR
Oui
VARP
Oui
Version 1.0
162
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions intégrées
Clause
Conversion Détails
automatique
Fonctions d'agrégation
Oui
Fonctions de curseur
Non
Fonctions de
métadonnées
Non
Fonctions de sécurité
Non
Fonctions système
Non
Fonctions statistiques
système
Non
Fonctions de texte et
d'image
Non
Conversion
Clause
Conversion Détails
automatique
CAST
Partielle
CONVERT
Partielle
PARSE
Non
TRY_CAST
Non
TRY_CONVERT
Non
TRY_PARSE
Non
Date et heure
Clause
Conversion Détails
automatique
CURRENT_TIMESTAMP
Partielle
DATEADD
Partielle
DATEDIFF
Partielle
DATEFROMPARTS
Oui
DATENAME
Partielle
DATEPART
Partielle
DATETIME2FROMPARTS Partielle
DATETIMEFROMPARTS
Partielle
Version 1.0
163
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
DATETIMEOFFSETFROMPARTS
Partielle
DAY
Oui
EOMONTH
Oui
GETDATE
Oui
GETUTCDATE
Oui
ISDATE
Non
MONTH
Oui
SMALLDATETIMEFROMPARTS
Oui
SWITCHOFFSET
Non
SYSDATETIME
Oui
SYSDATETIMEOFFSET
Non
SYSUTCDATETIME
Oui
TIMEFROMPARTS
Oui
TODATETIMEOFFSET
Non
YEAR
Oui
Fonctions mathématiques
Clause
Conversion Détails
automatique
ABS()
Oui
ACOS()
Oui
ASIN()
Oui
ATAN()
Oui
ATN2 ()
Oui
CEILING()
Oui
COS()
Oui
COT()
Oui
DEGREES()
Oui
EXP()
Oui
FLOOR()
Oui
LOG()
Oui
Version 1.0
164
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
LOG10()
Oui
PI()
Oui
POWER()
Oui
RADIANS()
Oui
RAND()
Oui
RAND(seed)
Partielle
ROUND()
Partielle
ROUND()
Partielle
SIGN()
Oui
SIN()
Oui
SQRT()
Oui
SQUARE()
Oui
TAN()
Oui
Fonctions de classement
Clause
Conversion Détails
automatique
DENSE_RANK
Oui
NTILE
Oui
RANK
Oui
ROW_NUMBER
Oui
Fonctions d'ensembles de lignes
Clause
Conversion Détails
automatique
CONTAINSTABLE
Non
FREETEXTTABLE
Non
OPENDATASOURCE
Non
OPENQUERY
Non
OPENROWSET
Non
OPENXML
Non
Version 1.0
165
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions scalaires
Clause
Conversion Détails
automatique
ABS()
Oui
ACOS()
Oui
ASCII
Oui
ASIN()
Oui
ATAN()
Oui
ATN2 ()
Oui
AVG
Oui
CEILING()
Oui
CHAR
Oui
CHARINDEX
Oui
CHECKSUM
Non
CHECKSUM_AGG
Non
CHOOSE
Non
CONCAT
Oui
COS()
Oui
COT()
Oui
COUNT
Oui
COUNT_BIG
Oui
CURRENT_TIMESTAMP
Oui
CURRENT_USER
Non
DATABASE_PRINCIPAL_ID Non
DATEADD
Partielle
DATEDIFF
Partielle
DATEFROMPARTS
Oui
DATENAME
Partielle
DATEPART
Partielle
DATETIME2FROMPARTS Oui
DATETIMEFROMPARTS
Oui
DATETIMEOFFSETFROMPARTS
Non
Version 1.0
166
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
DAY
Oui
DEGREES()
Oui
DIFFERENCE
Non
EOMONTH
Oui
ERROR_LINE
Non
ERROR_MESSAGE
Non
ERROR_NUMBER
Non
ERROR_PROCEDURE
Non
ERROR_SEVERITY
Non
ERROR_STATE
Non
EXP()
Oui
FLOOR()
Oui
FORMAT
Non
FORMATMESSAGE
Non
GETDATE
Oui
GETUTCDATE
Oui
GROUPING
Non
GROUPING_ID
Non
HOST_ID
Non
HOST_NAME
Non
IIF
Non
ISDATE
Non
ISNULL
Oui
ISNUMERIC
Implémenté
dans la
bibliothèque
d'extensions
LEFT
Oui
LEN
Oui
LOG()
Oui
LOG10()
Oui
LOWER
Oui
Version 1.0
167
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
LTRIM
Oui
MAX
Oui
MIN
Oui
MONTH
Oui
NCHAR
Non
ORIGINAL_LOGIN
Non
PARSENAME
Non
PATINDEX
Non
PI()
Oui
POWER()
Oui
PRINT
Oui
QUOTENAME
Partielle
RADIANS()
Oui
RAND()
Oui
REPLACE
Oui
REPLICATE
Oui
REVERSE
Oui
RIGHT
Oui
ROUND()
Oui
RTRIM
Oui
SCHEMA_NAME
Non
SESSION_USER
Non
SIGN()
Oui
SIN()
Oui
SMALLDATETIMEFROMPARTS
Oui
SOUNDEX
Oui
SPACE
Oui
SQRT()
Oui
SQUARE()
Oui
STDEV
Oui
STDEVP
Oui
Version 1.0
168
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
STR
Non
STUFF
Oui
SUBSTRING
Oui
SUM
Oui
SWITCHOFFSET
Non
SYSDATETIME
Oui
SYSDATETIMEOFFSET
Non
SYSUTCDATETIME
Oui
TAN()
Oui
TIMEFROMPARTS
Oui
TODATETIMEOFFSET
Non
UNICODE
Non
UPPER
Oui
VAR
Oui
VARP
Oui
YEAR
Oui
Chaîne
Clause
Conversion Détails
automatique
ASCII
Oui
CHAR
Oui
CHARINDEX
Oui
CONCAT
Oui
DIFFERENCE
Non
FORMAT
Non
LEFT
Oui
LEN
Oui
LOWER
Oui
LTRIM
Oui
NCHAR
Non
Version 1.0
169
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Clause
Conversion Détails
automatique
PATINDEX
Non
QUOTENAME
Partielle
REPLACE
Oui
REPLICATE
Oui
REVERSE
Oui
RIGHT
Oui
RTRIM
Oui
SOUNDEX
Non
SPACE
Oui
STR
Non
STUFF
Oui
SUBSTRING
Oui
UNICODE
Non
UPPER
Oui
Opérateurs
Opérateurs arithmétiques
Clause
Conversion Détails
automatique
- (Soustraction)
Partielle
% (Modulo)
Partielle
* (Multiplication)
Partielle
/ (Division)
Partielle
+ (Addition)
Partielle
Opérateur d'affectation
Clause
Conversion Détails
automatique
=
Oui
Version 1.0
170
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs au niveau du bit
Clause
Conversion Détails
automatique
& (Opération AND au
niveau du bit)
Oui
^ (Opération OR exclusive
au niveau du bit)
Non
| (Opération OR au niveau
du bit)
Oui
Opérateurs de comparaison
Clause
Conversion Détails
automatique
Opérateurs de
comparaison
Partielle
Opérateurs logiques
Clause
Conversion Détails
automatique
Opérateurs logiques
Oui
Opérateurs d'ensembles
Clause
Conversion Détails
automatique
EXCEPT
Oui
INTERSECT
Oui
UNION
Oui
UNION ALL
Oui
Opérateur de concaténation de chaînes
Clause
Conversion Détails
automatique
Opérateur de
concaténation de chaînes
Oui
Version 1.0
171
AWS Schema Conversion Tool Guide de l'utilisateur
Autre
Opérateurs unaires
Clause
Conversion Détails
automatique
Opérateurs unaires
Oui
Autre
Clause
Conversion Détails
automatique
CHECKSUM
Non
CHOOSE
Non
CURRENT_USER
Non
DATABASE_PRINCIPAL_ID Non
ERROR_LINE
Non
ERROR_MESSAGE
Non
ERROR_NUMBER
Non
ERROR_PROCEDURE
Non
ERROR_SEVERITY
Non
ERROR_STATE
Non
FORMATMESSAGE
Non
HOST_ID
Non
HOST_NAME
Non
IIF
Non
ISNULL
Oui
ISNUMERIC
Non
Fonctions logiques
Oui
NEWID
Oui
ORIGINAL_LOGIN
Non
Autre
Oui
PRINT
Oui
SCHEMA_NAME
Non
Fonctions de sécurité
Oui
SESSION_USER
Non
Fonctions système
Oui
Version 1.0
172
AWS Schema Conversion Tool Guide de l'utilisateur
Service Broker
Service Broker
Clause
Conversion Détails
automatique
ALTER QUEUE
Non
ALTER SERVICE
Non
BEGIN CONVERSATION
TIMER
Non
BEGIN DIALOG
CONVERSATION
Non
CREATE QUEUE
Non
CREATE SERVICE
Non
DROP QUEUE
Non
DROP SERVICE
Non
END CONVERSATION
Non
GET CONVERSATION
GROUP
Non
GET
Non
TRANSMISSION_STATUS
MOVE CONVERSATION
Non
Gestion de file d'attente
Oui
RECEIVE
Non
SEND
Non
Affichages catalogue
Service Broker
Oui
Vues de gestion
dynamique liées à Service
Broker
Oui
Instructions Service
Broker
Oui
Gestion des services
Oui
sys.conversation_endpoints Non
sys.conversation_groups
Non
sys.conversation_priorities
Non
sys.dm_broker_activated_tasks
Non
sys.dm_broker_connections Non
sys.dm_broker_forwarded_messages
Non
Version 1.0
173
AWS Schema Conversion Tool Guide de l'utilisateur
SQL Server Agent
Clause
Conversion Détails
automatique
sys.dm_broker_queue_monitors
Non
sys.message_type_xml_schema_collection_usages
Non
sys.remote_service_bindingsNon
sys.routes
Non
sys.service_contract_message_usages
Non
sys.service_contract_usagesNon
sys.service_contracts
Non
sys.service_message_types Non
sys.service_queue_usages Non
sys.service_queues
Non
sys.services
Non
sys.transmission_queue
Non
SQL Server Agent
Clause
Conversion Détails
automatique
sp_add_alert
Non
sp_add_category
Non
sp_add_job
Non
sp_add_jobschedule
Non
sp_add_jobserver
Non
sp_add_jobstep
Non
sp_add_notification
Non
sp_add_operator
Non
sp_add_proxy
Non
sp_add_schedule
Non
sp_add_targetservergroup
Non
sp_add_targetsvrgrp_memberNon
sp_apply_job_to_targets
Non
sp_attach_schedule
Non
sp_cycle_agent_errorlog
Non
Version 1.0
174
AWS Schema Conversion Tool Guide de l'utilisateur
SQL Server Agent
Clause
Conversion Détails
automatique
sp_cycle_errorlog
Non
sp_delete_alert
Non
sp_delete_category
Non
sp_delete_job
Non
sp_delete_jobschedule
Non
sp_delete_jobserver
Non
sp_delete_jobstep
Non
sp_delete_jobsteplog
Non
sp_delete_notification
Non
sp_delete_operator
Non
sp_delete_proxy
Non
sp_delete_schedule
Non
sp_delete_targetserver
Non
sp_delete_targetservergroup Non
sp_delete_targetsvrgrp_member
Non
sp_detach_schedule
Non
sp_enum_login_for_proxy
Non
sp_enum_proxy_for_subsystem
Non
sp_enum_sqlagent_subsystems
Non
sp_grant_login_to_proxy
Non
sp_grant_proxy_to_subsystem
Non
sp_help_alert
Non
sp_help_category
Non
sp_help_downloadlist
Non
sp_help_job
Non
sp_help_jobactivity
Non
sp_help_jobcount
Non
sp_help_jobhistory
Non
sp_help_jobs_in_schedule
Non
sp_help_jobschedule
Non
sp_help_jobserver
Non
Version 1.0
175
AWS Schema Conversion Tool Guide de l'utilisateur
SQL Server Agent
Clause
Conversion Détails
automatique
sp_help_jobstep
Non
sp_help_jobsteplog
Non
sp_help_notification
Non
sp_help_operator
Non
sp_help_proxy
Non
sp_help_schedule
Non
sp_help_targetserver
Non
sp_help_targetservergroup Non
sp_manage_jobs_by_login
Non
sp_msx_defect
Non
sp_msx_enlist
Non
sp_msx_get_account
Non
sp_msx_set_account
Non
sp_notify_operator
Non
sp_post_msx_operation
Non
sp_purge_jobhistory
Non
sp_remove_job_from_targetssNon
sp_resync_targetserver
Non
sp_revoke_login_from_proxy Non
sp_revoke_proxy_from_subsystem
Non
sp_start_job
Non
sp_stop_job
Non
sp_update_alert
Non
sp_update_category
Non
sp_update_job
Non
sp_update_jobschedule
Non
sp_update_jobstep
Non
sp_update_notification
Non
sp_update_operator
Non
sp_update_proxy
Non
sp_update_schedule
Non
Version 1.0
176
AWS Schema Conversion Tool Guide de l'utilisateur
Sauvegarde SQL Server
Clause
Conversion Détails
automatique
sp_update_targetservergroupNon
Sauvegarde SQL Server
Clause
Conversion Détails
automatique
BACKUP
Non
BACKUP CERTIFICATE
Non
BACKUP MASTER KEY
Non
BACKUP SERVICE
MASTER KEY
Non
RESTORE
Non
RESTORE
FILELISTONLY
Non
RESTORE
HEADERONLY
Non
RESTORE LABELONLY
Non
RESTORE MASTER KEY
Non
RESTORE
REWINDONLY
Non
RESTORE SERVICE
MASTER KEY
Non
RESTORE VERIFYONLY
Non
T-SQL
BACKUP et RESTORE
Clause
Conversion Détails
automatique
Instructions BACKUP et
RESTORE
Non
Classement (Collation)
Clause
Conversion Détails
automatique
Collation
Non
Version 1.0
177
AWS Schema Conversion Tool Guide de l'utilisateur
T-SQL
Langage de contrôle de flux
Clause
Conversion Détails
automatique
BEGIN...END
Oui
BREAK
Oui
CONTINUE
Oui
GOTO
Non
IF...ELSE
Oui
RETURN
Oui
THROW
Oui
TRY...CATCH
Oui
WAITFOR
Partielle
WHILE
Oui
Curseurs
DECLARE CURSOR
Clause
Conversion Détails
automatique
DECLARE CURSOR
Oui
CURSOR avec option
GLOBAL
Non
CURSOR avec options
FORWARD_ONLY ou
SCROLL
Non
FETCH
Clause
Conversion Détails
automatique
FETCH
Oui
OPEN
Clause
Conversion Détails
automatique
OPEN
Oui
Version 1.0
178
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Instructions DUMP et LOAD
Clause
Conversion Détails
automatique
Instructions DUMP et
LOAD
Non
Informations de référence sur les problèmes
de conversion de Microsoft SQL Server vers
PostgreSQL
Consultez les sections suivantes pour obtenir des informations sur les types de problèmes que vous
êtes susceptible de rencontrer lors d'une conversion de Microsoft SQL Server vers PostgreSQL.
Cliquez sur le lien éventuel dans la colonne Problème pour obtenir des informations plus détaillées sur
la résolution du problème en question.
Opérateurs arithmétiques
Elément
Problème
Résolution
Opérateurs
arithmétiques
Problème 7775 : Vérifier la conversion de
Convertissez les valeurs
types de données pour une perte possible de dans le type souhaité.
précision (p. 188)
Opérateurs
arithmétiques et
types de date
Problème 7773 : Impossible d'effectuer
une migration automatique des opérations
arithmétiques avec les dates (p. 188)
Convertissez les valeurs
dans le type souhaité.
Opérateurs
arithmétiques et
types mixtes
Problème 7774 : Impossible d'effectuer
une migration automatique des opérations
arithmétiques avec plusieurs types
d'opérandes (p. 189)
Convertissez les valeurs
dans le type souhaité.
Services intégrés
Elément
Problème
Résolution
Messagerie de base
de données
Problème 7900 : PostgreSQL n'a pas
de fonction similaire à Database Mail de
SQL Server (p. 189)
Essayez d'utiliser
Amazon Simple Notification Service
(Amazon SNS).
Service Broker
Problème 7901 : PostgreSQL n'a pas
de fonction similaire à Service Broker de
SQL Server (p. 189)
Essayez d'utiliser
Amazon Simple Queue Service
(Amazon SQS).
SQL Server Agent
Problème 7902 : PostgreSQL
n'a pas de fonction similaire à
SQL Server Agent (p. 189)
Essayez d'utiliser le service
AWS Lambda avec les
événements planifiés.
Sauvegarde
SQL Server
Problème 7903 : PostgreSQL n'a pas
de fonction similaire à la sauvegarde
SQL Server (p. 189)
Essayez d'utiliser le service
de stockage Amazon Glacier.
Version 1.0
179
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Fonctions SQL intégrées
Elément
Problème
Résolution
SOUNDEX
Problème 7811 : PostgreSQL ne prend pas
en charge la fonction SOUNDEX (p. 190)
Créez une fonction définie
par l'utilisateur.
CONTROL FLOW
Elément
Problème
Résolution
Curseurs
Problème 7801 : La table peut être
verrouillée par un curseur ouvert (p. 190)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
DECLARE /
DEFAULT VALUE
Problème 7826 : Vérifier la valeur par défaut
d'une variable DateTime (p. 190)
Vérifiez la valeur par défaut
d'une variable DateTime.
GOTO
Problème 7628 : PostgreSQL ne
prend pas en charge l'option GOTO.
Impossible d'effectuer la conversion
automatique. (p. 190)
Corrigez votre code de façon
à éliminer les opérateurs
GOTO, en utilisant des blocs
BEGIN...END avec des
opérateurs EXIT, REPEAT,
UNTIL et WHILE.
Procédures
Problème 7802 : Une table créée dans la
procédure doit être supprimée avant la fin de
la procédure (p. 190)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
Jeux de résultats
Problème 7800 : PostgreSQL ne prend pas
en charge les jeux de résultats dans le style
de MSSQL (p. 190)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
WAITFOR DELAY
Problème 7821 : L'opérateur de conversion
Procédez à une conversion
automatique WAITFOR assorti d'une variable manuelle.
n'est pas pris en charge (p. 190)
WAITFOR TIME
Problème 7691 : PostgreSQL ne prend
pas en charge la fonction WAITFOR
TIME (p. 191)
Procédez à une conversion
manuelle.
Problème
Résolution
Problème 7696 : Impossible de convertir
l'objet en raison de la non création de
%s (p. 191)
Examinez l'objet %s.
Problème 7813 : Objets chiffrés (p. 191)
Déchiffrez l'objet avant la
conversion.
CREATE
Elément
Objets chiffrés
Version 1.0
180
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
CURSORS
Elément
Problème
Résolution
CURSOR avec
option GLOBAL
Problème 7637 : PostgreSQL ne prend pas
en charge GLOBAL CURSORS. Nécessite
une conversion manuelle. (p. 191)
Remplacez le curseur global
par un curseur local ou
corrigez votre code de sorte
qu'il n'exige pas de curseurs
globaux.
CURSOR avec
les options
STATIC, KEYSET,
DYNAMIC ou
FAST_FORWARD
Problème 7639 : PostgreSQL ne prend
pas en charge les curseurs de type
DYNAMIC (p. 191)
Corrigez votre code de
façon à éliminer les curseurs
dynamiques.
Option
FAST_FORWARD
Problème 7701 : La définition de cette option
correspondant au comportement normal des
curseurs dans PostgreSQL, cette option est
ignorée (p. 191)
Utilisez cursors sans cette
option.
FOR UPDATE
Problème 7803 : PostgreSQL ne prenant
pas en charge l'option FOR UPDATE, cette
option est ignorée (p. 191)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
Option KEYSET
Problème 7700 : L'appartenance et l'ordre
des lignes ne changeant jamais pour les
curseurs dans PostgreSQL, cette option est
ignorée (p. 192)
Utilisez cursors sans cette
option.
Option OPTIMISTIC
Problème 7704 : PostgreSQL ne prenant pas
en charge l'option OPTIMISTIC, cette option
est ignorée (p. 192)
Utilisez cursors sans cette
option.
Option READ_ONLY
Problème 7702 : Tous les curseurs
PostgreSQL étant en lecture seule, cette
option est ignorée (p. 192)
Utilisez cursors sans cette
option.
Option
TYPE_WARNING
Problème 7705 : PostgreSQL ne prenant pas
en charge l'option TYPE_WARNING, cette
option est ignorée (p. 192)
Utilisez cursors sans cette
option.
TYPES DE DONNEES
Elément
Problème
Résolution
BYTEA
Problème 7818 : PostgreSQL ne prend pas
en charge les opérations arithmétiques avec
les types de données binaires (p. 192)
Procédez à une conversion
manuelle.
geography
Problème 7662 : PostgreSQL ne prend pas
en charge ce type. Une conversion manuelle
est nécessaire. (p. 192)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
Version 1.0
181
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Elément
Problème
Résolution
geometry
Problème 7664 : PostgreSQL ne prend pas
en charge ce type. Une conversion manuelle
est nécessaire. (p. 192)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
hierarchyid
Problème 7657 : PostgreSQL ne prend pas
en charge ce type. Une conversion manuelle
est nécessaire. (p. 192)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
rowversion
Problème 7706 : PostgreSQL ne prend pas
en charge ce type (p. 192)
Procédez à une conversion
manuelle.
sql_variant
Problème 7658 : PostgreSQL ne prend pas
en charge ce type. Une conversion manuelle
est nécessaire. (p. 193)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
table
Problème 7659 : Le champ d'application des
variables de table et des tables temporaires
est différent. Vous devez appliquer une
conversion manuelle si vous utilisez la
récursivité. (p. 193)
Procédez à une conversion
manuelle.
UDT
Problème 7690 : PostgreSQL ne prend pas
en charge les types de table (p. 193)
Procédez à une conversion
manuelle.
XML
Problème 7816 : PostgreSQL ne prend pas
en charge les méthodes pour le type de
données XML (p. 193)
Procédez à une conversion
manuelle.
XML
Problème 7817 : PostgreSQL ne prend pas
en charge l'option [for xml path] dans les
requêtes SQL (p. 193)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
CREATE INDEX
Problème 7675 : PostgreSQL ne prend pas
en charge les options de tri (ASC | DESC)
pour les contraintes (p. 194)
Utilisez des index sans cette
option.
CREATE INDEX
Problème 7681 : PostgreSQL ne prend
pas en charge les index organisés en
cluster (p. 194)
Utilisez des index non
organisés en cluster.
CREATE INDEX
Problème 7682 : PostgreSQL ne prend
pas en charge l'option INCLUDE dans les
index (p. 194)
Utilisez l'index sans cette
option.
DDL
Version 1.0
182
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Elément
Problème
Résolution
CREATE INDEX
Problème 7781 : PostgreSQL ne prend pas
en charge l'option PAD_INDEX dans les
index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7782 : PostgreSQL ne prend pas
en charge l'option SORT_IN_TEMPDB dans
les index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7783 : PostgreSQL ne prend pas
en charge l'option IGNORE_DUP_KEY dans
les index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7784 : PostgreSQL
ne prend pas en charge l'option
STATISTICS_NORECOMPUTE dans les
index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7785 : PostgreSQL
ne prend pas en charge l'option
STATISTICS_INCREMENTAL dans les
index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7786 : PostgreSQL ne prend pas
en charge l'option DROP_EXISTING dans
les index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7787 : PostgreSQL ne prend
pas en charge l'option ONLINE dans les
index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7788 : PostgreSQL ne prend pas
en charge l'option ALLOW_ROW_LOCKS
dans les index (p. 194)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7789 : PostgreSQL ne prend pas
en charge l'option ALLOW_PAGE_LOCKS
dans les index (p. 195)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7790 : PostgreSQL ne prend
pas en charge l'option MAXDOP dans les
index (p. 195)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7791 : PostgreSQL ne prend pas
en charge l'option DATA_COMPRESSION
dans les index (p. 195)
Utilisez l'index sans cette
option.
CREATE TABLE
Problème 7679 : PostgreSQL ne prend pas
en charge les colonnes calculées (p. 195)
Essayez d'utiliser un
déclencheur.
CREATE TABLE
Problème 7680 : PostgreSQL ne prend
pas en charge les tables temporaires
globales (p. 195)
Utilisez des tables locales
temporaires ou standard.
CREATE TABLE
Problème 7812 : La table temporaire
doit être supprimée avant la fin de la
fonction (p. 195)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
Version 1.0
183
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Elément
Problème
Résolution
CREATE TABLE
Problème 7825 : La valeur par
défaut d'une colonne DateTime a été
supprimée (p. 195)
Examinez le code généré et
modifiez-le si nécessaire.
Fonction en ligne
Problème 7776 : La migration automatique
des fonctions en ligne n'est pas prise en
charge (p. 195)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
DELETE avec Table
Hint Limited
Problème 7623 : PostgreSQL ne prend
pas en charge les indicateurs dans les
instructions DELETE. La conversion
ignore les options sous la forme
WITH(Table_Hint_Limited). (p. 195)
Utilisez les méthodes
PostgreSQL d'optimisation
des performances.
TOP
Problème 7798 : PostgreSQL ne prend pas
en charge l'option TOP dans l'opérateur
DELETE (p. 196)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Indicateurs de table
Problème 7823 : PostgreSQL ne prend pas
en charge les indicateurs de table dans les
instructions DML (p. 196)
Utilisez les méthodes
PostgreSQL d'optimisation
des performances.
Problème
Résolution
Problème 7695 : PostgreSQL ne prend
pas en charge l'exécution d'une procédure
comme variable (p. 196)
Procédez à une conversion
manuelle en utilisant le SQL
dynamique.
EXECUTE appliqué
à une chaîne de
caractères
Problème 7672 : La conversion automatique
de cette commande n'est pas prise en
charge (p. 197)
Procédez à une conversion
manuelle.
Exécuter une
commande directe
sur un serveur lié
Problème 7645 : PostgreSQL ne prend pas
en charge l'exécution d'une commande
directe sur un serveur lié (p. 197)
Utilisez d'autres méthodes
pour exécuter des
instructions sur un serveur
distant.
EXECUTE avec des
options d'exécution
[RECOMPILE]
Problème 7640 : La commande EXECUTE
assortie de l'option RECOMPILE est
ignorée (p. 197)
Utilisez la commande
EXECUTE sans cette option.
EXECUTE avec des
options d'exécution
Problème 7643 : La commande EXECUTE
assortie de l'option RESULT SETS
Utilisez la commande
EXECUTE sans cette option.
DELETE
DML, FROM
EXECUTE
Elément
Version 1.0
184
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Elément
Problème
Résolution
[RESULT SETS
<définition du jeu de résultats > est
(<result_sets_definition>)]
ignorée (p. 197)
EXECUTE avec des
options d'exécution
[RESULT SETS
NONE]
Problème 7642 : La commande EXECUTE
assortie de l'option RESULT SETS NONE
est ignorée (p. 197)
Utilisez la commande
EXECUTE sans cette option.
EXECUTE avec des
options d'exécution
[RESULT SETS
UNDEFINED]
Problème 7641 : La commande EXECUTE
assortie de l'option RESULT SETS
UNDEFINED est ignorée (p. 197)
Utilisez la commande
EXECUTE sans cette option.
Elément
Problème
Résolution
EXECUTE
Problème 7819 : PostgreSQL ne
prend pas en charge les instructions
INSERT...EXECUTE (p. 197)
Procédez à une conversion
manuelle.
TOP
Problème 7799 : PostgreSQL ne prend pas
en charge l'option TOP dans l'opérateur
INSERT (p. 197)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Opérateurs au
niveau du bit
Problème 7804 : PostgreSQL ne prend pas
en charge l'opérateur [OR exclusif au niveau
du bit] (p. 198)
Procédez à une conversion
manuelle.
Opérateurs de
comparaison
Problème 7805 : PostgreSQL ne prend
pas en charge l'opérateur [Pas inférieur
à] (p. 198)
Procédez à une conversion
manuelle.
Opérateurs de
comparaison
Problème 7806 : PostgreSQL ne prend
pas en charge l'opérateur [Pas supérieur
à] (p. 198)
Procédez à une conversion
manuelle.
INSERT
Opérateurs
Parser Error (erreur d'analyse)
Elément
Problème
Résolution
Parser Error
Problème 7663 : Impossible de résoudre
l'objet (p. 199)
Vérifiez si l'objet <nom
d'objet> est présent dans
la base de données. S'il
ne l'est pas, vérifiez le
nom de l'objet ou ajoutez
ce dernier. Si l'objet est
présent, transformez le code
manuellement.
Version 1.0
185
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
SELECT
Elément
Problème
Résolution
GROUP BY CUBE
Problème 7653 : PostgreSQL ne prend pas
en charge l'option GROUP BY ROLLUP.
Impossible d'effectuer la conversion
automatique. (p. 199)
Essayez de créer une
procédure stockée pour
remplacer la requête.
GROUP BY CUBE
Problème 7654 : PostgreSQL ne prend
pas en charge l'option GROUP BY CUBE.
Impossible d'effectuer la conversion
automatique. (p. 199)
Essayez de créer une
procédure stockée pour
remplacer la requête.
Group By Grouping
Sets
Problème 7655 : PostgreSQL ne prend pas
en charge l'option GROUP BY GROUPING
SETS. Impossible d'effectuer la conversion
automatique. (p. 199)
Essayez de créer une
procédure stockée pour
remplacer la requête.
ORDER BY
Définition d'un
classement
Problème 7646 : PostgreSQL ne prend
pas en charge l'option COLLATE dans la
clause ORDER BY. Impossible d'effectuer la
conversion automatique. (p. 199)
Vous devez utiliser les
paramètres de classement
(COLLATION) qui ont été
affectés pendant la création
de la base de données.
condition de
recherche
Problème 7687 : PostgreSQL ne prend pas
en charge le prédicat CONTAINS (p. 199)
Procédez à une conversion
manuelle.
condition de
recherche
Problème 7688 : PostgreSQL ne prend pas
en charge le prédicat FREETEXT (p. 199)
Procédez à une conversion
manuelle.
condition de
recherche
Problème 7795 : PostgreSQL est sensible
à la casse. Vérifiez la comparaison des
chaînes. (p. 199)
Vérifiez la comparaison des
chaînes.
TOP WITH TIES
Problème 7605 : PostgreSQL ne prend pas
en charge l'option WITH TIES (p. 200)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Type de données
spécifique
Problème 7793 : PostgreSQL ne prend
pas en charge la modification du type de
données dans les séquences (p. 200)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
Elément
Problème
Résolution
CREATE
Problème 7792 : PostgreSQL ne prend pas
en charge les synonymes (p. 200)
Remplacez un synonyme par
l'objet de base de données
d'origine. Si l'objet d'origine
est une table ou une vue,
vous pouvez essayer de
créer une vue dans une base
SEQUENCE
SYNONYMS
Version 1.0
186
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Elément
Problème
Résolution
de données qui dépend d'une
table ou d'une vue dans une
autre base de données.
Objets SYS
Elément
Problème
Résolution
Objets SYS
Problème 7904 : Impossible de convertir
l'objet système <nom d'objet> (p. 200)
Procédez à une conversion
manuelle.
TRANSACTION
Elément
Problème
Résolution
Transaction
Problème 7807 : Les transactions dans les
fonctions ne sont pas prises en charge par
PostgreSQL (p. 201)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Déclencheurs
Problème 7809 : Dans PostgreSQL il n'y a
pas d'équivalent de tables « insérées » et
« supprimées » (p. 201)
Procédez à une conversion
manuelle.
TRIGGERS
Unknown (inconnu)
Elément
Problème
Résolution
Problème 7627 : Cette conversion d'élément
syntaxique n'est pas encore prise en
charge (p. 202)
Procédez à une conversion
manuelle.
Clause inconnue
Problème 7674 : La conversion automatique
de la clause <clause name> de l'instruction
<statement name> n'est pas prise en
charge (p. 202)
Procédez à une conversion
manuelle.
SQL non analysé
Question 7808 : SQL non analysé (p. 202)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
TOP
Problème 7796 : PostgreSQL ne prend pas
en charge l'option TOP dans l'opérateur
UPDATE (p. 203)
Procédez à une conversion
manuelle.
UPDATE
Version 1.0
187
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Elément
Problème
Résolution
UPDATE
Problème 7797 : PostgreSQL n'a pas
d'équivalent à l'option « OUTPUT » quand
la table implicite « supprimée » est utilisée
dans l'opérateur pour UPDATE (p. 203)
Ce cas nécessite une
conversion manuelle.
Affectation de
variable
Problème 7829 : Impossible de convertir
l'affectation de variable par l'instruction
UPDATE (p. 204)
Procédez à une conversion
manuelle.
Types utilisateur
Elément
Problème
Résolution
Types de données
définis par
l'utilisateur
Problème 7794 : PostgreSQL ne prend pas
en charge les types de données définis par
l'utilisateur (p. 205)
Procédez à une conversion
manuelle.
Problèmes de conversion des opérateurs arithmétiques
Problème 7775 : Vérifier la conversion de types de données pour une perte
possible de précision
Pour éviter la perte de précision pour les types dans des opérations arithmétiques, convertissez les
valeurs dans le type voulu, comme dans l'exemple suivant.
BEGIN
SELECT
5.1E+1::REAL
INTO lBinaryFloat;
SELECT
- 5.2E-1::DOUBLE PRECISION
INTO lBinaryDouble;
var1 := (var_varchar1||var_varchar2)::INTEGER;
var2 := (var_varchar1||var_varchar3)::NUMERIC;
var3 := var_varchar1::NUMERIC + var_numeric2;
var4 := var_timestamp2 + (var_numeric1::NUMERIC || 'day')::INTERVAL;
END;
Problème 7773 : Impossible d'effectuer une migration automatique des
opérations arithmétiques avec les dates
L'outil de conversion de schéma ne peut pas migrer automatiquement les opérations arithmétiques
qui utilisent des types de date. Convertissez les valeurs dans le type voulu, comme dans l'exemple
suivant.
BEGIN
var3 := var_varchar1::NUMERIC + var_numeric2;
Version 1.0
188
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
var4 := var_timestamp2 + (var_numeric1::NUMERIC || 'day')::INTERVAL;
END;
Problème 7774 : Impossible d'effectuer une migration automatique des
opérations arithmétiques avec plusieurs types d'opérandes
L'outil de conversion de schéma ne peut pas migrer automatiquement les opérations arithmétiques qui
mélangent les types. Par exemple, multiplier une variable de type FLOAT avec une variable de type
INT. Convertissez les valeurs dans le type voulu avant d'effectuer toute opération arithmétique, comme
dans l'exemple suivant.
BEGIN
var1 := (var_varchar1||var_varchar2)::INTEGER;
var2 := (var_varchar1||var_varchar3)::NUMERIC;
END;
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec BUILT-IN SERVICES
Problème 7900 : PostgreSQL n'a pas de fonction similaire à Database Mail de
SQL Server
Essayez d'utiliser Amazon Simple Queue Service (Amazon SQS). Pour plus d'informations, consultez
la section Présentation d'Amazon Simple Queue Service
Problème 7901 : PostgreSQL n'a pas de fonction similaire à Service Broker de
SQL Server
Essayez d'utiliser Amazon Simple Queue Service (SQS). Pour plus d'informations, consultez la section
Présentation d'Amazon Simple Queue Service dans la documentation Amazon SQS.
Problème 7902 : PostgreSQL n'a pas de fonction similaire à SQL Server Agent
Essayez d'utiliser le service AWS Lambda avec les événements planifiés. Pour plus d'informations,
consultez la section Présentation d'AWS Lambda dans le manuel du développeur AWS Lambda.
Problème 7903 : PostgreSQL n'a pas de fonction similaire à la sauvegarde
SQL Server
Essayez d'utiliser le service de stockage Amazon Glacier. Pour plus d'informations, consultez la
section Présentation d'Amazon Glacier dans le manuel du développeur Amazon Glacier.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
Version 1.0
189
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des fonctions intégrées SQL (BUILTIN SQL FUNCTIONS)
Problème 7811 : PostgreSQL ne prend pas en charge la fonction SOUNDEX
Créez une fonction définie par l'utilisateur.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CONTROL FLOW
Problème 7800 : PostgreSQL ne prend pas en charge les jeux de résultats
dans le style de MSSQL
Examinez votre code transformé et modifiez-le, si nécessaire.
Problème 7801 : La table peut être verrouillée par un curseur ouvert
Dans Microsoft SQL Server, une table temporaire locale créée dans une procédure stockée est
supprimée automatiquement à la fin de la procédure stockée. En revanche, les tables temporaires
dans PostgreSQL sont supprimées automatiquement à la fin d'une session. La conversion utilise
l'instruction DROP TABLE IF EXISTS pour émuler ce comportement et supprimer la table temporaire
avant la fin de la fonction qui l'a créée. Toutefois, dans certains cas, cette instruction peut échouer,
car la table temporaire est verrouillée en raison d'un curseur ouvert. Dans ce cas, l'instruction DROP
TABLE doit être mise en commentaire. Examinez votre code transformé et modifiez-le, si nécessaire.
Problème 7802 : Une table créée dans la procédure doit être supprimée avant
la fin de la procédure
Examinez votre code transformé et modifiez-le, si nécessaire.
Problème 7826 : Vérifier la valeur par défaut d'une variable DateTime
Vérifiez la valeur par défaut d'une variable DateTime.
Problème 7628 : PostgreSQL ne prend pas en charge l'option GOTO.
Impossible d'effectuer la conversion automatique.
Corrigez votre code de façon à éliminer les opérateurs GOTO, en utilisant des blocs BEGIN...END
avec des opérateurs EXIT, REPEAT, UNTIL et WHILE.
Problème 7821 : L'opérateur de conversion automatique WAITFOR assorti
d'une variable n'est pas pris en charge
Vous devez procéder à une conversion manuelle dans les cas où vous avez une instruction WAITFOR
DELAY qui utilise une variable, par exemple WAITFOR DELAY @time;, à la place d'une valeur littérale
comme WAITFOR DELAY '00:00:05';.
Version 1.0
190
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7691 : PostgreSQL ne prend pas en charge la fonction WAITFOR
TIME
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CREATE
Problème 7696 : Impossible de convertir l'objet en raison de la non création de
%s
Vérifiez l'objet <object name>.
Problème 7813 : Objets chiffrés
Déchiffrez l'objet avant la conversion.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CURSORS
Problème 7637 : PostgreSQL ne prend pas en charge GLOBAL CURSORS.
Nécessite une conversion manuelle.
Remplacez le curseur global par un curseur local ou corrigez votre code de sorte qu'il n'exige pas de
curseurs globaux.
Problème 7639 : PostgreSQL ne prend pas en charge les curseurs de type
DYNAMIC
Corrigez votre code de façon à supprimer l'option DYNAMIC des curseurs.
Problème 7701 : La définition de cette option correspondant au comportement
normal des curseurs dans PostgreSQL, cette option est ignorée
L'option FAST_FORWARD est ignorée pendant la conversion, car les curseurs PostgreSQL offrent
par défaut le même comportement que l'option FAST_FORWARD. Examinez votre code transformé et
modifiez-le, si nécessaire.
Problème 7803 : PostgreSQL ne prenant pas en charge l'option FOR
UPDATE, cette option est ignorée
L'option FOR_UPDATE est ignorée pendant la conversion, car PostgreSQL ne la prend pas en charge.
Examinez votre code transformé et modifiez-le, si nécessaire.
Version 1.0
191
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7700 : L'appartenance et l'ordre des lignes ne changeant jamais
pour les curseurs dans PostgreSQL, cette option est ignorée
Utilisez cursors sans cette option.
Problème 7704 : PostgreSQL ne prenant pas en charge l'option OPTIMISTIC,
cette option est ignorée
Utilisez cursors sans cette option.
Problème 7702 : Tous les curseurs PostgreSQL étant en lecture seule, cette
option est ignorée
Utilisez cursors sans cette option.
Problème 7705 : PostgreSQL ne prenant pas en charge l'option
TYPE_WARNING, cette option est ignorée
Utilisez cursors sans cette option.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DATA TYPES
Problème 7818 : PostgreSQL ne prend pas en charge les opérations
arithmétiques avec les types de données binaires
Procédez à une conversion manuelle.
Problème 7662 : PostgreSQL ne prend pas en charge ce type. Une conversion
manuelle est nécessaire.
PostgreSQL ne prend pas en charge le type de données geography. Pour stocker les données de ce
type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite.
Problème 7664 : PostgreSQL ne prend pas en charge ce type. Une conversion
manuelle est nécessaire.
PostgreSQL ne prend pas en charge le type de données geometry. Pour stocker les données de ce
type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite.
Problème 7657 : PostgreSQL ne prend pas en charge ce type. Une conversion
manuelle est nécessaire.
PostgreSQL ne prend pas en charge le type de données hierarchyid. Pour stocker les données de ce
type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite.
Problème 7706 : PostgreSQL ne prend pas en charge ce type
PostgreSQL ne prend pas en charge le type de données rowversion. Pour stocker des données de ce
type dans PostgreSQL, utiliser un type compatible avec PostgreSQL.
Version 1.0
192
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7658 : PostgreSQL ne prend pas en charge ce type. Une conversion
manuelle est nécessaire.
PostgreSQL ne prend pas en charge le type de données sql_variant. Pour stocker les données de ce
type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite.
Problème 7659 : Le champ d'application des variables de table et des tables
temporaires est différent. Vous devez appliquer une conversion manuelle si
vous utilisez la récursivité.
Procédez à une conversion manuelle.
Problème 7690 : PostgreSQL ne prend pas en charge les types de table
PostgreSQL ne prend pas en charge les paramètres de table dans les instructions CREATE
PROCEDURE, comme le montre l'exemple suivant.
CREATE TYPE Employee2Client AS TABLE(
EmployeeID int,
EmployeeName varchar(160),
ClientID int,
ClientName varchar(160)
)
go
CREATE PROCEDURE [dbo].[PROC_CREATE_PROC_005]
@p_E2C Employee2Client READONLY
AS
BEGIN
select * from @p_E2C where upper(ClientName) like concat('%', upper('bank'),
'%') ;
Convertissez-les en tables temporaires ou en variables de ligne (par exemple, name table_name
%ROWTYPE;).
Problème 7816 : PostgreSQL ne prend pas en charge les méthodes pour le
type de données XML
Microsoft SQL Server propose des méthodes pour le type de données xml qui permettent de
lire et manipuler les données XML. En revanche, le type de données xml de PostgreSQL n'offre
pas de fonctionnalités similaires. Procédez à une conversion manuelle pour utiliser à la place les
fonctionnalités de gestion XML de PostgreSQL.
Problème 7817 : PostgreSQL ne prend pas en charge l'option [for xml path]
dans les requêtes SQL
PostgreSQL ne prend pas en charge l'utilisation de la clause FOR XML en mode PATH pour les
instructions DML. Procédez à une conversion manuelle pour utiliser à la place les fonctionnalités de
gestion XML de PostgreSQL.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
193
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problèmes de conversion de DDL
Problème 7675 : PostgreSQL ne prend pas en charge les options de tri (ASC |
DESC) pour les contraintes
Supprimez ces options des index et des contraintes.
Problème 7681 : PostgreSQL ne prend pas en charge les index organisés en
cluster
Utilisez des index non organisés en cluster.
Problème 7682 : PostgreSQL ne prend pas en charge l'option INCLUDE dans
les index
Utilisez l'index sans cette option.
Problème 7781 : PostgreSQL ne prend pas en charge l'option PAD_INDEX
dans les index
Utilisez l'index sans cette option.
Problème 7782 : PostgreSQL ne prend pas en charge l'option
SORT_IN_TEMPDB dans les index
Utilisez l'index sans cette option.
Problème 7783 : PostgreSQL ne prend pas en charge l'option
IGNORE_DUP_KEY dans les index
Utilisez l'index sans cette option.
Problème 7784 : PostgreSQL ne prend pas en charge l'option
STATISTICS_NORECOMPUTE dans les index
Utilisez l'index sans cette option.
Problème 7785 : PostgreSQL ne prend pas en charge l'option
STATISTICS_INCREMENTAL dans les index
Utilisez l'index sans cette option.
Problème 7786 : PostgreSQL ne prend pas en charge l'option
DROP_EXISTING dans les index
Utilisez l'index sans cette option.
Problème 7787 : PostgreSQL ne prend pas en charge l'option ONLINE dans
les index
Utilisez l'index sans cette option.
Problème 7788 : PostgreSQL ne prend pas en charge l'option
ALLOW_ROW_LOCKS dans les index
Utilisez l'index sans cette option.
Version 1.0
194
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7789 : PostgreSQL ne prend pas en charge l'option
ALLOW_PAGE_LOCKS dans les index
Utilisez l'index sans cette option.
Problème 7790 : PostgreSQL ne prend pas en charge l'option MAXDOP dans
les index
Utilisez l'index sans cette option.
Problème 7791 : PostgreSQL ne prend pas en charge l'option
DATA_COMPRESSION dans les index
Utilisez l'index sans cette option.
Problème 7679 : PostgreSQL ne prend pas en charge les colonnes calculées
Essayez d'utiliser plutôt un déclencheur.
Problème 7680 : PostgreSQL ne prend pas en charge les tables temporaires
globales
Utilisez des tables locales temporaires ou standard.
Problème 7812 : La table temporaire doit être supprimée avant la fin de la
fonction
Examinez votre code transformé et modifiez-le, si nécessaire.
Problème 7825 : La valeur par défaut d'une colonne DateTime a été
supprimée
Examinez le code généré et modifiez-le si nécessaire.
Problème 7776 : La migration automatique des fonctions en ligne n'est pas
prise en charge
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DELETE
Problème 7623 : PostgreSQL ne prend pas en charge les indicateurs dans
les instructions DELETE. La conversion ignore les options sous la forme
WITH(Table_Hint_Limited).
PostgreSQL ne prend pas en charge l'utilisation d'indicateurs (par exemple, WITH FORCESCAN) pour
remplacer le comportement par défaut de l'optimiseur de requête pendant l'exécution d'instructions
DML (Data Manipulation Language, langage de manipulation de données). Utilisez plutôt les méthodes
PostgreSQL d'optimisation des performances.
Version 1.0
195
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7798 : PostgreSQL ne prend pas en charge l'option TOP dans
l'opérateur DELETE
Procédez à une conversion manuelle pour les instructions DELETE qui contiennent un argument TOP,
comme dans l'exemple suivant.
delete top (<expression >)[PERCENT] from <table-name>;
Dans PostgreSQL, vous pouvez utiliser une sous-requête dans la clause WHERE pour identifier les
lignes à supprimer.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DML, FROM
Problème 7823 : PostgreSQL ne prend pas en charge les indicateurs de table
dans les instructions DML
PostgreSQL ne prend pas en charge l'utilisation d'indicateurs (par exemple, WITH FORCESCAN) pour
remplacer le comportement par défaut de l'optimiseur de requête pendant l'exécution d'instructions
DML (Data Manipulation Language, langage de manipulation de données). Utilisez plutôt les méthodes
PostgreSQL d'optimisation des performances.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'EXECUTE
Problème 7695 : PostgreSQL ne prend pas en charge l'exécution d'une
procédure comme variable
Effectuez une conversion manuelle (une solution est d'utiliser le SQL dynamique). Ce problème se
produit lorsque vous passez le nom d'une procédure à une instruction EXECUTE en utilisant une
variable, comme dans l'exemple suivant.
ALTER PROCEDURE [dbo].[PROC_EXECUTE_009]
AS
SET NOCOUNT ON
BEGIN
declare @v_ID int;
declare @v_ProcName varchar(20) = '[dbo].[PROC_DML_015]';
exec @v_ProcName
@v_ID output
Version 1.0
196
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7672 : La conversion automatique de cette commande n'est pas
prise en charge
Ce problème est souvent causé par une instruction EXECUTE qui exécute une chaîne ou une variable,
par exemple EXEC('select * from Customer'); ou EXEC(@variable);. Convertissez chacune
de ces instructions en paire d'instructions PREPARE et EXECUTE dans PostgreSQL.
Problème 7645 : PostgreSQL ne prend pas en charge l'exécution d'une
commande directe sur un serveur lié
Utilisez d'autres méthodes pour exécuter des instructions sur un serveur distant.
Problème 7640 : La commande EXECUTE assortie de l'option RECOMPILE
est ignorée
Utilisez la commande EXECUTE sans cette option.
Problème 7643 : La commande EXECUTE assortie de l'option RESULT SETS
<définition du jeu de résultats > est ignorée
Utilisez la commande EXECUTE sans cette option.
Problème 7642 : La commande EXECUTE assortie de l'option RESULT SETS
NONE est ignorée
Utilisez la commande EXECUTE sans cette option.
Problème 7641 : La commande EXECUTE assortie de l'option RESULT SETS
UNDEFINED est ignorée
Utilisez la commande EXECUTE sans cette option.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'INSERT
Problème 7819 : PostgreSQL ne prend pas en charge les instructions
INSERT...EXECUTE
Procédez à une conversion manuelle. PostgreSQL ne prend pas en charge l'utilisation d'EXECUTE au
sein d'une instruction INSERT pour insérer les résultats d'une procédure stockée dans une table.
Problème 7799 : PostgreSQL ne prend pas en charge l'option TOP dans
l'opérateur INSERT
Procédez à une conversion manuelle pour les instructions INSERT qui contiennent un argument TOP,
comme dans l'exemple suivant.
insert TOP(2) percent into Customer(
id
Version 1.0
197
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
,sname
,name
,typeid
,taxcode
,stateid
,opendate
,closedate
)select
id+1000
,name
,name
,4
,61+id
,1
,getdate()
,null
from
employees e
where
name not in(select name from Customer)
and exists(select 1 from Employees where ManagerId = e.id)
Dans PostgreSQL, vous pouvez utiliser la fonction de fenêtrage row_number() dans la clause
FROM ou une sous-requête dans la clause WHERE de l'instruction SELECT que vous utilisez pour
sélectionner les données à insérer pour identifier les lignes que vous souhaitez insérer.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'opérateurs
Problème 7804 : PostgreSQL ne prend pas en charge l'opérateur [OR exclusif
au niveau du bit]
Procédez à une conversion manuelle.
Problème 7805 : PostgreSQL ne prend pas en charge l'opérateur [Pas
inférieur à]
Procédez à une conversion manuelle.
Problème 7806 : PostgreSQL ne prend pas en charge l'opérateur [Pas
supérieur à]
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
198
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problèmes de conversion d'erreur d'analyse (Parser Error)
Problème 7663 : Impossible de résoudre l'objet
Vérifiez si l'objet <nom d'objet> est présent dans la base de données. S'il ne l'est pas, vérifiez le nom
de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SELECT
Problème 7653 : PostgreSQL ne prend pas en charge l'option GROUP BY
ROLLUP. Impossible d'effectuer la conversion automatique.
Essayez de créer une procédure stockée pour remplacer la requête.
Problème 7654 : PostgreSQL ne prend pas en charge l'option GROUP BY
CUBE. Impossible d'effectuer la conversion automatique.
Essayez de créer une procédure stockée pour remplacer la requête.
Problème 7655 : PostgreSQL ne prend pas en charge l'option GROUP BY
GROUPING SETS. Impossible d'effectuer la conversion automatique.
Essayez de créer une procédure stockée pour remplacer la requête.
Problème 7646 : PostgreSQL ne prend pas en charge l'option COLLATE dans
la clause ORDER BY. Impossible d'effectuer la conversion automatique.
Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la
création de la base de données.
Problème 7687 : PostgreSQL ne prend pas en charge le prédicat CONTAINS
A la place, procédez à une conversion manuelle en réécrivant l'instruction SELECT pour utiliser la
fonctionnalité de recherche en texte intégral PostgreSQL. Pour plus d'informations sur la recherche en
texte intégral dans PostgreSQL, consultez Tables and Indexes dans la documentation PostgreSQL.
Problème 7688 : PostgreSQL ne prend pas en charge le prédicat FREETEXT
A la place, procédez à une conversion manuelle en réécrivant l'instruction SELECT pour utiliser la
fonctionnalité de recherche en texte intégral PostgreSQL. Pour plus d'informations sur la recherche en
texte intégral dans PostgreSQL, consultez Tables and Indexes dans la documentation PostgreSQL.
Problème 7795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison
des chaînes.
Vérifiez les comparaisons de chaînes dans les clauses WHERE des instructions, par exemple WHERE
[Name] LIKE '%BLOCKED%';. Toutes les chaînes utilisées dans les comparaisons doivent être en
lettres minuscules.
Version 1.0
199
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Problème 7605 : PostgreSQL ne prend pas en charge l'option WITH TIES
Procédez à une conversion manuelle des instructions TOP qui utilisent la clause WITH TIES. Vous
pouvez utiliser la fonction de fenêtrage rank() dans PostgreSQL pour fournir des résultats similaires.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SEQUENCE
Problème 7793 : PostgreSQL ne prend pas en charge la modification du type
de données dans les séquences
PostgreSQL ne prend pas en charge la définition du type de données d'une séquence en utilisant la
clause AS de l'instruction CREATE SEQUENCE. Examinez votre code transformé et modifiez-le, si
nécessaire.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec SYNONYMS
Problème 7792 : PostgreSQL ne prend pas en charge les synonymes
PostgreSQL ne prend pas en charge l'instruction CREATE SYNONYM. Pour convertir, remplacez le
synonyme dans n'importe quelle instruction par l'objet de base de données d'origine. Si l'objet d'origine
est une table ou une vue, vous pouvez essayer de créer une vue dans une base de données qui
dépend d'une table ou d'une vue d'une autre base de données.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec les objets SYS
Problème 7904 : Impossible de convertir l'objet système <nom d'objet>
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
Version 1.0
200
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de TRANSACTION
Problème 7807 : Les transactions dans les fonctions ne sont pas prises en
charge par PostgreSQL
Procédez à une conversion manuelle pour corriger ce problème.
PostgreSQL prend en charge les transactions locales dans le cadre d'une session client donnée.
Vous devez convertir manuellement les transactions Microsoft SQL Server pour utiliser à la place
les instructions de gestion des transactions PostgreSQL. PostgreSQL ne prend pas en charge les
transactions nommées ou distribuées, les transactions de marquage ou la gestion des transactions
au sein des fonctions. Pour plus d'informations sur l'utilisation des transactions dans PostgreSQL,
consultez TRANSACTIONS dans la documentation PostgreSQL.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de TRIGGERS
Problème 7809 : Dans PostgreSQL il n'y a pas d'équivalent de tables
« insérées » et « supprimées »
PostgreSQL ne prend pas en charge les tables virtuelles insérées ou supprimées. Pour convertir
manuellement un déclencheur qui utilise ces tables de Microsoft SQL Server vers PostgreSQL,
effectuez les étapes suivantes :
1. Créez une fonction déclencheur. La fonction déclencheur doit être déclarée comme une fonction
ne prenant aucun argument et retournant un déclencheur type. La valeur retournée doit être NEW,
OLD ou NULL, en fonction du type d'un déclencheur. Le corps de la fonction doit être SQL pris en
charge par PostgreSQL pour remplacer le corps du déclencheur Microsoft SQL Server sans utiliser
les tables virtuelles. Le nom de la fonction doit avoir le format schema_name.fn_<%trigger_name
%>().
2. Créez un déclencheur avec CREATE TRIGGER qui exécute la fonction déclencheur.
Par exemple, pensez à utiliser le déclencheur Microsoft SQL Server suivant.
CREATE TRIGGER [dbo].[tr_customerStateExt_aiu]
ON [dbo].[CustomerStateExt]
AFTER INSERT, UPDATE
AS
BEGIN
IF EXISTS (SELECT *
FROM inserted
WHERE LEN(Name) < 5)
BEGIN
Version 1.0
201
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
RAISERROR ('The name must be longer than five characters.', 16, 1);
ROLLBACK TRANSACTION;
RETURN
END;
END
GO
A l'aide de l'approche décrite, ce déclencheur est converti en déclencheur PostgreSQL suivant.
CREATE OR REPLACE FUNCTION mydb_dbo.fn_tr_customerStateExt_aiu()
RETURNS trigger
AS
$BODY$
BEGIN
<SQL to write around use of the inserted and deleted virtual tables>
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER tr_customerStateExt_aiu
AFTER INSERT OR UPDATE
ON mydb_dbo.CustomerStateExt
FOR EACH STATEMENT
EXECUTE PROCEDURE mydb_dbo.fn_tr_customerStateExt_aiu();
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion inconnus (Unknown)
Problème 7627 : Cette conversion d'élément syntaxique n'est pas encore prise
en charge
Procédez à une conversion manuelle.
Problème 7674 : La conversion automatique de la clause <clause name> de
l'instruction <statement name> n'est pas prise en charge
Procédez à une conversion manuelle pour corriger ce problème.
Une cause courante de ce problème est les instructions SET dans Microsoft SQL Server qui affectent
la gestion de la session en cours (une liste complète de ces instructions SET est disponible dans SET
Statements (Transact-SQL)). Ces instructions ne sont pas prises en charge dans PostgreSQL, et vous
avez donc besoin d'effectuer une conversion manuelle vers une instruction PostgreSQL SET. Pour
plus d'informations sur l'utilisation d'une instruction SET dans PostgreSQL, consultez la page SET
dans la documentation PostgreSQL.
Question 7808 : SQL non analysé
Procédez à une conversion manuelle.
Version 1.0
202
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'UPDATE
Problème 7796 : PostgreSQL ne prend pas en charge l'option TOP dans
l'opérateur UPDATE
Procédez à une conversion manuelle pour les instructions UPDATE qui contiennent un argument TOP,
comme dans l'exemple suivant.
update top(10)
Account
set
AccountBalance = AccountBalance - 1
where
AccountBalance > 15723
;
ou :
update top(5) percent
Account
set
AccountBalance = AccountBalance - 1
where
AccountBalance > 15723
;
Dans PostgreSQL, vous pouvez utiliser la fonction de fenêtrage row_number() dans la clause FROM
ou une sous-requête dans la clause WHERE de l'instruction UPDATE pour identifier les lignes à
modifier.
Problème 7797 : PostgreSQL n'a pas d'équivalent à l'option « OUTPUT »
quand la table implicite « supprimée » est utilisée dans l'opérateur pour
UPDATE
Procédez à une conversion manuelle pour les instructions UPDATE qui utilisent la clause OUTPUT et
qui font référence à la table virtuelle supprimée, comme dans l'exemple suivant.
update Customer set
name = 'Mister ' + name
output
deleted.id,
deleted.name,
inserted.id,
inserted.name
where
TypeID = 4
Version 1.0
203
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur les problèmes de
conversion de Microsoft SQL Server vers PostgreSQL
Dans PostgreSQL, utilisez une sous-requête dans la clause RETURNING pour retourner les
informations sur la table supprimée. Cette approche nécessite que la table ait un champ de clé
primaire.
update mydb_dbo.Customer c set
name = 'Mister ' || name
where
TypeID = 4
returning
(select id from mydb_dbo.Customer where id = c.id)
,(select name from mydb_dbo.Customer where id = c.id)
,id
,name
Si la clé primaire se compose de plusieurs champs, vous devez faire référence à tous ces champs
dans la sous-requête. Prenons l'exemple de l'instruction suivante dans SQL Server où id1 et id2 sont
les champs de clé primaire de la table TestMultiPK.
UPDATE [TestMultiPK]
SET [Description] = 'Test'
output
deleted.id1,
deleted.id2,
deleted.Description,
inserted.id1,
inserted.id2,
inserted.Description
where ID = 0
La conversion PostgreSQL se présente comme suit.
UPDATE [TestMultiPK] t
SET [Description] = 'Test'
WHERE ID = 0
returning
select (id1 from TestMultiPK where id1 = t.id1 and id2 = t.id2)
, select (id2 from TestMultiPK where id1 = t.id1 and id2 = t.id2)
, select (Description from TestMultiPK where id1 = t.id1 and id2 = t.id2)
, id1
, id2
, Description
Problème 7829 : Impossible de convertir l'affectation de variable par
l'instruction UPDATE
Procédez à une conversion manuelle. Ce problème se produit lorsque vous utilisez une instruction
UPDATE pour modifier la valeur d'une variable, comme dans l'exemple suivant.
CREATE PROCEDURE [dbo].[PROC_DML_UPDATE_FROM_3]
AS
BEGIN
DECLARE @AccountBalance FLOAT = 400;
UPDATE bank
SET @AccountBalance = 500
FROM bank
Version 1.0
204
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge de MySQL vers PostgreSQL
WHERE id = 50005;
END
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des types utilisateur
Problème 7794 : PostgreSQL ne prend pas en charge les types de données
définis par l'utilisateur
Pour résoudre ce problème, convertissez manuellement chaque instruction sp_ addtype ou CREATE
TYPE dans Microsoft SQL Server en instruction CREATE TYPE dans PostgreSQL. Pour plus
d'informations sur la création d'un type de données défini par l'utilisateur dans PostgreSQL, consultez
CREATE TYPE dans la documentation PostgreSQL.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 179)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Conversion de schéma prise en charge de
MySQL vers PostgreSQL
Les sections suivantes dressent la liste des éléments de schéma d'une base de données MySQL et
indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers PostgreSQL à l'aide
d'AWS Schema Conversion Tool.
DDL
Instructions Alter
ALTER TABLE
Clause
Conversion Détails
automatique
ADD CONSTRAINT
Oui
Version 1.0
205
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
Clause
Conversion Détails
automatique
ADD INDEX
Oui
Instructions Create
CREATE INDEX
Clause
Conversion Détails
automatique
INDEX
Oui
Index UNIQUE
Oui
CREATE PROCEDURE
Clause
Conversion Détails
automatique
PARAMETRES : IN, OUT,
INOUT
Oui
Avec des paramètres de
sortie
Oui
Sans paramètres de sortie
Oui
CREATE TABLE
Clause
Conversion Détails
automatique
Tables standard
Oui
Tables temporaires
Oui
CREATE TRIGGER
Clause
Conversion Détails
automatique
Déclencheurs FOR EACH
ROW
Oui
Evénement déclencheur
(Insert/Update/Delete)
Oui
Temps de déclenchement
(Before/After)
Oui
Version 1.0
206
AWS Schema Conversion Tool Guide de l'utilisateur
DML
CREATE VIEW
Clause
Conversion Détails
automatique
Avec l'OPTION
ALGORITHM
Partielle
Avec l'OPTION CHECK
Oui
Problème 8824 : L'option ALGORITHM n'est pas pris en
charge (p. 236)
Dénomination d'objets
Clause
Conversion Détails
automatique
Schémas
Oui
Tables, colonnes
Oui
DML
Clauses
FROM
Clause
Conversion Détails
automatique
CROSS JOIN
Oui
INNER JOIN
Oui
join_condition: ...ON
conditional_expr
Oui
join_condition: … USING
(column_list)
Oui
LEFT JOIN
Oui
LEFT OUTER JOIN
Oui
NATURAL LEFT JOIN
Oui
NATURAL LEFT OUTER
JOIN
Oui
NATURAL RIGHT JOIN
Oui
NATURAL RIGHT OUTER Oui
JOIN
RIGHT JOIN
Oui
RIGHT OUTER JOIN
Oui
STRAIGHT_JOIN
Oui
Version 1.0
207
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
Sous-requêtes dans la
clause FROM
Oui
tables_list
Oui
Instructions
DELETE
Clause
Conversion Détails
automatique
IGNORE
Partielle
LIMIT
Oui
LOW_PRIORITY
Partielle
Problème 8830 : PostgreSQL n'a pas une option similaire
à LOW_PRIORITY pour les instructions DML (p. 232)
Syntaxe à plusieurs tables
Partielle
Problème 8834 : PostgreSQL ne peut pas effectuer
une suppression à partir de plusieurs tables en même
temps (p. 232)
Syntaxe à plusieurs tables
avec USING
Partielle
Problème 8834 : PostgreSQL ne peut pas effectuer
une suppression à partir de plusieurs tables en même
temps (p. 232)
ORDER BY
Oui
QUICK
Partielle
Problème 8831 : PostgreSQL n'a pas une option similaire
à IGNORE pour les instructions DML (p. 232)
Problème 8832 : PostgreSQL n'a pas une option similaire
à QUICK pour les instructions DML (p. 232)
INSERT
Clause
Conversion Détails
automatique
IGNORE
Partielle
Problème 8831 : PostgreSQL n'a pas une option similaire
à IGNORE pour les instructions DML (p. 232)
LOW_PRIORITY
| DELAYED |
HIGH_PRIORITY
Partielle
Problème 8830 : PostgreSQL n'a pas une option similaire
à LOW_PRIORITY pour les instructions DML (p. 232)
ON DUPLICATE KEY
UPDATE
Non
Problème 8829 : PostgreSQL n'a pas d'équivalent de
clause ON DUPLICATE KEY UPDATE (p. 232)
Instruction SELECT pour
insert
Oui
SET col1=expr1,..
Oui
VALUES(,…,)|VALUE(,
…,)
Oui
Version 1.0
208
AWS Schema Conversion Tool Guide de l'utilisateur
DML
SELECT
Clause
Conversion Détails
automatique
DISTINCT
Oui
GROUP BY ASC, DESC
Oui
GROUP BY col_name,…
Oui
GROUP BY expression
Oui
GROUP BY plusieurs
options
Oui
GROUP BY position,…
Oui
GROUP BY WITH
ROLLUP
Non
HAVING
Oui
HIGH_PRIORITY
Partielle
LIMIT offset, row_count
Oui
LIMIT row_count OFFSET
offset
Oui
MAX_STATEMENT_TIME
=N
Partielle
ORDER BY col_name,…
Oui
ORDER BY expression
Oui
ORDER BY plusieurs
options
Oui
ORDER BY position,…
Oui
SQL_BIG_RESULT
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
SQL_BUFFER_RESULT
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
SQL_CACHE
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
SQL_CALC_FOUND_ROWSPartielle
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
SQL_NO_CACHE
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
SQL_SMALL_RESULT
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
Problème 8653 : PostgreSQL ne prend pas en charge
l'option GROUP BY ROLLUP (p. 235)
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
Version 1.0
209
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
STRAIGHT_JOIN
Partielle
Sélectionner toutes les
colonnes (en utilisant * et
des alias)
Oui
Sélectionner toutes les
colonnes (en utilisant *)
Oui
Sélectionner un sousensemble de colonnes
Oui
Sélectionner avec des
calculs
Oui
Sélectionner avec en-tête
de colonne
Oui
Sélectionner avec des
constantes
Oui
Sous-requête comme
opérande scalaire
Oui
Problème 8836 : PostgreSQL n'a pas une option similaire
à %s pour les instructions DML (p. 232)
UPDATE
Clause
Conversion Détails
automatique
DEFAULT VALUES
Oui
IGNORE
Partielle
LIMIT
Oui
LOW_PRIORITY
Partielle
Syntaxe à plusieurs tables
Oui
ORDER BY
Oui
Problème 8831 : PostgreSQL n'a pas une option similaire
à IGNORE pour les instructions DML (p. 232)
Problème 8830 : PostgreSQL n'a pas une option similaire
à LOW_PRIORITY pour les instructions DML (p. 232)
Fonctions
Agrégation
Clause
Conversion Détails
automatique
AVG()
Oui
BIT_AND()
Oui
Version 1.0
210
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
BIT_OR()
Oui
BIT_XOR()
Non
COUNT()
Oui
COUNT(DISTINCT)
Non
GROUP_CONCAT()
Oui
MAX()
Oui
MIN()
Oui
STD()
Oui
STDDEV()
Oui
STDDEV_POP()
Oui
STDDEV_SAMP()
Oui
SUM()
Oui
VAR_POP()
Oui
VAR_SAMP()
Oui
VARIANCE()
Oui
Bit
Clause
Conversion Détails
automatique
BIT_COUNT()
Oui
Flux de contrôle
Clause
Conversion Détails
automatique
CASE
Oui
IF()
Oui
IFNULL()
Oui
NULLIF()
Oui
Version 1.0
211
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Conversion
Clause
Conversion Détails
automatique
BINARY
Oui
CAST()
Oui
CONVERT()
Oui
Date et heure
Clause
Conversion Détails
automatique
ADDDATE()
Oui
ADDTIME()
Oui
CONVERT_TZ()
Oui
CURDATE()
Oui
CURRENT_DATE(), CURRENT_DATE
Oui
CURRENT_TIME(), CURRENT_TIME
Oui
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP
Oui
CURTIME()
Oui
DATE()
Oui
DATE_ADD()
Oui
DATE_FORMAT()
Oui
DATE_SUB()
Oui
DATEDIFF()
Oui
DAY()
Oui
DAYNAME()
Oui
DAYOFMONTH()
Oui
DAYOFWEEK()
Oui
DAYOFYEAR()
Oui
EXTRACT()
Oui
FROM_DAYS()
Oui
FROM_UNIXTIME()
Oui
GET_FORMAT()
Oui
Version 1.0
212
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
HOUR()
Oui
LAST_DAY
Oui
LOCALTIME(), LOCALTIME Oui
LOCALTIMESTAMP, LOCALTIMESTAMP()
Oui
MAKEDATE()
Oui
MAKETIME()
Oui
MICROSECOND()
Oui
MINUTE()
Oui
MONTH()
Oui
MONTHNAME()
Oui
NOW()
Oui
PERIOD_ADD()
Oui
PERIOD_DIFF()
Oui
QUARTER()
Oui
SEC_TO_TIME()
Oui
SECOND()
Oui
STR_TO_DATE()
Oui
SUBDATE()
Oui
SUBTIME()
Oui
SYSDATE()
Non
TIME()
Oui
TIME_FORMAT()
Oui
TIME_TO_SEC()
Oui
TIMEDIFF()
Oui
TIMESTAMP()
Oui
TIMESTAMPADD()
Oui
TIMESTAMPDIFF()
Oui
TO_DAYS()
Oui
TO_SECONDS()
Oui
UNIX_TIMESTAMP()
Oui
UTC_DATE()
Oui
Version 1.0
213
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
UTC_TIME()
Oui
UTC_TIMESTAMP()
Oui
WEEK()
Non
WEEKDAY()
Oui
WEEKOFYEAR()
Oui
YEAR()
Oui
YEARWEEK()
Non
Chiffrement et compression
Clause
Conversion Détails
automatique
AES_DECRYPT()
Non
AES_ENCRYPT()
Non
COMPRESS()
Non
DECODE()
Non
DES_DECRYPT() (a
rendu obsolète 5.7.6)
Non
DES_ENCRYPT() (a
rendu obsolète 5.7.6)
Non
ENCODE()
Non
ENCRYPT() (a rendu
obsolète 5.7.6)
Non
MD5()
Non
OLD_PASSWORD()
Non
PASSWORD() (a rendu
obsolète 5.7.6)
Non
RANDOM_BYTES()
Non
SHA1(), SHA()
Non
SHA2()
Non
UNCOMPRESS()
Non
UNCOMPRESSED_LENGTH()
Non
VALIDATE_PASSWORD_STRENGTH()
Non
Version 1.0
214
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Informations
Clause
Conversion Détails
automatique
BENCHMARK()
Non
CHARSET()
Non
COERCIBILITY()
Non
COLLATION()
Non
CONNECTION_ID()
Non
CURRENT_USER(), CURRENT_USER
Non
DATABASE()
Non
FOUND_ROWS()
Non
LAST_INSERT_ID()
Non
ROW_COUNT()
Non
SCHEMA()
Non
SESSION_USER()
Non
SYSTEM_USER()
Non
USER()
Non
VERSION()
Non
Mathématique
Clause
Conversion Détails
automatique
ABS()
Oui
ACOS()
Oui
ASIN()
Oui
ATAN()
Oui
ATAN2()
Oui
CEIL()
Oui
CEILING()
Oui
CONV()
Non
COS()
Oui
COT()
Oui
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
Version 1.0
215
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
CRC32()
Oui
DEGREES()
Oui
EXP()
Oui
FLOOR()
Oui
LN()
Oui
LOG()
Oui
LOG10()
Oui
LOG2()
Oui
MOD()
Oui
PI()
Oui
POW()
Oui
POWER()
Oui
RADIANS()
Oui
RAND()
Oui
ROUND(X)
Oui
SIGN()
Oui
SIN()
Oui
SQRT()
Oui
TAN()
Oui
TRUNCATE()
Oui
Chaîne
Clause
Conversion Détails
automatique
ASCII()
Oui
BIN()
Oui
BIT_LENGTH()
Oui
CHAR()
Oui
CHAR_LENGTH()
Oui
CHARACTER_LENGTH()
Oui
CONCAT()
Non
Version 1.0
216
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
CONCAT_WS()
Non
ELT()
Oui
EXPORT_SET()
Oui
FIELD()
Oui
FIND_IN_SET()
Oui
FORMAT()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
FROM_BASE64()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
HEX()
Oui
INSERT()
Oui
INSTR()
Oui
LCASE()
Oui
LEFT()
Oui
LENGTH()
Oui
LIKE
Oui
LOAD_FILE()
Non
LOCATE()
Oui
LOWER()
Oui
LPAD()
Oui
LTRIM()
Oui
MAKE_SET()
Oui
MATCH
Non
MID()
Oui
NOT REGEXP
Oui
NOT RLIKE
Oui
OCT()
Oui
OCTET_LENGTH()
Oui
ORD()
Oui
POSITION()
Oui
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
Version 1.0
217
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion Détails
automatique
QUOTE()
Oui
REGEXP
Oui
REPEAT()
Oui
REPLACE()
Oui
REVERSE()
Oui
RIGHT()
Oui
RLIKE
Oui
RPAD()
Oui
RTRIM()
Non
SOUNDEX()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
SOUNDS LIKE
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
SPACE()
Oui
STRCMP()
Oui
SUBSTR()
Oui
SUBSTRING()
Oui
SUBSTRING_INDEX()
Oui
TO_BASE64()
Non
TRIM()
Oui
UCASE()
Oui
UNHEX()
Oui
UPPER()
Oui
WEIGHT_STRING()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
XML
Clause
Conversion Détails
automatique
ExtractValue()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
Version 1.0
218
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion Détails
automatique
UpdateXML()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 228)
Types de données
Date et heure
Type de données
Converti
Détails
automatiquement
en
DATE
date
DATETIME
timestamp
without time
zone
TIME
time
TIMESTAMP
timestamp
without time
zone
YEAR
smallint
YEAR (M)
smallint
JSON
Type de données
Converti
Détails
automatiquement
en
JSON
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Numérique
Types integer (entier)
Type de données
Converti
Détails
automatiquement
en
BIGINT [SIGNED]
bigint
BIGINT UNSIGNED
numeric
BOOL
boolean
Problème 8848 : Dans MySQL, le type BOOLEAN est un
synonyme pour TINYINT (p. 231)
Version 1.0
219
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Converti
Détails
automatiquement
en
BOOLEAN
boolean
INT [INTEGER] [SIGNED]
integer
INT [INTEGER]
UNSIGNED
bigint
MEDIUMINT [SIGNED]
integer
MEDIUMINT UNSIGNED
integer
SMALLINT [SIGNED]
smallint
SMALLINT UNSIGNED
integer
TINYINT [SIGNED]
smallint
TINYINT UNSIGNED
smallint
Problème 8848 : Dans MySQL, le type BOOLEAN est un
synonyme pour TINYINT (p. 231)
Bit
Type de données
Converti
Détails
automatiquement
en
BIT
bit
Virgule fixe
Type de données
Converti
Détails
automatiquement
en
DEC
numeric
DEC (p)
numeric
DEC (p,s)
numeric
DECIMAL
numeric
DECIMAL (p)
numeric
DECIMAL (p,s)
numeric
NUMERIC
numeric
NUMERIC (p)
numeric
NUMERIC (p,s)
numeric
Version 1.0
220
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Virgule flottante
Type de données
Converti
Détails
automatiquement
en
DOUBLE
double
précision
DOUBLE PRECISION
double
précision
DOUBLE PRECISION (p)
double
précision
DOUBLE PRECISION
(p,s)
double
précision
DOUBLE(p)
double
précision
DOUBLE(p,s)
double
précision
FLOAT
real
FLOAT(p)
précision de
1 à 24 : real
précision >
24 : double
précision
FLOAT(p's)
double
précision
REAL
double
précision
REAL(p)
double
précision
REAL(p,s)
double
précision
Types de données spatiales
Type de données
Converti
Détails
automatiquement
en
GEOMETRY
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
GEOMETRYCOLLECTION VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
LINESTRING
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Version 1.0
221
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Converti
Détails
automatiquement
en
MULTILINESTRING
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
MULTIPOINT
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
MULTIPOLYGON
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
POINT
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
POLYGON
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Chaîne
Type de données
Converti
Détails
automatiquement
en
BINARY
bytea
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
BLOB
bytea
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
CHAR
char
CHAR(len)
char
ENUM
CREATE
ENUM type
utilisateur
LONGBLOB
bytea
LONGTEXT
text
MEDIUMBLOB
bytea
MEDIUMTEXT
text
SET
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
TEXT
text
TINYBLOB
bytea
TINYTEXT
text
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Version 1.0
222
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Type de données
Converti
Détails
automatiquement
en
VARBINARY(len)
bytea
VARCHAR(len)
varchar
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 231)
Informations de référence sur la conversion de
MySQL vers PostgreSQL.
Fonctions SQL intégrées (BUILT-IN SQL FUNCTIONS)
Elément
Problème
Résolution
Fonction
Problème 8811 : PostgreSQL ne prend pas
en charge la fonction %s (p. 228)
Créez une fonction définie
par l'utilisateur.
Fonction
Problème 8849 : PostgreSQL ne prend pas
en charge la fonction %s avec les valeurs de
paramètre %s (p. 228)
Créez une fonction définie
par l'utilisateur.
Fonction
Problème 8850 : Certaines valeurs des
paramètres de la fonction %s ne sont pas
prises en charge (p. 228)
Vous devez vérifier le résultat
de la conversion
Fonction
Problème 8851 : PostgreSQL ne prend
pas en charge l'utilisation des fonctions
d'agrégation dans la liste SELECT sans une
clause GROUP BY (p. 228)
Procédez à une conversion
manuelle.
Fonction
Problème 8854 : PostgreSQL ne prend
pas en charge la fonction %s avec des
paramètres (p. 228)
Procédez à une conversion
manuelle.
CONTROL FLOW
Elément
Problème
Résolution
CURSORS
Problème 8845 : La fonctionnalité de
décompte de lignes n'est pas prise
en charge derrière l'instruction « open
cursor » (p. 228)
Procédez à une conversion
manuelle.
DECLARE /
DEFAULT VALUE
Problème 8826 : Vérifiez la valeur par défaut
d'une variable Date ou DateTime (p. 228)
Examinez le code généré et
modifiez-le si nécessaire.
DECLARE /
DEFAULT VALUE
Problème 8828 : Les variables définies par
l'utilisateur ne sont pas prises en charge
dans PostgreSQL (p. 229)
Procédez à une conversion
manuelle.
gestion des erreurs
Problème 8844 : Les codes d'erreur ne sont
pas identiques (p. 229)
Vous devez vérifier le résultat
de la conversion
Version 1.0
223
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Elément
Problème
Résolution
gestion des erreurs
Problème 8846 : PostgreSQL ne prend pas
en charge l'option d'instruction %s (p. 229)
Procédez à une conversion
manuelle.
gestion des erreurs
Problème 8847 : PostgreSQL ne peut
pas retourner à un point d'appel après le
traitement d'une erreur (p. 230)
Procédez à une conversion
manuelle.
LABEL
Problème 8827 : La syntaxe des
libellés d'instruction pour les blocs
BEGIN...END n'est pas prise en charge dans
PostgreSQL (p. 230)
Procédez à une conversion
manuelle.
PROCESS_LIST
Problème 8856 : Les informations des
processus de serveur varient en fonction des
serveurs (p. 230)
Vérifiez le résultat de votre
conversion.
REPLICATION
Problème 8857 : La conversion automatique
n'est pas prise en charge pour les
commandes de réplication (p. 230)
Procédez à une conversion
manuelle.
SLEEP
Problème 8853 : Procédez à une conversion
manuelle si vous utilisez SLEEP() avec
d'autres expressions (p. 230)
Procédez à une conversion
manuelle.
Problème
Résolution
Problème 8654 : Impossible de convertir
l'objet en raison de la non création de
%s (p. 230)
Examinez l'objet %s.
Elément
Problème
Résolution
BOOLEAN
Problème 8848 : Dans MySQL, le type
BOOLEAN est un synonyme pour
TINYINT (p. 231)
Vérifiez-le lorsque vous
insérez des données à partir
d'une variables de type
BOOLEAN dans la base de
données.
DATATYPES
Problème 8706 : PostgreSQL ne prend pas
en charge le type %s (p. 231)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
CREATE
Elément
DATATYPES
Version 1.0
224
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
DDL
Elément
Problème
Résolution
CREATE TABLE
Problème 8825 : Vérifiez la valeur par défaut
d'une colonne Date ou DateTime (p. 231)
Examinez le code généré et
modifiez-le si nécessaire.
DROP TABLE
Problème 8801 : La table peut être
verrouillée par un curseur ouvert (p. 231)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
Elément
Problème
Résolution
DML
Problème 8829 : PostgreSQL n'a pas
d'équivalent de clause ON DUPLICATE KEY
UPDATE (p. 232)
Procédez à une conversion
manuelle.
DML
Problème 8830 : PostgreSQL n'a pas une
option similaire à LOW_PRIORITY pour les
instructions DML (p. 232)
Utilisez l'instruction DML
sans cette option.
DML
Problème 8831 : PostgreSQL n'a pas
une option similaire à IGNORE pour les
instructions DML (p. 232)
Utilisez l'instruction DML
sans cette option.
DML
Problème 8832 : PostgreSQL n'a pas
une option similaire à QUICK pour les
instructions DML (p. 232)
Utilisez l'instruction DML
sans cette option.
DML
Problème 8833 : PostgreSQL ne peut pas
mettre à jour plusieurs tables en même
temps (p. 232)
Procédez à une conversion
manuelle.
DML
Problème 8834 : PostgreSQL ne peut
pas effectuer une suppression à partir de
plusieurs tables en même temps (p. 232)
Procédez à une conversion
manuelle.
SELECT
Problème 8835 : PostgreSQL n'a pas
une option similaire à DELAYED pour les
instructions DML (p. 232)
Utilisez l'instruction DML
sans cette option.
SELECT
Problème 8836 : PostgreSQL n'a pas une
option similaire à %s pour les instructions
DML (p. 232)
Utilisez l'instruction DML
sans cette option.
SELECT
Problème 8837 : PostgreSQL ne
prend pas en charge de clause
STRAIGHT_JOIN (p. 233)
Utilisez l'instruction DML
sans cette option
SELECT
Problème 8838 : PostgreSQL ne
prend pas en charge de clause
SQL_SMALL_RESULT (p. 233)
Utilisez l'instruction DML
sans cette option
SELECT
Problème 8839 : PostgreSQL ne
prend pas en charge de clause
SQL_BIG_RESULT (p. 233)
Utilisez l'instruction DML
sans cette option
DML
Version 1.0
225
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Elément
Problème
Résolution
SELECT
Problème 8840 : PostgreSQL ne
prend pas en charge de clause
SQL_BUFFER_RESULT (p. 233)
Utilisez l'instruction DML
sans cette option
SELECT
Problème 8841 : PostgreSQL ne prend pas
en charge de clause SQL_CACHE (p. 233)
Utilisez l'instruction DML
sans cette option
SELECT
Problème 8842 : PostgreSQL ne
prend pas en charge de clause
SQL_NO_CACHE (p. 233)
Utilisez l'instruction DML
sans cette option
SELECT
Problème 8843 : PostgreSQL ne
prend pas en charge de clause
SQL_CALC_FOUND_ROWS (p. 233)
Utilisez l'instruction DML
sans cette option
WHERE
Problème 8795 : PostgreSQL est sensible
à la casse. Vérifiez la comparaison des
chaînes. (p. 233)
Vérifiez la comparaison des
chaînes.
Elément
Problème
Résolution
EVENTS
Problème 8855 : La conversion automatique
de la syntaxe EVENT n'est pas prise en
charge (p. 233)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
EXECUTE appliqué
à une chaîne de
caractères
Problème 8672 : La conversion automatique
de cette commande n'est pas prise en
charge (p. 234)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Opérateurs
arithmétiques
Problème 8773 : L'outil ne peut pas
actuellement effectuer de migration
automatisée des opérations arithmétiques
avec des dates (p. 234)
Procédez à une conversion
manuelle.
Opérateurs
arithmétiques
Problème 8774 : L'outil ne peut pas effectuer
actuellement une migration automatique
des opérations arithmétiques avec plusieurs
types d'opérandes (p. 234)
Procédez à une conversion
manuelle.
EVENTS
EXECUTE
Opérateurs
Version 1.0
226
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Parser Error (erreur d'analyse)
Elément
Problème
Résolution
Parser Error
Problème 8663 : Impossible de résoudre
l'objet (p. 234)
Vérifiez si l'objet %s est
présent dans la base de
données. S'il ne l'est pas,
vérifiez le nom de l'objet ou
ajoutez ce dernier. Si l'objet
est présent, transformez le
code manuellement.
Elément
Problème
Résolution
GROUP BY
Problème 8653 : PostgreSQL ne prend
pas en charge l'option GROUP BY
ROLLUP (p. 235)
Procédez à une conversion
manuelle.
SELECT
TRANSACTION
Elément
Problème
Résolution
TRANSACTION
Problème 8807 : PostgreSQL ne prend
pas en charge les transactions dans les
fonctions (p. 235)
Procédez à une conversion
manuelle.
Unknown (inconnu)
Elément
Problème
Résolution
Problème 8655 : Cette conversion d'élément
syntaxique n'est pas encore prise en
charge (p. 235)
Procédez à une conversion
manuelle.
Problème 8674 : La conversion automatique
de la clause %s de l'instruction %s n'est pas
pris en charge (p. 235)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
CREATE VIEW
Problème 8824 : L'option ALGORITHM n'est
pas pris en charge (p. 236)
Procédez à une conversion
manuelle.
Clause inconnue
VIEW
Version 1.0
227
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Problèmes de conversion des fonctions intégrées SQL (BUILTIN SQL FUNCTIONS)
Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s
Créez une fonction définie par l'utilisateur.
Problème 8849 : PostgreSQL ne prend pas en charge la fonction %s avec les
valeurs de paramètre %s
Créez une fonction définie par l'utilisateur.
Problème 8850 : Certaines valeurs des paramètres de la fonction %s ne sont
pas prises en charge
Examinez le code transformé et corrigez-le, si nécessaire.
Problème 8851 : PostgreSQL ne prend pas en charge l'utilisation des fonctions
d'agrégation dans la liste SELECT sans une clause GROUP BY
Dans MySQL, il est possible d'utiliser une fonction d'agrégation sur un champ dans la liste SELECT
sans ajouter les autres champs dans la liste SELECT à une clause GROUP BY. Dans PostgreSQL,
l'ajout de ces champs à une clause GROUP BY est obligatoire. Effectuez une conversion manuelle
dans le cas présent.
Problème 8854 : PostgreSQL ne prend pas en charge la fonction %s avec des
paramètres
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CONTROL FLOW
Problème 8845 : La fonctionnalité de décompte de lignes n'est pas prise en
charge derrière l'instruction « open cursor »
Dans PostgreSQL, la fonction FOUND_ROWS() ne peut pas être appelée dans un curseur. Effectuez à
la place une conversion manuelle.
Problème 8826 : Vérifiez la valeur par défaut d'une variable Date ou DateTime
Lorsque les valeurs par défaut de variables Date, Time ou DateTime sont converties, elles le sont de
manière explicite dans le type de données de la variable cible. Par exemple, le code MySQL suivant :
DECLARE ValueDate1 DATE DEFAULT '2000-01-01';
est converti dans le code PostgreSQL suivant :
Version 1.0
228
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
ValueDate1 DATE DEFAULT '2000-01-01'::DATE;
Si la valeur par défaut se présente sous la forme « 0000-00-00 » ou dans un format similaire
(« 0000-00-00 », « 0000-00-00 00:00:00 », « 0000-00-00 00:00:00.000000 »), elle est convertie en
littéral « epoch ». Par exemple, le code MySQL suivant :
DECLARE ValueDate2 DATE DEFAULT '0000-00-00';
est converti dans le code PostgreSQL suivant :
ValueDate2 DATE DEFAULT 'epoch'::DATE;
Dans ce cas, la valeur par défaut doit être mise à jour manuellement. Examinez le code généré et
modifiez-le si nécessaire.
Problème 8828 : Les variables définies par l'utilisateur ne sont pas prises en
charge dans PostgreSQL
Procédez à une conversion manuelle.
Problème 8844 : Les codes d'erreur ne sont pas identiques
Certaines conditions exit handler nécessitent une conversion manuelle. Tout code MySQL contenant
l'une des instructions exit handler suivantes doit être converti pour utiliser à la place la fonctionnalité de
gestion d'erreurs PostgreSQL avec les conditions OTHERS ou SQLSTATE :
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
EXIT
EXIT
EXIT
EXIT
EXIT
EXIT
EXIT
HANDLER
HANDLER
HANDLER
HANDLER
HANDLER
HANDLER
HANDLER
FOR
FOR
FOR
FOR
FOR
FOR
FOR
SQLWARNING, SQLEXCEPTION, NOT FOUND
SQLWARNING
SQLEXCEPTION
NOT FOUND
SQLWARNING, NOT FOUND
<mysql_error_code>
SQLSTATE <sqlstate_value>
Examinez le code transformé et corrigez-le, si nécessaire.
Problème 8846 : PostgreSQL ne prend pas en charge l'option d'instruction %s
Certaines informations de condition utilisées avec les instructions DECLARE CONDITION et GET
DIAGNOSTICS CONDITION dans MySQL ne sont pas prises en charge par PostgreSQL. Tel est le
cas des éléments suivants :
• CLASS_ORIGIN
• SUBCLASS_ORIGIN
• MYSQL_ERRNO
• CONSTRAINT_CATALOG
• CONSTRAINT_SCHEMA
• CATALOG_NAME
• CURSOR_NAME
Convertissez manuellement le code partout où vous utilisez ces informations de condition.
Version 1.0
229
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Problème 8847 : PostgreSQL ne peut pas retourner à un point d'appel après le
traitement d'une erreur
Si une erreur se produit dans un bloc BEGIN...END, PostgreSQL quitte ce dernier sans y exécuter
d'autres instructions. Vérifiez votre logique de gestion d'erreurs et effectuez à la place une conversion
manuelle.
Problème 8827 : La syntaxe des libellés d'instruction pour les blocs
BEGIN...END n'est pas prise en charge dans PostgreSQL
Procédez à une conversion manuelle.
Problème 8856 : Les informations des processus de serveur varient en
fonction des serveurs
Vérifiez le résultat de votre conversion.
Problème 8857 : La conversion automatique n'est pas prise en charge pour les
commandes de réplication
Procédez à une conversion manuelle pour l'ensemble du code relatif à la réplication.
Problème 8853 : Procédez à une conversion manuelle si vous utilisez SLEEP()
avec d'autres expressions
Si vous utilisez SLEEP() dans une instruction SELECT en parallèle avec d'autres expressions, par
exemple SELECT NOW(), SLEEP(2), AccountNo FROM Account, vous devez convertir ce code
manuellement.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CREATE
Problème 8654 : Impossible de convertir l'objet en raison de la non création de
%s
Examinez l'objet %s.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
230
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Problèmes de conversion de DATATYPES
Problème 8848 : Dans MySQL, le type BOOLEAN est un synonyme pour
TINYINT
Vérifiez votre code là où vous insérez des données à partir d'une variable BOOLEAN dans la base de
données.
Problème 8706 : PostgreSQL ne prend pas en charge le type %s
Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un
type composite.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DDL
Problème 8825 : Vérifiez la valeur par défaut d'une colonne Date ou DateTime
Lorsque les valeurs par défaut de variables Date, Time ou DateTime sont converties, elles le sont de
manière explicite dans le type de données de la variable cible. Par exemple, le code MySQL suivant :
DECLARE ValueDate1 DATE DEFAULT '2000-01-01';
est converti dans le code PostgreSQL suivant :
ValueDate1 DATE DEFAULT '2000-01-01'::DATE;
Si la valeur par défaut se présente sous la forme « 0000-00-00 » ou dans un format similaire
(« 0000-00-00 », « 0000-00-00 00:00:00 », « 0000-00-00 00:00:00.000000 »), elle est convertie en
littéral « epoch ». Par exemple, le code MySQL suivant :
DECLARE ValueDate2 DATE DEFAULT '0000-00-00';
est converti dans le code PostgreSQL suivant :
ValueDate2 DATE DEFAULT 'epoch'::DATE;
Dans ce cas, la valeur par défaut doit être mise à jour manuellement. Examinez le code généré et
modifiez-le si nécessaire.
Problème 8801 : La table peut être verrouillée par un curseur ouvert
La conversion utilise l'instruction DROP TABLE IF EXISTS pour supprimer une table temporaire avant
que l'aboutissement de fonction dans laquelle elle a été créée. Toutefois, dans certains cas, cette
instruction peut échouer, car la table temporaire est verrouillée en raison d'un curseur ouvert. Dans
ce cas, l'instruction DROP TABLE doit être mise en commentaire. Examinez votre code transformé et
modifiez-le, si nécessaire.
Version 1.0
231
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DML
Problème 8829 : PostgreSQL n'a pas d'équivalent de clause ON DUPLICATE
KEY UPDATE
Procédez à une conversion manuelle.
Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY
pour les instructions DML
Utilisez l'instruction DML sans cette option.
Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les
instructions DML
Utilisez l'instruction DML sans cette option.
Problème 8832 : PostgreSQL n'a pas une option similaire à QUICK pour les
instructions DML
Utilisez l'instruction DML sans cette option.
Problème 8833 : PostgreSQL ne peut pas mettre à jour plusieurs tables en
même temps
PostgreSQL ne prend pas en charge l'utilisation d'une instruction UPDATE pour mettre à jour plusieurs
tables à la fois, par exemple update Account, Customer set Account.AccountBalance
= Account.AccountBalance + 100, Customer.SName = 'Sofan Hubert'. Effectuez une
conversion manuelle dans le cas présent.
Problème 8834 : PostgreSQL ne peut pas effectuer une suppression à partir
de plusieurs tables en même temps
PostgreSQL ne prend en charge l'utilisation d'une instruction DELETE pour supprimer plusieurs tables
à la fois, par exemple delete table1, table3. Effectuez une conversion manuelle dans le cas
présent.
Problème 8835 : PostgreSQL n'a pas une option similaire à DELAYED pour
les instructions DML
Utilisez l'instruction DML sans cette option.
Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les
instructions DML
Utilisez l'instruction DML sans cette option.
Version 1.0
232
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Problème 8837 : PostgreSQL ne prend pas en charge de clause
STRAIGHT_JOIN
Utilisez l'instruction DML sans cette option.
Problème 8838 : PostgreSQL ne prend pas en charge de clause
SQL_SMALL_RESULT
Utilisez l'instruction DML sans cette option.
Problème 8839 : PostgreSQL ne prend pas en charge de clause
SQL_BIG_RESULT
Utilisez l'instruction DML sans cette option.
Problème 8840 : PostgreSQL ne prend pas en charge de clause
SQL_BUFFER_RESULT
Utilisez l'instruction DML sans cette option.
Problème 8841 : PostgreSQL ne prend pas en charge de clause SQL_CACHE
Utilisez l'instruction DML sans cette option.
Problème 8842 : PostgreSQL ne prend pas en charge de clause
SQL_NO_CACHE
Utilisez l'instruction DML sans cette option.
Problème 8843 : PostgreSQL ne prend pas en charge de clause
SQL_CALC_FOUND_ROWS
Utilisez l'instruction DML sans cette option.
Problème 8795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison
des chaînes.
Vérifiez les comparaisons de chaînes dans les clauses WHERE des instructions, par exemple WHERE
[Name] LIKE '%BLOCKED%';. Toutes les chaînes utilisées dans les comparaisons doivent être en
lettres minuscules.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'EVENTS
Problème 8855 : La conversion automatique de la syntaxe EVENT n'est pas
prise en charge
Les instructions liées aux événements comme CREATE EVENT ou DROP EVENT ne sont pas prises
en charge dans PostgreSQL. Convertissez manuellement ce code.
Version 1.0
233
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'EXECUTE
Problème 8672 : La conversion automatique de cette commande n'est pas
prise en charge
Le code qui utilise les instructions PREPARE...EXECUTE...DEALLOCATE PREPARE ne peut pas être
converti automatiquement. Effectuez à la place une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'opérateurs
Problème 8773 : L'outil ne peut pas actuellement effectuer de migration
automatisée des opérations arithmétiques avec des dates
Procédez à une conversion manuelle.
Problème 8774 : L'outil ne peut pas effectuer actuellement une migration
automatique des opérations arithmétiques avec plusieurs types d'opérandes
Un code qui utilise un opérateur arithmétique et a une opérande qui dispose d'un type de données
DATE, TIME ou TIMESTAMP ne peut pas être converti automatiquement. Par exemple, set d =
now() + 1;. Effectuez à la place une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'erreur d'analyse (Parser Error)
Problème 8663 : Impossible de résoudre l'objet
Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou
ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
Version 1.0
234
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SELECT
Problème 8653 : PostgreSQL ne prend pas en charge l'option GROUP BY
ROLLUP
PostgreSQL ne prend pas en charge la clause GROUP BY <nom_champ> WITH ROLLUP pour
l'instruction SELECT. Convertissez manuellement ce code.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de TRANSACTION
Problème 8807 : PostgreSQL ne prend pas en charge les transactions dans
les fonctions
Le code qui utilise des instructions de gestion de transaction comme START TRANSACTION ou
COMMIT dans une fonction ou une procédure stockée ne peut pas être converti automatiquement.
Effectuez à la place une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion inconnus (Unknown)
Problème 8655 : Cette conversion d'élément syntaxique n'est pas encore prise
en charge
Procédez à une conversion manuelle.
Problème 8674 : La conversion automatique de la clause %s de l'instruction
%s n'est pas pris en charge
Cette erreur est habituellement générée par le code qui définit les options de transaction ou les
variables liées à la réplication qui ne sont pas prises en charge dans PostgreSQL. Ce code doit être
converti manuellement. Les instructions qui déclenchent cette erreur incluent les éléments suivants :
• SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
• SET TRANSACTION READ ONLY;
• SET SESSION TRANSACTION READ WRITE;
• SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
Version 1.0
235
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge d'Oracle vers MySQL
• SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
• SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
• SET GLOBAL TRANSACTION READ WRITE;
• SET GLOBAL tx_isolation=<isolation_level>;
• SET SQL_LOG_BIN=<value>;
• SET GLOBAL sql_slave_skip_counter=<value>;
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de VIEW
Problème 8824 : L'option ALGORITHM n'est pas pris en charge
PostgreSQL ne prend pas en charge la clause ALGORITHM pour les instructions CREATE VIEW ou
ALTER VIEW. Effectuez une conversion manuelle dans le cas présent.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Conversion de schéma prise en charge d'Oracle
vers MySQL
Les sections suivantes dressent la liste des éléments de schéma d'une base de données Oracle et
indique s'ils sont pris en charge dans la cadre d'une conversion automatique vers MySQL à l'aide
d'AWS Schema Conversion Tool.
Rubriques
• Instructions (p. 237)
• Procédures (p. 242)
• Contrôle de flux (p. 242)
• Packages (p. 242)
• Fonctions (p. 243)
• Opérateurs (p. 252)
Version 1.0
236
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
• Types de données (p. 256)
• Langage de définition de données (DDL) (p. 258)
• Curseurs (p. 262)
• Indicateurs (p. 262)
• Exceptions (p. 265)
• Rubriques connexes (p. 266)
Instructions
Topics
• SELECT (p. 237)
• INSERT (p. 238)
• UPDATE (p. 239)
• DELETE (p. 240)
• MERGE (p. 241)
• TRUNCATE (p. 241)
• LOCK TABLE (p. 242)
SELECT
Clause
Conversion Détails
automatique
WITH
Non
AS
Non
SELECT
Oui
DISTINCT | UNIQUE |
ALL
Oui
select_list
Oui
BULK COLLECT INTO
Non
INTO
Oui
record_name
Non
FROM
Oui
@dblink
Non
materialized view
Non
TABLE
(collection_expression)
Non
MODEL
Non
Utilisez une procédure stockée pour préparer les
données ou réécrivez votre requête pour éviter la clause
WITH.
Vous pouvez essayer d'inclure tous les champs de votre
table dans une clause INTO.
MySQL ne prend pas en charge l'instruction MODEL.
Version 1.0
237
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion Détails
automatique
START WITH
Non
MySQL ne prend pas en charge les requêtes
hiérarchiques. Utilisez une procédure stockée pour
préparer les données.
CONNECT BY
Non
MySQL ne prend pas en charge les requêtes
hiérarchiques. Utilisez une procédure stockée pour
préparer les données.
PIVOT
Non
XML
Non
UNPIVOT
Non
WHERE
Oui
GROUP BY
Oui
CUBE
Non
Utilisez une procédure stockée pour préparer les
données.
GROUPING SETS
Non
Utilisez une procédure stockée pour préparer les
données.
HAVING
Oui
ORDER BY
Oui
SIBLINGS
Non
NULLS FIRST | NULLS
LAST
Non
FOR UPDATE
Oui
OF
Non
Essayez d'utiliser FOR UPDATE plutôt que FOR
UPDATE OF.
NOWAIT | WAIT
Non
MySQL ne prend pas en charge les clauses WAIT
et NOWAIT. Essayez d'utiliser FOR UPDATE sans
NOWAIT.
SKIP LOCKED
Non
Essayez d'utiliser FOR UPDATE sans SKIP LOCKED.
UNION
Oui
INTERSECT | MINUS]
Oui
MySQL ne prend pas en charge NULLS FIRST et NULLS
LAST. Dans le tri des valeurs NULL MySQL, les valeurs
NULL subissent en premier un tri croissant et en dernier
lieu un tri décroissant. Essayez de réécrire la clause
ORDER BY avec CASE.
INSERT
Clause
Conversion Détails
automatique
INTO table
Oui
Version 1.0
238
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion Détails
automatique
PARTITION
Oui
PARTITION FOR
Non
SUBPARTITION
Non
Insérez des données dans la partition sus-jacente
ou procédez à une conversion manuelle à l'aide de
l'instruction INSERT.
VIEW
Non
Ciblez une table avec l'instruction INSERT au lieu d'un
VIEW. Si la vue cible a un déclencheur INSTEAD OF,
analysez et exécutez le code déclencheur INSTEAD OF.
MATERIALIZED VIEW
Non
Procédez à une conversion manuelle.
sous-requête
Non
Effectuez plutôt cette opération sur les tables sousjacentes.
WITH
Non
table_collection_expression
colonne …
Oui
VALUES
Oui
sous-requête
Oui
RETURNING … INTO
Non
Pour effectuer cette opération, divisez l'instruction
INSERT associée à la clause RETURNING en instruction
INSERT avec les instructions SELECT suivantes, et
utilisez les mêmes conditions de clé dans chaque
SELECT. Vous pouvez également utiliser la dernière
valeur générée par la colonne AUTO_INCREMENT dans
la condition de clé.
LOG ERRORS
Non
Vous pouvez ajouter des enregistrements d'erreur en
les insérant dans le journal du bloc d'exception. Itérez
les erreurs dans le bloc d'exception, ajoutez-les au
journal, puis utilisez la commande EXIT lorsque vous
avez terminé.
UPDATE
Clause
Conversion Détails
automatique
UPDATE [indicateur]
Oui
table
Oui
PARTITION
Oui
PARTITION FOR
Non
SUBPARTITION
Non
Insérez des données dans la partition sus-jacente ou
procédez à une transformation manuelle à l'aide de
l'instruction UPDATE.
Version 1.0
239
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion Détails
automatique
VIEW
Non
MATERIALIZED VIEW
Non
sous-requête
Non
WITH
Non
Effectuez plutôt une mise à jour sur les tables susjacentes.
Effectuez plutôt cette opération sur les tables sousjacentes.
table_collection_expression Oui
SET
Oui
VALUE
Condition WHERE
Oui
RETURNING ... INTO
Non
Pour effectuer cette opération, divisez l'instruction
UPDATE associée à la clause RETURNING en
instruction UPDATE avec les instructions INSERT dont
les conditions de clé spécifiées figurent dans la partie
SELECT.
LOG ERRORS
Non
Vous pouvez ajouter des enregistrements d'erreur en
les insérant dans le journal du bloc d'exception. Itérez
les erreurs dans le bloc d'exception, ajoutez-les au
journal, puis utilisez la commande EXIT lorsque vous
avez terminé.
Note
MySQL ne prend pas en charge FILESTREAM DATA. Procédez à une conversion manuelle
pour mettre à jour les données dans le fichier du système de fichiers.
DELETE
Clause
Conversion Détails
automatique
DELETE
Oui
FROM
Oui
PARTITION
Oui
PARTITION FOR
Non
SUBPARTITION
Non
VIEW
Non
Procédez à une conversion manuelle.
MATERIALIZED VIEW
Non
Procédez à une conversion manuelle.
Insérez des données dans la partition sus-jacente ou
procédez à une transformation manuelle à l'aide de
l'instruction DELETE.
Version 1.0
240
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion Détails
automatique
sous-requête
Non
WITH
Non
Effectuez plutôt cette opération sur les tables sousjacentes.
table_collection_expression Oui
Condition WHERE
Oui
RETURNING … INTO
Non
Pour effectuer cette opération, divisez l'instruction
DELETE associée à la clause RETURNING en
instruction DELETE avec les instructions INSERT
suivantes, et utilisez les mêmes conditions de clé dans
chaque SELECT.
LOG ERRORS
Non
Vous pouvez ajouter des enregistrements d'erreur en
les insérant dans le journal du bloc d'exception. Itérez
les erreurs dans le bloc d'exception, ajoutez-les au
journal, puis utilisez la commande EXIT lorsque vous
avez terminé.
MERGE
Instruction
Conversion Détails
automatique
MERGE
Non
Pour obtenir l'effet d'une instruction MERGE, utilisez les
instructions INSERT, DELETE et UPDATE distinctes.
TRUNCATE
Clause
Conversion Détails
automatique
TRUNCATE TABLE
Oui
PRESERVE
MATERIALIZED VIEW
LOG
Non
PURGE MATERIALIZED
VIEW LOG
Non
DROP STORAGE
Non
REUSE STORAGE
Non
Version 1.0
241
AWS Schema Conversion Tool Guide de l'utilisateur
Procédures
LOCK TABLE
Clause
Conversion Détails
automatique
PARTITION
Non
SUBPARTITION
Non
NOWAIT
Non
Procédures
Elément
Conversion Détails
automatique
LOCK TABLE
Non
MySQL ne prend pas en charge l'instruction LOCK
TABLE à l'intérieur d'une procédure stockée.
dbms_output.put_line
Non
Essayez d'utiliser INSERT dans la table de journal.
Pour ce faire, vous devez ajouter du code dans
AWS_ORACLE_EXT. PUT_LINE.
dbms_output.put
Non
Essayez d'utiliser INSERT dans la table de journal.
Pour ce faire, vous devez ajouter du code dans
AWS_ORACLE_EXT.PUT.
Contrôle de flux
Clause
Conversion Détails
automatique
GOTO
Non
FORALL
Non
EXECUTE IMMEDIATE
Non
BULK COLLECT
Non
RETURNING BULK
COLLECT INTO
Non
LABEL
Non
Essayez d'utiliser une instruction WHILE DO.
Essayez de réécrire les variables sans utiliser
d'étiquettes (labels).
Packages
Elément
Conversion Détails
automatique
Bloc d'initialisation, BEGIN Partielle
… END
MySQL ne prend pas en charge EXCEPTION BLOCK
dans les blocs d'initialisation des packages. Essayez
d'utiliser CONTINUE HANDLER.
Version 1.0
242
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Elément
Conversion Détails
automatique
Type utilisateur
Non
Curseur global
Non
Exception utilisateur
globale
Non
Fonctions
Topics
• Fonctions d'agrégation (p. 243)
• Fonctions de date et d'heure (p. 245)
• Fonctions mathématiques (p. 246)
• Fonctions de caractères (chaîne) (p. 247)
• Fonctions de conversion (p. 248)
• Fonctions de comparaison générale (p. 250)
• Fonctions d'encodage et de décodage (p. 250)
• E-mail (p. 250)
• HTTP (p. 250)
• SMS (p. 251)
• Fonctions NULL (p. 251)
• Fonctions définies par l'utilisateur (p. 251)
• Fonctions d'objet volumineux (p. 252)
• Fonctions hiérarchiques (p. 252)
• Fonctions analytiques (p. 252)
Dans cette section, vous trouverez une liste des fonctions intégrées Microsoft SQL Server indiquant si
AWS Schema Conversion Tool assure une conversion automatique. Dans les cas où MySQL ne prend
pas en charge une fonction, envisagez de créer une fonction définie par l'utilisateur.
Fonctions d'agrégation
Fonction
Conversion Détails
automatique
AVG
Oui
COLLECT
Non
CORR
Non
CORR_*
Non
COUNT
Oui
COVAR_POP
Non
COVAR_SAMP
Non
CUME_DIST
Non
Version 1.0
243
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
DENSE_RANK
Non
FIRST
Non
GROUP_ID
Non
GROUPING
Non
GROUPING_ID
Non
LAST
Non
MAX
Oui
MEDIAN
Non
MIN
Oui
PERCENTILE_CONT
Non
PERCENTILE_DISC
Non
PERCENT_RANK
Non
RANK
Non
Fonctions REGR_
(régression linéaire)
Non
STATS_BINOMIAL_TEST
Non
STATS_CROSSTAB
Non
STATS_F_TEST
Non
STATS_KS_TEST
Non
STATS_MODE
Non
STATS_MW_TEST
Non
STATS_ONE_WAY_ANOVA Non
STATS_T_TEST_*
Non
STATS_WSR_TEST
Non
STDDEV
Oui
STDDEV_POP
Oui
STDDEV_SAMP
Oui
SUM
Oui
TRUNC
Oui
VAR_POP
Oui
VAR_SAMP
Oui
Converti en : TRUNCATE()
Version 1.0
244
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
VARIANCE
Oui
Fonctions de date et d'heure
Fonction
Conversion Détails
automatique
ADD_MONTHS(date,
num)
Partielle
Converti en : TIMESTAMPADD(MONTH, num, date)
CURRENT_DATE
Partielle
Converti en : NOW()
CURRENT_TIMESTAMP
Partielle
Converti en : NOW()
DBTIMEZONE
Non
EXTRACT(YEAR FROM
date)
Partielle
Converti en : YEAR(date)
EXTRACT(MONTH
FROM date)
Partielle
Converti en : MONTH(date)
EXTRACT(DAY FROM
date)
Partielle
Converti en : DAY(date)
EXTRACT(HOUR FROM
time)
Partielle
Converti en : HOUR(time)
EXTRACT(MINUTE
FROM time)
Partielle
Converti en : MINUTE(time)
EXTRACT(SECOND
FROM time)
Partielle
Converti en : SECOND(time)
FROM_TZ
Non
LAST_DAY(date)
Oui
LOCALTIMESTAMP
Oui
LOCALTIMESTAMP(prec)
Partielle
La précision maximale pour la fonction MySQL
LOCALTIMESTAMP correspond à 6. Si vous avez besoin
d'une précision supérieure, créez une fonction définie par
l'utilisateur.
MONTHS_BETWEEN(date1,Non
date2)
NEW_TIME
Non
NEXT_DAY
Non
NUMTODSINTERVAL
Non
NUMTOYMINTERVAL
Non
ROUND (date)
Non
Version 1.0
245
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
SESSIONTIMEZONE
Non
SYS_EXTRACT_UTC
Non
SYSDATE
Partielle
Converti en : SYSDATE()
SYSTIMESTAMP
Partielle
Converti en : CURRENT_TIMESTAMP
TO_CHAR (datetime,
format)
Partielle
Converti en : DATE_FORMAT()
TO_TIMESTAMP(exp)
Non
TO_TIMESTAMP_TZ
Non
TO_DSINTERVAL
Non
TO_YMINTERVAL
Non
TRUNC (datetime)
Partielle
TZ_OFFSET
Non
Notez que les chaînes de format TO_CHAR et
DATE_FORMAT sont différentes.
Converti en : DATE(datetime)
Fonctions mathématiques
Fonction
Conversion Détails
automatique
ABS(num)
Oui
ACOS(num)
Oui
ASIN(num)
Oui
ATAN(num)
Oui
ATAN2(x,y)
Oui
BITAND(exp1, exp2)
Partielle
CEIL(num)
Oui
COS(num)
Oui
COSH(num)
Partielle
EXP(n)
Oui
FLOOR(num)
Oui
LN(num)
Oui
LOG(num1, num2)
Oui
MOD(dividend, divisor)
Oui
Converti en : (exp1 et exp2)
Converti en : (EXP(num) + EXP(-num)) / 2
Version 1.0
246
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
NANVL (n2, n1)
Non
POWER(value, n)
Oui
REMAINDER(n1, n2)
Partielle
ROUND (num, integer)
Oui
SIGN(exp)
Oui
SIN(num)
Oui
SINH(num)
Oui
SQRT(num)
Oui
TAN(num)
Oui
TANH(num)
Oui
TRUNC (number)
Partielle
TRUNC(num, num2)
Oui
VALUE(variable)
Non
WIDTH_BUCKET
Non
Converti en : (n1 - n2*ROUND(n1/n2))
Converti en : TRUNCATE(num, 0)
Fonctions de caractères (chaîne)
Fonction
Conversion Détails
automatique
ASCII(str)
Oui
CHR(num)
Partielle
CONCAT(char1, char2)
Oui
INITCAP(string)
Non
INSTR(str, substr)
Oui
INSTR(str, substr, pos)
Partielle
Converti en : CHAR(num USING ASCII)
Converti en : LOCATE (substr, str, pos)
Cette fonction est identique à la forme à deux arguments
d'INSTR(), sauf que l'ordre des arguments est inversé.
INSTR(str, substr, pos,
num)
Non
LENGTH(string)
Partielle
LOWER(string)
Oui
LPAD(string, len)
Partielle
LPAD(string, len, pad)
Oui
Converti en : LENGTH (string)
Converti en : LPAD(string, len, ' ')
Version 1.0
247
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
LTRIM(string)
Oui
LTRIM(string, set)
Partielle
NLS_INITCAP
Non
NLS_LOWER
Non
NLS_UPPER
Non
NLSSORT
Non
REGEXP_INSTR
Non
REGEXP_REPLACE
Non
REGEXP_SUBSTR
Non
REPLACE(str, search)
Partielle
REPLACE(str, search,
replace)
Oui
RPAD(string, len)
Partielle
RPAD(string, len, pad)
Oui
RTRIM(string)
Oui
RTRIM(string, set)
Partielle
SOUNDEX(String)
Oui
SUBSTR(string, pos, len)
Oui
TRANSLATE(string, from,
to)
Non
Converti en : TRIM(LEADING set FROM string)
Converti en : REPLACE(str, search, '')
Converti en : RPAD(string, len, ' ')
Converti en : TRIM(TRAILING set FROM string)
TREAT
TRIM([type trim FROM]
string)
Oui
UPPER(string)
Oui
Fonctions de conversion
Fonction
Conversion Détails
automatique
ASCIISTR(string)
Non
BIN_TO_NUM(bit1, bit2,
…)
Non
CAST
Oui
CHARTOROWID
Non
Version 1.0
248
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
COMPOSE
Non
CONVERT(string, charset) Partielle
DECOMPOSE
Non
HEXTORAW
Non
NUMTODSINTERVAL
Non
NUMTOYMINTERVAL
Non
RAWTOHEX
Non
RAWTONHEX
Non
ROWIDTOCHAR
Non
ROWIDTONCHAR
Non
SCN_TO_TIMESTAMP
Non
TIMESTAMP_TO_SCN
Non
TO_BINARY_DOUBLE
Non
TO_BINARY_FLOAT
Non
TO_CHAR (character)
Non
TO_CHAR (datetime,
format)
Partielle
TO_CHAR (number,
format)
Partielle
TO_CLOB
Partielle
TO_DATE
Partielle
Converti en : CONVERT(string USING charset)
Converti en : DATE_FORMAT(datetime, format)
Notez que les chaînes de format TO_CHAR et
DATE_FORMAT sont différentes.
Converti en : FORMAT(number, decimal_digits)
Dans MySQL, vous pouvez utiliser la fonction FORMAT,
ainsi que d'autres fonctions et expressions de chaîne.
Converti en : STR_TO_DATE(string, format)
Notez que les chaînes de format TO_DATE et
STR_TO_DATE sont différentes.
TO_DSINTERVAL
Non
TO_LOB
Non
TO_MULTI_BYTE
Non
TO_NCHAR (character)
Non
TO_NCHAR (datetime)
Non
TO_NCHAR (number)
Non
TO_NCLOB
Non
Version 1.0
249
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion Détails
automatique
TO_NUMBER
Non
TO_DSINTERVAL
Non
TO_SINGLE_BYTE
Non
TO_TIMESTAMP
Non
TO_TIMESTAMP_TZ
Non
TO_YMINTERVAL
Non
TRANSLATE ... USING
Non
UNISTR
Partielle
Converti en : CHAR(string USING UCS2)
Fonctions de comparaison générale
Fonction
Conversion Détails
automatique
GREATEST(exp, exp2,
…)
Oui
LEAST(exp, exp2, …)
Oui
Fonctions d'encodage et de décodage
Fonction
Conversion Détails
automatique
DECODE(exp, when,
then, ...)
Partielle
DUMP
Non
ORA_HASH
Non
VSIZE
Non
Converti en : expression CASE
E-mail
MySQL ne prend pas en charge l'envoi de courrier électronique. Pour envoyer du courrier électronique,
utilisez Amazon Simple Email Service (Amazon SES).
HTTP
MySQL ne prend pas en charge l'envoi de messages aux points de terminaison HTTP. Pour envoyer
des messages à des points de terminaison HTTP et HTTPS, vous pouvez utiliser Amazon Simple
Notification Service (Amazon SNS).
Version 1.0
250
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
SMS
MySQL ne prend en charge l'envoi de notifications par SMS. Pour envoyer et recevoir des notifications
par SMS, vous pouvez utiliser Amazon Simple Notification Service (Amazon SNS).
Fonctions NULL
Fonction
Conversion Détails
automatique
COALESCE(exp1, exp2,
…)
Oui
LNNVL
Non
NULLIF(exp1, exp2)
Partielle
Converti en : NULLIF(exp1, exp2)
NVL(exp, replacement)
Partielle
Converti en : IFNULL(exp, replacement)
NVL2(exp1, exp2, exp3)
Partielle
Converti en : expression CASE
Fonctions définies par l'utilisateur
Return
Dans MySQL, vous pouvez utiliser des instructions qui retournent un jeu de résultats dans une
procédure stockée, mais pas dans une fonction stockée.
Instruction
Conversion Détails
automatique
RETURN resultset
Non
Essayez de changer la fonction en procédure stockée et
d'utiliser une table pour stocker les résultats.
RETURN record-type
Non
Essayez de changer la fonction en procédure stockée
et de changer les éléments record-type en paramètres
distincts.
TYPE .. IS TABLE OF ..
INDEX BY
Non
Essayez de changer la fonction en procédure stockée et
d'utiliser une table pour stocker les résultats.
TYPE .. IS TABLE OF
Non
Essayez de changer la fonction en procédure stockée et
d'utiliser une table pour stocker les résultats.
TYPE .. IS VARRAY(..)
OF
Non
Essayez de changer la fonction en procédure stockée et
d'utiliser une table pour stocker les résultats.
RETURN .. PIPELINED
Non
Essayez de changer la fonction en procédure stockée et
d'utiliser une table pour stocker les résultats.
TYPE ... IS REF CURSOR Non
Essayez de changer la fonction en procédure stockée et
d'utiliser une table pour stocker les résultats.
object-type
Non
Version 1.0
251
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Collections
Elément
Conversion Détails
automatique
TYPE .. IS TABLE OF…
Non
MySQL ne prend pas en charge les variables de type
table. Essayez d'utiliser une table.
collection_name.First,
collection_name.Last,
collection_name.Count,
collection_name.Next
Non
MySQL ne prend pas en charge les méthodes de
collection de type table. Essayez d'utiliser une table.
:= collection_type(...)
Non
MySQL ne prend pas en charge le constructeur pour le
type de collection. Essayez d'utiliser une table.
Arguments
Elément
Conversion Détails
automatique
Type d'enregistrement
UDT
Non
Type de collection UDT
Non
Type d'objet UDT
Non
Fonctions d'objet volumineux
Fonction
Conversion Détails
automatique
BFILENAME
Non
EMPTY_BLOB
Partielle
Converti en chaîne vide.
EMPTY_CLOB
Partielle
Converti en chaîne vide.
Fonctions hiérarchiques
Fonction
Conversion Détails
automatique
SYS_CONNECT_BY_PATH Non
Essayez de créer une fonction définie par l'utilisateur.
Fonctions analytiques
MySQL ne prend pas en charge les fonctions analytiques. Essayez de créer une fonction définie par
l'utilisateur.
Opérateurs
Topics
Version 1.0
252
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
• Opérateurs arithmétiques (p. 253)
• Opérateur d'affectation (p. 253)
• Opérateurs de comparaison (p. 253)
• Opérateurs logiques (p. 254)
• Opérateur de concaténation de chaînes (p. 254)
• Spécificateurs de format de date et d'heure (p. 254)
Opérateurs arithmétiques
Clause
Conversion Détails
automatique
+
Oui
–
Oui
+-
Partielle
*/
Oui
MySQL gère l'arithmétique des dates et des heures
différemment. Vérifiez la précision du schéma converti.
Opérateur d'affectation
Clause
Conversion Détails
automatique
=
Oui
Opérateurs de comparaison
Clause
Conversion Détails
automatique
>
Oui
<
Oui
>=
Oui
<=
Oui
<>
Oui
!=
Oui
!<
Oui
!>
Oui
Version 1.0
253
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs logiques
Clause
Conversion Détails
automatique
IN
Oui
NOT IN
Oui
ANY
Oui
SOME
Oui
ALL
Oui
BETWEEN x
Oui
EXISTS
Oui
LIKE
Oui
IS NULL
Oui
NOT
Oui
AND
Oui
OR
Oui
Opérateur de concaténation de chaînes
Clause
Conversion Détails
automatique
||
Oui
Spécificateurs de format de date et d'heure
Clause
Conversion Conversion par défaut
automatique
YEAR
Non
YYYY
Partielle
YYY
Non
YY
Partielle
Y
Non
IYY
Non
IY
Partielle
I
Non
IYYY
Partielle
%Y
%y
%y
%Y
Version 1.0
254
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Clause
Conversion Conversion par défaut
automatique
RRRR
Non
Q
Non
MM
Partielle
%m
MON
Partielle
%b
MONTH
Partielle
%M
RM
Non
WW
Partielle
W
Non
IW
Partielle
%V
D
Partielle
%w
Jour de la semaine
(1=Dimanche, 7=Samedi)
Partielle
Jour de la semaine (0=Dimanche, 6=Samedi)
DAY
Partielle
%W
DD
Partielle
%e
DDD
Partielle
%j
DY
Partielle
%a
J
Non
HH
Partielle
%h
HH12
Partielle
%h
HH24
Partielle
%H
MI
Partielle
%i
SS
Partielle
%S
SSSSS
Non
FF
Non
AM, PM
Partielle
A.M., P.M.
Non
AD ou A.D
Non
BC ou B.C.
Non
TZD
Non
TZH
Non
TZM
Non
%V
%p
Version 1.0
255
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion Conversion par défaut
automatique
TZR
Non
Types de données
Type de données
Conversion
automatique
Conversion par défaut
Détails
BFILE
Partielle
VARCHAR(255)
Contient le chemin d'accès
à BFILE. MySQL ne prend
pas en charge BFILE.
Sachant que les données
BFILE sont constituées du
chemin d'accès à un fichier,
vous pouvez soit stocker
un nom de fichier et créer
une routine qui obtienne le
fichier à partir du système
de fichiers, soit stocker le
contenu du fichier sous
forme de LONGBLOB.
BINARY_FLOAT
Oui
FLOAT
BINARY_DOUBLE
Oui
DOUBLE
BLOB
Oui
LONGBLOB
CHAR
Oui
TEXT
CHAR(n),
CHARACTER(n)
Oui
CHAR(n),
CHARACTER(n)
CHAR(n),
CHARACTER(n)
Oui
VARCHAR(n)
CLOB
Oui
LONGTEXT
DATE
Oui
DATETIME
DECIMAL, DEC
Oui
DOUBLE
DECIMAL(p,s), DEC(p,s)
Oui
DECIMAL(p,s), DEC(p,s)
DOUBLE PRECISION
Oui
DOUBLE PRECISION
FLOAT
Oui
DOUBLE
FLOAT(p)
Oui
DOUBLE
INTEGER, INT
Oui
DECIMAL(38)
INTERVAL YEAR TO
MONTH
Oui
DOUBLE
INTERVAL YEAR(p) TO
MONTH
Oui
VARCHAR(30)
Version 1.0
256
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Conversion
automatique
Conversion par défaut
INTERVAL DAY TO
SECOND
Oui
VARCHAR(30)
INTERVAL DAY(p) TO
SECOND(s)
Oui
VARCHAR(30)
LONG
Oui
LONGTEXT
LONG RAW
Oui
LONGBLOB
NCHAR
Oui
TEXT
NCHAR(n)
Oui
NCHAR(n)
NCHAR(n)
Oui
NVARCHAR(n)
NCHAR VARYING
Oui
TEXT
NCHAR VARYING(n)
Oui
NCHAR VARYING(n)
NCLOB
Oui
LONGTEXT
NUMBER(p,0),
NUMBER(p)
Oui
DECIMAL(p,0),
DECIMAL(p)
NUMBER(p,s)
Oui
DECIMAL(p,s)
NUMBER,
NUMBER(*),NUMERIC
Oui
DOUBLE
NUMERIC(p,s)
Oui
NUMERIC(p,s)
NVARCHAR2
Oui
TEXT
NVARCHAR2(n)
Oui
NVARCHAR(n)
RAW
Oui
VARBINARY(2000)
RAW(n)
Oui
BINARY(n)
RAW(n)
Oui
VARBINARY(n)
REAL
Oui
DOUBLE
ROWID
Oui
CHAR(10)
SMALLINT
Oui
DECIMAL(38)
TIMESTAMP
Oui
DATETIME
TIMESTAMP(p)
Oui
DATETIME(p)
TIMESTAMP(p)
Partielle
Détails
MySQL étend la prise
en charge des fractions
de secondes pour les
valeurs TIME, DATETIME
et TIMESTAMP, avec
une précision pouvant
atteindre la microseconde
(6 chiffres).
Version 1.0
257
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Type de données
Conversion
automatique
Conversion par défaut
Détails
TIMESTAMP(p) WITH
TIME ZONE
Partielle
DATETIME
MySQL ne propose aucun
type de données capable
de stocker les informations
de fuseau horaire. Le type
de données DATETIME
stocke les horodatages
dans le fuseau horaire du
serveur MySQL.
UROWID
Oui
TEXT
UROWID(n)
Oui
VARCHAR(n)
VARCHAR
Oui
TEXT
VARCHAR(n)
Oui
VARCHAR(n)
VARCHAR2
Oui
TEXT
VARCHAR2(n)
Oui
VARCHAR(n)
XMLTYPE
Oui
LONGTEXT
Langage de définition de données (DDL)
Topics
• CREATE TABLE (p. 258)
• CREATE INDEX (p. 259)
• CREATE TRIGGER (p. 259)
• CREATE VIEW (p. 261)
• CREATE CONSTRAINT (p. 261)
• CREATE SEQUENCE (p. 262)
CREATE TABLE
Les instructions CREATE TABLE sont converties automatiquement sauf dans les cas suivants.
Clause
Conversion Détails
automatique
OBJECT TABLE
Non
MySQL ne prend pas en charge OBJECT TABLE.
Corrigez votre code pour éviter OBJECT TABLE.
CLUSTERED TABLE
Non
MySQL ne prend pas en charge CLUSTERED TABLE.
Essayez d'utiliser une table avec des déclencheurs.
EXTERNAL TABLE
Non
MySQL ne prend pas en charge EXTERNAL TABLE.
Essayez d'utiliser une table.
GLOBAL TEMPORARY
TABLE
Non
MySQL ne prend pas en charge GLOBAL TEMPORARY
TABLE. Essayez d'utiliser une table temporaire.
Version 1.0
258
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion Détails
automatique
Tables partitionnées
Non
MySQL ne prend pas en charge tous les types de
partition. Procédez à une conversion manuelle pour les
types de partition qui ne sont pas pris en charge.
Colonnes virtuelles
Non
MySQL ne prend pas en charge les colonnes virtuelles.
Représentez les colonnes virtuelles à l'aide d'une vue.
Fonctions en tant que
valeurs par défaut
Non
MySQL ne prend pas en charge les fonctions en tant que
valeurs par défaut. Essayez d'utiliser un déclencheur.
Colonnes NESTED
TABLE
Non
MySQL ne prend pas en charge les tables constituées
de colonnes NESTED TABLE. Modifiez les tables
constituées de colonnes NESTED TABLE pour éviter ces
colonnes.
COLUMN(TABLE)
Non
MySQL ne prend pas en charge la colonne d'objets.
Créez une fonction définie par l'utilisateur.
CREATE INDEX
Les instructions CREATE INDEX sont converties automatiquement sauf que MySQL ne prend pas en
charge les index de type bitmap, basés sur des fonctions ou domaine.
CREATE TRIGGER
Les instructions CREATE TRIGGER sont converties automatiquement sauf dans les cas suivants.
Clause
Conversion Détails
automatique
COMPOUND
Non
MySQL ne prend pas en charge les déclencheurs
composés. Créez un déclencheur unique pour chaque
composant du déclencheur composé.
INSTEAD OF
Non
MySQL ne prend pas en charge INSTEAD OF. Essayez
d'utiliser un déclencheur BEFORE.
INSERTING | UPDATING
| DELETING
Non
MySQL ne prend pas en charge les prédicats
conditionnels.
sans FOR EACH ROW
Non
MySQL ne prend pas en charge les déclencheurs
d'instruction. Essayer d'inclure FOR EACH ROW.
FOLLOWS | PRECEDES
Non
MySQL ne prend pas en charge la clause FOLLOWS
| PRECEDES. Essayez d'utiliser un déclencheur FOR
EACH ROW.
UPDATE OF
Non
MySQL ne prend pas en charge la clause UPDATE OF.
Essayez d'utiliser un déclencheur FOR EACH ROW.
REFERENCING NEW AS
| OLD AS
Non
MySQL ne prend pas en charge les clauses
REFERENCING. Modifiez les références aux pseudolignes pour utiliser à la place OLD et NEW.
Version 1.0
259
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion Détails
automatique
WHEN(condition)
Non
ON NESTED TABLE
Non
trigger-status=DISABLED
Non
MySQL ne prend pas en charge la clause DISABLED.
Supprimez plutôt le déclencheur.
create-date
Non
MySQL ne prend pas en charge create-date pour les
déclencheurs. Essayez d'utiliser un déclencheur FOR
EACH ROW.
modify-date
Non
MySQL ne prend pas en charge modify-date pour les
déclencheurs. Essayez d'utiliser un déclencheur FOR
EACH ROW.
status
Non
MySQL ne prend pas charge les valeurs d'état des
déclencheurs. Essayez d'utiliser un déclencheur FOR
EACH ROW.
description
Non
MySQL ne prend pas en charge les descriptions pour les
déclencheurs.
MySQL ne prend pas en charge les déclencheurs
WHEN(condition). Appliquez la condition pour WHEN
dans le corps du déclencheur.
Dans MySQL, vous pouvez obtenir une
description de déclencheur en utilisant
INFORMATION_SCHEMA.TRIGGERS.
MySQL ne prend pas en charge la clause
REFERENCING. Vous trouverez ci-dessous les valeurs
correspondantes entre Oracle(USER_TRIGGERS) et
MySQL(INFORMATION_SCHEMA.TRIGGERS) :
• TABLE_OWNER correspond à TRIGGER_SCHEMA
• TRIGGER_NAME correspond à TRIGGER_NAME
• TRIGGER_TYPE correspond à ACTION_TIMING
• TRIGGERING_EVENT correspond à
EVENT_MANIPULATION
• TABLE_NAME correspond à EVENT_OBJECT_TABLE
• REFERENCING_NAMES correspond à
ACTION_REFERENCE_NEW_ROW(always is NEW),
ACTION_REFERENCE_OLD_ROW(always is OLD)
triggeringevent=ddl_events
Non
triggeringevent=database_events
Non
base-object-type=VIEW
Non
base-objecttype=SCHEMA
Non
base-objecttype=DATABASE
Non
Version 1.0
260
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion Détails
automatique
action-type=CALL ou PL/
SQL
Non
crossedition=FORWARD/
REVERSE
Non
fire-once=YES
Non
apply-server-only=YES
Non
referencingnames=PARENT
Non
CREATE VIEW
Les instructions CREATE VIEW sont converties automatiquement sauf dans les cas suivants.
Clause
Conversion Détails
automatique
FORCE
Non
NOFORCE
Non
WITH READ ONLY
Non
create-date
Non
modify-date
Non
status
Non
oid-text
Non
view-type-owner
Non
view-type
Non
superview-name
Non
editioning-view
Non
encrypted-view
Non
CAST
Non
NOFORCE est le comportement par défaut pour MySQL.
Vous n'avez pas besoin de spécifier cette option.
MySQL ne prend pas en charge les vues contenant des
colonnes nested table.
CREATE CONSTRAINT
Les instructions CREATE CONSTRAINT sont converties automatiquement sauf dans les cas suivants.
Version 1.0
261
AWS Schema Conversion Tool Guide de l'utilisateur
Curseurs
Clause
Conversion Détails
automatique
DISABLE,
status=DISABLED
Non
MySQL ne prend pas en charge les contraintes dont l'état
est DISABLE. Supprimez la contrainte.
Clés étrangères de types
différents
Non
MySQL ne prend pas en charge les clés étrangères ayant
différents types de colonnes et de colonnes référencées.
Modifiez les types de colonnes en utilisant un équivalent
des types de données de colonne de la base de données
d'origine.
constraint-type
Non
MySQL ne prend pas en charge l'option de vérification
de contrainte dans une vue. Essayez d'utiliser un
déclencheur.
CREATE SEQUENCE
MySQL ne prend pas en charge les séquences. Essayez de développer un système pour les
séquences contenues dans votre application.
Curseurs
Les curseurs sont convertis automatiquement sauf dans les cas suivants.
Clause
Conversion Détails
automatique
SQLAttribute
Partielle
MySQL ne prend pas en charge l'attribut de curseur SQL
%ISOPEN
MySQL ne prend pas en charge l'attribut de curseur
SQL%BULK_ROWCOUNT. Pour calculer les lignes traitées,
utilisez une variable.
REF CURSOR
Non
MySQL ne prend pas en charge l'objet REF CURSOR.
Procédez à une conversion manuelle.
SYS_REFCURSOR
Non
MySQL ne prend pas en charge une variable de type
SYS_REFCURSOR. Procédez à une conversion
manuelle.
CURSOR
Partielle
AWS Schema Conversion Tool ne peut pas transformer
automatiquement l'instruction SELECT pour un curseur
implicite. Essayez de réécrire l'instruction SELECT.
Variable REF_CURSOR
Partielle
L'instruction SELECT pour la variable REF_CURSOR
ne peut pas être transformée. Essayez de réécrire
l'instruction SELECT.
Indicateurs
MySQL ne prend pas en charge les indicateurs. Essayez d'utiliser les méthodes d'optimisation des
performances MySQL ou procédez à une conversion manuelle.
Version 1.0
262
AWS Schema Conversion Tool Guide de l'utilisateur
Indicateurs
Clause
Conversion Détails
automatique
/*+ ALL_ROWS */
Non
/*+ AND_EQUAL(table
index...) */
Non
/*+ APPEND */
Non
/*+ CACHE(table) */
Non
/*+ CHOOSE */
Non
/*+ CLUSTER(table) */
Non
/*+
Non
CURSOR_SHARING_EXACT
*/
/*+ DRIVING_SITE(table)
*/
Non
/*+ DYNAMIC_SAMPLING Non
*/
/*+
Non
EXPAND_GSET_TO_UNION
*/
/*+ FACT(table) */
Non
/*+ FIRST_ROWS(n) */
Non
/*+ FULL(table) */
Non
/*+ HASH */
Non
/*+ HASH_SJ */
Non
/*+ INDEX(table index) */
Non
/*+ INDEX_ASC(table
index) */
Non
/*+
INDEX_COMBINE(table
index) */
Non
/*+ INDEX_DESC(table
index) */
Non
/*+ INDEX_FFS(table
index) */
Non
/*+ LEADING(table) */
Non
/*+ MERGE(table) */
Non
/*+ MERGE_SJ */
Non
/*+ NL_SJ */
Non
Version 1.0
263
AWS Schema Conversion Tool Guide de l'utilisateur
Indicateurs
Clause
Conversion Détails
automatique
/*+ NO_EXPAND */
Non
/*+ NO_INDEX(table
index) */
Non
/*+ NO_MERGE(table) */
Non
/*+ NO_PARALLEL(table)
*/
Non
/*+
Non
NO_PARALLEL_INDEX(table
index) */
/*+
Non
NO_PUSH_PRED(subquery)
*/
/*+
Non
NO_PUSH_SUBQ(subquery)
*/
/*+ NO_REWRITE */
Non
/*+ NO_UNNEST */
Non
/*+ NOAPPEND */
Non
/*+ NOCACHE(table) */
Non
/*+ NOFACT(table) */
Non
/*+ ORDERED */
Non
/*+
Non
ORDERED_PREDICATES
*/
/*+ PARALLEL(table
server_num) */
Non
/*+
PARALLEL_INDEX(table
index server_num) */
Non
/*+
PQ_DISTRIBUTE(table
out_distr in_distr) */
Non
/*+
PUSH_PRED(subquery) */
Non
/*+
Non
PUSH_SUBQ(subquery) */
/*+ REWRITE */
Non
/*+ ROWID(table) */
Non
Version 1.0
264
AWS Schema Conversion Tool Guide de l'utilisateur
Exceptions
Clause
Conversion Détails
automatique
/*+ RULE */
Non
/*+ STAR */
Non
/*+
Non
STAR_TRANSFORMATION
*/
/*+ UNNEST */
Non
/*+ USE_CONCAT */
Non
/*+ USE_HASH(table1
table2) */
Non
/*+ USE_MERGE(table1
table2) */
Non
Exceptions
Elément
Conversion Détails
automatique
RAISE
Non
MySQL ne prend pas en charge la commande RAISE.
Examinez l'exception et, si possible, convertissez-la en
exception à l'aide de l'instruction SIGNAL ou RESIGNAL.
%s
Non
MySQL ne prend pas en charge l'exception %s.
Examinez l'exception et, si possible, convertissez-la en
exception à l'aide de l'instruction SIGNAL ou RESIGNAL.
EXCEPTION
Non
MySQL ne prend pas en charge la déclaration
EXCEPTION. Utilisez l'instruction DECLARE ...
CONDITION.
PRAGMA
EXCEPTION_INIT
Non
MySQL ne prend pas en charge la déclaration PRAGMA
EXCEPTION_INIT. Utilisez l'instruction DECLARE ...
CONDITION.
PROC_RAISE_APPLICATION_ERROR
Non
MySQL ne prend pas en charge l'instruction
PROC_RAISE_APPLICATION_ERROR. Utilisez
l'instruction DECLARE ... CONDITION. Essayez d'utiliser
l'instruction SIGNAL ou RESIGNAL.
Exceptions intégrées
Exception
Conversion Détails
automatique
INVALID_NUMBER
Non
Essayez de créer une exception utilisateur.
TIMEOUT_ON_RESOURCE Non
Essayez de créer une exception utilisateur.
TRANSACTION_BACKED_OUT
Non
Essayez de créer une exception utilisateur.
Version 1.0
265
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Exception
Conversion Détails
automatique
INVALID_CURSOR
Non
Vous pouvez utiliser l'un des différents gestionnaires pour
les curseurs non valides. Choisissez le gestionnaire en
fonction du problème rencontré.
NOT_LOGGED_ON
Non
Essayez de créer une exception utilisateur.
LOGIN_DENIED
Non
Essayez de créer une exception utilisateur.
STORAGE_ERROR
Non
Vous pouvez utiliser l'un des différents gestionnaires pour
les curseurs non valides. Choisissez le gestionnaire en
fonction du problème rencontré.
PROGRAM_ERROR
Non
Essayez d'utiliser le gestionnaire « 1815 - Erreur
interne ».
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Conversion de schéma prise en charge d'Oracle
vers PostgreSQL
Les sections suivantes dressent la liste des éléments de schéma d'une base de données Oracle et
indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers PostgreSQL à l'aide
d'AWS Schema Conversion Tool.
DDL
Instructions
Clause
Conversion Détails
automatique
ALTER CLUSTER
Non
ALTER DATABASE
Non
ALTER DIMENSION
Non
ALTER DISKGROUP
Non
ALTER FLASHBACK
ARCHIVE
Non
ALTER FUNCTION
Non
ALTER TABLESPACE
Non
Version 1.0
266
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
Clause
Conversion Détails
automatique
CREATE [OR REPLACE]
FUNCTION
Oui
CREATE [TEMPORARY]
TABLESPACE
Non
CREATE CLUSTER
Non
CREATE CONTEXT
Non
CREATE CONTROLFILE
Non
CREATE DATABASE
Oui
CREATE DATABASE
LINK
Non
CREATE DIMENSION
Non
CREATE DIRECTORY
Non
CREATE DISKGROUP
Non
CREATE FLASHBACK
ARCHIVE
Non
DROP CLUSTER
Non
DROP DATABASE
Non
DROP DATABASE LINK
Non
DROP DIMENSION
Non
DROP DIRECTORY
Non
DROP DISKGROUP
Non
DROP FLASHBACK
ARCHIVE
Non
DROP FUNCTION
Non
DROP TABLE
Non
DROP TABLESPACE
Non
DROP VIEW
Oui
ALTER TABLE
Clause
Conversion Détails
automatique
ADD CONSTRAINT
Oui
ADD column
Non
Version 1.0
267
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
Clause
Conversion Détails
automatique
DEALLOCATE UNUSED
Non
DISCARD/IMPORT
TABLESPACE
Non
DROP CONSTRAINT
Non
ENABLE/DISABLE
constraint
Non
ENABLE/DISABLE
triggers
Non
MODIFY
Non
MODIFY COLUMN
Non
Opérations de
PARTITION
Non
REMOVE PARTITIONING
Non
RENAME
Non
RENAME COLUMN
Non
Instruction CREATE [OR REPLACE] VIEW
Clause
Conversion Détails
automatique
FORCE
Oui
NOFORCE
Oui
READ ONLY
Oui
Vues actualisables
Oui
WITH OBJECT
IDENTIFIER
Oui
Instruction CREATE INDEX
Clause
Conversion Détails
automatique
BITMAP
Non
Problème 5206 : PostgreSQL ne prend pas en charge les
index bitmap (p. 311)
DOMAIN
Non
Problème 5208 : PostgreSQL ne prend pas en charge les
index de domaine (p. 311)
FUNCTION-BASED
BITMAP
Non
Problème 5206 : PostgreSQL ne prend pas en charge les
index bitmap (p. 311)
Version 1.0
268
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
Clause
Conversion Détails
automatique
FUNCTION-BASED
NORMAL
Oui
NONUNIQUE
Oui
NORMAL
Oui
UNIQUE
Oui
Problème 5555 : PostgreSQL ne prend pas en charge
les index fonctionnels qui ne tiennent pas sur une seule
colonne (p. 311)
CREATE TABLE
Clause
Conversion Détails
automatique
Tables en cluster
Non
Problème 5199 : PostgreSQL ne prend pas en charge
CLUSTERED TABLE (p. 311)
Table externe
Non
Problème 5200 : PostgreSQL ne prend pas en charge
EXTERNAL TABLES (p. 311)
Fonction en tant que
valeur par défaut de
colonne
Oui
Table d'objets
Non
Problème 5196 : PostgreSQL ne prend pas en charge
OBJECT TABLE (p. 312)
Table partitionnée
Non
Problème 5201 : PostgreSQL ne prend pas en charge
tous les types de partition (p. 311)
Tables standard
Oui
Tables temporaires
Partielle
Problème 5198 : PostgreSQL ne prend pas en charge
GLOBAL TEMPORARY TABLE (p. 312)
Séquences
Clause
Conversion Détails
automatique
CREATE
Oui
Using
Oui
Version 1.0
269
AWS Schema Conversion Tool Guide de l'utilisateur
DML
DML
Fonctions SQL intégrées
Fonctions d'agrégation
Clause
Conversion Détails
automatique
AVG
Oui
COLLECT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
CORR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
CORR_*
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
COUNT
Oui
COVAR_POP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
COVAR_SAMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
CUME_DIST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
DENSE_RANK
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
FIRST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
GROUP_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
GROUPING
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
GROUPING_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
LAST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
MAX
Oui
MEDIAN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
MIN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PERCENT_RANK
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
270
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
PERCENTILE_CONT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PERCENTILE_DISC
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
RANK
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions REGR_
(régression linéaire)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_BINOMIAL_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_CROSSTAB
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_F_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_KS_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_MODE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_MW_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_ONE_WAY_ANOVA Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_T_TEST_*
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STATS_WSR_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STDDEV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STDDEV_POP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
STDDEV_SAMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SUM
Oui
VAR_POP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
VAR_SAMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
VARIANCE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
271
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Fonctions analytiques
Clause
Conversion Détails
automatique
AVG *
Oui
CORR *
Non
COUNT *
Oui
COVAR_POP *
Oui
COVAR_SAMP *
Oui
CUME_DIST
Oui
DENSE_RANK
Oui
FIRST
Non
FIRST_VALUE *
Oui
LAG
Oui
LAST
Non
LAST_VALUE *
Oui
LEAD
Oui
MAX *
Oui
MIN *
Oui
NTILE
Oui
PERCENT_RANK
Oui
PERCENTILE_CONT
Oui
PERCENTILE_DISC
Oui
RANK
Oui
RATIO_TO_REPORT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions REGR_
(régression linéaire) *
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
ROW_NUMBER
Oui
STDDEV *
Oui
STDDEV_POP *
Oui
STDDEV_SAMP *
Oui
SUM *
Oui
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
272
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
VAR_POP *
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
VAR_SAMP *
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
VARIANCE *
Oui
Fonctions de caractères retournant des valeurs de caractère
Clause
Conversion Détails
automatique
CHR(num)
Oui
CONCAT(char1, char2)
Oui
INITCAP(string)
Oui
LOWER(string)
Oui
LPAD(string, len)
Oui
LPAD(string, len, pad)
Oui
LTRIM(string)
Oui
NLS_INITCAP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NLS_LOWER
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NLS_UPPER
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NLSSORT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
REGEXP_REPLACE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
REGEXP_SUBSTR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
REPLACE(str, search)
Oui
REPLACE(str, search,
replace)
Oui
RPAD(string, len)
Oui
RTRIM(string)
Oui
RTRIM(string, set)
Oui
SOUNDEX(String)
Oui
Version 1.0
273
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
SUBSTR(string, pos, len)
Oui
TRANSLATE(string, from,
to)
Oui
TREAT
Non
TRIM([type trim FROM]
string)
Oui
UPPER(string)
Oui
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions de caractère retournant des valeurs numériques
Clause
Conversion Détails
automatique
ASCII(str)
Oui
INSTR(str, substr)
Oui
INSTR(str, substr, pos)
Implémenté
dans la
bibliothèque
d'extensions
INSTR(str, substr, pos,
num)
Implémenté
dans la
bibliothèque
d'extensions
LENGTH(string)
Oui
REGEXP_INSTR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions de collection
Clause
Conversion Détails
automatique
CARDINALITY
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
COLLECT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
274
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Fonctions de conversion
Clause
Conversion Détails
automatique
ASCIISTR(string)
Implémenté
dans la
bibliothèque
d'extensions
BIN_TO_NUM(bit1, bit2,
…)
Oui
CAST
Oui
CHARTOROWID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
COMPOSE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
CONVERT(string, charset) Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
DECOMPOSE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
HEXTORAW
Oui
NUMTODSINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NUMTOYMINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
RAWTOHEX
Oui
RAWTONHEX
Oui
ROWIDTOCHAR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
ROWIDTONCHAR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SCN_TO_TIMESTAMP
Oui
TIMESTAMP_TO_SCN
Oui
TO_BINARY_DOUBLE
Oui
TO_BINARY_FLOAT
Oui
TO_CHAR (character)
Oui
TO_CHAR (datetime,
format)
Oui
TO_CHAR (number,
format)
Implémenté
dans la
bibliothèque
d'extensions
Version 1.0
275
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
TO_CLOB
Oui
TO_DATE
Implémenté
dans la
bibliothèque
d'extensions
TO_DSINTERVAL
Oui
TO_LOB
Oui
TO_MULTI_BYTE
Oui
TO_NCHAR (character)
Oui
TO_NCHAR (datetime)
Implémenté
dans la
bibliothèque
d'extensions
TO_NCHAR (number)
Implémenté
dans la
bibliothèque
d'extensions
TO_NCLOB
Implémenté
dans la
bibliothèque
d'extensions
TO_NUMBER
Implémenté
dans la
bibliothèque
d'extensions
TO_SINGLE_BYTE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
TRANSLATE ... USING
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
UNISTR
Implémenté
dans la
bibliothèque
d'extensions
Fonctions d'exploration des données
Clause
Conversion Détails
automatique
CLUSTER_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
CLUSTER_PROBABILITY
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
276
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
CLUSTER_SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
FEATURE_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
FEATURE_SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
FEATURE_VALUE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PREDICTION
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PREDICTION_COST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PREDICTION_DETAILS
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PREDICTION_PROBABILITYNon
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PREDICTION_SET
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Non
Fonctions Datetime
Clause
Conversion Détails
automatique
ADD_MONTHS(date,
num)
Implémenté
dans la
bibliothèque
d'extensions
CURRENT_DATE
Oui
CURRENT_TIMESTAMP
Oui
DBTIMEZONE
Non
EXTRACT(DAY FROM
date)
Oui
EXTRACT(HOUR FROM
time)
Oui
EXTRACT(MINUTE
FROM time)
Oui
EXTRACT(MONTH
FROM date)
Oui
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
277
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
EXTRACT(SECOND
FROM time)
Oui
EXTRACT(YEAR FROM
date)
Oui
FROM_TZ
Implémenté
dans la
bibliothèque
d'extensions
LAST_DAY(date)
Implémenté
dans la
bibliothèque
d'extensions
LOCALTIMESTAMP
Oui
LOCALTIMESTAMP([prec]) Oui
MONTHS_BETWEEN(date1,Oui
date2)
NEW_TIME
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NEXT_DAY
Implémenté
dans la
bibliothèque
d'extensions
NUMTODSINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NUMTOYMINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
ROUND (date)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SESSIONTIMEZONE
Oui
SYS_EXTRACT_UTC
Non
SYSDATE
Oui
SYSTIMESTAMP
Oui
TO_CHAR (datetime,
format)
Oui
TO_DSINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
TO_TIMESTAMP(exp)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
278
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
TO_TIMESTAMP_TZ
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
TO_YMINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
TRUNC (datetime)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
TZ_OFFSET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
dbms_output
Clause
Conversion Détails
automatique
dbms_output.put()
Oui
dbms_output.put_line()
Oui
Fonctions d'encodage et de décodage
Clause
Conversion Détails
automatique
DECODE(exp, when,
then, …)
Oui
DUMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
ORA_HASH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
VSIZE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions d'environnement et d'identificateur
Clause
Conversion Détails
automatique
SYS_CONTEXT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SYS_GUID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SYS_TYPEID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
UID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
279
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
USER
Oui
USERENV('parameter')
Oui
Fonctions de comparaison générale
Clause
Conversion Détails
automatique
GREATEST(exp, exp2,
…)
Oui
LEAST(exp, exp2, …)
Oui
Fonctions hiérarchiques
Clause
Conversion Détails
automatique
SYS_CONNECT_BY_PATH Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions d'objet volumineux
Clause
Conversion Détails
automatique
BFILENAME
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
EMPTY_BLOB,
EMPTY_CLOB
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions de modèle
Clause
Conversion Détails
automatique
CV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
ITERATION_NUMBER
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PRESENTNNV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PRESENTV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PREVIOUS
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
280
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Fonctions de caractère NLS
Clause
Conversion Détails
automatique
NLS_CHARSET_DECL_LENNon
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NLS_CHARSET_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
NLS_CHARSET_NAME
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions liées aux valeurs NULL
Clause
Conversion Détails
automatique
COALESCE(exp1, exp2,
…)
Oui
LNNVL
Non
NULLIF(exp1, exp2)
Oui
NVL(exp, replacement)
Oui
NVL2(exp1, exp2, exp3)
Oui
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions numériques
Clause
Conversion Détails
automatique
ABS(num)
Oui
ACOS(num)
Oui
ASIN(num)
Oui
ATAN(num)
Oui
ATAN2(x,y)
Oui
BITAND(exp1, exp2)
Oui
CEIL(num)
Oui
COS(num)
Oui
COSH(num)
Oui
EXP(n)
Oui
FLOOR(num)
Oui
LN(num)
Oui
Version 1.0
281
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
LOG(num1, num2)
Oui
MOD(dividend, divisor)
Oui
NANVL (n2, n1)
Non
POWER(value, n)
Oui
REMAINDER(n1, n2)
Oui
ROUND (num, integer)
Oui
SIGN(exp)
Oui
SIN(num)
Oui
SINH(num)
Oui
SQRT(num)
Oui
TAN(num)
Oui
TANH(num)
Oui
TRUNC (number)
Oui
WIDTH_BUCKET
Oui
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions de référence d'objet
Clause
Conversion Détails
automatique
DEREF
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
MAKE_REF
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
REF
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
REFTOHEX
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
VALUE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Fonctions XML
Clause
Conversion Détails
automatique
APPENDCHILDXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
282
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
DELETEXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
DEPTH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
EXISTSNODE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
EXTRACT (XML)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
EXTRACTVALUE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
INSERTCHILDXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
INSERTXMLBEFORE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
PATH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SYS_DBURIGEN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SYS_XMLAGG
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
SYS_XMLGEN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
UPDATEXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLAGG
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLCDATA
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLCOLATTVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLCOMMENT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLCONCAT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLFOREST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLPARSE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Version 1.0
283
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
XMLPI
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLQUERY
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLROOT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLSEQUENCE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLSERIALIZE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLTABLE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
XMLTRANSFORM
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 309)
Indicateurs
Clause
Conversion Détails
automatique
Index et cluster
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Ordre des jointures
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Jointures
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Mode Optimiseur
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Exécution en parallèle
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Transformation de requête
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Autre
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 318)
Jointures
Clause
Conversion Détails
automatique
Jointures croisées
Oui
Version 1.0
284
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
Jointures internes
Oui
Jointures externes
Oui
Fonctions d'opérateurs et de date
Clause
Conversion Détails
automatique
Opérateurs arithmétiques
Oui
Opérateurs de
concaténation
Oui
Prédicats
Clause
Conversion Détails
automatique
Conditions booléennes
Oui
Conditions de
comparaison : '=, <>, <,
<=, >, >=, ANY, SOME,
ALL
Oui
Conditions Exists
Oui
Conditions In
Oui
Conditions Null
Oui
Conditions de
correspondance de
modèles
Oui
Conditions de plage
Oui
Opérateurs d'ensembles
Opérateurs de concaténation
Clause
Conversion Détails
automatique
INTERSECT, EXCEPT
Oui
MINUS
Oui
UNION, UNION ALL
Oui
Version 1.0
285
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Instructions
DELETE
Clause
Conversion Détails
automatique
DELETE FROM
MATERIALIZED VIEW
Non
Problème 5095 : PostgreSQL ne prend pas en charge
l'utilisation d'une VIEW matérialisée (p. 318)
DELETE FROM
SUBQUERY
Non
Problème 5068 : PostgreSQL ne prend pas en charge
l'instruction DELETE pour une sous-requête (p. 315)
DELETE FROM TABLE
Oui
DELETE FROM VIEW
Oui
DELETE avec clause
Error Logging
Non
DELETE avec clause
RETURNING
Oui
Problème 5067 : PostgreSQL ne prend pas en
charge l'instruction DELETE avec l'option ERROR
LOG (p. 315)
HIERARCHICAL QUERY AND HIERARCHICAL QUERY PSEUDOCOLUMNS
Clause
Conversion Détails
automatique
CONNECT BY CLAUSE
Oui
CONNECT BY NOCYCLE
Non
Pseudo-colonne
CONNECT_BY_ISLEAF
Oui
LEVEL
PSEUDOCOLUMN
Oui
ORDER SIBLINGS BY
Oui
START WITH CLAUSE
Oui
Problème 5586 : Conversion automatique des requêtes
assorties de la clause NOCYCLE non prise en
charge (p. 320)
SYS_CONNECT_BY_PATH Oui
Opérateurs de requête hiérarchique
Clause
Conversion Détails
automatique
CONNECT_BY_ROOT
Oui
PRIOR
Oui
Version 1.0
286
AWS Schema Conversion Tool Guide de l'utilisateur
DML
INSERT
Clause
Conversion Détails
automatique
ALL
Oui
DEFAULT
Oui
ELSE Oui
FIRST
Oui
INSERT à partir de la
clause « SUBQUERY »
Oui
INSERT à partir de la
clause « VALUES(...) »
Oui
INSERT INTO
SUBQUERY
Non
INSERT INTO TABLE
Oui
INSERT INTO VIEW
Oui
INSERT avec
partition_extension_clause
Non
Problème 5024 : PostgreSQL ne prend
pas en charge l'instruction INSERT avec
partition_extension_clause (p. 317)
Insertion dans une table
avec la clause Error
Logging
Non
Problème 5070 : PostgreSQL ne prend pas en charge
l'instruction INSERT avec l'option ERROR LOG (p. 317)
RETURNING INTO
Oui
WHEN
Oui
Problème 5071 : PostgreSQL ne prend pas en charge
l'instruction INSERT pour une sous-requête (p. 318)
LOCK TABLE
Clause
Conversion Détails
automatique
Verrouillage de table en
mode exclusif
Oui
Verrouillage de table en
mode partage
Oui
Verrouillage sans attente
Oui
SELECT
Clause
Conversion Détails
automatique
Opérateur d'addition ou de Oui
soustraction
Version 1.0
287
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
BULK COLLECT INTO
Non
Problème 5140 : PostgreSQL ne prend pas en charge
BULK COLLECT INTO (p. 320)
CUBE
Non
Problème 5557 : PostgreSQL ne prend pas en
charge les fonctions GROUPING SETS, CUBE et
ROLLUP (p. 320)
FOR UPDATE
Non
Problème 5139 : PostgreSQL ne prend pas en charge
FOR UPDATE SKIP LOCKED (p. 320)
GROUP BY
Oui
GROUPING SETS
Non
HAVING
Oui
INTERSECT
Oui
INTO
Oui
MINUS
Oui
MODEL
Non
ORDER BY
Oui
Clause PIVOT
Non
Problème 5077 : PostgreSQL ne prend pas en charge la
clause PIVOT pour l'instruction SELECT (p. 326)
ROLLUP
Non
Problème 5557 : PostgreSQL ne prend pas en
charge les fonctions GROUPING SETS, CUBE et
ROLLUP (p. 320)
Pseudo-colonne
ROWNUM
Oui
SELECT ALL
Oui
SELECT DISTINCT
Oui
SELECT LIST
Oui
SELECT UNIQUE
Oui
UNION
Oui
UNION ALL
Oui
Clause UNPIVOT
Oui
Problème 5557 : PostgreSQL ne prend pas en
charge les fonctions GROUPING SETS, CUBE et
ROLLUP (p. 320)
Problème 5126 : PostgreSQL ne prend pas en charge
l'instruction MODEL (p. 320)
WHERE( field_name1,
Oui
…,fieldnameN) IN
(subquery_with_multiple_fields)
Version 1.0
288
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
WHERE
Oui
comparison_condition
(=;<>;!
=;<;>;>=;<=;ANY;SOME;ALL)
WHERE
Oui
compound_condition_with_or_and_not
WHERE field_name
BETWEEN arg1 AND
arg2
Oui
WHERE field_name IN
(const1,...,constN)
Oui
WHERE field_name IN
(subquery)
Oui
WHERE like_condition
(operator LIKE)
Oui
WITH
Oui
UPDATE
Clause
Conversion Détails
automatique
UPDATE (subquery)
Non
Problème 5065 : PostgreSQL ne prend pas en charge
l'instruction UPDATE pour une sous-requête (p. 325)
UPDATE MATERIALIZED
VIEW
Non
Problème 5095 : PostgreSQL ne prend pas en charge
l'utilisation d'une VIEW matérialisée (p. 318)
UPDATE TABLE
Oui
UPDATE VIEW
Oui
UPDATE avec clause
Error Logging
Non
Problème 5064 : PostgreSQL ne prend pas en
charge l'instruction UPDATE avec l'option ERROR
LOG (p. 325)
UPDATE avec clause
d'extension de partition
Non
Problème 5558 : PostgreSQL ne prend pas en charge
l'instruction UPDATE pour une PARTITION (p. 325)
UPDATE avec clause
RETURNING…INTO
Oui
UPDATE avec sousrequêtes dans la clause
SET
Oui
Opérateur UPDATE basé
sur les données d'autres
tables
Oui
Version 1.0
289
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion Détails
automatique
MERGE
Non
TRUNCATE TABLE
Oui
Problème 5102 : PostgreSQL ne prend pas en charge
l'instruction MERGE (p. 318)
PLSQL
Arguments des fonctions et des procédures
Clause
Conversion Détails
automatique
Arguments scalaires des
type de données intégrés
Oui
Arguments de type
curseur
Oui
Clause par défaut dans la
déclaration d'arguments
Oui
Type d'argument IN, OUT,
IN OUT
Oui
Arguments de type
curseur de référence
Oui
Arguments de type
collection UDT
Oui
Arguments de type objet
UDT
Oui
Type d'enregistrement
UDT
Oui
Fonctions
Clause
Conversion Détails
automatique
Fonctions avec DML
Oui
Fonctions sans DML
Oui
Retour d'une table en
pipeline
Oui
Retour d'un curseur de
référence
Oui
Version 1.0
290
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion Détails
automatique
Retour de valeurs
scalaires
Oui
Retour d'une table
Oui
Retour d'un type de
collection UDT
Oui
Retour d'un type d'objet
UDT
Oui
Retour d'un type
d'enregistrement UDT
Oui
Packages
Clause
Conversion Détails
automatique
Déclaration de curseur
global
Non
Problème 5569 : PostgreSQL prend uniquement en
charge les variables de session en utilisant les types
d'heure et de temps standard SQL (p. 319)
Déclaration d'exception
utilisateur globale
Non
Problème 5569 : PostgreSQL prend uniquement en
charge les variables de session en utilisant les types
d'heure et de temps standard SQL (p. 319)
Bloc d'initialisation block
BEGIN … END dans les
packages
Oui
Fonctions de package
Oui
Procédures de package
Oui
Variables de package
Oui
Déclaration de type
utilisateur
Oui
Constructions PL SQL
Clause
Conversion Détails
automatique
block EXCEPTION when
exception_name then…
Oui
CASE_NOT_FOUND
Oui
case when conditions
then…else… end case;
Oui
Version 1.0
291
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion Détails
automatique
close cursor_variable
Oui
COMMIT
Oui
CURSOR_ALREADY_OPENOui
DUP_VAL_ON_INDEX
Oui
execute immediate
SQL_string_variable
into variables_list use
variables_list
Non
fetch cursor_variable into
variables_list
Oui
FORALL -cycle
Non
for I in(begN..endN)
loop… end loop
Oui
for I in(cursor_name)
loop… end loop
Oui
for I in(select_statement)
loop… end loop
Oui
FOR i IN REVERSE
begN..endN LOOP… END
LOOP;
Oui
goto label;
Non
if conditions then…else if
conditions then… end if;
Oui
if conditions then… end if;
Oui
INVALID_CURSOR
Oui
INVALID_NUMBER
Oui
LOGIN_DENIED
Oui
LOOP…exit when
conditions; END LOOP;
Oui
NO_DATA_FOUND
Oui
NOT_LOGGED_ON
Oui
Instruction NULL
Oui
open cursor_variable
Oui
Problème 5334 : PostgreSQL ne prend pas en charge
l'instruction SQL dynamique (p. 315)
Problème 5121 : PostgreSQL ne prend pas en charge
l'instruction FORALL (p. 324)
Problème 5335 : PostgreSQL ne prend pas en charge
l'opérateur GOTO (p. 321)
open cursor_variable for
Oui
select_statemet_string_variable
Version 1.0
292
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion Détails
automatique
others
Oui
PRAGMA
Non
AUTONOMOUS_TRANSACTION
PROGRAM_ERROR
Problème 5350 : La fonction ne peut pas utiliser les
instructions qui débutent ou terminent explicitement
ou implicitement une transaction, telles que START
TRANSACTION, COMMIT ou ROLLBACK (p. 317)
Oui
raise_application_error(exept_code,
Oui
message)
raise exeption_name
Oui
ROLLBACK
Oui
select…bulk collect
into table_variable from
table_name
Non
SQL
%BULK_ROWCOUNT
Non
SQL%FOUND
Oui
SQL%ISOPEN
Non
SQL%NOTFOUND
Oui
SQL%ROWCOUNT
Oui
STORAGE_ERROR
Oui
Problème 5140 : PostgreSQL ne prend pas en charge
BULK COLLECT INTO (p. 320)
Problème 5084 : PostgreSQL ne prend pas en charge
l'attribut de curseur %ISOPEN (p. 314)
TIMEOUT_ON_RESOURCE Oui
TOO_MANY_ROWS
Oui
TRANSACTION_BACKED_OUT
Oui
VALUE_ERROR
Oui
while conditions loop…
end loop;
Oui
ZERO_DIVIDE
Oui
Bloc de déclaration PL SQL
Clause
Conversion Détails
automatique
Déclaration d'une variable
scalaire intégrée
Oui
Version 1.0
293
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion Détails
automatique
Déclaration d'une variable
ref-cursor
Oui
Déclaration d'un curseur
statique
Oui
Déclaration d'une variable
de collection UDT
Oui
Déclaration d'une variable
d'objet UDT
Oui
Déclaration d'une variable
d'enregistrement UDT
Oui
Déclaration de types de
tableau UDT
Oui
Déclaration d'une
exception utilisateur
Oui
Déclaration avec l'option
%rowtype
Oui
Déclaration avec l'option
%type
Oui
Procédures
Clause
Conversion Détails
automatique
Instruction CREATE
PROCEDURE
Oui
Déclencheurs
Clause
Conversion Détails
automatique
BEFORE, AFTER options
Oui
FOR EACH ROW -option
Oui
INSTEAD OF - options
Oui
NESTED TABLE - clause
Non
Problème 5240 : PostgreSQL ne prend pas en charge
les déclencheurs dans les colonnes de table imbriquée
figurant dans les vues (p. 323)
REFERENCING - clause
Non
Problème 5238 : PostgreSQL ne prend pas en charge les
clauses REFERENCING (p. 323)
Version 1.0
294
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion Détails
automatique
Statement-trigger
Non
déclencheur dans TABLE
Oui
Déclencheur dans VIEW
Oui
WHEN(condition)- option
Non
Types de données
Type de données
Converti
Détails
automatiquement
en
BFILE
character
varying
BINARY_FLOAT
real
BINARY_DOUBLE
double
precision
BLOB
bytea
CHAR(n)
character
CHARACTER(n)
character
CLOB
text
DATE
timestamp(0)
without time
zone
DECIMAL(p,s)
numeric
DEC(p,s)
numeric
FLOAT
double
precision
INTEGER
numeric
INT
numeric
INTERVAL YEAR(p) TO
MONTH
interval year
to month
INTERVAL DAY(p) TO
SECOND(s)
interval day to
second(s)
LONG
text
LONG RAW
bytea
NCHAR(n)
character
Problème 5212 : PostgreSQL n'a pas un type de
données BFILE (p. 311)
Version 1.0
295
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Converti
Détails
automatiquement
en
NCHAR VARYING(n)
character
varying
NCLOB
text
NUMBER(p)
numeric
NUMBER(p,0)
numeric
NUMBER(*,0)
numeric
NUMBER(p,s)
numeric
NUMBER(*)
double
precision
NUMBER
double
precision
NVARCHAR2(n)
character
varying
RAW(n)
bytea
ROWID
character
TIMESTAMP(p)
timestamp(p)
without time
zone
TIMESTAMP(p)
timestamp(6)
without time
zone
TIMESTAMP(p) WITH
TIME ZONE
timestamp(p)
with time
zone
TIMESTAMP(p) WITH
TIME ZONE
timestamp(6)
with time
zone
TIMESTAMP(p) WITH
LOCAL TIME ZONE
timestamp(p)
without time
zone
TIMESTAMP(p) WITH
LOCAL TIME ZONE
timestamp(6)
without time
zone
Problème 5553 : PostgreSQL étend la prise en charge
de secondes fractionnelles pour les valeurs TIME,
DATETIME et TIMESTAMP, avec une précision
jusqu'aux microsecondes (6 chiffres) (p. 313)
UROWID
character
varying
Problème 5551 : PostgreSQL n'a pas un type de
données UROWID (p. 313)
Problème 5550 : PostgreSQL n'a pas un type de
données ROWID (p. 312)
Problème 5213 : PostgreSQL étend la prise en charge
de secondes fractionnelles pour les valeurs TIME,
DATETIME et TIMESTAMP, avec une précision
jusqu'aux microsecondes (6 chiffres) (p. 313)
Problème 5552 : PostgreSQL étend la prise en charge
de secondes fractionnelles pour les valeurs TIME,
DATETIME et TIMESTAMP, avec une précision
jusqu'aux microsecondes (6 chiffres) (p. 313)
Version 1.0
296
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Type de données
Converti
Détails
automatiquement
en
VARCHAR
character
varying
VARCHAR2
character
varying
XMLTYPE
xml
Référence de conversion d'Oracle vers PostgreSQL
Utilisez les sections suivantes pour obtenir des informations sur les types de problèmes que vous
pouvez rencontrer lors d'une conversion d'Oracle vers PostgreSQL. Cliquez sur le lien éventuel dans
la colonne Problème pour obtenir des informations plus détaillées sur la résolution du problème en
question.
Build_in_services
Elément
Problème
Résolution
UTL_SMTP
DBMS_JOB
Problème 5590 : La fonction a été convertie
en tant que procédure (p. 309)
Impossible de retourner
une réponse car cette
fonctionnalité est asynchrone.
Fonctions SQL intégrées
Elément
Problème
Résolution
Fonction DateTime
Problème 5584 : La fonction %s dépend du
paramètre de fuseau horaire (p. 309)
Examinez le code transformé
et définissez le fuseau
horaire manuellement si
nécessaire.
FONCTION
Problème 5340 : PostgreSQL ne prend pas
en charge la fonction %s (p. 309)
Utilisez la fonction appropriée
ou créez la fonction définie
par l'utilisateur.
GREATEST(exp,
exp2, ...)
Problème 5271 : Les fonctions GREATEST
d'Oracle et de PostgreSQL ne donnent
pas nécessairement les mêmes
résultats (p. 310)
Examinez votre code
transformé et modifiez-le, si
nécessaire. Modifiez un type
d'argument si nécessaire.
LEAST(exp, exp2, ...) Problème 5272 : Les fonctions LEAST
d'Oracle et de PostgreSQL ne donnent
pas nécessairement les mêmes
résultats (p. 310)
Examinez votre code
transformé et modifiez-le, si
nécessaire. Modifiez un type
d'argument si nécessaire.
TO_CHAR,
TO_DATE,
TO_NUMBER
Vérifiez le code converti et
effectuez des corrections
manuelles si nécessaire.
Problème 5579 : Le deuxième paramètre de
la fonction %s peut être traité de manière
incorrecte (p. 310)
Version 1.0
297
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
CREATE
Elément
Objets chiffrés
Problème
Résolution
Problème 5099 : Impossible de convertir
l'objet en raison de la non création de
%s (p. 310)
Examinez l'objet %s.
Problème 5332 : L'objet contient des
références sur l'objet présent dans le
schéma %s (p. 310)
Convertissez également
l'objet présent dans le
schéma %s.
Problème 5582 : Objets chiffrés (p. 310)
Déchiffrez l'objet avant la
conversion.
CREATE CONSTRAINT
Elément
Problème
Résolution
état = DESACTIVE
Problème 5326 : PostgreSQL ne prend pas
en charge les contraintes dont l'état est
DISABLED (p. 311)
Supprimez la contrainte.
CREATE INDEX
Elément
Problème
Résolution
Création d'un index
de domaine
Problème 5208 : PostgreSQL ne prend pas
en charge les index de domaine (p. 311)
Modifiez votre code et
essayez d'utiliser l'index
simple.
Création d'un index
basé sur la fonction
Problème 5555 : PostgreSQL ne prend pas
en charge les index fonctionnels qui ne
tiennent pas sur une seule colonne (p. 311)
Modifiez votre code et
essayez d'utiliser l'index
simple.
Création d'un index
de BITMAP
Problème 5206 : PostgreSQL ne prend pas
en charge les index bitmap (p. 311)
Modifiez votre code et
essayez d'utiliser l'index
simple.
CREATE TABLE
Elément
Problème
Résolution
Type de données
BFILE
Problème 5212 : PostgreSQL n'a pas un type Stockez un fichier nommé
de données BFILE (p. 311)
avec les données et créez
une routine qui obtient
ce fichier du système de
fichiers ou stockez le blob de
données dans votre base de
données.
CREATION
D'UNE TABLE
PARTITIONNEE
Problème 5201 : PostgreSQL ne
prend pas en charge tous les types de
partition (p. 311)
Version 1.0
298
Procédez à une conversion
manuelle pour les types de
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
partition qui ne sont pas pris
en charge.
CREATION
D'UNE TABLE EN
CLUSTER
Problème 5199 : PostgreSQL ne prend pas
en charge CLUSTERED TABLE (p. 311)
Essayez d'utiliser une table
avec des déclencheurs.
CREATION DE
TABLES EXTERNES
Problème 5200 : PostgreSQL ne prend pas
en charge EXTERNAL TABLES (p. 311)
Essayez d'utiliser une table.
CREATION
D'UNE TABLE
TEMPORAIRE
GLOBALE
Problème 5198 : PostgreSQL ne prend
pas en charge GLOBAL TEMPORARY
TABLE (p. 312)
Essayez à nouveau à l'aide
d'une table temporaire locale.
CREATION DE
TABLES DE
L'OBJET
Problème 5196 : PostgreSQL ne prend pas
en charge OBJECT TABLE (p. 312)
Corrigez votre code pour
éviter OBJECT TABLE.
Table organisée en
index
Problème 5581 : PostgreSQL ne prend
pas en charge la table organisée en
index (p. 312)
Modifiez votre architecture
avec une solution
personnalisée pour le type de
table.
TABLE IMBRIQUEE
Problème 5348 : PostgreSQL ne prend pas
en charge NESTED TABLES (p. 312)
Modifiez votre code pour
éviter NESTED TABLE.
Type de données
ROWID
Problème 5550 : PostgreSQL n'a pas un type Examinez votre code
de données ROWID (p. 312)
transformé et modifiez-le, si
nécessaire.
TABLE AVEC
DES COLONNES
VIRTUELLES
Problème 5554 : PostgreSQL ne prend pas
en charge les colonnes virtuelles (p. 312)
Elles ont été émulées par un
déclencheur.
TIMESTAMP(n>6)
Type de données
Problème 5213 : PostgreSQL étend la
prise en charge de secondes fractionnelles
pour les valeurs TIME, DATETIME et
TIMESTAMP, avec une précision jusqu'aux
microsecondes (6 chiffres) (p. 313)
Vérifiez votre code
transformé et modifiez-le si
nécessaire pour éviter une
perte de précision.
Type de données
TIMESTAMP(n>6)
WITH TIME ZONE
Problème 5552 : PostgreSQL étend la
prise en charge de secondes fractionnelles
pour les valeurs TIME, DATETIME et
TIMESTAMP, avec une précision jusqu'aux
microsecondes (6 chiffres) (p. 313)
Vérifiez votre code
transformé et modifiez-le si
nécessaire pour éviter une
perte de précision.
Type de données
TIMESTAMP(n>6)
WITH LOCAL TIME
ZONE
Problème 5553 : PostgreSQL étend la
prise en charge de secondes fractionnelles
pour les valeurs TIME, DATETIME et
TIMESTAMP, avec une précision jusqu'aux
microsecondes (6 chiffres) (p. 313)
Vérifiez votre code
transformé et modifiez-le si
nécessaire pour éviter une
perte de précision.
Type de données
UROWID
Problème 5551 : PostgreSQL n'a pas un type Examinez votre code
de données UROWID (p. 313)
transformé et modifiez-le, si
nécessaire.
Version 1.0
299
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
CREATE TYPE
Elément
Problème
Résolution
TYPE D'OBJET
Problème 5572 : PostgreSQL ne prend
pas en charge les méthodes de type
objet (p. 314)
Modifiez votre architecture
avec une solution
personnalisée pour le type
d'utilisateur.
Elément
Problème
Résolution
Attributs de curseur
Problème 5084 : PostgreSQL ne prend
pas en charge l'attribut de curseur
%ISOPEN (p. 314)
Corrigez la façon dont vous
utilisez cet attribut dans votre
code.
TYPE .. IS REF
CURSOR
Problème 5226 : PostgreSQL ne
prend pas en charge TYPE... IS REF
CURSOR (p. 314)
Remplacez la fonction par
une procédure stockée et
essayez d'utiliser une table
pour stocker les résultats.
CURSOR
Expressions DateTime
Elément
Problème
Résolution
à l'échelle locale à
fuseau horaire
Problème 5594 : PostgreSQL ne prend pas
en charge l'expression datetime %s. La perte
de précision et/ou d'exactitude des données
est possible (p. 314)
Vérifiez si les données
enfreignent ces restrictions.
Si c'est le cas, effectuez une
migration manuelle.
Elément
Problème
Résolution
ERROR LOG
Problème 5067 : PostgreSQL ne prend pas
en charge l'instruction DELETE avec l'option
ERROR LOG (p. 315)
Vous pouvez ajouter des
enregistrements d'erreur en
les insérant dans le journal
du bloc d'exception. Itérez
les erreurs dans le bloc
d'exception, ajoutez-les
au journal, puis utilisez la
commande EXIT lorsque
vous avez terminé.
PARTITION
Problème 5098 : PostgreSQL ne prend pas
en charge l'instruction DELETE pour une
PARTITION (p. 315)
Insérez des données dans
la partition sus-jacente ou
procédez à une conversion
manuelle à l'aide de
l'instruction DELETE.
QUERY
Problème 5068 : PostgreSQL ne prend pas
en charge l'instruction DELETE pour une
sous-requête (p. 315)
Effectuez plutôt cette
opération sur les tables sousjacentes.
DELETE
Version 1.0
300
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
SQL DYNAMIQUE
Elément
Problème
Résolution
BULK COLLECT
Problème 5088 : PostgreSQL ne
prend pas en charge l'instruction
EXECUTE IMMEDIATE avec BULK
COLLECT (p. 315)
Procédez à une conversion
manuelle.
EXECUTE
IMMEDIATE
Problème 5334 : PostgreSQL ne
prend pas en charge l'instruction SQL
dynamique (p. 315)
Examinez et modifiez la
chaîne d'exécution.
RETURNING BULK
COLLECT INTO
Problème 5087 : PostgreSQL ne prend pas
en charge la clause RETURNING BULK
COLLECT INTO (p. 315)
Procédez à une conversion
manuelle.
Problème
Résolution
EXCEPTION
Elément
ACCESS_INTO_NULL Problème 5561 : PostgreSQL ne
prend pas en charge l'exception
ACCESS_INTO_NULL (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
COLLECTION_IS_NULLProblème 5562 : PostgreSQL ne
prend pas en charge l'exception
COLLECTION_IS_NULL (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
EMPTY_BLOCK
Problème 5580 : Le bloc d'exception a été
vidé après la conversion (p. 316)
Vérifiez le code converti et
effectuez des corrections
manuelles si nécessaire.
EXCEPTION
Problème 5570 : PostgreSQL ne prend
pas en charge la déclaration de nom
d'exception (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
NO_DATA_NEEDED
Problème 5563 : PostgreSQL ne
prend pas en charge l'exception
NO_DATA_NEEDED (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
PROGRAM_ERROR
Problème 5560 : PostgreSQL ne
prend pas en charge l'exception
PROGRAM_ERROR (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
ROWTYPE_MISMATCHProblème 5564 : PostgreSQL ne
prend pas en charge l'exception
ROWTYPE_MISMATCH (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
SELF_IS_NULL
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
Problème 5565 : PostgreSQL ne
prend pas en charge l'exception
SELF_IS_NULL (p. 316)
SUBSCRIPT_BEYOND_COUNT
Problème 5566 : PostgreSQL ne
prend pas en charge l'exception
SUBSCRIPT_BEYOND_COUNT (p. 316)
Version 1.0
301
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
SUBSCRIPT_OUTSIDE_LIMIT
Problème 5567 : PostgreSQL ne
prend pas en charge l'exception
SUBSCRIPT_OUTSIDE_LIMIT (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
SYS_INVALID_ROWID Problème 5568 : PostgreSQL ne
prend pas en charge l'exception
SYS_INVALID_ROWID (p. 316)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
CURSEURS EXPLICITES
Elément
Problème
Résolution
RETURN
Problème 5559 : PostgreSQL ne prends pas
en charge le TYPE DE RESULTAT pour le
curseur (p. 317)
Utilisez la déclaration
de curseur sans cette
instruction.
Elément
Problème
Résolution
FONCTIONS avec
DML (START
TRANSACTION,
COMMIT ou
ROLLBACK.)
Problème 5350 : La fonction ne
peut pas utiliser les instructions qui
débutent ou terminent explicitement ou
implicitement une transaction, telles que
START TRANSACTION, COMMIT ou
ROLLBACK (p. 317)
Corrigez votre code pour
implémenter un contrôle de
transaction côté application.
Elément
Problème
Résolution
ERROR LOG
Problème 5070 : PostgreSQL ne prend pas
en charge l'instruction INSERT avec l'option
ERROR LOG (p. 317)
Vous pouvez ajouter des
enregistrements d'erreur en
les insérant dans le journal
du bloc d'exception. Itérez
les erreurs dans le bloc
d'exception, ajoutez-les
au journal, puis utilisez la
commande EXIT lorsque
vous avez terminé.
FONCTION
INSERT
INSERT avec
Problème 5024 : PostgreSQL ne prend
partition_extension_clause
pas en charge l'instruction INSERT avec
partition_extension_clause (p. 317)
Procédez à une conversion
manuelle pour les types de
partition qui ne sont pas pris
en charge.
QUERY
Problème 5071 : PostgreSQL ne prend pas
en charge l'instruction INSERT pour une
sous-requête (p. 318)
Effectuez plutôt cette
opération sur les tables sousjacentes.
SUBPARTITION
Problème 5090 : PostgreSQL ne prend pas
en charge l'instruction INSERT pour une
SUBPARTITION (p. 318)
Insérez des données dans
la partition sus-jacente ou
procédez à une conversion
Version 1.0
302
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
manuelle à l'aide de
l'instruction INSERT.
MATERIALIZED VIEW
Elément
Problème
Résolution
CREATE
Problème 5094 : PostgreSQL ne prend pas
en charge VIEW matérialisée (p. 318)
Modifiez votre code pour
remplacer une VUE
matérialisée par une autre
solution.
A L'AIDE DE LA VUE Problème 5095 : PostgreSQL ne prend
MATERIALISEE
pas en charge l'utilisation d'une VIEW
matérialisée (p. 318)
Modifiez votre code pour
remplacer une VUE
matérialisée par une autre
solution.
MERGE
Elément
Problème
Résolution
MERGE
Problème 5102 : PostgreSQL ne prend pas
en charge l'instruction MERGE (p. 318)
Pour obtenir l'effet d'une
instruction MERGE, utilisez
les instructions INSERT,
DELETE et UPDATE
distinctes.
Indicateurs d'optimiseur
Elément
Problème
Résolution
HINT
Problème 5103 : PostgreSQL ne prend pas
en charge l'indicateur %s (p. 318)
Utilisez les méthodes
PostgreSQL d'optimisation
des performances.
Elément
Problème
Résolution
Curseur global du
package
Problème 5330 : PostgreSQL ne prend pas
en charge les curseurs globaux (p. 319)
Utilisez une autre méthode
pour cette fonctionnalité.
Utilisateur global
du package
EXCEPTION
Problème 5331 : PostgreSQL ne prend
pas en charge une exception d'utilisateur
globale (p. 319)
Utilisez une autre méthode
pour cette fonctionnalité.
Déclaration du
type de package
utilisateur
Problème 5569 : PostgreSQL prend
uniquement en charge les variables de
session en utilisant les types d'heure et de
temps standard SQL (p. 319)
Modifiez votre architecture
avec une solution
personnalisée pour le type
d'utilisateur.
PACKAGES
Version 1.0
303
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Erreur d'analyse
Elément
Problème
Résolution
Parser Error
Problème 5293 : Impossible de résoudre
l'objet (p. 319)
Vérifiez si l'objet %s est
présent dans la base de
données. S'il ne l'est pas,
vérifiez le nom de l'objet ou
ajoutez ce dernier. Si l'objet
est présent, transformez le
code manuellement.
Elément
Problème
Résolution
PRAGMA
Problème 5571 : PostgreSQL ne prend pas
en charge les options PRAGMA (p. 319)
Examinez l'exception utilisée
et, si possible, convertissezla en autre condition.
Elément
Problème
Résolution
BULK COLLECT
INTO
Problème 5140 : PostgreSQL ne prend pas
en charge BULK COLLECT INTO (p. 320)
Vous pouvez essayer
d'inclure tous les champs de
votre table dans une clause
INTO.
FOR UPDATE SKIP
LOCKED
Problème 5139 : PostgreSQL ne prend
pas en charge FOR UPDATE SKIP
LOCKED (p. 320)
Essayez d'utiliser FOR
UPDATE sans SKIP
LOCKED.
FOR UPDATE WAIT
Problème 5144 : PostgreSQL ne prend
pas en charge les clauses FOR UPDATE
WAIT (p. 320)
Essayez d'utiliser FOR
UPDATE sans WAIT.
Requêtes
hiérarchiques
Problème 5586 : Conversion automatique
des requêtes assorties de la clause
NOCYCLE non prise en charge (p. 320)
Procédez à une conversion
manuelle.
MODEL
Problème 5126 : PostgreSQL ne prend pas
en charge l'instruction MODEL (p. 320)
Modifiez votre code et
essayez d'utiliser les
procédures utilisateur et les
tables temporaires.
OUTER JOIN
Problème 5585 : Conversion automatique
d'une jointure externe en requête de
corrélation non prise en charge (p. 320)
Procédez à une conversion
manuelle.
PRAGMA
SELECT
Version 1.0
304
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
ROLLUP
Problème 5557 : PostgreSQL ne prend pas
en charge les fonctions GROUPING SETS,
CUBE et ROLLUP (p. 320)
Cela peut être émulé en
utilisation des expressions
CTE. GROUPING SETS,
CUBE et ROLLUP sont
disponibles dans la base de
données PostgreSQL v.9.5
ou supérieure.
Instruction non prise
en charge
Problème 5578 : Impossible de
transformer automatiquement l'instruction
SELECT (p. 320)
Essayez de réécrire
l'instruction.
Elément
Problème
Résolution
ETAT = NON
VALIDE
Problème 5574 : PostgreSQL ne prend pas
en charge de l'état de la séquence (p. 320)
Vérifiez que la séquence
d'origine ne comporte pas
d'erreurs et renouvelez la
conversion.
Elément
Problème
Résolution
GOTO
Problème 5335 : PostgreSQL ne prend pas
en charge l'opérateur GOTO (p. 321)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
synonyme privé
Problème 5333 : Cet objet utilise un
synonyme privé (p. 321)
Vérifiez qu'un objet référencé
créé après la conversion de
synonyme existe.
synonyme public
Problème 5592 : Cet objet utilise un
synonyme public qui fait référence à une
table, à une vue ou à une fonction (p. 321)
Vérifiez qu'un objet référencé
créé après la conversion de
synonyme existe.
synonyme public
Problème 5593 : Cet objet utilise un
synonyme public qui ne fait pas référence à
d'autres objets (p. 321)
Vérifiez qu'un objet référencé
créé après la conversion de
synonyme existe.
SEQUENCE
Instructions
Synonyme
Paquet de système
Elément
Problème
Résolution
Package APEX_UTIL
Problème 5503 : MySQL ne comporte pas de Essayez à nouveau à l'aide
fonction similaire au module %s (p. 322)
de l'Amazon Simple Workflow
(Amazon SWF).
Version 1.0
305
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
DBMS_DATAPUMP
Problème 5502 : MySQL ne comporte pas de Essayez à nouveau à l'aide
fonction similaire au module %s (p. 322)
de l'AWS Import/Export
Snowball.
Module DBMS_JOB
Problème 5501 : MySQL ne comporte pas de Essayez d'utiliser le service
fonction similaire au module %s (p. 322)
AWS Lambda avec les
événements planifiés.
Module UTL_MAIL
Problème 5500 : MySQL ne comporte pas de Essayez d'utiliser
fonction similaire au module %s (p. 322)
Amazon Simple Notification Service
(Amazon SNS).
TRIGGERS
Elément
Problème
Résolution
action-type=CALL ou
PL/SQL
Problème 5313 : PostgreSQL ne prend pas
en charge la clause action-type (p. 322)
Utilisez une autre méthode
pour cette fonctionnalité.
base-objecttype=DATABASE
Problème 5415 : PostgreSQL ne
prend pas en charge les déclencheurs
système (p. 322)
Corrigez votre code pour
remplacer les déclencheurs
système par une autre
solution.
base-objecttype=SCHEMA
Problème 5311 : PostgreSQL ne
prend pas en charge les déclencheurs
système (p. 322)
Corrigez votre code pour
remplacer les déclencheurs
système par une autre
solution.
COMPOUND
TRIGGER
Problème 5242 : PostgreSQL ne prend pas
en charge COMPOUND TRIGGER (p. 322)
Créez un déclencheur unique
pour chaque composant du
déclencheur composé.
FOLLOWS |
PRECEDES
Problème 5241 : PostgreSQL ne prend
pas en charge la clause FOLLOWS |
PRECEDES (p. 322)
Essayez d'utiliser le
déclencheur FOR EACH
ROW.
ON NESTED TABLE
Problème 5240 : PostgreSQL ne prend
pas en charge les déclencheurs dans les
colonnes de table imbriquée figurant dans
les vues (p. 323)
Corrigez votre code pour
remplacer la table imbriquée
par une autre solution.
REFERENCING
Problème 5238 : PostgreSQL ne
NEW AS .. OLD AS .. prend pas en charge les clauses
REFERENCING (p. 323)
Modifiez les références aux
pseudo-lignes pour utiliser à
la place OLD et NEW.
referencingnames=PARENT
Problème 5317 : PostgreSQL ne prend
pas en charge la clause de référencement
PARENT (p. 323)
Utilisez une autre méthode
pour cette fonctionnalité.
état = non valide
Problème 5306 : Transformation à partir d'un
déclencheur non valide (p. 323)
Vérifiez que le déclencheur
d'origine ne comporte pas
d'erreurs et renouvelez la
conversion.
Version 1.0
306
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
UPDATING(column_name)
Problème 5556 : PostgreSQL ne
prend pas en charge les prédicats
conditionnels (p. 323)
Corrigez votre code et
essayez d'utiliser des
déclencheurs simples.
TRUNCATE TABLE
Elément
Problème
Résolution
DROP STORAGE
Problème 5298 : PostgreSQL ne prend pas
en charge la clause DROP STORAGE dans
l'instruction TRUNCATE (p. 323)
Utilisez TRUNCATE sans
cette option.
PRESERVE
MATERIALIZED
VIEW LOG
Problème 5300 : PostgreSQL ne prend
pas en charge la clause PRESERVE dans
l'instruction TRUNCATE (p. 323)
Utilisez TRUNCATE sans
cette option.
PURGE
MATERIALIZED
VIEW LOG
Problème 5301 : PostgreSQL ne prend
pas en charge la clause PURGE dans
l'instruction TRUNCATE (p. 323)
Utilisez TRUNCATE sans
cette option.
REUSE STORAGE
Problème 5299 : PostgreSQL ne prend pas
en charge la clause REUSE STORAGE dans
l'instruction TRUNCATE (p. 323)
Utilisez TRUNCATE sans
cette option.
Elément
Problème
Résolution
ETAT = NON
VALIDE
Problème 5577 : PostgreSQL ne prend pas
en charge UDT avec corps (p. 324)
Procédez à une conversion
manuelle.
UDT
Arguments de type collection UDT
Elément
Problème
Résolution
:= collection_type(...)
Problème 5120 : PostgreSQL ne prend
pas en charge les constructeurs du type
« collection » (p. 324)
Utilisez le type de
« tableau ».
EXTEND(n[,i])
Problème 5587 : PostgreSQL ne prend pas
en charge la méthode EXTEND avec des
paramètres (p. 324)
Procédez à une conversion
manuelle.
FORALL
Problème 5121 : PostgreSQL ne prend pas
en charge l'instruction FORALL (p. 324)
Utilisez une instruction FOR
LOOP.
TYPE .. IS TABLE
OF...
Problème 5118 : PostgreSQL ne prend
pas en charge les variables de type de
tableau (p. 324)
Utilisez le type de
« tableau ».
Version 1.0
307
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Universal
Elément
Problème
Résolution
Elément d'action
universel
Problème 5339 : L'objet %s n'est pas
valide (p. 324)
Pour corriger cela, mettez à
jour le code source d'origine
pour que l'objet spécifié soit
valide.
Elément d'action
universel
Problème 5591 : Le synonyme %s est
système (p. 325)
Procédez à une conversion
manuelle.
Unknown (inconnu)
Elément
Problème
Résolution
Problème 5025 : Cette conversion d'élément
syntaxique n'est pas encore prise en
charge (p. 325)
Procédez à une conversion
manuelle.
Objet inconnu
Problème 5351 : La conversion
automatique d'objet %s n'est pas prise en
charge (p. 325)
Procédez à une conversion
manuelle.
SQL non analysé
Question 5576 : SQL non analysé (p. 325)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
ERROR LOG
Problème 5064 : PostgreSQL ne prend pas
en charge l'instruction UPDATE avec l'option
ERROR LOG (p. 325)
Vous pouvez ajouter des
enregistrements d'erreur en
les insérant dans le journal
du bloc d'exception. Itérez
les erreurs dans le bloc
d'exception, ajoutez-les
au journal, puis utilisez la
commande EXIT lorsque
vous avez terminé.
PARTITION
Problème 5558 : PostgreSQL ne prend pas
en charge l'instruction UPDATE pour une
PARTITION (p. 325)
Insérez des données
dans la partition susjacente ou procédez à une
transformation manuelle
à l'aide de l'instruction
UPDATE.
QUERY
Problème 5065 : PostgreSQL ne prend pas
en charge l'instruction UPDATE pour une
sous-requête (p. 325)
Effectuez plutôt cette
opération sur les tables sousjacentes.
UPDATE
Version 1.0
308
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
VIEW
Elément
Problème
Résolution
CAST (MULTISET(
Problème 5245 : PostgreSQL ne prend pas
en charge les vues contenant des colonnes
de table imbriquée (p. 326)
Corrigez votre code pour
remplacer la table imbriquée
par une autre solution.
contrainte
Problème 5583 : PostgreSQL ne prend
pas en charge les contraintes pour
view (p. 326)
Procédez à une conversion
manuelle.
OID_TEXT IS NOT
NULL
Problème 5321 : PostgreSQL ne prend pas
en charge l'objet view (p. 326)
Procédez à une conversion
manuelle.
Clause PIVOT
Problème 5077 : PostgreSQL ne prend pas
en charge la clause PIVOT pour l'instruction
SELECT (p. 326)
Vous pouvez utiliser une
procédure stockée pour
préparer les données, puis
retourner les données avec
VIEW.
ETAT = NON
VALIDE
Problème 5320 : PostgreSQL ne prend pas
en charge une vue associée à l'état non
valide (p. 326)
Procédez à une conversion
manuelle.
VIEW_TYPE_OWNER Problème 5322 : PostgreSQL ne prend pas
IS NOT NULL
en charge une vue typée (p. 326)
Procédez à une conversion
manuelle.
WITH READ ONLY
Utilisez VIEW sans cette
option, à la place.
Problème 5075 : PostgreSQL ne prend
pas en charge VIEW avec l'option READ
ONLY (p. 326)
Problèmes de conversion avec Build_in_services
Problème 5590 : La fonction a été convertie en tant que procédure
Impossible de retourner une réponse car cette fonctionnalité est asynchrone.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des fonctions intégrées SQL (BUILTIN SQL FUNCTIONS)
Problème 5584 : La fonction %s dépend du paramètre de fuseau horaire
Examinez le code transformé et définissez le fuseau horaire manuellement si nécessaire.
Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s
Vous avez du code SQL qui utilise une fonction Oracle que PostgreSQL ne prend pas en charge.
Réécrivez le code de façon à utiliser une autre fonction ou créez à la place une fonction définie par
l'utilisateur. Voici quelques-unes des fonctions qui ne sont pas prises en charge :
Version 1.0
309
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
• NANVL
• NLS_LOWER
• NLS_UPPER
• SYS_CONTEXT
Problème 5271 : Les fonctions GREATEST d'Oracle et de PostgreSQL ne
donnent pas nécessairement les mêmes résultats
Examinez votre code transformé et modifiez-le en changeant le type de l'argument, si nécessaire.
Problème 5272 : Les fonctions LEAST d'Oracle et de PostgreSQL ne donnent
pas nécessairement les mêmes résultats
Examinez votre code transformé et modifiez-le en changeant le type de l'argument, si nécessaire.
Problème 5579 : Le deuxième paramètre de la fonction %s peut être traité de
manière incorrecte
Examinez votre code transformé et modifiez-le, si nécessaire.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CREATE
Problème 5099 : Impossible de convertir l'objet en raison de la non création de
%s
Examinez l'objet %s.
Problème 5332 : L'objet contient des références sur l'objet présent dans le
schéma %s
Convertissez également l'objet présent dans le schéma %s.
Problème 5582 : Objets chiffrés
Déchiffrez l'objet avant la conversion.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
310
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problèmes de conversion de CREATE CONSTRAINT
Problème 5326 : PostgreSQL ne prend pas en charge les contraintes dont
l'état est DISABLED
PostgreSQL ne prend pas en charge la clause DISABLE au niveau des contraintes. Supprimez la
contrainte avant la conversion.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CREATE INDEX
Problème 5208 : PostgreSQL ne prend pas en charge les index de domaine
Corrigez votre code de façon à utiliser à la place un index simple.
Problème 5555 : PostgreSQL ne prend pas en charge les index fonctionnels
qui ne tiennent pas sur une seule colonne
Corrigez votre code de façon à utiliser à la place un index simple.
Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap
Corrigez votre code de façon à utiliser à la place un index simple.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec CREATE TABLE
Problème 5212 : PostgreSQL n'a pas un type de données BFILE
Stockez un fichier nommé avec les données et créez une routine qui obtient ce fichier du système de
fichiers ou stockez le blob de données dans votre base de données.
Problème 5201 : PostgreSQL ne prend pas en charge tous les types de
partition
Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge.
Problème 5199 : PostgreSQL ne prend pas en charge CLUSTERED TABLE
Essayez à la place d'utiliser une table avec des déclencheurs.
Problème 5200 : PostgreSQL ne prend pas en charge EXTERNAL TABLES
Essayez de déplacer les données de la source de données externe à une table de base de données
normale.
Version 1.0
311
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problème 5198 : PostgreSQL ne prend pas en charge GLOBAL TEMPORARY
TABLE
L'utilisation de mots clés LOCAL et GLOBAL est obsolète dans PostgreSQL. Modifiez votre code pour
créer une table temporaire sans utiliser ces mots clés.
Problème 5196 : PostgreSQL ne prend pas en charge OBJECT TABLE
Modifiez votre code pour supprimer les références aux tables qui sont basées sur un type OBJECT,
comme indiqué dans l'exemple suivant :
CREATE TYPE department_typ AS OBJECT
( d_name
VARCHAR2(100),
d_address VARCHAR2(200) );
/
CREATE TABLE departments_obj_t OF department_typ;
Problème 5581 : PostgreSQL ne prend pas en charge la table organisée en
index
Modifiez votre architecture avec une solution personnalisée pour le type de table. Une approche
classique est l'utilisation d'une table simple à la place dans PostgreSQL.
Problème 5348 : PostgreSQL ne prend pas en charge NESTED TABLES
Modifiez votre code pour éviter NESTED TABLE.
Problème 5550 : PostgreSQL n'a pas un type de données ROWID
Vérifiez votre code transformé et modifiez-le si nécessaire pour utiliser un autre type de données.
Problème 5554 : PostgreSQL ne prend pas en charge les colonnes virtuelles
Imitez la colonne virtuelle en utilisant un déclencheur à la place. Par exemple, vous pouvez modifier la
table Oracle suivante :
CREATE TABLE employees2 (
id
NUMBER,
first_name VARCHAR2(10),
last_name
VARCHAR2(10),
salary
NUMBER(9,2),
comm1
NUMBER(3),
comm2
NUMBER(3),
salary1
AS (ROUND(salary*(1+comm1/100),2)),
salary2
NUMBER GENERATED ALWAYS AS (ROUND(salary*(1+comm2/100),2))
VIRTUAL,
CONSTRAINT employees_pk PRIMARY KEY (id)
);
Pour les instructions PostgreSQL suivantes :
CREATE TABLE IF NOT EXISTS TEST_ORA_PG.employees2 (
id
DOUBLE PRECISION NOT NULL,
first_name character varying(10),
last_name
character varying(10),
salary
NUMERIC(9,2),
comm1
NUMERIC(3,0),
Version 1.0
312
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
comm2
salary1
salary2
NUMERIC(3,0),
DOUBLE PRECISION,
DOUBLE PRECISION
);
ALTER TABLE TEST_ORA_PG.EMPLOYEES2
ADD CONSTRAINT EMPLOYEES_PK PRIMARY KEY (ID);
CREATE OR REPLACE FUNCTION TEST_ORA_PG.f_trigger_vc$employees2 ()
RETURNS trigger
AS
$BODY$
BEGIN
new.salary1 := ROUND(new.salary*(1+new.comm1/100),2);
new.salary2 := ROUND(new.salary*(1+new.comm2/100),2);
return NEW;
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER trigger_vc$employees2
before insert or update on TEST_ORA_PG.employees2
for each row
EXECUTE PROCEDURE TEST_ORA_PG.f_trigger_vc$employees2();
Problème 5213 : PostgreSQL étend la prise en charge de secondes
fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une
précision jusqu'aux microsecondes (6 chiffres)
Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision.
Problème 5552 : PostgreSQL étend la prise en charge de secondes
fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une
précision jusqu'aux microsecondes (6 chiffres)
Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision.
Problème 5553 : PostgreSQL étend la prise en charge de secondes
fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une
précision jusqu'aux microsecondes (6 chiffres)
Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision.
Problème 5551 : PostgreSQL n'a pas un type de données UROWID
Vérifiez votre code transformé et modifiez-le si nécessaire pour utiliser un autre type de données.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
313
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problèmes de conversion de CREATE TYPE
Problème 5572 : PostgreSQL ne prend pas en charge les méthodes de type
objet
Modifiez votre architecture avec une solution personnalisée pour le type d'utilisateur.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CURSOR
Problème 5084 : PostgreSQL ne prend pas en charge l'attribut de curseur
%ISOPEN
Corrigez la façon dont vous utilisez cet attribut dans votre code.
Problème 5226 : PostgreSQL ne prend pas en charge TYPE... IS REF
CURSOR
PostgreSQL ne prend pas en charge l'instruction TYPE <nom_type> IS REF CURSOR. Remplacez la
fonction par une procédure stockée et essayez plutôt d'utiliser une table pour stocker les résultats.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des expressions Datetime
Problème 5594 : PostgreSQL ne prend pas en charge l'expression datetime
%s. La perte de précision et/ou d'exactitude des données est possible
PostgreSQL ne prend pas en charge les expressions datetime AT LOCAL ou AT TIME ZONE
<fuseau_horaire>. Examinez votre code et modifiez-le, si nécessaire.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
314
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problèmes de conversion de DELETE
Problème 5067 : PostgreSQL ne prend pas en charge l'instruction DELETE
avec l'option ERROR LOG
Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception.
Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT
lorsque vous avez terminé.
Problème 5098 : PostgreSQL ne prend pas en charge l'instruction DELETE
pour une PARTITION
Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de
l'instruction DELETE.
Problème 5068 : PostgreSQL ne prend pas en charge l'instruction DELETE
pour une sous-requête
Effectuez plutôt cette opération sur les tables sous-jacentes.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion du SQL dynamique (DYNAMIC SQL)
Problème 5088 : PostgreSQL ne prend pas en charge l'instruction EXECUTE
IMMEDIATE avec BULK COLLECT
Procédez à une conversion manuelle.
Problème 5334 : PostgreSQL ne prend pas en charge l'instruction SQL
dynamique
Examinez et modifiez la chaîne d'exécution.
Problème 5087 : PostgreSQL ne prend pas en charge la clause RETURNING
BULK COLLECT INTO
Procédez à une conversion manuelle.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
315
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problèmes de conversion avec EXCEPTION
Problème 5561 : PostgreSQL ne prend pas en charge l'exception
ACCESS_INTO_NULL
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5562 : PostgreSQL ne prend pas en charge l'exception
COLLECTION_IS_NULL
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5580 : Le bloc d'exception a été vidé après la conversion
Vérifiez le code converti et effectuez des corrections manuelles si nécessaire.
Problème 5570 : PostgreSQL ne prend pas en charge la déclaration de nom
d'exception
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5563 : PostgreSQL ne prend pas en charge l'exception
NO_DATA_NEEDED
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5560 : PostgreSQL ne prend pas en charge l'exception
PROGRAM_ERROR
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5564 : PostgreSQL ne prend pas en charge l'exception
ROWTYPE_MISMATCH
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5565 : PostgreSQL ne prend pas en charge l'exception
SELF_IS_NULL
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5566 : PostgreSQL ne prend pas en charge l'exception
SUBSCRIPT_BEYOND_COUNT
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5567 : PostgreSQL ne prend pas en charge l'exception
SUBSCRIPT_OUTSIDE_LIMIT
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Problème 5568 : PostgreSQL ne prend pas en charge l'exception
SYS_INVALID_ROWID
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Version 1.0
316
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec les CURSEURS EXPLICITES
Problème 5559 : PostgreSQL ne prends pas en charge le TYPE DE
RESULTAT pour le curseur
PostgreSQL ne prend pas en charge la spécification d'un type de résultats pour un curseur. Déclarez
le curseur sans cette instruction.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de FUNCTION
Problème 5350 : La fonction ne peut pas utiliser les instructions qui débutent
ou terminent explicitement ou implicitement une transaction, telles que START
TRANSACTION, COMMIT ou ROLLBACK
Corrigez votre code pour implémenter un contrôle de transaction côté application. Certains cas
qui utilisent SAVEPOINT <nom>... ROLLBACK TO <nom> peuvent être convertis en BEGIN …
EXCEPTION … END.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'INSERT
Problème 5070 : PostgreSQL ne prend pas en charge l'instruction INSERT
avec l'option ERROR LOG
Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception.
Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT
lorsque vous avez terminé.
Problème 5024 : PostgreSQL ne prend pas en charge l'instruction INSERT
avec partition_extension_clause
Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge.
Version 1.0
317
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problème 5071 : PostgreSQL ne prend pas en charge l'instruction INSERT
pour une sous-requête
Effectuez plutôt cette opération sur les tables sous-jacentes.
Problème 5090 : PostgreSQL ne prend pas en charge l'instruction INSERT
pour une SUBPARTITION
Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de
l'instruction INSERT.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec MATERIALIZED VIEW
Problème 5094 : PostgreSQL ne prend pas en charge VIEW matérialisée
Modifiez votre code pour remplacer l'instruction CREATE MATERIALIZED VIEW par une autre
solution.
Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW
matérialisée
Modifiez votre code pour remplacer la vue matérialisée par une autre solution.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec MERGE
Problème 5102 : PostgreSQL ne prend pas en charge l'instruction MERGE
Pour obtenir l'effet d'une instruction MERGE, utilisez les instructions INSERT, DELETE et UPDATE
distinctes.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec les indicateurs d'optimiseur
Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s
Utilisez les méthodes PostgreSQL d'optimisation des performances.
Version 1.0
318
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec PACKAGES
Problème 5330 : PostgreSQL ne prend pas en charge les curseurs globaux
Utilisez une autre méthode pour cette fonctionnalité.
Problème 5331 : PostgreSQL ne prend pas en charge une exception
d'utilisateur globale
Utilisez une autre méthode pour cette fonctionnalité.
Problème 5569 : PostgreSQL prend uniquement en charge les variables de
session en utilisant les types d'heure et de temps standard SQL
Si votre code utilise des variables d'autres types, tels que les tableaux associatifs, les curseurs, les
curseurs de référence ou les sous-types, vérifiez votre architecture avec une solution personnalisée
pour remplacer ce type.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'erreur d'analyse (Parser Error)
Problème 5293 : Impossible de résoudre l'objet
Vérifiez si l'objet <nom_objet> est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de
l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de PRAGMA
Problème 5571 : PostgreSQL ne prend pas en charge les options PRAGMA
Examinez l'exception utilisée et, si possible, convertissez-la en autre condition.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
Version 1.0
319
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SELECT
Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO
Incluez à la place tous les champs de votre table dans une clause INTO.
Problème 5139 : PostgreSQL ne prend pas en charge FOR UPDATE SKIP
LOCKED
Essayez d'utiliser FOR UPDATE sans SKIP LOCKED.
Problème 5144 : PostgreSQL ne prend pas en charge les clauses FOR
UPDATE WAIT
Essayez d'utiliser FOR UPDATE sans WAIT.
Problème 5586 : Conversion automatique des requêtes assorties de la clause
NOCYCLE non prise en charge
Procédez à une conversion manuelle.
Problème 5126 : PostgreSQL ne prend pas en charge l'instruction MODEL
Corrigez votre code. Essayez plutôt d'utiliser des procédures utilisateur et des tables temporaires.
Problème 5585 : Conversion automatique d'une jointure externe en requête de
corrélation non prise en charge
Procédez à une conversion manuelle.
Problème 5557 : PostgreSQL ne prend pas en charge les fonctions
GROUPING SETS, CUBE et ROLLUP
Ces fonctions peuvent être émulées en utilisant des expressions CTE à la place. Les fonctionnalités
GROUPING SETS, CUBE et ROLLUP sont disponibles dans PostgreSQL v.9.5 ou supérieur.
Problème 5578 : Impossible de transformer automatiquement l'instruction
SELECT
L'instruction SELECT indiquée contient un langage qui ne peut pas être converti, par exemple une
fonction non prise en charge. Essayez de réécrire l'instruction.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SEQUENCE
Problème 5574 : PostgreSQL ne prend pas en charge de l'état de la séquence
Vérifiez que la séquence d'origine ne comporte pas d'erreurs et renouvelez la conversion.
Version 1.0
320
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des instructions
Problème 5335 : PostgreSQL ne prend pas en charge l'opérateur GOTO
PostgreSQL ne prend pas en charge l'opérateur GOTO dans les procédures stockées. Essayez plutôt
l'une des autres solutions suivantes :
• définissez un indicateur et testez-le ;
• déterminez à partir des résultats de la procédure si des mises à jour doivent être apportées et
ajoutez-les après le retour des résultats ;
• placez les mises à jour dans une autre procédure stockée et appelez-la dans vos instructions IF.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec Synonym
Problème 5333 : Cet objet utilise un synonyme privé
Vérifiez qu'un objet référencé créé après la conversion de synonyme existe.
Problème 5592 : Cet objet utilise un synonyme public qui fait référence à une
table, à une vue ou à une fonction
Vérifiez qu'un objet référencé créé après la conversion de synonyme existe.
Problème 5593 : Cet objet utilise un synonyme public qui ne fait pas référence
à d'autres objets
Vérifiez qu'un objet référencé créé après la conversion de synonyme existe.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
321
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problèmes de conversion de packages système
Problème 5503 : MySQL ne comporte pas de fonction similaire au module %s
Essayez d'utiliser Amazon Simple Workflow (Amazon SWF). Pour plus d'informations, consultez la
section Présentation d'Amazon Simple Workflow Service dans le manuel du développeur Amazon
Simple Workflow Service.
Problème 5502 : MySQL ne comporte pas de fonction similaire au module %s
Essayez d'utiliser AWS Snowball. Pour plus d'informations, consultez la section Présentation
d'AWS Snowball
Problème 5501 : MySQL ne comporte pas de fonction similaire au module %s
Essayez d'utiliser le service AWS Lambda avec les événements planifiés. Pour plus d'informations,
consultez la section Présentation d'AWS Lambda
Problème 5500 : MySQL ne comporte pas de fonction similaire au module %s
Essayez d'utiliser Amazon Simple Queue Service (Amazon SQS). Pour plus d'informations, consultez
la section Présentation d'Amazon Simple Queue Service
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de TRIGGERS
Problème 5313 : PostgreSQL ne prend pas en charge la clause action-type
Utilisez une autre méthode pour cette fonctionnalité.
Problème 5415 : PostgreSQL ne prend pas en charge les déclencheurs
système
Corrigez votre code pour remplacer les déclencheurs système par une autre solution.
Problème 5311 : PostgreSQL ne prend pas en charge les déclencheurs
système
Corrigez votre code pour remplacer les déclencheurs système par une autre solution.
Problème 5242 : PostgreSQL ne prend pas en charge COMPOUND TRIGGER
Créez un déclencheur unique pour chaque composant du déclencheur composé.
Problème 5241 : PostgreSQL ne prend pas en charge la clause FOLLOWS |
PRECEDES
Essayez d'utiliser le déclencheur FOR EACH ROW.
Version 1.0
322
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problème 5240 : PostgreSQL ne prend pas en charge les déclencheurs dans
les colonnes de table imbriquée figurant dans les vues
Corrigez votre code pour remplacer la table imbriquée par une autre solution.
Problème 5238 : PostgreSQL ne prend pas en charge les clauses
REFERENCING
Modifiez les références aux pseudo-lignes pour utiliser à la place OLD et NEW.
Problème 5317 : PostgreSQL ne prend pas en charge la clause de
référencement PARENT
Utilisez une autre méthode pour cette fonctionnalité.
Problème 5306 : Transformation à partir d'un déclencheur non valide
Vérifiez que le déclencheur d'origine ne comporte pas d'erreurs et renouvelez la conversion.
Problème 5556 : PostgreSQL ne prend pas en charge les prédicats
conditionnels
Corrigez votre code et essayez plutôt d'utiliser des déclencheurs simples.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec TRUNCATE TABLE
Problème 5298 : PostgreSQL ne prend pas en charge la clause DROP
STORAGE dans l'instruction TRUNCATE
Utilisez l'instruction TRUNCATE TABLE sans cette option.
Problème 5300 : PostgreSQL ne prend pas en charge la clause PRESERVE
dans l'instruction TRUNCATE
Utilisez l'instruction TRUNCATE TABLE sans cette option.
Problème 5301 : PostgreSQL ne prend pas en charge la clause PURGE dans
l'instruction TRUNCATE
Utilisez l'instruction TRUNCATE TABLE sans cette option.
Problème 5299 : PostgreSQL ne prend pas en charge la clause REUSE
STORAGE dans l'instruction TRUNCATE
Utilisez l'instruction TRUNCATE TABLE sans cette option.
Version 1.0
323
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de UDT
Problème 5577 : PostgreSQL ne prend pas en charge UDT avec corps
Procédez à une conversion manuelle.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec des arguments de type de
collection UDT
Problème 5120 : PostgreSQL ne prend pas en charge les constructeurs du
type « collection »
Utilisez à la place le type « tableau ».
Problème 5587 : PostgreSQL ne prend pas en charge la méthode EXTEND
avec des paramètres
Procédez à une conversion manuelle.
Problème 5121 : PostgreSQL ne prend pas en charge l'instruction FORALL
Utilisez à la place une instruction FOR LOOP.
Problème 5118 : PostgreSQL ne prend pas en charge les variables de type de
tableau
Utilisez à la place le type « tableau ».
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec Universal
Problème 5339 : L'objet %s n'est pas valide
Vérifiez le code source d'origine pour assurer la validité de l'objet spécifié.
Version 1.0
324
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Problème 5591 : Le synonyme %s est système
Procédez à une conversion manuelle.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion inconnus (Unknown)
Problème 5025 : Cette conversion d'élément syntaxique n'est pas encore prise
en charge
Procédez à une conversion manuelle.
Problème 5351 : La conversion automatique d'objet %s n'est pas prise en
charge
Procédez à une conversion manuelle.
Question 5576 : SQL non analysé
Procédez à une conversion manuelle.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'UPDATE
Problème 5064 : PostgreSQL ne prend pas en charge l'instruction UPDATE
avec l'option ERROR LOG
Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception.
Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT
lorsque vous avez terminé.
Problème 5558 : PostgreSQL ne prend pas en charge l'instruction UPDATE
pour une PARTITION
Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide
de l'instruction UPDATE.
Problème 5065 : PostgreSQL ne prend pas en charge l'instruction UPDATE
pour une sous-requête
Effectuez plutôt cette opération sur les tables sous-jacentes.
Version 1.0
325
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de VIEW
Problème 5245 : PostgreSQL ne prend pas en charge les vues contenant des
colonnes de table imbriquée
Corrigez votre code pour remplacer la table imbriquée par une autre solution.
Problème 5583 : PostgreSQL ne prend pas en charge les contraintes pour
view
Procédez à une conversion manuelle.
Problème 5321 : PostgreSQL ne prend pas en charge l'objet view
Procédez à une conversion manuelle.
Problème 5077 : PostgreSQL ne prend pas en charge la clause PIVOT pour
l'instruction SELECT
Vous pouvez utiliser une procédure stockée pour préparer les données, puis retourner les données
avec une vue.
Problème 5320 : PostgreSQL ne prend pas en charge une vue associée à
l'état non valide
Procédez à une conversion manuelle.
Problème 5322 : PostgreSQL ne prend pas en charge une vue typée
Procédez à une conversion manuelle.
Problème 5075 : PostgreSQL ne prend pas en charge VIEW avec l'option
READ ONLY
Créez plutôt la vue sans cette option.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 297)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
Version 1.0
326
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge de PostgreSQL vers MySQL
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Conversion de schéma prise en charge de
PostgreSQL vers MySQL
Les sections suivantes dressent la liste des éléments de schéma d'une base de données PostgreSQL
et indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers MySQL à l'aide
d'AWS Schema Conversion Tool.
DDL
Instructions
Tables
Clause
Conversion Détails
automatique
ALTER TABLE
Oui
Colonnes incrémentées
automatiquement
Oui
Colonnes avec valeurs par Partielle
défaut
CREATE TABLE
Oui
Contraintes reportables
Partielle
DROP TABLE
Oui
Expression en tant que
valeur par défaut pour une
colonne
Partielle
Problème 6115 : MySQL ne prend pas en charge les
expressions dans les contraintes DEFAULT et elles
sont donc converties en un déclencheur BEFORE
INSERT (p. 373)
Problème 6111 : MySQL ne prend pas en charge les
contraintes reportables (p. 373)
Problème 6115 : MySQL ne prend pas en charge les
expressions dans les contraintes DEFAULT et elles
sont donc converties en un déclencheur BEFORE
INSERT (p. 373)
Problème 6117 : Impossible de conserver la
contrainte NOT NULL pour la colonne %s lors de la
conversion de sa contrainte DEFAULT basée sur une
expression (p. 374)
Clés étrangères
Partielle
Problème 6114 : MySQL ne prend pas en charge SET
DEFAULT comme une action référentielle dans les clés
étrangères (p. 373)
Colonnes non null
Partielle
Problème 6117 : Impossible de conserver la
contrainte NOT NULL pour la colonne %s lors de la
conversion de sa contrainte DEFAULT basée sur une
expression (p. 374)
Clés primaires
Oui
Version 1.0
327
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
Tables standard
Oui
Héritage de table
Non
Problème 6108 : MySQL ne prend pas en charge les
tables héritées (p. 375)
Tables avec contraintes
de vérification
Partielle
Problème 6113 : MySQL ne prend pas en charge les
contraintes de vérification ; la contrainte source est
convertie en une augmentation d'erreur conditionnelle
dans les déclencheurs (p. 373)
Tables avec contraintes
d'exclusion
Partielle
Problème 6112 : MySQL ne prend pas en charge les
contraintes d'exclusion (p. 373)
Tables sans colonnes
Non
Problème 6109 : MySQL ne prend pas en charge les
tables typées (p. 375)
Désactivation de
déclencheur
Non
Problème 6087 : MySQL ne prend pas en charge les
déclencheurs de désactivation (p. 375)
Tables typées
Non
Problème 6110 : MySQL ne prend pas en charge les
tables sans colonnes (p. 374)
Problème 6120 : MySQL ne prend pas en charge les
types de données définis par l'utilisateur (p. 378)
Clés uniques
Oui
Tables non journalisées
Non
Problème 6107 : MySQL ne prend pas en charge les
tables non journalisées (p. 375)
DML
Fonctions SQL intégrées
Agrégation
Clause
Conversion Détails
automatique
Tous
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
Caractère
Clause
Conversion Détails
automatique
Tous
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
Version 1.0
328
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Conversion
Clause
Conversion Détails
automatique
Tous
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
DateTime
Clause
Conversion Détails
automatique
Tous
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
Numérique
Clause
Conversion Détails
automatique
Tous
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
Autre
Clause
Conversion Détails
automatique
Tous
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
Fenêtrage
Clause
Conversion Détails
automatique
Toutes
Non
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
XML
Clause
Conversion Détails
automatique
Toutes
Non
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 359)
Version 1.0
329
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Jointures
TRUNCATE TABLE
Clause
Conversion Détails
automatique
[NATURAL ] [ INNER ]
JOIN
Oui
[NATURAL ] {LEFT |
RIGHT |FULL } [ OUTER ]
JOIN
Oui
CROSS JOIN
Oui
USING ( join_column
[, ...] )
Oui
Fonctions d'opérateurs et de date
Opérateurs de chaîne de bits
Clause
Conversion Détails
automatique
||,&,|,#,~,<<,>>,
Oui
Opérateurs Date/Heure
Clause
Conversion Détails
automatique
+,-,*,/
Partielle
Problème 6660 : Impossible de convertir l'opération %s
associée à la valeur d'intervalle en tant qu'un ou plusieurs
arguments (p. 368)
Problème 6661 : L'opération retourne le nombre de jours
et non la valeur d'intervalle (p. 368)
Opérateurs mathématiques
Clause
Conversion Détails
automatique
+,-,*,/,
Oui
%,^,|/,||/,!,!!,@,&,|,#,~,<<,>>,
Opérateurs de chaîne
Clause
Conversion Détails
automatique
||
Oui
Version 1.0
330
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Prédicats
Prédicat SIMILAR
Clause
Conversion Détails
automatique
SIMILAR
Non
Problème 6607 : N'a pas pu convertir le modèle
en version MySQL ; vérifier manuellement le
modèle (p. 369)
Conditions booléennes
Clause
Conversion Détails
automatique
Toutes
Oui
Condition de comparaison
Clause
Conversion Détails
automatique
'=, <>, <, <=, >, >=
Oui
ANY, SOME, ALL
Oui
Conditions Exists
Clause
Conversion Détails
automatique
EXISTS
Oui
Conditions In
Clause
Conversion Détails
automatique
IN
Oui
Conditions Null
Clause
Conversion Détails
automatique
NULL
Oui
Version 1.0
331
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Conditions de correspondance de modèles
Clause
Conversion Détails
automatique
Toutes
Oui
Conditions de plage
Clause
Conversion Détails
automatique
Toutes
Oui
Opérateurs d'ensembles
Opérateurs et fonctions de recherche de texte
Clause
Conversion Détails
automatique
EXCEPT
Oui
INTERSECT
Oui
UNION
Oui
Instructions
INSERT
Clause
Conversion Détails
automatique
INSERT INTO table
DEFAULT VALUES;
Oui
INSERT INTO table query; Oui
INSERT INTO table
VALUES() RETURNING *;
Non
Problème 6172 : MySQL ne prend pas en charge
l'instruction INSERT avec l'option RETURNING (p. 365)
INSERT INTO table
VALUES() RETURNING
{output_expression [ AS
output_name ] [, ...]};
Non
Problème 6172 : MySQL ne prend pas en charge
l'instruction INSERT avec l'option RETURNING (p. 365)
INSERT INTO table
VALUES();
Oui
INSERT INTO table
Oui
VALUES({ expression
| DEFAULT }
[, ...] ),VALUES({ expression
| DEFAULT } [, ...] ) [, ...];
Version 1.0
332
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
INSERT INTO table
VALUES({ expression |
DEFAULT } [, ...] );
Oui
INSERT INTO table(array)
VALUES({'{' '}[,..]'});
Oui
INSERT INTO
table[( column [, ...] )]
VALUES();
Oui
WITH RECURSIVE
with_query [, ...] UPDATE
table_name SET
{ column_name =
{ expression | DEFAULT }}
[, ...]
Non
WITH with_query [, ...]
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...]
Oui
Problème 6127 : MySQL ne prend pas en charge la
clause WITH RECURSIVE (p. 370)
SELECT
Clause
Conversion Détails
automatique
Opérateur d'addition ou de Oui
soustraction
EXCEPT [ALL]
Partielle
FROM [ONLY] tablename
[*]
Non
FROM { with_query_name
| function_name()}
Non
FROM {(subquery)
[ AS ] alias |
(VALUES({ expression |
DEFAULT } [, ...])) [ AS ]
alias }
Oui
FROM tablename [ [ AS ]
alias ]
Oui
GROUP BY
Oui
HAVING
Oui
INTERSECT [ALL]
Partielle
Problème 6612 : La requête assortie de l'opérateur
INTERSECT/EXCEPT ALL a été transformée (p. 366)
Problème 6603 : Impossible d'utiliser la fonction d'une
clause from (p. 364)
Problème 6612 : La requête assortie de l'opérateur
INTERSECT/EXCEPT ALL a été transformée (p. 366)
Version 1.0
333
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
LIMIT { count | ALL }
OFFSET start { ROW |
ROWS }
Partielle
Problème 6611 : L'option LIMIT/OFFSET a été
omise (p. 367)
OFFSET start { ROW |
ROWS } FETCH { FIRST
| NEXT } [ count ] { ROW |
ROWS } ONLY
Partielle
Problème 6611 : L'option LIMIT/OFFSET a été
omise (p. 367)
ORDER BY [ ASC |
DESC | USING operator ]
[ NULLS { FIRST |
LAST } ] [, ...]
Oui
SELECT {* | expression
[ [ AS ] output_name ]
[, ...]} FROM table
Oui
SELECT {expression
[ [ AS ] output_name ]
[, ...]}
Oui
SELECT ALL
Oui
SELECT DISTINCT
Oui
SELECT DISTINCT ON
Non
UNION [ALL]
Oui
WHERE (field_name1,
Oui
…,fieldnameN) IN
(subquery_with_multiple_fields)
WHERE
Oui
comparison_condition
(=;<>;!
=;<;>;>=;<=;ANY;SOME;ALL)
WHERE
Oui
compound_condition_with_or_and_not
WHERE field_name
BETWEEN arg1 AND
arg2
Oui
WHERE field_name IN
(const1,...,constN)
Oui
WHERE field_name IN
(subquery)
Oui
WHERE like_condition
(operator LIKE)
Oui
WITH RECURSIVE
with_query [, ...]
Non
Problème 6127 : MySQL ne prend pas en charge la
clause WITH RECURSIVE (p. 370)
Version 1.0
334
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
WITH with_query [, ...]
Oui
WINDOW DEFINITION
DELETE
Clause
Conversion Détails
automatique
DELETE FROM
table_name WHERE
CURRENT OF
cursor_name
Non
DELETE FROM
table_name FROM
from_list WHERE
condition
Oui
DELETE FROM
table_name RETURNING
{output_expression [ AS
output_name ] [, ...]}
Non
Problème 6069 : MySQL ne prend pas en
charge l'instruction DELETE avec l'option
RETURNING (p. 362)
DELETE FROM
table_name RETURNING
*
Non
Problème 6069 : MySQL ne prend pas en
charge l'instruction DELETE avec l'option
RETURNING (p. 362)
DELETE FROM
table_name WHERE
condition
Oui
DELETE FROM ONLY
table [ [ AS ] alias ]
Non
DELETE FROM table
[ [ AS ] alias ]
Oui
DELETE FROM table *
[ [ AS ] alias ]
Non
Problème 6672 : MySQL ne prend pas en charge la
suppression par curseur (p. 362)
Problème 6603 : Impossible d'utiliser la fonction d'une
clause from (p. 364)
SELECT
Clause
Conversion Détails
automatique
[ existing_window_name ]
[ PARTITION BY
expression [, ...] ]
[ ORDER BY expression
[ ASC | DESC | USING
operator ] [ NULLS
Non
Problème 6678 : MySQL ne prend pas en charge la
fonction %s avec la clause OVER/ORDER BY/WITHIN
GROUP/FILTER (p. 358)
Version 1.0
335
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion Détails
automatique
{ FIRST | LAST } ] [, ...] ]
[ frame_clause ]
UPDATE
Clause
Conversion Détails
automatique
UPDATE ONLY
table_name SET
{ column_name =
{ expression | DEFAULT }}
[, ...]
Non
UPDATE table_name *
SET { column_name =
{ expression | DEFAULT }}
[, ...]
Non
UPDATE table_name
[ [ AS ] alias ] SET
{ column_name =
{ expression | DEFAULT }}
[, ...]
Oui
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...]
Oui
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...] WHERE CURRENT
OF cursor_name
Non
Problème 6672 : MySQL ne prend pas en charge la
suppression par curseur (p. 362)
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...] FROM from_list
WHERE condition
Partielle
Problème 6669 : La clause FROM a été
réécrite (p. 379)
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...] RETURNING
{output_expression [ AS
output_name ] [, ...]}
Non
Problème 6066 : MySQL ne prend pas en
charge l'instruction UPDATE avec l'option
RETURNING (p. 379)
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...] RETURNING *
Non
Problème 6066 : MySQL ne prend pas en
charge l'instruction UPDATE avec l'option
RETURNING (p. 379)
UPDATE table_name
SET { column_name =
Oui
Version 1.0
336
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Clause
Conversion Détails
automatique
{ expression | DEFAULT }}
[, ...] WHERE condition
UPDATE table_name
SET {( column_name
[, ...] ) = ( { expression |
DEFAULT } [, ...] ) } [, ...]
Oui
UPDATE table_name SET
{( column_name [, ...] ) =
( query ) }
Oui
WITH RECURSIVE
with_query [, ...] UPDATE
table_name SET
{ column_name =
{ expression | DEFAULT }}
[, ...]
Non
WITH with_query [, ...]
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...]
Oui
Problème 6127 : MySQL ne prend pas en charge la
clause WITH RECURSIVE (p. 370)
PL/pgSQL
Instructions de base
Affectation
Clause
Conversion Détails
automatique
Affectation de variable
Partielle
Problème 6668 : MySQL ne prend pas en charge le type
ROW/RECORD (p. 370)
Exécution d'une commande sans aucun résultat
Clause
Conversion Détails
automatique
PERFORM
Oui
Exécution d'une requête avec une seule ligne de résultat
Clause
Conversion Détails
automatique
INTO
Non
Problème 6668 : MySQL ne prend pas en charge le type
ROW/RECORD (p. 370)
Version 1.0
337
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Exécution de commandes dynamiques
Clause
Conversion Détails
automatique
EXECUTE, INTO,
STRICT, USING
Non
Problème 6334 : MySQL ne prend pas en charge
l'instruction SQL dynamique RETURN QUERY
EXECUTE (p. 362)
Catégorie
Structure simple de PL/pgSQL
Clause
Conversion Détails
automatique
DECLARE, BEGIN, END
Oui
Conditions
IF-THEN
Clause
Conversion Détails
automatique
IF, THEN, END IF
Oui
IF-THEN-ELSE
Clause
Conversion Détails
automatique
IF, THEN, ELSE, END IF
Oui
IF-THEN-ELSIF
Clause
Conversion Détails
automatique
IF, THEN, ELSE, ELSIF,
END IF
Oui
CASE élaboré
Clause
Conversion Détails
automatique
CASE,WHEN, THEN,
ELSE, END CASE
Oui
Version 1.0
338
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
CASE simple
Clause
Conversion Détails
automatique
CASE,WHEN, THEN,
ELSE, END CASE
Oui
Curseurs
CLOSE
Clause
Conversion Détails
automatique
CLOSE
Oui
Déclaration de variables Cursor
Clause
Conversion Détails
automatique
NO, SCROLL, CURSOR,
FOR
Non
Problème 6337 : MySQL ne prend pas en charge une
variable de type REFCURSOR (p. 360)
FETCH
Clause
Conversion Détails
automatique
FETCH [ direction { FROM
| IN } ] cursor INTO target;
Partielle
Problème 6639 : MySQL ne prend pas en charge la
clause de direction (p. 360)
MOVE
Clause
Conversion Détails
automatique
MOVE [ direction { FROM
| IN } ] cursor;
Non
Problème 6640 : MySQL ne prend pas en charge l'option
MOVE. (p. 360)
OPEN FOR EXECUTE
Clause
Conversion Détails
automatique
OPEN, NO, SCROLL,
FOR, EXECUTE, USING
Non
Problème 6337 : MySQL ne prend pas en charge une
variable de type REFCURSOR (p. 360)
Version 1.0
339
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Requête OPEN FOR
Clause
Conversion Détails
automatique
OPEN, NO, SCROLL,
FOR
Non
Problème 6638 : MySQL ne prend en charge l'option
SCROLL dans les curseurs (p. 360)
Ouverture d'un curseur lié
Clause
Conversion Détails
automatique
OPEN bound_cursorvar
[ ( [ argument_name := ]
argument_value [, ...] ) ];
Oui
Déclarations
ALIAS
Clause
Conversion Détails
automatique
ALIAS FOR
Oui
Classement de variables PL/pgSQL
Clause
Conversion Détails
automatique
COLLATE
Non
Problème 6343 : MySQL ne prend pas en charge l'option
COLLATE ; la conversion automatique ne peut pas être
effectuée (p. 371)
Copie de types
Clause
Conversion Détails
automatique
%TYPE, %ROWTYPE
Oui
Déclaration de paramètres de fonction
Clause
Conversion Détails
automatique
Déclaration de paramètres
de fonction
Oui
Version 1.0
340
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Types d'enregistrement
Clause
Conversion Détails
automatique
Types d'enregistrement
Oui
Problème 6613 : Impossible de convertir une
fonction sans paramètres OUT retournant un type
RECORD (p. 364)
Déclaration de variable
Clause
Conversion Détails
automatique
Déclaration de variable
Oui
Erreurs et messages
CLOSE
Clause
Conversion Détails
automatique
RAISE ;
Non
Problème 6329 : MySQL ne prend pas en charge
l'exception RAISE (p. 363)
RAISE [ level ]
condition_name [ USING
option = expression
[, ... ] ];
Non
Problème 6329 : MySQL ne prend pas en charge
l'exception RAISE (p. 363)
RAISE [ level ] 'format' [,
expression [, ... ]] [ USING
option = expression
[, ... ] ];
Partielle
Problème 6332 : MySQL ne prend pas en
charge l'instruction RAISE pour les messages de
rapport (p. 367)
RAISE [ level ]
SQLSTATE
'sqlstate' [ USING option =
expression [, ... ] ];
Non
Problème 6329 : MySQL ne prend pas en charge
l'exception RAISE (p. 363)
RAISE [ level ] USING
option = expression [, ... ];
Partielle
Problème 6332 : MySQL ne prend pas en
charge l'instruction RAISE pour les messages de
rapport (p. 367)
Obtention de l'état de résultat
Clause
Conversion Détails
automatique
GET [ CURRENT ]
DIAGNOSTICS variable =
item [ , ... ];
Non
Problème 6665 : MySQL ne prend pas en charge la
commande GET [CURRENT] DIAGNOSTICS (p. 363)
Version 1.0
341
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Options
Clause
Conversion Détails
automatique
EXCEPTION WHEN
condition [ OR
condition ... ] THEN
handler_statements [..]
END;
Partielle
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
MESSAGE, DETAIL,
HINT, ERRCODE,
Non
Problème 6332 : MySQL ne prend pas en
charge l'instruction RAISE pour les messages de
rapport (p. 367)
Paramètres d'état de résultat
Clause
Conversion Détails
automatique
COLUMN_NAME
Oui
CONSTRAINT_NAME
Oui
MESSAGE_TEXT
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
PG_DATATYPE_NAME
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
PG_EXCEPTION_CONTEXTNon
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
PG_EXCEPTION_DETAIL
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
PG_EXCEPTION_HINT
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
RETURNED_SQLSTATE
Oui
SCHEMA_NAME
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
TABLE_NAME
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 363)
Boucles
CONTINUE
Clause
Conversion Détails
automatique
CONTINUE, WHEN
Oui
Version 1.0
342
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
EXIT
Clause
Conversion Détails
automatique
EXIT, WHEN
Oui
FOR (Integer Variant)
Clause
Conversion Détails
automatique
FOR, IN, LOOP, END
LOOP, REVERSE, BY
Oui
LOOP
Clause
Conversion Détails
automatique
LOOP, END LOOP
Oui
Boucle dans les tableaux
Clause
Conversion Détails
automatique
FOREACH, IN, LOOP,
END LOOP, SLICE, IN
ARRAY
Non
Problème 6608 : MySQL ne prend pas en charge les
tableaux (p. 359)
Boucle dans les résultats de requête
Clause
Conversion Détails
automatique
FOR, IN, LOOP, END
LOOP, EXECUTE, USING
Oui
WHILE
Clause
Conversion Détails
automatique
WHILE, LOOP, END
LOOP
Oui
Version 1.0
343
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Instruction RETURN
Commande NULL;
Clause
Conversion Détails
automatique
RETURN
Oui
RETURN NEXT
Non
RETURN QUERY
Oui
RETURN QUERY
EXECUTE
Non
Problème 6604 : MySQL ne prend pas en charge la
clause RETURN NEXT (p. 364)
Problème 6334 : MySQL ne prend pas en charge
l'instruction SQL dynamique RETURN QUERY
EXECUTE (p. 362)
Informations de référence sur la conversion de
PostgreSQL vers MySQL
FONCTION D'AGREGATION
Elément
Problème
Résolution
bit_and, bit_or
Problème 6680 : Vérifiez le fonctionnement
de la fonction avec des valeurs
null (p. 358)
Procédez à une conversion
manuelle.
OVER/ORDER BY/
WITHIN GROUP/
FILTER
Problème 6678 : MySQL ne prend pas
en charge la fonction %s avec la clause
OVER/ORDER BY/WITHIN GROUP/
FILTER (p. 358)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
ALTER
Problème 6676 : La conversion automatique
de l'instruction ALTER n'est pas prise en
charge (p. 358)
Procédez à une conversion
manuelle.
ALTER
Opérateurs arithmétiques
Elément
Problème
Résolution
Opérateurs
arithmétiques et type
string
Problème 6681 : Impossible d'effectuer
une migration automatique des opérations
arithmétiques avec les types string et
other (p. 359)
Convertissez les opérandes
dans le type attendu.
Version 1.0
344
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
ARRAY
Elément
Problème
Résolution
ARRAY
Problème 6608 : MySQL ne prend pas en
charge les tableaux (p. 359)
Procédez à une conversion
manuelle.
Fonction intégrée
Elément
Problème
Résolution
DateTime
Problème 6677 : MySQL ne prend pas en
charge le fuseau horaire (p. 359)
Procédez à une conversion
manuelle.
Fonctions SQL intégrées (BUILT-IN SQL FUNCTIONS)
Elément
Problème
Résolution
Fonctions SQL
intégrées (BUILT-IN
SQL FUNCTIONS)
Problème 6667 : MySQL ne prend pas en
charge la fonction %s (p. 359)
Créez une fonction définie
par l'utilisateur.
Elément
Problème
Résolution
CREATE
Problème 6094 : Impossible de convertir
l'objet en raison de la non création de
%s (p. 360)
Examinez l'objet %s.
Elément
Problème
Résolution
CURSOR avec
clause NEXT,
PRIOR, FIRST,
LAST, ABSOLUTE,
RELATIVE,
FORWARD ou
BACKWARD
Problème 6639 : MySQL ne prend pas en
charge la clause de direction (p. 360)
Procédez à une conversion
manuelle.
CURSOR avec
l'option MOVE
Problème 6640 : MySQL ne prend pas en
charge l'option MOVE. (p. 360)
Procédez à une conversion
manuelle.
CURSOR avec les
options SCROLL ou
NO SCROLL
Problème 6638 : MySQL ne prend en charge
l'option SCROLL dans les curseurs (p. 360)
Modifiez votre code pour
éliminer les curseurs avec
l'option SCROLL.
REFCURSOR
Problème 6337 : MySQL ne prend
pas en charge une variable de type
REFCURSOR (p. 360)
Essayez d'utiliser des tables
temporaires.
CREATE
CURSOR
Version 1.0
345
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Bases de données
Elément
Problème
Résolution
ALTER DATABASE
Problème 6101 : MySQL ne prend pas en
charge cette clause dans une instruction
ALTER DATABASE (p. 361)
Procédez à une conversion
manuelle.
CREATE
DATABASE, DROP
DATABASE
Problème 6100 : La migration de base
de données à base de données n'est pas
proposée (p. 361)
Utilisez le plan de migration
de schéma à base de
données.
TYPES DE DONNEES
Elément
Problème
Résolution
CAST( ... AS BIT
| BIT VARYING |
VARBIT | DECIMAL
| NUMERIC | REAL |
FLOAT4 | DOUBLE
PRECISION
| FLOAT8 |
CHARACTER
| CHAR |
CHARACTER
VARYING | TEXT |
TIME WITH TIME
ZONE | TIME(p)
WITH TIME ZONE
| TIMESTAMP
WITH TIME ZONE
| TIMESTAMP(p)
WITH TIME )
Problème 6673 : MySQL ne prend pas en
charge le type %s dans la fonction CAST, et
une perte de précision ou d'exactitude des
données est possible (p. 361)
Vérifiez si les données
enfreignent ces restrictions.
Si c'est le cas, effectuez une
migration manuelle.
CAST( ... AS BOX
| POINT | LINE |
LSEG | PATH |
POLYGON | CIRCLE
| TXID_SNAPSHOT)
Problème 6674 : MySQL ne prend pas
en charge le type %s dans la fonction
CAST (p. 361)
Vérifiez si les données
enfreignent ces restrictions.
Si c'est le cas, effectuez une
migration manuelle.
Elément
Problème
Résolution
RETURNING
Problème 6069 : MySQL ne prend pas en
charge l'instruction DELETE avec l'option
RETURNING (p. 362)
Pour effectuer cette
opération, divisez l'instruction
DELETE associée à la clause
RETURNING en instruction
DELETE avec les instructions
INSERT suivantes, et utilisez
les mêmes conditions de clé
dans chaque SELECT.
DELETE
Version 1.0
346
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
WHERE CURRENT
OF
Problème 6672 : MySQL ne prend pas en
charge la suppression par curseur (p. 362)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
CREATE DOMAIN,
ALTER DOMAIN,
DROP DOMAIN
Problème 6050 : MySQL ne prend pas en
charge les domaines (p. 362)
Procédez à une conversion
manuelle.
Domaines
SQL Dynamique (DYNAMIC SQL)
Elément
Problème
Résolution
RETURN QUERY
EXECUTE
Problème 6334 : MySQL ne prend pas
en charge l'instruction SQL dynamique
RETURN QUERY EXECUTE (p. 362)
Examinez et modifiez la
chaîne d'exécution.
Gestion des erreurs
Elément
Problème
Résolution
GET [CURRENT]
DIAGNOSTICS ...
PG_ CONTEXT
Problème 6665 : MySQL ne prend pas en
charge la commande GET [CURRENT]
DIAGNOSTICS (p. 363)
Procédez à une conversion
manuelle.
GET STACKED
Problème 6664 : MySQL ne prend pas
DIAGNOSTICS
en charge les informations de condition
PG_DATATYPE_NAME|%s (p. 363)
TABLE_NAME|
SCHEMA_NAME|
PG_EXCEPTION_DETAIL|
PG_EXCEPTION_HINT|
PG_EXCEPTION_CONTEXT
Procédez à une conversion
manuelle.
RAISE [exception]
Examinez l'exception RAISE
utilisée et, si possible,
convertissez-la en exception
à l'aide de l'instruction
SIGNAL ou RESIGNAL.
Problème 6329 : MySQL ne prend pas en
charge l'exception RAISE (p. 363)
Version 1.0
347
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
EXCEPTIONS
Elément
Problème
Résolution
EXCEPTIONS
Problème 6342 : MySQL ne prend pas en
charge le nom de condition %s (p. 363)
Examinez l'exception utilisée
et, si possible, convertissezla en exception à l'aide de
l'instruction SIGNAL ou
RESIGNAL.
Elément
Problème
Résolution
FROM
Problème 6603 : Impossible d'utiliser la
fonction d'une clause from (p. 364)
Procédez à une conversion
manuelle.
QUERY
Problème 6682 : Impossible d'utiliser
la fonction table-value dans la clause
from (p. 364)
MySQL ne prend pas en
charge la fonction tablevalue.
Elément
Problème
Résolution
langage
Problème 6675 : La fonction de conversion
automatique sur la langue %s n'est pas prise
en charge (p. 364)
Procédez à une conversion
manuelle.
RECORD
Problème 6613 : Impossible de convertir une
fonction sans paramètres OUT retournant un
type RECORD (p. 364)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
RETURN NEXT
Problème 6604 : MySQL ne prend pas en
charge la clause RETURN NEXT (p. 364)
Procédez à une conversion
manuelle.
VARIADIC
Problème 6605 : MySQL ne prend pas
en charge le mode VARIADIC d'un
argument (p. 364)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
CREATE INDEX :
méthodes GiST,
SPGiST, Gin
Problème 6091 : MySQL ne prend pas en
charge la méthode d'index %s (p. 365)
Procédez à une conversion
manuelle.
FROM
FONCTION
Fonctions
Index
Version 1.0
348
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
Index basés sur des
expressions
Problème 6090 : MySQL ne prend
pas en charge les index sur les
expressions (p. 365)
Procédez à une conversion
manuelle.
Index ordonnés
Problème 6092 : MySQL ne prend pas
en charge l'ordre de tri explicite dans la
définition d'index (p. 365)
Si l'ordre de tri par défaut
(croissant) de l'index risque
d'entraîner une dégradation
des performances, procédez
à une conversion manuelle
ou réécrivez les instructions
censées l'utiliser.
Index partiels
Problème 6093 : MySQL ne prend pas en
charge les index partiels (p. 365)
Si l'index complet risque
d'entraîner une dégradation
des performances, procédez
à une conversion manuelle.
Elément
Problème
Résolution
RETURNING
Problème 6172 : MySQL ne prend pas en
charge l'instruction INSERT avec l'option
RETURNING (p. 365)
Pour effectuer cette
opération, divisez l'instruction
INSERT associée à la clause
RETURNING en instruction
INSERT avec les instructions
SELECT suivantes, et utilisez
les mêmes conditions de
clé dans chaque SELECT.
Vous pouvez également
utiliser la dernière valeur
générée par la colonne
AUTO_INCREMENT dans la
condition de clé.
INSERT
INTERSECT, EXCEPT
Elément
Problème
Résolution
INTERSECT,
EXCEPT
Problème 6612 : La requête assortie de
l'opérateur INTERSECT/EXCEPT ALL a été
transformée (p. 366)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
LABEL
Problème 6344 : MySQL ne prend
pas en charge les variables avec
étiquettes (p. 366)
Essayez de réécrire les
variables sans utiliser
d'étiquettes (labels).
LABEL
Version 1.0
349
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
LIMIT
Elément
Problème
Résolution
LIMIT, OFFSET
Problème 6611 : L'option LIMIT/OFFSET a
été omise (p. 367)
Procédez à une conversion
manuelle.
Vues matérialisées
Elément
Problème
Résolution
CREATE
MATERIALIZED
VIEW
Problème 6130 : MySQL ne prend pas
en charge les vues matérialisées ; la vue
matérialisée source est convertie en une
table avec des déclencheurs (p. 367)
Si cette approche de
migration ne convient pas
pour une raison quelconque,
procédez à une conversion
manuelle.
Message des routines stockées
Elément
Problème
Résolution
RAISE DEBUG|
LOG|INFO|NOTICE|
WARNING
Problème 6332 : MySQL ne prend pas
en charge l'instruction RAISE pour les
messages de rapport (p. 367)
Essayez d'utiliser INSERT
dans la table de journal.
Pour ce faire, vous devez
ajouter du code dans
AWS_POSTGRESQL_EXT.RAISE_DEBUG,
AWS_POSTGRESQL_EXT.RAISE_LOG,
AWS_POSTGRESQL_EXT.RAISE_INFO,
AWS_POSTGRESQL_EXT.RAISE_NOTICE
et
AWS_POSTGRESQL_EXT.RAISE_WARNING.
Fonctions d'opérateurs et de date
Elément
Problème
Résolution
Opérateurs Date/
Heure
Problème 6660 : Impossible de convertir
l'opération %s associée à la valeur
d'intervalle en tant qu'un ou plusieurs
arguments (p. 368)
Procédez à une conversion
manuelle.
Opérateurs Date/
Heure
Problème 6661 : L'opération retourne
le nombre de jours et non la valeur
d'intervalle (p. 368)
Vérifiez si le type obtenu
correspond à vos besoins. Si
ce n'est pas le cas, procédez
à une conversion manuelle.
Opérateurs Date/
Heure
Problème 6662 : Format non pris en charge
pour la valeur d'intervalle (p. 368)
Actuellement, le seul format
pris en charge est un format
ANSI SQL pour les littéraux
de type interval. Procédez à
une conversion manuelle.
Version 1.0
350
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
ORDER BY
Elément
Problème
Résolution
NULLS FIRST|LAST
Problème 6610 : Une transformation nulls
first/last a été effectuée (p. 368)
Procédez à une conversion
manuelle.
USING
Problème 6609 : L'option ORDER a été
omise, car MySQL ne prend pas en charge
le mot clé USING dans la clause order
by (p. 369)
Procédez à une conversion
manuelle.
Parser Error (erreur d'analyse)
Elément
Problème
Résolution
Parser Error
Problème 6663 : Impossible de résoudre
l'objet (p. 369)
Vérifiez si l'objet %s est
présent dans la base de
données. S'il ne l'est pas,
vérifiez le nom de l'objet ou
ajoutez ce dernier. Si l'objet
est présent, transformez le
code manuellement.
Elément
Problème
Résolution
SIMILAR TO
Problème 6607 : N'a pas pu convertir
le modèle en version MySQL ; vérifier
manuellement le modèle (p. 369)
Procédez à une conversion
manuelle.
Modèles
Type ROW/RECORD
Elément
Problème
Résolution
ROW()
Problème 6606 : MySQL ne prend pas en
charge de fonction ROW() avec n'importe
quel, certains ou tous les prédicats (p. 370)
Procédez à une conversion
manuelle.
ROW/RECORD
Problème 6668 : MySQL ne prend pas en
charge le type ROW/RECORD (p. 370)
Procédez à une conversion
manuelle.
Problème
Résolution
Select
Elément
DISTINCT ON
Procédez à une conversion
manuelle.
ONLY | *
Procédez à une conversion
manuelle.
Version 1.0
351
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
DateTime
Problème 6679 : Valeur non fixe dans la
transaction de départ (p. 370)
Examinez votre code et,
si nécessaire, utilisez une
variable locale
Elément
Problème
Résolution
SELECT INTO
Problème 6666 : Une transformation
du mode non strict en clause a été
effectuée (p. 370)
Procédez à une conversion
manuelle.
SELECT INTO
SELECT, UPDATE, INSERT, DELETE
Elément
Problème
Résolution
WITH
Problème 6127 : MySQL ne prend
pas en charge la clause WITH
RECURSIVE (p. 370)
Utilisez une procédure
stockée pour préparer les
données ou réécrivez votre
requête pour éviter la clause
WITH.
Elément
Problème
Résolution
CREATE
SEQUENCE, ALTER
SEQUENCE, DROP
SEQUENCE
Problème 6060 : MySQL ne prend pas en
charge les séquences (p. 371)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
COLLATION
Problème 6343 : MySQL ne prend
pas en charge l'option COLLATE ; la
conversion automatique ne peut pas être
effectuée (p. 371)
Vous devez utiliser les
paramètres de classement
(COLLATION) qui ont été
affectés pendant la création
de la base de données.
Séquences
Fonctions SQL
Colonnes de table
Elément
Problème
Résolution
Types de données
d'application :
CIDR, INET,
Problème 6006 : MySQL ne prend pas en
charge le type %s (p. 371)
Vérifiez le type de données
cible et corrigez-le s'il ne
convient pas.
Version 1.0
352
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
ARRAY
Problème 6008 : MySQL ne prend pas en
charge les types de tableau pour la définition
de colonne du tableau (p. 371)
Procédez à une conversion
manuelle.
CIRCLE
Problème 6011 : MySQL ne prend pas
en charge CIRCLE en tant que type
spatial ; les résultats approximatifs de la
fonction BUFFER du type de données
POLYGON est utilisé pour effectuer une
conversion (p. 371)
Si la représentation
approximative ne convient
pas pour une raison
quelconque, procédez à une
conversion manuelle.
Types DECIMAL
Problème 6002 : MySQL ne prend
pas en charge %s avec une précision
de plus de 65 chiffres et une échelle
à plus de 30 chiffres ; la perte de
précision ou l'exactitude des données est
possible (p. 372)
Vérifiez si les données
enfreignent ces restrictions.
Si c'est le cas, effectuez une
migration manuelle.
INTERVAL
Problème 6005 : MySQL ne prend pas en
charge le type INTERVAL (p. 372)
Procédez à une conversion
manuelle.
LINE
Problème 6010 : MySQL ne prend pas en
charge les lignes infinies ; un LINESTRING
avec deux points sur la ligne est utilisé pour
la conversion (p. 372)
Si la représentation à deux
points ne convient pas pour
une raison quelconque,
procédez à une conversion
manuelle.
Types de plage
Problème 6009 : MySQL ne prend pas en
charge les types de plage (p. 372)
Procédez à une conversion
manuelle.
Types Serial :
BIGSERIAL /
SERIAL8 /
SERIAL / SERIAL4 /
SMALLSERIAL /
SERIAL2
Problème 6001 : Incapacité de
fournir une migration complète pour
l'incrémentation automatique des colonnes
du tableau (p. 372)
MySQL prend en charge
une seule colonne à
incrémentation automatique
par table et elle doit
correspondre à une clé.
Décidez si la colonne doit ou
non être une clé incrémentée
automatiquement. Si
c'est le cas, modifiez-la
manuellement.
TIME WITH TIME
ZONE
Problème 6003 : MySQL ne prend pas en
charge les informations de fuseau horaire
pour le type de %s (p. 372)
Procédez à une conversion
manuelle.
MACADDR, UUID,
XML, JSON, JSONB,
TSVECTOR,
TSQUERY
Version 1.0
353
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
Horodatages avec
fuseau horaire
Problème 6004 : MySQL ne prend pas en
charge les informations de fuseau horaire
pour le type de %s (p. 372)
Procédez à une conversion
manuelle. Si les informations
de fuseau horaire ne sont pas
renseignées, vous pouvez
choisir DATETIME(6) comme
type de données cible. Sinon,
essayez de convertir les
données en TIMESTAMP(6),
en tenant compte de la valeur
du paramètre de serveur
time_zone.
Colonnes de table, arguments de fonction, variables locales
Elément
Problème
Résolution
Chaînes de bits
Problème 6012 : Les chaînes de bits
converties sont remplies à droite de bits
de valeur zéro sur la longueur d'un octet
complet (p. 373)
Si la représentation
approximative ne convient
pas pour une raison
quelconque, procédez à une
conversion manuelle.
Elément
Problème
Résolution
Contraintes
Problème 6111 : MySQL ne prend pas en
charge les contraintes reportables (p. 373)
Vérifiez votre schéma
et assurez-vous que les
contraintes non reportables
peuvent offrir le niveau
d'intégrité nécessaire. Dans
le cas contraire, procédez à
une conversion manuelle au
niveau des contraintes.
Contraintes
Problème 6112 : MySQL ne prend pas en
charge les contraintes d'exclusion (p. 373)
Procédez à une conversion
manuelle de la contrainte
d'exclusion pour offrir le
même niveau d'intégrité des
données.
Contraintes
Problème 6113 : MySQL ne prend pas
en charge les contraintes de vérification ;
la contrainte source est convertie en une
augmentation d'erreur conditionnelle dans
les déclencheurs (p. 373)
Si l'approche concernant les
déclencheurs ne convient
pas, procédez à une
conversion manuelle de la
contrainte de vérification
pour offrir le même niveau
d'intégrité des données.
Tables
Version 1.0
354
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
Contraintes
Problème 6114 : MySQL ne prend
pas en charge SET DEFAULT comme
une action référentielle dans les clés
étrangères (p. 373)
Vérifiez que SET NULL
est une action référentielle
appropriée. Autrement,
procédez à une conversion
manuelle de la contrainte.
Contraintes
Problème 6115 : MySQL ne prend pas en
charge les expressions dans les contraintes
DEFAULT et elles sont donc converties en
un déclencheur BEFORE INSERT (p. 373)
Pour l'heure, les valeurs
NULL insérées explicitement
ne se distinguent pas de
celles spécialement omises
pour utiliser les valeurs
par défaut. De même, la
mise à jour des valeurs en
DEFAULT n'est pas prise en
charge à l'heure actuelle. Si
vous avez besoin de cette
fonctionnalité, procédez à
une conversion manuelle.
Contraintes
Problème 6117 : Impossible de conserver
la contrainte NOT NULL pour la
colonne %s lors de la conversion de
sa contrainte DEFAULT basée sur une
expression (p. 374)
En raison de la
transformation de la
contrainte DEFAULT basée
sur une expression en partie
de déclencheur, la contrainte
NOT NULL est convertie
en autre partie du même
déclencheur.
Tables sans
colonnes
Problème 6110 : MySQL ne prend pas en
charge les tables sans colonnes (p. 374)
Procédez à une conversion
manuelle.
Tables typées
Problème 6107 : MySQL ne prend pas en
charge les tables non journalisées (p. 375)
Si une table standard ne
convient pas, procédez à une
conversion manuelle.
Tables typées
Problème 6108 : MySQL ne prend pas en
charge les tables héritées (p. 375)
Procédez à une conversion
manuelle.
Tables typées
Problème 6109 : MySQL ne prend pas en
charge les tables typées (p. 375)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Déclencheurs
conditionnels
Problème 6083 : MySQL ne prend pas
en charge les déclencheurs conditionnels
qui interviennent sur les mises à jour de
colonnes particulières ; une conversion
ignorera une telle condition (p. 375)
Si un déclencheur obtenu
doit s'activer pour des
mises à jour qui concernent
uniquement la ou les
colonnes particulières,
procédez à une conversion
manuelle.
Déclencheurs
Version 1.0
355
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
Déclencheurs de
contrainte
Problème 6082 : MySQL ne prend
pas en charge les déclencheurs de
contrainte (p. 375)
Procédez à une conversion
manuelle.
Déclencheurs
désactivés
Problème 6087 : MySQL ne prend
pas en charge les déclencheurs de
désactivation (p. 375)
Procédez à une conversion
manuelle.
DROP TRIGGER
Problème 6086 : Impossible de transformer
automatiquement l'abandon d'un
déclencheur (p. 376)
Procédez à une conversion
manuelle.
Déclencheurs
Instead-of
Problème 6084 : MySQL ne prend pas
en charge les déclencheurs INSTEAD
OF (p. 376)
Procédez à une conversion
manuelle.
Plusieurs
déclencheurs sur un
même événement
Problème 6085 : MySQL ne prend pas en
Si le résultat d'une fusion
charge plusieurs déclencheurs sur le même
n'est pas approprié, procédez
événement ; les déclencheurs sont fusionnés à une conversion manuelle.
en un dans l'ordre alphabétique par nom de
déclencheur (p. 376)
Un déclencheur
sur plusieurs
événements
Problème 6081 : MySQL ne prend pas en
charge les déclencheurs intervenant sur
plusieurs événements ; un tel déclencheur
est converti en plusieurs déclencheurs
ponctuels avec le même corps (p. 377)
Si cette approche de
migration ne convient
pas pour le déclencheur,
procédez à une conversion
manuelle.
Déclencheurs
au niveau de
l'instruction
Problème 6080 : MySQL ne prend pas
en charge les déclencheurs au niveau de
l'instruction (p. 377)
Procédez à une conversion
manuelle.
Fonctions de
déclencheur
Problème 6650 : Impossible de
convertir l'instruction avec TG_ARGV
automatiquement (p. 377)
Procédez à une conversion
manuelle.
Fonctions de
déclencheur
Problème 6651 : Non prises en charge
en utilisant l'instruction RETURN dans
le déclencheur convertie en instruction
LEAVE (p. 378)
Vérifiez le flux d'exécution et
procédez à une conversion
manuelle si nécessaire.
Fonctions de
déclencheur
Problème 6652 : MySQL ne prend pas en
charge d'enregistrement OLD dans les
déclencheurs sur des enregistrements
INSERT ou NEW dans les déclencheurs sur
DELETE (p. 378)
Vérifiez si l'utilisation d'une
valeur NULL à la place d'un
champ de l'enregistrement
non pris en charge est
appropriée.
Déclencheur sur
un événement
TRUNCATE
Problème 6088 : MySQL ne prend pas en
charge l'événement TRUNCATE pour les
déclencheurs (p. 378)
Procédez à une conversion
manuelle.
Version 1.0
356
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
UDT
Elément
Problème
Résolution
CREATE TYPE,
Problème 6120 : MySQL ne prend pas en
ALTER TYPE, DROP charge les types de données définis par
TYPE
l'utilisateur (p. 378)
Procédez à une conversion
manuelle.
Unknown (inconnu)
Elément
Problème
Résolution
Unknown (inconnu)
Problème 6013 : Cette conversion d'élément
syntaxique n'est pas encore prise en
charge (p. 378)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
FROM
Problème 6669 : La clause FROM a été
réécrite (p. 379)
Procédez à une conversion
manuelle.
RETURNING
Problème 6066 : MySQL ne prend pas en
charge l'instruction UPDATE avec l'option
RETURNING (p. 379)
Pour effectuer cette
opération, divisez l'instruction
UPDATE associée à la
clause RETURNING en
instruction UPDATE avec
les instructions INSERT
dont les conditions de clé
spécifiées figurent dans la
partie SELECT.
WHERE CURRENT
OF
Problème 6670 : MySQL ne prend pas en
charge la mise à jour par curseur (p. 379)
Procédez à une conversion
manuelle.
UPDATE
Fonctions d'agrégation définies par l'utilisateur
Elément
Problème
Résolution
CREATE
AGGREGATE,
ALTER
AGREGGATE,
DROP AGREGGATE
Problème 6140 : Impossible de convertir
les instructions d'agrégation définies par
l'utilisateur (p. 380)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
QUERY
Problème 6076 : L'instruction SELECT ne
peut pas contenir de sous-requête dans la
clause FROM (p. 380)
Réécrivez la requête view
sans sous-requête ou créez
VIEW
Version 1.0
357
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elément
Problème
Résolution
une table auxiliaire pour la
sous-requête.
Vues
Elément
Problème
Résolution
Valeurs par défaut
des colonnes de la
vue
Problème 6072 : MySQL ne prend pas
en charge les valeurs par défaut pour les
colonnes de la vue (p. 380)
Si la même fonctionnalité est
nécessaire, procédez à une
conversion manuelle.
Vues sécurisées au
niveau des lignes
Problème 6071 : MySQL ne prend pas
en charge la sécurité au niveau des
lignes (p. 380)
Si la même fonctionnalité est
nécessaire, procédez à une
conversion manuelle.
Vues temporaires
Problème 6070 : MySQL ne prend pas en
charge les vues temporaires ou les vues sur
les tables temporaires (p. 380)
Procédez à une conversion
manuelle.
Problèmes de conversion d'AGGREGATE FUNCTION
Problème 6680 : Vérifiez le fonctionnement de la fonction avec des valeurs null
Procédez à une conversion manuelle.
Problème 6678 : MySQL ne prend pas en charge la fonction %s avec la clause
OVER/ORDER BY/WITHIN GROUP/FILTER
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'ALTER
Problème 6676 : La conversion automatique de l'instruction ALTER n'est pas
prise en charge
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
358
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion des opérateurs arithmétiques
Problème 6681 : Impossible d'effectuer une migration automatique des
opérations arithmétiques avec les types string et other
Les opérations arithmétiques qui utilisent un type string comme opérande ne peuvent pas être
converties automatiquement. Modifiez le code pour convertir les valeurs dans le type voulu.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'ARRAY
Problème 6608 : MySQL ne prend pas en charge les tableaux
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec fonction intégrée
Problème 6677 : MySQL ne prend pas en charge le fuseau horaire
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des fonctions SQL intégrées
Problème 6667 : MySQL ne prend pas en charge la fonction %s
Créez à la place une fonction définie par l'utilisateur.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
359
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion de CREATE
Problème 6094 : Impossible de convertir l'objet en raison de la non création de
%s
Examinez l'objet %s.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de CURSOR
Problème 6639 : MySQL ne prend pas en charge la clause de direction
MySQL ne prend pas en charge les clauses de direction suivantes lorsque vous utilisez FETCH avec
les curseurs :
• ABSOLUTE 2
• BACKWARD
• FIRST FROM
• FORWARD
• LAST FROM
• PRIOR FROM
• RELATIVE 2
• RELATIVE 3
Effectuez une conversion manuelle dans ces cas.
Problème 6640 : MySQL ne prend pas en charge l'option MOVE.
Modifiez votre code pour éliminer les curseurs avec l'option MOVE.
Problème 6638 : MySQL ne prend en charge l'option SCROLL dans les
curseurs
Modifiez votre code pour éliminer les curseurs avec l'option SCROLL.
Problème 6337 : MySQL ne prend pas en charge une variable de type
REFCURSOR
Essayez de corriger le code pour utiliser des tables temporaires à la place.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
360
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion de bases de données
Problème 6101 : MySQL ne prend pas en charge cette clause dans une
instruction ALTER DATABASE
Procédez à une conversion manuelle.
Problème 6100 : La migration de base de données à base de données n'est
pas proposée
Utilisez plutôt le plan de migration de schéma à base de données.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DATA TYPES
Problème 6673 : MySQL ne prend pas en charge le type %s dans la fonction
CAST, et une perte de précision ou d'exactitude des données est possible
Les instructions qui convertissent les valeurs dans l'un des types de données suivants sont converties
en instructions qui convertissent les valeurs en CHAR :
• BYTEA
• CIDR
• JSON
• int4range
Prenons pour exemple les instructions PostgreSQL suivantes.
select '1'::BYTEA
select CAST('1' AS BYTEA)
Elles sont toutes deux converties en instructions MySQL comme suit.
select CAST('1' AS CHAR)
Examinez le code converti et corrigez-le, si nécessaire.
Problème 6674 : MySQL ne prend pas en charge le type %s dans la fonction
CAST
Les instructions qui convertissent une valeur en type de données TXID_SNAPSHOT sont converties
en instructions qui convertissent une valeur en CHAR. Prenons pour exemple les instructions
PostgreSQL suivantes.
select '2628:2628:'::TXID_SNAPSHOT
select CAST('2628:2628:' AS TXID_SNAPSHOT)
Version 1.0
361
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Elles sont toutes deux converties en instructions MySQL comme suit :
select CAST('2628:2628:' AS CHAR)
Examinez le code converti et corrigez-le, si nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de DELETE
Problème 6069 : MySQL ne prend pas en charge l'instruction DELETE avec
l'option RETURNING
Pour convertir cette opération, changez l'instruction DELETE associée à la clause RETURNING en
une instruction DELETE avec les instructions INSERT suivantes, et utilisez les mêmes conditions de
clé dans chaque instruction INSERT.
Problème 6672 : MySQL ne prend pas en charge la suppression par curseur
MySQL ne prend pas en charge l'utilisation d'une instruction DELETE dans un curseur. Effectuez une
conversion manuelle dans le cas présent.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de domaines
Problème 6050 : MySQL ne prend pas en charge les domaines
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion du SQL dynamique
Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique
RETURN QUERY EXECUTE
Examinez et modifiez la chaîne d'exécution.
Version 1.0
362
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de la gestion des erreurs
Problème 6665 : MySQL ne prend pas en charge la commande GET
[CURRENT] DIAGNOSTICS
Procédez à une conversion manuelle.
Problème 6664 : MySQL ne prend pas en charge les informations de condition
%s
Certaines informations de condition utilisées par l'instruction GET STACKED DIAGNOSTICS dans
PostgreSQL ne sont pas prises en charge par MySQL. Tel est le cas des éléments suivants :
• PG_DATATYPE_NAME
• TABLE_NAME
• SCHEMA_NAME
• PG_EXCEPTION_DETAIL
• PG_EXCEPTION_HINT
• PG_EXCEPTION_CONTEXT
Convertissez manuellement le code partout où vous utilisez ces informations de condition.
Problème 6329 : MySQL ne prend pas en charge l'exception RAISE
Examinez l'exception RAISE utilisée et, si possible, convertissez-la en exception à l'aide de l'instruction
SIGNAL ou RESIGNAL.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des exceptions
Problème 6342 : MySQL ne prend pas en charge le nom de condition %s
Examinez l'exception utilisée et, si possible, convertissez-la en exception à l'aide de l'instruction
SIGNAL ou RESIGNAL.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
363
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion de FROM
Problème 6603 : Impossible d'utiliser la fonction d'une clause from
Le code qui effectue une sélection à partir d'une fonction, par exemple SELECT * FROM
function_name;, n'est pas converti. Effectuez une conversion manuelle dans le cas présent.
Problème 6682 : Impossible d'utiliser la fonction table-value dans la clause
from
MySQL ne prend pas en charge la fonction table-value. Effectuez une conversion manuelle dans le cas
présent.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de FUNCTION
Problème 6675 : La fonction de conversion automatique sur la langue %s n'est
pas prise en charge
Procédez à une conversion manuelle.
Problème 6613 : Impossible de convertir une fonction sans paramètres OUT
retournant un type RECORD
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des fonctions
Problème 6604 : MySQL ne prend pas en charge la clause RETURN NEXT
Procédez à une conversion manuelle.
Problème 6605 : MySQL ne prend pas en charge le mode VARIADIC d'un
argument
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
Version 1.0
364
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec index
Problème 6091 : MySQL ne prend pas en charge la méthode d'index %s
Le moteur InnoDB dans MySQL ne prend pas en charge les index HASH et ON table_name. Effectuez
une conversion manuelle dans ces cas.
Problème 6090 : MySQL ne prend pas en charge les index sur les expressions
Procédez à une conversion manuelle.
Problème 6092 : MySQL ne prend pas en charge l'ordre de tri explicite dans la
définition d'index
Les index qui utilisent l'ordre de tri explicite sont convertis pour utiliser l'ordre de tri par défaut
(croissant) à la place. Si cette conversion entraîne la dégradation des performances, modifiez le code
converti comme nécessaire.
Problème 6093 : MySQL ne prend pas en charge les index partiels
Les index partiels sont convertis à la place en index complet. Prenons pour exemple l'instruction
PostgreSQL suivante.
CREATE INDEX i_indexed_partial
ON test_pg_mysql.indexed_partial USING btree
( n )
WHERE ( n < 100 );
L'instruction précédente est convertie en instruction MySQL suivante :
CREATE INDEX i_indexed_partial
USING BTREE ON test_pg_mysql.indexed_partial
( n );
Si cette conversion entraîne la dégradation des performances, modifiez le code converti comme
nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'INSERT
Problème 6172 : MySQL ne prend pas en charge l'instruction INSERT avec
l'option RETURNING
Pour convertir cette opération, remplacez l'instruction INSERT associée à la clause RETURNING par
une instruction INSERT avec les instructions SELECT suivantes, et utilisez les mêmes conditions de
clé dans chaque SELECT. Vous pouvez également utiliser la dernière valeur générée par une colonne
AUTO_INCREMENT dans la condition de clé.
Version 1.0
365
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'INTERSECT, EXCEPT
Problème 6612 : La requête assortie de l'opérateur INTERSECT/EXCEPT ALL
a été transformée
Les options EXCEPT ALL et INTERSECT ALL de l'instruction SELECT ne pouvant pas être converties
directement, elles le sont dans d'autres options de langage qui doivent produire les mêmes résultats.
Prenons pour exemple les instructions PostgreSQL suivantes.
SELECT * FROM customers
except all
SELECT * FROM customers;
SELECT * FROM customers
intersect all
SELECT * FROM customers;
Les instructions précédentes sont converties en instructions MySQL, comme suit.
SELECT customers.id, customers.name, customers.surname, customers.postcode
FROM customers
where (customers.id, customers.name, customers.surname, customers.postcode)
not in (SELECT customers.id, customers.name, customers.surname,
customers.postcode FROM customers);
SELECT customers.id, customers.name, customers.surname, customers.postcode
FROM customers inner join (SELECT customers.id, customers.name,
customers.surname, customers.postcode FROM customers) nn
on (customers.id=nn.id or (customers.id is null and nn.id is null))
and customers.name=nn.name
and (customers.surname=nn.surname or (customers.surname is null and
nn.surname is null))
and (customers.postcode=nn.postcode or (customers.postcode is null and
nn.postcode is null));
Examinez le code converti et corrigez-le, si nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de LABEL
Problème 6344 : MySQL ne prend pas en charge les variables avec étiquettes
Essayez de réécrire les variables sans utiliser d'étiquettes (labels).
Version 1.0
366
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de LIMIT
Problème 6611 : L'option LIMIT/OFFSET a été omise
MySQL ne prend pas en charge l'utilisation des options LIMIT ou OFFSET avec l'instruction SELECT.
Ces options sont supprimées pendant la conversion. Prenons pour exemple l'instruction PostgreSQL
suivante.
SELECT * FROM customers c offset 3;
Cette instruction est convertie en instruction MySQL comme suit :
SELECT * FROM customers c;
Examinez le code converti et corrigez-le, si nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de vues matérialisées
Problème 6130 : MySQL ne prend pas en charge les vues matérialisées ; la
vue matérialisée source est convertie en une table avec des déclencheurs
Vérifiez le code converti pour vous assurer qu'il correspond à vos besoins et corrigez-le si nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec des messages de procédures
stockées
Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les
messages de rapport
Essayez d'utiliser INSERT pour écrire à la place un message dans une table de journal.
Pour ce faire, vous devez ajouter du code dans l'une des tables suivantes dans le schéma
AWS_POSTGRESQL_EXT (le schéma de travail temporaire utilisé pour PostgreSQL) :
Version 1.0
367
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
• RAISE_DEBUG
• RAISE_LOG
• RAISE_INFO
• RAISE_NOTICE
• RAISE_WARNING
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des opérateurs et des fonctions de
date
Problème 6660 : Impossible de convertir l'opération %s associée à la valeur
d'intervalle en tant qu'un ou plusieurs arguments
Certaines opérations associées à des arguments qui utilisent le type de données interval ne peuvent
pas être converties, par exemple SELECT INTERVAL '1-1' YEAR TO MONTH * 2;. Effectuez une
conversion manuelle dans le cas présent.
Problème 6661 : L'opération retourne le nombre de jours et non la valeur
d'intervalle
Après la conversion, certains calculs qui utilisent les types de données date ou time retournent le
nombre de jours et non une valeur d'intervalle comme auparavant, par exemple SELECT TIMESTAMP
'2012-01-01 09:30:15.01' - DATE '2010-01-01';. Vérifiez si le nouveau type de retour
répond à vos besoins et corrigez le code si nécessaire.
Problème 6662 : Format non pris en charge pour la valeur d'intervalle
A l'heure actuelle, le seul format pris en charge pour une valeur littérale affectée à un type de données
interval est le format ANSI SQL. Procédez à une conversion manuelle dans le cas d'un format non pris
en charge.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'ORDER BY
Problème 6610 : Une transformation nulls first/last a été effectuée
MySQL ne prend pas en charge les options NULLS FIRST ou NULLS LAST avec l'instruction SELECT.
Les instances de ce langage sont converties pour utiliser à la place la fonction isnull(). Prenons pour
exemple les instructions PostgreSQL suivantes.
Version 1.0
368
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
SELECT * FROM customers c order by id nulls last;
SELECT * FROM customers c order by id desc nulls first;
Ces instructions sont converties en instructions MySQL, comme suit.
SELECT * FROM customers c order by isnull(id), id;
SELECT * FROM customers c order by isnull(id) desc, id desc;
Examinez le code converti et corrigez-le, si nécessaire.
Problème 6609 : L'option ORDER a été omise, car MySQL ne prend pas en
charge le mot clé USING dans la clause order by
MySQL ne prend pas en charge la clause ORDER BY nom_champ USING, par exemple SELECT *
FROM customers c order by id using >;. Pendant la conversion, la clause ORDER BY est
supprimée. Examinez ce code et corrigez-le si nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'erreur d'analyse (Parser Error)
Problème 6663 : Impossible de résoudre l'objet
Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou
ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des modèles
Problème 6607 : N'a pas pu convertir le modèle en version MySQL ; vérifier
manuellement le modèle
MySQL ne prend pas en charge certaines syntaxes de correspondance de modèle, par exemple
SELECT * FROM customers where name similar to 'name';. Effectuez une conversion
manuelle dans le cas présent.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
369
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion avec le type ROW, RECORD
Problème 6606 : MySQL ne prend pas en charge de fonction ROW() avec
n'importe quel, certains ou tous les prédicats
MySQL ne prend pas en charge la fonction ROW() avec n'importe quel, certains ou tous les prédicats,
par exemple SELECT * FROM customers c where ROW(c.id, c.postcode) <= all
(select id, order_sum from orders where id = c.id);. Effectuez à la place une
conversion manuelle.
Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SELECT
Problème 6679 : Valeur non fixe dans la transaction de départ
Examinez votre code et corrigez-le de façon à utiliser une variable locale, si nécessaire.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SELECT INTO
Problème 6666 : Une transformation du mode non strict en clause a été
effectuée
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de SELECT, UPDATE, INSERT,
DELETE
Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE
Utilisez une procédure stockée pour préparer les données ou réécrivez votre requête pour éviter la
clause WITH RECURSIVE.
Version 1.0
370
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des séquences
Problème 6060 : MySQL ne prend pas en charge les séquences
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des fonctions SQL
Problème 6343 : MySQL ne prend pas en charge l'option COLLATE ; la
conversion automatique ne peut pas être effectuée
Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la
création de la base de données.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec les colonnes du tableau
Problème 6006 : MySQL ne prend pas en charge le type %s
Vérifiez le type de données cibles et corrigez-le si nécessaire.
Problème 6008 : MySQL ne prend pas en charge les types de tableau pour la
définition de colonne du tableau
MySQL ne prend pas en charge l'utilisation d'un type de données de tableau pour une colonne du
tableau ou une variable de la fonction, donc ce code n'est pas automatiquement converti à partir de
PostgreSQL. Effectuez à la place une conversion manuelle.
Problème 6011 : MySQL ne prend pas en charge CIRCLE en tant que type
spatial ; les résultats approximatifs de la fonction BUFFER du type de données
POLYGON est utilisé pour effectuer une conversion
Vérifiez le code converti et révisez-le si la représentation approximative ne répond pas à vos besoins.
Version 1.0
371
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problème 6002 : MySQL ne prend pas en charge %s avec une précision de
plus de 65 chiffres et une échelle à plus de 30 chiffres ; la perte de précision
ou l'exactitude des données est possible
Vérifiez si vous convertissez les colonnes dont les types de données numériques enfreignent ces
restrictions. Si oui, effectuez à la place une migration manuelle.
Problème 6005 : MySQL ne prend pas en charge le type INTERVAL
Effectuez une conversion manuelle de n'importe quel code qui utilise ce type de données.
Problème 6010 : MySQL ne prend pas en charge les lignes infinies ; un
LINESTRING avec deux points sur la ligne est utilisé pour la conversion
N'importe quelle instance du type de données LINE est converti en un type de données LINESTRING.
Si la représentation à deux pointes n'est pas adaptée à vos besoins, modifiez ce code.
Problème 6009 : MySQL ne prend pas en charge les types de plage
MySQL ne prend pas en charge les types de données de plage comme LONGTEXT ou VARCHAR
(longueur). A la place, convertissez manuellement le code qui utilise ces types de données.
Problème 6001 : Incapacité de fournir une migration complète pour
l'incrémentation automatique des colonnes du tableau
Les types de données d'incrémentation automatique PostgreSQL SMALLSERIAL, SERIAL et
BIGSERIAL sont convertis en types de données MySQL SMALLINT, INT et BIGINT, respectivement.
Si vous souhaitez activer l'incrémentation automatique, MySQL prend en charge une seule colonne à
incrémentation automatique par tableau et il doit s'agir d'une clé. Sélectionnez une colonne appropriée
et mettez la à jour manuellement pour répondre à ces exigences.
Problème 6003 : MySQL ne prend pas en charge les informations de fuseau
horaire pour le type de %s
Procédez à une conversion manuelle.
Problème 6004 : MySQL ne prend pas en charge les informations de fuseau
horaire pour le type de %s
Effectuez à la place une conversion manuelle. Si les informations de fuseau horaire ne sont pas
importantes, vous pouvez choisir DATETIME(6) comme type de données cible. Sinon, essayez de
convertir les données en TIMESTAMP(6), en tenant compte de la valeur du paramètre de serveur
time_zone.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
372
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion des colonnes de table, des
arguments de fonction et des variables locales
Problème 6012 : Les chaînes de bits converties sont remplies à droite de bits
de valeur zéro sur la longueur d'un octet complet
Examinez le code converti et corrigez-le si la représentation approximative ne répond pas à vos
besoins.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec les tables
Problème 6111 : MySQL ne prend pas en charge les contraintes reportables
Vérifiez votre schéma et assurez-vous que les contraintes non reportables peuvent offrir le niveau
d'intégrité nécessaire. Dans le cas contraire, procédez à une conversion manuelle au niveau des
contraintes.
Problème 6112 : MySQL ne prend pas en charge les contraintes d'exclusion
Procédez à une conversion manuelle de la contrainte d'exclusion pour offrir le même niveau d'intégrité
des données.
Problème 6113 : MySQL ne prend pas en charge les contraintes de
vérification ; la contrainte source est convertie en une augmentation d'erreur
conditionnelle dans les déclencheurs
Avec MySQL, les contraintes de vérification sont analysées mais ignorées. Au lieu de cela, les
contraintes de vérification PostgreSQL sont converties en déclencheurs qui interviennent avant les
événements INSERT et UPDATE. Vérifiez ce code pour voir s'il répond à vos besoins et, si nécessaire,
procédez à une conversion manuelle de la contrainte de vérification pour fournir le niveau attendu
d'intégrité des données.
Problème 6114 : MySQL ne prend pas en charge SET DEFAULT comme une
action référentielle dans les clés étrangères
MySQL ne prend pas en charge l'utilisation de SET DEFAULT lorsque vous créez une clé étrangère.
Toutes les instructions SET DEFAULT sont converties aux instructions SET NULL. Examinez ce code
et modifiez-le si nécessaire.
Problème 6115 : MySQL ne prend pas en charge les expressions dans
les contraintes DEFAULT et elles sont donc converties en un déclencheur
BEFORE INSERT
MySQL ne prend pas en charge l'utilisation d'expressions comme valeurs par défaut lors de la création
d'une table et par conséquent, lors d'une conversion, un déclencheur BEFORE INSERT est créé pour
insérer à la place les valeurs par défaut. Les colonnes CHARACTER VARYING sont converties en
colonnes TEXT ou LONGTEXT (en fonction de la longueur de la colonne source), qui ne peuvent
pas avoir de valeurs par défaut dans MySQL. Par conséquent, toutes les valeurs par défaut dans
Version 1.0
373
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
ces colonnes sont traitées comme des expressions et sont également incluses dans le déclencheur
BEFORE INSERT.
Prenons pour exemple le code PostgreSQL suivant.
CREATE TABLE IF NOT EXISTS test_pg_mysql.constraint_default_expression
( n numeric( 10, 0 ) DEFAULT 12345+98765
, d date DEFAULT now()
, d2 date DEFAULT '2016-01-06'::date
, s character varying (10) DEFAULT 'A string'
);
Ce code est converti en code MySQL suivant.
CREATE TRIGGER constraint_default_expression_bir
BEFORE INSERT
ON test_pg_mysql.constraint_default_expression
FOR EACH ROW
BEGIN
default_values_expr: BEGIN
-- default value for n column
IF NEW.n IS NULL THEN
SET NEW.n = 123456 + 98765;
END IF;
-- default value for d column
IF NEW.d IS NULL THEN
SET NEW.d = now( 6 );
END IF;
-- default value for d2 column
IF NEW.d2 IS NULL THEN
SET NEW.d2 = CAST( '2016-01-06' AS DATE );
END IF;
-- default value for s column
IF NEW.s IS NULL THEN
SET NEW.s = 'A string';
END IF;
END default_values_expr;
END;
Problème 6117 : Impossible de conserver la contrainte NOT NULL pour la
colonne %s lors de la conversion de sa contrainte DEFAULT basée sur une
expression
MySQL ne prend pas en charge l'utilisation d'expressions comme valeurs par défaut lors de la création
d'une table et par conséquent, lors d'une conversion, un déclencheur BEFORE INSERT est créé pour
insérer à la place les valeurs par défaut. Pour en savoir plus, consultez Problème 6115 : MySQL ne
prend pas en charge les expressions dans les contraintes DEFAULT et elles sont donc converties en
un déclencheur BEFORE INSERT (p. 373).
Si une colonne qui a une valeur par défaut et est donc convertie de cette manière a aussi une
contrainte NOT NULL, la contrainte NOT NULL est convertie dans le cadre du même déclencheur
plutôt que de rester dans le cadre de l'instruction CREATE TABLE.
Problème 6110 : MySQL ne prend pas en charge les tables sans colonnes
MySQL ne prend pas en charge l'utilisation de l'instruction CREATE TABLE sans spécifier au moins
une colonne. Cette utilisation est quelque chose que vous pourriez lors de la création d'une table
basée sur un type défini par l'utilisateur, par exemple. Effectuez à la place une conversion manuelle.
Version 1.0
374
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problème 6107 : MySQL ne prend pas en charge les tables non journalisées
Les tables non journalisées dans PostgreSQL sont converties en tables régulières dans MySQL.
Vérifiez ce code pour voir s'il répond à vos besoins et corrigez-le si nécessaire.
Problème 6108 : MySQL ne prend pas en charge les tables héritées
Procédez à une conversion manuelle.
Problème 6109 : MySQL ne prend pas en charge les tables typées
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des déclencheurs
Problème 6083 : MySQL ne prend pas en charge les déclencheurs
conditionnels qui interviennent sur les mises à jour de colonnes particulières ;
une conversion ignorera une telle condition
MySQL ne prend pas en charge les déclencheurs conditionnels reposant sur la mise à jour d'une
colonne spécifique. Prenons pour exemple l'instruction suivante dans PostgreSQL.
CREATE TRIGGER triggering_cond_bur_of
BEFORE UPDATE OF n
Cette instruction est convertie en instruction suivante dans MySQL :
CREATE TRIGGER triggering_cond_bur
BEFORE UPDATE
Si vous avez besoin de cette fonctionnalité, procédez à la place à une conversion manuelle.
Problème 6082 : MySQL ne prend pas en charge les déclencheurs de
contrainte
MySQL ne prend pas en charge les déclencheurs de contrainte et par conséquent, toutes les
instructions CREATE CONSTRAINT TRIGGER sont converties en instructions CREATE TRIGGER.
Examinez ce code et modifiez-le si nécessaire.
Problème 6087 : MySQL ne prend pas en charge les déclencheurs de
désactivation
PostgreSQL permet aux utilisateurs de désactiver les déclencheurs de la table afin qu'ils
n'interviennent pas, puis réactivez-les ultérieurement. MySQL ne prend pas ceci en charge et vous
devez donc effectuer une conversion manuelle de ce code.
Version 1.0
375
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problème 6086 : Impossible de transformer automatiquement l'abandon d'un
déclencheur
Les instructions DROP TRIGGER ne sont pas automatiquement converties. Effectuez à la place une
conversion manuelle.
Problème 6084 : MySQL ne prend pas en charge les déclencheurs INSTEAD
OF
Procédez à une conversion manuelle.
Problème 6085 : MySQL ne prend pas en charge plusieurs déclencheurs sur
le même événement ; les déclencheurs sont fusionnés en un dans l'ordre
alphabétique par nom de déclencheur
Plusieurs déclencheurs sur un événement sont automatiquement fusionnés en un seul déclencheur,
avec leurs fonctionnalités insérées alphabétiquement dans le nouveau déclencheur par nom du
déclencheur. Vérifiez ce code déclencheur après la conversion et corrigez-le si nécessaire.
Prenons pour exemple le code PostgreSQL suivant.
CREATE TRIGGER triggering_multiple_inc
BEFORE INSERT
ON test_pg_mysql.triggering_multiple
FOR EACH ROW
EXECUTE PROCEDURE test_pg_mysql.fu_triggering_simple_inc();
CREATE TRIGGER triggering_multiple_inc_2
BEFORE INSERT
ON test_pg_mysql.triggering_multiple
FOR EACH ROW
EXECUTE PROCEDURE test_pg_mysql.fu_triggering_simple_inc();
Ce code est converti en code MySQL suivant.
CREATE TRIGGER triggering_multiple_bir
BEFORE INSERT
ON test_pg_mysql.triggering_multiple
FOR EACH ROW
BEGIN
tr1: BEGIN
-- triggering_multiple_inc
SET NEW.n = NEW.n + 1;
END tr1;
tr2: BEGIN
-- triggering_multiple_inc_2
SET NEW.n = NEW.n + 1;
END tr2;
END;
Version 1.0
376
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problème 6081 : MySQL ne prend pas en charge les déclencheurs intervenant
sur plusieurs événements ; un tel déclencheur est converti en plusieurs
déclencheurs ponctuels avec le même corps
PostgreSQL prend en charge la spécification de plusieurs événements avec l'instruction CREATE
TRIGGER, par exemple CREATE TRIGGER trigger_name BEFORE INSERT OU UPDATE. Toutefois,
MySQL prend uniquement en charge la spécification d'un événement, par exemple CREATE
TRIGGER trigger_name BEFORE UPDATE. Les déclencheurs PostgreSQL qui spécifient plusieurs
événements sont convertis en plusieurs déclencheurs avec le même corps de déclencheur, un
pour chaque événement spécifié. Vérifiez ce code déclencheur après la conversion et corrigez-le si
nécessaire.
Prenons pour exemple le code PostgreSQL suivant.
CREATE TRIGGER
triggering_simple_inc BEFORE INSERT
OR UPDATE
ON
test_pg_mysql.triggering_simple FOR EACH
ROW EXECUTE PROCEDURE
test_pg_mysql.fu_triggering_simple_inc();
Ce code est converti en code MySQL suivant :
CREATE TRIGGER triggering_simple_bir
BEFORE INSERT
ON test_pg_mysql.triggering_simple
FOR EACH ROW
BEGIN
tr1: BEGIN
SET NEW.n = NEW.n + 1;
END tr1;
END;
CREATE TRIGGER triggering_simple_bur
BEFORE UPDATE
ON test_pg_mysql.triggering_simple
FOR EACH ROW
BEGIN
tr1: BEGIN
SET NEW.n = NEW.n + 1;
END tr1;
END;
Problème 6080 : MySQL ne prend pas en charge les déclencheurs au niveau
de l'instruction
MySQL ne prend pas en charge la clause FOR EACH STATEMENT pour les instructions CREATE
TRIGGER. Convertissez manuellement ce code.
Problème 6650 : Impossible de convertir l'instruction avec TG_ARGV
automatiquement
Les instructions CREATE TRIGGER qui utilisent TG_ARGV pour fonctionner avec les arguments
déclencheur ne peuvent pas être converties. Effectuez à la place une conversion manuelle.
Version 1.0
377
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problème 6651 : Non prises en charge en utilisant l'instruction RETURN dans
le déclencheur convertie en instruction LEAVE
Vérifiez le flux d'exécution et procédez à une conversion manuelle si nécessaire.
Problème 6652 : MySQL ne prend pas en charge d'enregistrement OLD
dans les déclencheurs sur des enregistrements INSERT ou NEW dans les
déclencheurs sur DELETE
MySQL ne prend pas en charge la variable NEW dans les déclencheurs qui utilisent DELETE, et il ne
prend pas non plus en charge la variable OLD dans les déclencheurs qui utilisent INSERT. Dans ces
cas, la référence de variable est remplacée par NULL, par exemple, NEW.n > 0 is replaced by NULL
> 0. Vérifiez ce code pour voir si l'utilisation de NULL au lieu d'un champ de l'enregistrement non pris
en charge est approprié et corrigez-le si nécessaire.
Problème 6088 : MySQL ne prend pas en charge l'événement TRUNCATE
pour les déclencheurs
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des types définis par l'utilisateur
Problème 6120 : MySQL ne prend pas en charge les types de données définis
par l'utilisateur
Procédez à une conversion manuelle du code comportant des types définis par l'utilisateur. Cette
conversion doit inclure non seulement les références aux types définis par l'utilisateur, mais également
les instances éventuelles des instructions CREATE TYPE, ALTER TYPE, or DROP TYPE.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion inconnus (Unknown)
Problème 6013 : Cette conversion d'élément syntaxique n'est pas encore prise
en charge
Procédez à une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
Version 1.0
378
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion d'UPDATE
Problème 6669 : La clause FROM a été réécrite
La clause FROM dans les instructions UPDATE est réécrite pendant la conversion de PostgreSQL
vers MySQL. Prenons pour exemple l'instruction PostgreSQL suivante.
update test_pg_mysql.customers c set id = c.id +1, name = o.name,
postcode = o.order_sum from test_pg_mysql.orders o where o.id = c.id;
Cette instruction est convertie en instruction MySQL comme suit.
update customers c
set id = c.id +1,
name = (select name from orders where id = c.id),
postcode = (select order_sum from orders where id = c.id)
where c.id in (select id from orders);
Passez en revue ce code pour vous assurer qu'il produit les résultats que vous souhaitez.
Problème 6066 : MySQL ne prend pas en charge l'instruction UPDATE avec
l'option RETURNING
Pour effectuer cette opération, convertissez l'instruction UPDATE associée à la clause RETURNING
en instruction UPDATE avec les instructions INSERT dont les conditions de clé spécifiées figurent
dans la clause SELECT.
Problème 6670 : MySQL ne prend pas en charge la mise à jour par curseur
MySQL ne prend pas en charge la mise à jour d'une table à partir d'un curseur, comme illustré dans
l'exemple suivant.
DECLARE c1 CURSOR FOR SELECT id FROM test_pg_mysql.customers;
val numeric(14,0);
BEGIN
OPEN c1;
fetch c1 into val;
update test_pg_mysql.customers set name = 'nfhr' where current of c1;
CLOSE c1;
END
Effectuez à la place une conversion manuelle.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
379
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Problèmes de conversion de fonctions d'agrégation définies
par l'utilisateur
Problème 6140 : Impossible de convertir les instructions d'agrégation définies
par l'utilisateur
Convertissez manuellement des fonctions d'agrégation définies par l'utilisateur.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion de VIEW
Problème 6076 : L'instruction SELECT ne peut pas contenir de sous-requête
dans la clause FROM
Réécrivez la requête sur laquelle la vue est basée de sorte qu'elle n'utilise pas de sous-requête ou
créez une table auxiliaire pour la sous-requête.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion des vues
Problème 6072 : MySQL ne prend pas en charge les valeurs par défaut pour
les colonnes de la vue
MySQL ne prend pas en charge la spécification d'une valeur par défaut lorsque vous créez ou de
modifier une vue, comme illustré dans l'exemple suivant.
ALTER VIEW test_pg_mysql.v_default_values
ALTER n SET DEFAULT 10;
Si vous avez besoin de cette fonctionnalité, procédez à la place à une conversion manuelle.
Problème 6071 : MySQL ne prend pas en charge la sécurité au niveau des
lignes
Si la même fonctionnalité est nécessaire, procédez à la place à une conversion manuelle.
Problème 6070 : MySQL ne prend pas en charge les vues temporaires ou les
vues sur les tables temporaires
Effectuez à la place une conversion manuelle.
Version 1.0
380
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344)
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 130)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
• Mise en route avec AWS Schema Conversion Tool (p. 10)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
381
AWS Schema Conversion Tool Guide de l'utilisateur
Historique du document
Le tableau suivant répertorie les modifications importantes apportées à cette documentation depuis la
dernière publication du Guide de l'utilisateur AWS Schema Conversion Tool User Guide.
• Version : 1.0.502
• Dernière date de mise à jour de la documentation : 20 décembre 2016
Modification
Description
Date de modification
Intégration à AWS
DMS
Vous pouvez désormais utiliser AWS Schema
Conversion Tool pour créer des points de terminaison
et des tâches AWS DMS. Vous pouvez exécuter et
surveiller les tâches à partir d'AWS Schema Conversion
Tool. Pour plus d'informations, consultez Utilisation
d'AWS Database Migration Service avec AWS Schema
Conversion Tool (p. 108).
20 décembre 2016
Amazon Aurora
avec compatibilité
PostgreSQL en
tant que base de
données cible
AWS Schema Conversion Tool prend désormais en
charge Amazon Aurora avec compatibilité PostgreSQL
en tant que base de données cible. Pour plus
d'informations, consultez Conversion de schémas de
base de données pour Amazon RDS à l'aide d'AWS
Schema Conversion Tool (p. 66).
20 décembre 2016
Prise en charge
des profils
Vous pouvez désormais stocker plusieurs profils dans
AWS Schema Conversion Tool et basculer aisément
entre eux. Pour plus d'informations, consultez Stockage
de profils AWS dans AWS Schema Conversion
Tool (p. 123).
20 décembre 2016
Prise en charge
de Greenplum
Database et
Netezza
Vous pouvez désormais utiliser AWS Schema
Conversion Tool pour convertir les schémas d'entrepôt
de données de Greenplum Database et Netezza vers
Amazon Redshift. Pour plus d'informations, consultez
Conversion du schéma d'entrepôt de données en
Amazon Redshift en utilisant AWS Schema Conversion
Tool (p. 83).
17 novembre 2016
Optimisation de
Redshift
Vous pouvez maintenant utiliser AWS Schema
Conversion Tool pour optimiser les bases de données
Amazon Redshift. Pour plus d'informations, consultez
17 novembre 2016
Version 1.0
382
AWS Schema Conversion Tool Guide de l'utilisateur
Modification
Description
Date de modification
Optimisation d'Amazon Redshift à l'aide d'AWS Schema
Conversion Tool (p. 105).
Règles de
mappage
Avant de convertir votre schéma à l'aide d'AWS Schema
Conversion Tool, vous pouvez maintenant définir des
règles qui changent le type de données des colonnes,
déplacent des objets d'un schéma à un autre et
modifient les noms des objets. Pour plus d'informations,
consultez Création de règles de mappage dans AWS
Schema Conversion Tool (p. 68).
4 octobre 2016
Déplacer vers le
cloud
Vous pouvez maintenant utiliser AWS Schema
Conversion Tool pour copier votre schéma de base de
données sur site existant vers une instance de base de
données Amazon RDS qui exécute le même moteur.
Cette fonction vous permet d'analyser les économies de
coûts potentielles en cas de déplacement vers le cloud
et de changement de votre type de licence. Pour plus
d'informations, consultez Qu'est-ce qu'AWS Schema
Conversion Tool ? (p. 1) et Création et utilisation du
rapport d'évaluation dans AWS Schema Conversion
Tool (p. 74).
4 octobre 2016
Conversions
de schémas
d'entrepôt de
données
Vous pouvez désormais utiliser AWS Schema
Conversion Tool pour convertir les schémas d'entrepôt
de données d'Oracle et Teradata vers Amazon Redshift.
Pour plus d'informations, consultez Conversion du
schéma d'entrepôt de données en Amazon Redshift en
utilisant AWS Schema Conversion Tool (p. 83).
13 juillet 2016
Conversions
de code SQL
d'application
Vous pouvez désormais utiliser AWS Schema
Conversion Tool pour convertir le SQL dans le code
de votre application C++, C#, Java ou autre. Pour plus
d'informations, consultez Conversion d'Application SQL
en utilisant AWS Schema Conversion Tool (p. 116).
13 juillet 2016
Nouvelle fonction
AWS Schema Conversion Tool contient désormais un
kit d'extension et un Assistant qui facilitent l'installation,
la création et la configuration de fonctions AWS Lambda
et de bibliothèques Python pour fournir notamment des
fonctions de courrier électronique et de planification des
tâches. Pour plus d'informations, consultez Utilisation du
kit d'extension AWS Schema Conversion Tool (p. 111).
13 juillet 2016
Nouvelle fonction
Vous pouvez désormais utiliser le protocole SSL
(Secure Sockets Layer) pour vous connecter
à votre base de données source lorsque vous
utilisez AWS Schema Conversion Tool. Pour plus
d'informations, consultez Connexion à la base de
données source (p. 12).
19 mai 2016
Nouvelle fonction
Ajoute une prise en charge de MySQL et PostgreSQL
en tant que bases de données source pour les
conversions.
11 avril 2016
Version 1.0
383
AWS Schema Conversion Tool Guide de l'utilisateur
Modification
Description
Date de modification
Publication de
maintenance
Ajoute une prise en charge de la modification du code
SQL converti qui a été généré pour le moteur de base
de données cible. Ajoute des capacités de sélection
améliorées dans les arborescences de la base de
données source et de l'instance DB cible. Ajoute une
prise en charge de la connexion à une base de données
source Oracle en utilisant des noms TNS (Transparent
Network Substrate).
2 mars 2016
Publication de
maintenance
Ajoute une prise en charge de PostgreSQL en tant que
moteur de base de données cible. Ajoute la possibilité
de générer un schéma converti sous forme de scripts
et d'enregistrer les scripts dans des fichiers avant
d'appliquer le schéma à l'instance DB cible.
14 janvier 2016
Publication de
maintenance
Ajoute une fonctionnalité de projet hors connexion, la
possibilité de rechercher les nouvelles versions et la
gestion de la mémoire et des performances.
2 décembre 2015
Publication de
maintenance
Ajoute l'Assistant Create New Database Migration
Project. Ajoute la possibilité d'enregistrer le rapport
d'évaluation de migration de base de données sous
forme de fichier PDF.
19 octobre 2015
Version
préliminaire
Fournit le guide de l'utilisateur de la version préliminaire
d'AWS Schema Conversion Tool.
7 octobre 2015
Version 1.0
384