AWS Schema Conversion Tool

publicité
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
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
Fonctionnalités supplémentaires .................................................................................................... 2
La fenêtre de projet .................................................................................................................... 3
Commentaire ............................................................................................................................. 3
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 .................................................................................. 8
Rubriques connexes ................................................................................................................... 8
Mise en route .................................................................................................................................... 9
Avant de commencer .................................................................................................................. 9
Création d'un projet ................................................................................................................... 10
Connexion à la base de données source ...................................................................................... 11
Connexion à votre base de données cible .................................................................................... 11
Conversion d'un schéma ............................................................................................................ 12
Privilèges de base de données requis .......................................................................................... 13
Privilèges pour bases de données source ............................................................................. 13
Privilèges pour bases de données cible ............................................................................... 15
Rubriques connexes .......................................................................................................... 23
Mise en route de la conversion de schémas de base de données ..................................................... 24
Avant de commencer ........................................................................................................ 24
Conversion d'un schéma .................................................................................................... 24
Rapport d'évaluation de migration de base de données .......................................................... 25
Application du schéma converti à l'instance DB cible .............................................................. 26
Rubriques connexes .......................................................................................................... 26
Mise en route de la conversion de schémas d'entrepôt de données .................................................. 27
Avant de commencer ........................................................................................................ 27
Choix des règles et des stratégies d'optimisation ................................................................... 27
Collecte ou téléchargement des statistiques .......................................................................... 28
Conversion d'un schéma .................................................................................................... 28
Gestion et personnalisation des clés .................................................................................... 29
Rapport d'évaluation de migration de base de données .......................................................... 29
Application du schéma converti à la base de données cible ..................................................... 30
Rubriques connexes .......................................................................................................... 30
Connexion à la base de données source .............................................................................................. 31
Connexion à une base de données source Amazon Redshift ........................................................... 31
Rubriques connexes .......................................................................................................... 33
Connexion à une base de données source Greenplum ................................................................... 33
Rubriques connexes .......................................................................................................... 34
Connexion à une base de données source Microsoft SQL Server ..................................................... 34
Rubriques connexes .......................................................................................................... 35
Connexion à une base de données source MySQL ........................................................................ 35
Rubriques connexes .......................................................................................................... 37
Connexion à une base de données source Netezza ....................................................................... 37
Rubriques connexes .......................................................................................................... 38
Connexion à une base de données source Oracle ......................................................................... 38
Rubriques connexes .......................................................................................................... 40
Connexion à une base de données source d'entrepôt de données Oracle .......................................... 40
Rubriques connexes .......................................................................................................... 42
Connexion à une base de données source PostgreSQL .................................................................. 42
Version 1.0
iii
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes ..........................................................................................................
Connexion à une base de données source Teradata ......................................................................
Rubriques connexes ..........................................................................................................
Utilisation de bases de données .........................................................................................................
Conversion de schémas de base de données ...............................................................................
Création de règles de mappage ..........................................................................................
Conversion d'un schéma ....................................................................................................
Création et utilisation du rapport d'évaluation ........................................................................
Gestion des conversions manuelles .....................................................................................
Mise à jour et actualisation de votre schéma converti .............................................................
Enregistrement et application de votre schéma ......................................................................
Kit d'extension et services AWS pour bases de données ................................................................
Utilisation de services AWS pour émuler les fonctions de base de données ................................
Avant de commencer ........................................................................................................
Application du kit d'extension ..............................................................................................
Utilisation d'entrepôts de données .......................................................................................................
Conversion du schéma d'entrepôt de données ..............................................................................
Choix des règles et des stratégies d'optimisation ...................................................................
Collecte ou téléchargement des statistiques ..........................................................................
Création de règles de mappage ..........................................................................................
Conversion d'un schéma ....................................................................................................
Gestion et personnalisation des clés ....................................................................................
Création et utilisation du rapport d'évaluation ........................................................................
Gestion des conversions manuelles .....................................................................................
Mise à jour et actualisation de votre schéma converti .............................................................
Enregistrement et application de votre schéma ......................................................................
Kit d'extension et bibliothèques Python pour entrepôts de données ...................................................
Utilisation de services AWS pour télécharger des bibliothèques Python personnalisées ................
Avant de commencer ........................................................................................................
Application du kit d'extension ..............................................................................................
Rubriques connexes ..........................................................................................................
Utilisation des agents de migration de données .............................................................................
Installation des agents .......................................................................................................
Gestion des agents ...........................................................................................................
Sortie d'agent ...................................................................................................................
Etapes suivantes ..............................................................................................................
Bonnes pratiques et dépannage ..........................................................................................
Optimisation d'Amazon Redshift ..................................................................................................
Avant de commencer ........................................................................................................
Optimisation de la base de données Amazon Redshift ............................................................
Rubriques connexes ..........................................................................................................
Utilisation d'AWS DMS ......................................................................................................................
Avant de commencer ................................................................................................................
Informations d'identification .........................................................................................................
Création d'une tâche .................................................................................................................
Exécution et surveillance d'une tâche ..........................................................................................
Rubriques connexes ..................................................................................................................
Conversion d'Application SQL .............................................................................................................
Avant de commencer ................................................................................................................
Présentation de la conversion de code SQL d'application ................................................................
Création de projets de conversion d'applications ............................................................................
Analyse et conversion de votre code SQL ....................................................................................
Création et utilisation du rapport d'évaluation ................................................................................
Création d'un rapport d'évaluation d'application ......................................................................
Modification et enregistrement de votre code SQL converti ..............................................................
Stockage de profils AWS ...................................................................................................................
Stockage d'informations d'identification AWS .................................................................................
Version 1.0
iv
43
43
44
45
46
47
49
50
52
53
53
55
55
55
56
57
58
60
61
61
63
64
65
66
67
67
69
69
69
69
70
71
71
74
75
75
75
77
77
77
78
79
79
79
80
80
81
82
82
83
83
84
85
85
85
87
87
AWS Schema Conversion Tool Guide de l'utilisateur
Définition du profil par défaut pour un projet ................................................................................. 88
Rubriques connexes .................................................................................................................. 88
Bonnes pratiques .............................................................................................................................. 89
Options générales de gestion et de performances de mémoire ......................................................... 89
Configuration de mémoire supplémentaire .................................................................................... 89
Rubriques connexes .................................................................................................................. 90
Dépannage ...................................................................................................................................... 91
Je ne peux pas charger d'objets à partir d'une base de données source Oracle .................................. 91
Rubriques connexes .................................................................................................................. 92
Raccourcis clavier ............................................................................................................................. 93
Rubriques connexes .................................................................................................................. 93
Référence ........................................................................................................................................ 94
Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL .................................... 94
Instructions ...................................................................................................................... 95
Procédures ...................................................................................................................... 98
Contrôle de flux ................................................................................................................ 99
Fonctions ......................................................................................................................... 99
Opérateurs ..................................................................................................................... 107
Transactions ................................................................................................................... 109
Types de données .......................................................................................................... 110
Langage de définition de données (DDL) ............................................................................ 112
Curseurs ........................................................................................................................ 113
Rubriques connexes ........................................................................................................ 114
Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL ............................ 114
Langage de définition de données (DDL) ............................................................................ 115
Langage de manipulation de données (DML) ....................................................................... 117
Types de données .......................................................................................................... 122
Messagerie de base de données ....................................................................................... 124
Fonctions ....................................................................................................................... 125
Opérateurs ..................................................................................................................... 135
Autre ............................................................................................................................. 136
Service Broker ................................................................................................................ 137
SQL Server Agent ............................................................................................................ 139
Sauvegarde SQL Server ................................................................................................... 141
T-SQL ........................................................................................................................... 142
Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL .................................................................................................................... 143
Conversion de schéma prise en charge de MySQL vers PostgreSQL .............................................. 170
DDL .............................................................................................................................. 170
DML .............................................................................................................................. 171
Fonctions ....................................................................................................................... 175
Types de données .......................................................................................................... 183
Informations de référence sur la conversion de MySQL vers PostgreSQL. ................................ 187
Conversion de schéma prise en charge d'Oracle vers MySQL ........................................................ 200
Instructions ..................................................................................................................... 201
Procédures ..................................................................................................................... 206
Contrôle de flux .............................................................................................................. 206
Packages ....................................................................................................................... 206
Fonctions ....................................................................................................................... 207
Opérateurs ..................................................................................................................... 216
Types de données .......................................................................................................... 219
Langage de définition de données (DDL) ............................................................................ 222
Curseurs ........................................................................................................................ 226
Indicateurs ..................................................................................................................... 226
Exceptions ..................................................................................................................... 229
Rubriques connexes ........................................................................................................ 229
Conversion de schéma prise en charge d'Oracle vers PostgreSQL .................................................. 230
Version 1.0
v
AWS Schema Conversion Tool Guide de l'utilisateur
DDL ..............................................................................................................................
DML ..............................................................................................................................
PLSQL ...........................................................................................................................
Types de données ..........................................................................................................
Référence de conversion d'Oracle vers PostgreSQL .............................................................
Conversion de schéma prise en charge de PostgreSQL vers MySQL ..............................................
DDL ..............................................................................................................................
DML ..............................................................................................................................
PL/pgSQL ......................................................................................................................
Informations de référence sur la conversion de PostgreSQL vers MySQL .................................
Rubriques connexes ................................................................................................................
Historique du document ...................................................................................................................
Version 1.0
vi
230
233
253
258
260
289
290
291
300
307
342
343
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
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 commencer à utiliser AWS Schema Conversion Tool, et créer votre premier projet, consultez Mise en
route avec AWS Schema Conversion Tool (p. 9).
Pour commencer à convertir vos schémas, consultez Conversion de schémas de base de données pour
Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46) ou Conversion du schéma d'entrepôt de
données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58).
Fonctionnalités supplémentaires d'AWS Schema
Conversion Tool
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:
• Vous pouvez utiliser des agents de migration de données pour extraire des données de votre entrepôt
de données en vue de les préparer afin de les migrer vers Amazon Redshift. Pour gérer les agents de
migration de données, vous pouvez utiliser AWS Schema Conversion Tool. Pour plus d'informations,
consultez Utilisation des agents de migration de données (p. 71).
• 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 ces 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. 79).
• Dans certains cas, les fonctionnalités de base de données ne peuvent pas être converties en
fonctionnalités Amazon RDS ou Amazon Redshift équivalentes. L'assistant du kit d'extension
AWS Schema Conversion Tool peut vous aider à installer des fonctions AWS Lambda et des
bibliothèques Python pour émuler les fonctionnalités qui ne peuvent pas être converties. Pour plus
d'informations, consultez Kit d'extension AWS Schema Conversion Tool et services AWS pour bases
de données (p. 55) et Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour
entrepôts de données (p. 69).
• 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. 77).
Version 1.0
2
AWS Schema Conversion Tool Guide de l'utilisateur
La fenêtre de projet
• 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. 82).
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.
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 cible
sont affichées. Vous pouvez modifier cette commande SQL et enregistrer la commande mise à jour avec
votre projet.
Fournir des commentaires client
Vous pouvez fournir des commentaires sur AWS Schema Conversion Tool. Vous pouvez générer un
rapport de bogue, soumettre une demande de fonctionnalité ou fournir des informations générales.
Pour fournir des commentaires sur AWS Schema Conversion Tool
1.
Démarrer AWS Schema Conversion Tool.
2.
Ouvrez le menu Help, puis choisissez Leave Feedback. La boîte de dialogue Leave Feedback
s'affiche.
Version 1.0
3
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
3.
Dans Area, choisissez Information, Bug report ou Feature request.
4.
6.
7.
Dans Source database, choisissez votre base de données source. Choisissez Any si vos
commentaires ne concernent pas une base de données spécifique.
Dans Target database, choisissez votre base de données cible. Choisissez Any si vos commentaires
ne concernent pas une base de données spécifique.
Dans Title, tapez un titre pour vos commentaires.
Dans Message, tapez vos commentaires.
8.
Choisissez Send pour soumettre vos commentaires.
5.
Rubriques connexes
• Utilisation de bases de données (p. 45)
• Utilisation d'entrepôts de données (p. 57)
• Bonnes pratiques pour AWS Schema Conversion Tool (p. 89)
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 ci-dessous :
• 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.
3.
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
Microsoft Windows
AWS Schema Conversion Tool-1.0.build-number.msi
Mac OS X
AWS Schema Conversion Tool-1.0.build-number.dmg
Ubuntu Linux
aws-schema-conversion-tool-1.0.build-number.deb
Fedora Linux
aws-schema-conversion-tool-1.0.build-number.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.buildnumber.dmg.
Faites glisser AWS Schema Conversion Tool-1.0.build-number.dmg vers
le dossier Applications.
Ubuntu Linux
Exécutez la commande suivante dans le dossier où vous avez téléchargé
le fichier :
sudo dpkg -i aws-schema-conversion-tool-1.0.build-number.deb
Fedora Linux
Exécutez la commande suivante dans le dossier où vous avez téléchargé
le fichier :
sudo yum install aws-schema-conversion-tool-1.0.buildnumber.x86_64.rpm
4.
Installez les pilotes Java Database Connectivity (JDBC) pour vos moteurs de base de données source
et cible. Vous trouverez des instructions 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 Pilotes
de données
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/
Microsoft SQL
Server
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 Pilotes
de données
Emplacement de téléchargement
Netezza
http://www.ibm.com/support/knowledgecenter/
SSULQD_7.2.1/com.ibm.nz.datacon.doc/
c_datacon_plg_overview.html
nzjdbc.jar
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 cidessous.
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-java-X.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-java-X.X.X.tar.gz
PROMPT>
PROMPT>
PROMPT>
PROMPT>
cd /usr/local/jdbc-drivers
sudo mkdir oracle-jdbc
cd oracle-jdbc
sudo cp -a /tmp/ojdbc7.jar .
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
PostgreSQL
Commandes d'installation
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.
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. 9)
Version 1.0
8
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
Version 1.0
9
AWS Schema Conversion Tool Guide de l'utilisateur
Création d'un projet
Moteur de base de
données
Documentation
Amazon Redshift
Mise en route avec Amazon Redshift
Microsoft SQL Server
Création d'une instance de base de données exécutant le moteur de base
de données Microsoft SQL Server
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. 13).
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.
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.
Version 1.0
10
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à la base de données source
Pour ce paramètre
Procédez comme suit
Moteur DB cible
(OLTP) Choisissez Amazon Aurora (compatible MySQL),
Amazon Aurora (compatible PostgreSQL), Amazon RDS for
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. 31)
• Connexion à une base de données source Greenplum (p. 33)
• Connexion à une base de données source Microsoft SQL Server (p. 34)
• Connexion à une base de données source MySQL (p. 35)
• Connexion à une base de données source Netezza (p. 37)
• Connexion à une base de données source Oracle (p. 38)
• Connexion à une base de données source d'entrepôt de données Oracle (p. 40)
• Connexion à une base de données source PostgreSQL (p. 42)
• Connexion à une base de données source Teradata (p. 43)
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.
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
Version 1.0
11
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
Pour ce paramètre
Procédez comme suit
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
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.
4.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de
données cible.
5.
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. 24)
• Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion
Tool (p. 27)
Version 1.0
12
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>
Microsoft SQL
Server
• 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
13
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
14
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
Remarques
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
INSERT,UPDATE ON AWS_SQLSERVER_EXT.*
• ALTER ON *.*
• DROP ON *.*
• INDEX ON *.*
• REFERENCES
ON *.*
• SELECT ON *.*
• CREATE VIEW
ON *.*
• SHOW VIEW
ON *.*
S'il s'agit d'une base de données source Oracle,
accordez également le privilège INSERT,UPDATE ON
AWS_ORACLE_EXT.*
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
15
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
schéma n'existe
pas encore,
accordez le
privilège CREATE
ON DATABASE
Dans PostgreSQL, seul le propriétaire d'un schéma ou un
super utilisateur peut supprimer un schéma. Le 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 les objets
contenus.
<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
DATABASE
Dans Amazon Redshift, seul le propriétaire d'un schéma ou
un super utilisateur peut supprimer un schéma. Le propriétaire
<nom_base_de_données>
peut supprimer le schéma, ainsi que tous les objets qu'il
contient, même s'il n'est pas propriétaire de tous les objets
• USAGE ON
contenus.
LANGUAGE
plpythonu
• SELECT ON
ALL TABLES
IN SCHEMA
pg_catalog
Microsoft SQL
Server
• CREATE
SCHEMA
—
• CREATE TABLE
• CREATE VIEW
• CREATE TYPE
• CREATE
DEFAULT
• CREATE
FUNCTION
• CREATE
PROCEDURE
• CREATE
ASSEMBLY
• CREATE
AGGREGATE
• CREATE
FULLTEXT
CATALOG
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
MySQL
• CREATE ON *.*
S'il s'agit d'une base de données source
Microsoft SQL Server, accordez également le privilège
INSERT,UPDATE ON AWS_SQLSERVER_EXT.*
• ALTER ON *.*
• DROP ON *.*
• INDEX ON *.*
• REFERENCES
ON *.*
• SELECT ON *.*
• CREATE VIEW
ON *.*
• SHOW VIEW
ON *.*
S'il s'agit d'une base de données source Oracle,
accordez également le privilège INSERT,UPDATE ON
AWS_ORACLE_EXT.*
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
*.*
• SELECT ON
mysql.proc
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
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
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
• 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
• ALTER ANY
MINING MODEL
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 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
• CREATE ANY
TABLE
• CREATE USER
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
• 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
• ALTER
ANY CUBE
DIMENSION
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
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
schéma n'existe
pas encore,
accordez le
privilège CREATE
ON DATABASE
Dans PostgreSQL, seul le propriétaire d'un schéma ou un
super utilisateur peut supprimer un schéma. Le 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 les objets
contenus.
<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
22
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Rubriques connexes
• Mise en route avec AWS Schema Conversion Tool (p. 9)
Version 1.0
23
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. 27).
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. 9).
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.
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.
Version 1.0
24
AWS Schema Conversion Tool Guide de l'utilisateur
Rapport d'évaluation de migration de base de données
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.
Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion
Tool (p. 49).
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.
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.
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.
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
25
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. 50).
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.
Pour appliquer le schéma de base de données converti à l'instance DB RDS cible
1.
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.
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é à l'instance DB cible.
Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS
Schema Conversion Tool (p. 53).
Rubriques connexes
• Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion
Tool (p. 46)
Version 1.0
26
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. 24).
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. 9).
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
27
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. 61).
• 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. 60).
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. 11).
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.
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. 61).
Conversion d'un schéma
Utilisez la procédure suivante pour convertir un schéma.
Version 1.0
28
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion et personnalisation des clés
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.
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. 63).
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.
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. 27).
Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion
Tool (p. 64).
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
29
AWS Schema Conversion Tool Guide de l'utilisateur
Application du schéma converti à la base de données cible
2.
La vue du rapport d'évaluation s'ouvre.
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.
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.
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.
Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema
Conversion Tool (p. 65).
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.
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.
2.
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.
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 plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS
Schema Conversion Tool (p. 67).
Rubriques connexes
• Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion
Tool (p. 58)
Version 1.0
30
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. 31)
• Connexion à une base de données source Greenplum avec AWS Schema Conversion Tool (p. 33)
• Connexion à une base de données source Microsoft SQL Server avec AWS Schema Conversion
Tool (p. 34)
• Connexion à une base de données source MySQL avec AWS Schema Conversion Tool (p. 35)
• Connexion à une base de données source Netezza avec AWS Schema Conversion Tool (p. 37)
• Connexion à une base de données source Oracle avec AWS Schema Conversion Tool (p. 38)
• Connexion à une base de données source d'entrepôt de données Oracle avec AWS Schema
Conversion Tool (p. 40)
• Connexion à une base de données source PostgreSQL avec AWS Schema Conversion Tool (p. 42)
• Connexion à une base de données source Teradata avec AWS Schema Conversion Tool (p. 43)
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.
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.
Version 1.0
31
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Amazon Redshift
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.
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.
Version 1.0
32
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. 13)
• Connexion à votre base de données cible (p. 11)
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.
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.
Version 1.0
33
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
• 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.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13)
• Connexion à votre base de données cible (p. 11)
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.
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.
Version 1.0
34
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 (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. 13)
• Connexion à votre base de données cible (p. 11)
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.
Version 1.0
35
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à 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.
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.
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.
Version 1.0
36
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
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.
Rubriques connexes
• Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13)
• Connexion à votre base de données cible (p. 11)
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.
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
Version 1.0
37
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
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. 13)
• Connexion à votre base de données cible (p. 11)
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.
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 :
• 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 :
Version 1.0
38
AWS Schema Conversion Tool Guide de l'utilisateur
Connexion à une base de données source Oracle
Pour ce paramètre
Procédez comme suit
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.
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.
Version 1.0
39
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
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. 13)
• Connexion à votre base de données cible (p. 11)
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.
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 :
• 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 :
Version 1.0
40
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
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.
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.
Version 1.0
41
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
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. 13)
• Connexion à votre base de données cible (p. 11)
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.
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.
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
Version 1.0
42
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Pour ce paramètre
Procédez comme suit
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. 13)
• Connexion à votre base de données cible (p. 11)
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
43
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.
4.
Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de
données source.
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. 13)
• Connexion à votre base de données cible (p. 11)
Version 1.0
44
AWS Schema Conversion Tool Guide de l'utilisateur
Utilisation de bases de données
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. Votre schéma converti convient à Amazon
Relational Database Service (Amazon RDS).
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. 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.
Dans certains cas, les fonctionnalités de base de données ne peuvent pas être converties en
fonctionnalités Amazon RDS équivalentes. 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.
Vous trouverez ci-après davantage d'informations sur ces processus.
Rubriques
• Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion
Tool (p. 46)
• Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 55)
Version 1.0
45
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schémas de base de données
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. 58).
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. 9).
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. 47).
Version 1.0
46
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage
• 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. 49).
• 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. 50).
• 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. 52).
• 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. 53).
• 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. 53).
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.
Version 1.0
47
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage
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.
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
Version 1.0
48
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
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 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.
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
Version 1.0
49
AWS Schema Conversion Tool Guide de l'utilisateur
Création et utilisation du rapport d'évaluation
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.
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. 53).
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. 50).
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. 54).
Modification du schéma converti
Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet.
Pour modifier le schéma converti
1.
2.
3.
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.
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.
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.
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
Version 1.0
50
AWS Schema Conversion Tool Guide de l'utilisateur
Création et utilisation du rapport d'évaluation
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.
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é.
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.
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. 52).
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
Version 1.0
51
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion des conversions manuelles
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.
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.
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. 53).
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.
Version 1.0
52
AWS Schema Conversion Tool Guide de l'utilisateur
Mise à jour et actualisation de votre schéma converti
Rubriques connexes
• Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 49)
• Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50)
• Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 53)
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.
• 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. 49)), 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 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. 50).
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.
Version 1.0
53
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement et application de votre schéma
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.
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. 55).
Version 1.0
54
AWS Schema Conversion Tool Guide de l'utilisateur
Kit d'extension et services AWS pour bases de données
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.
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. 9).
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. 46).
Version 1.0
55
AWS Schema Conversion Tool Guide de l'utilisateur
Application du kit d'extension
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.
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. Le cas échéant,
choisissez Navigate to Project Settings pour associer un autre profil au projet. Le cas échéant,
choisissez Global Settings pour créer un profil. Pour plus d'informations, consultez Stockage de
profils AWS dans AWS Schema Conversion Tool (p. 87).
4.
Dans la page Email Sending Service, procédez comme suit :
5.
• 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.
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.
Version 1.0
56
AWS Schema Conversion Tool Guide de l'utilisateur
Utilisation d'entrepôts de données
Vous pouvez utiliser AWS Schema Conversion Tool pour convertir votre schéma d'entrepôt de données
existant. Votre schéma converti convient à un cluster Amazon Redshift.
Dans certains cas, les fonctions de base de données source ne peuvent pas être converties en fonctions
Amazon Redshift équivalentes. Le kit d'extension AWS Schema Conversion Tool contient une bibliothèque
Python personnalisée qui émule certaines fonctionnalités de base de données source sur Amazon
Redshift.
Vous pouvez utiliser des agents de migration de données pour extraire des données de votre entrepôt
de données en vue de les préparer afin de les migrer vers Amazon Redshift. Pour gérer les agents de
migration de données, vous pouvez utiliser AWS Schema Conversion Tool.
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.
Vous trouverez ci-après davantage d'informations sur ces processus.
Rubriques
• Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema
Conversion Tool (p. 58)
• Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de
données (p. 69)
• Utilisation des agents de migration de données (p. 71)
• Optimisation d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool (p. 77)
Version 1.0
57
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion du schéma d'entrepôt de données
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. 46).
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. 9).
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. 60).
• 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.
Version 1.0
58
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion du schéma d'entrepôt de données
Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema
Conversion Tool (p. 61).
• 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. 61).
• 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. 63).
• 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. 64).
• 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. 65).
• 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 base de
données cible.
Pour plus d'informations, consultez Gestion des conversions manuelles dans AWS Schema Conversion
Tool (p. 66).
• 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. 67).
Version 1.0
59
AWS Schema Conversion Tool Guide de l'utilisateur
Choix des règles et des stratégies d'optimisation
• 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. 67).
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. 61).
• 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. 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 plus
Version 1.0
60
AWS Schema Conversion Tool Guide de l'utilisateur
Collecte ou téléchargement des statistiques
d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion
Tool (p. 64).
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. 11).
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.
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 plus
d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion
Tool (p. 64).
Rubriques connexes
• Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 60)
• Choix de la meilleure clé de tri
• Choisir le meilleur style de distribution
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.
Version 1.0
61
AWS Schema Conversion Tool Guide de l'utilisateur
Création de règles de mappage
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.
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.
Version 1.0
62
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion d'un schéma
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 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.
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
63
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion et personnalisation des clés
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. 67).
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. 65).
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. 68).
Modification du schéma converti
Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet.
Pour modifier le schéma converti
1.
2.
3.
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.
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.
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.
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
64
AWS Schema Conversion Tool Guide de l'utilisateur
Création et utilisation du rapport d'évaluation
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. 60).
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.
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é.
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.
Version 1.0
65
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion des conversions manuelles
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. 66).
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.
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.
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. 67).
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
Version 1.0
66
AWS Schema Conversion Tool Guide de l'utilisateur
Mise à jour et actualisation de votre schéma converti
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. 63)
• Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 65)
• Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 67)
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.
• 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. 63)), 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 l'aide de cette
fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas être convertis
Version 1.0
67
AWS Schema Conversion Tool Guide de l'utilisateur
Enregistrement et application de votre schéma
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. 65).
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.
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. 69).
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. 69).
Version 1.0
68
AWS Schema Conversion Tool Guide de l'utilisateur
Kit d'extension et bibliothèques
Python pour entrepôts de données
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 :
• 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. 9).
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. 58).
Application du kit d'extension
Utilisez la procédure suivante pour appliquer le kit d'extension.
Version 1.0
69
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
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.
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.
• 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. Le cas échéant,
choisissez Navigate to Project Settings pour associer un autre profil au projet. Le cas échéant,
choisissez Global Settings pour créer un profil. Pour plus d'informations, consultez Stockage de
profils AWS dans AWS Schema Conversion Tool (p. 87).
4.
5.
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.
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
70
AWS Schema Conversion Tool Guide de l'utilisateur
Utilisation des agents de migration de données
Utilisation des agents de migration de données
Vous pouvez utiliser des agents de migration de données pour extraire des données de votre entrepôt de
données en vue de leur migration vers Amazon Redshift. Pour gérer les agents de migration de données,
vous pouvez utiliser AWS Schema Conversion Tool. Les agents de migration de données peuvent
fonctionner en arrière-plan tandis qu'AWS Schema Conversion Tool est fermé.
Les agents de migration de données sont actuellement pris en charge pour les entrepôts de données
source suivants :
• Oracle (version 11 ou ultérieure)
• Teradata (version 15 ou ultérieure)
Une fois que vos données ont été extraites par vos agents, vous pouvez les transférer vers un
compartiment Amazon Simple Storage Service (Amazon S3). A partir de là, vous pouvez les charger dans
Amazon Redshift.
Installation des agents de migration
Nous vous recommandons d'installer plusieurs agents de migration et d'effectuer ces installations sur des
ordinateurs autres que l'ordinateur qui exécute AWS Schema Conversion Tool.
Les agents de migration sont actuellement pris en charge sur les systèmes d'exploitation suivants :
• Ubuntu Linux (versions 14.04 et ultérieures)
• Fedora Linux
Utilisez la procédure suivante pour installer des agents de migration. Répétez cette procédure pour chaque
ordinateur sur lequel vous souhaitez installer un agent de migration.
Pour installer un agent de migration
1.
Le fichier .zip qui contient le fichier du programme d'installation d'AWS Schema Conversion Tool
contient également le fichier du programme d'installation de l'agent de migration. Si vous n'avez pas
encore téléchargé le fichier du programme d'installation d'AWS Schema Conversion Tool, suivez les
instructions décrites dans Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) pour le
télécharger.
2.
Recherchez le fichier du programme d'installation de l'agent de migration dans un sous-dossier nommé
agents. Recherchez le fichier du programme d'installation correspondant au système d'exploitation de
l'ordinateur sur lequel vous souhaitez installer l'agent de migration, comme illustré ci-après.
Système d'exploitation
Nom de fichier
Ubuntu Linux
aws-schema-conversion-tool-extractor-1.0.build-number.deb
Fedora Linux
aws-schema-conversion-tool-extractor-1.0.buildnumber.x86_64.rpm
3.
Pour installer l'agent de migration sur un ordinateur distinct, copiez le fichier du programme
d'installation vers ce dernier.
4.
Exécutez le fichier du programme d'installation. Suivez les instructions ci-dessous correspondant à
votre système d'exploitation.
Version 1.0
71
AWS Schema Conversion Tool Guide de l'utilisateur
Installation des agents
Système d'exploitation
Instructions d'installation
Ubuntu Linux
Exécutez la commande suivante dans le dossier où vous avez téléchargé
ou déplacé le fichier :
sudo dpkg -i aws-schema-conversion-tool-extractor-1.0.buildnumber.deb
Fedora Linux
Exécutez la commande suivante dans le dossier où vous avez téléchargé
ou déplacé le fichier :
sudo rpm -ivh aws-schema-conversion-tool-extractor-1.0.buildnumber.x86_64.rpm
5.
Installez les pilotes Java Database Connectivity (JDBC) pour votre moteur de base de données
source. Vous trouverez des instructions et des liens de téléchargement à la page Installation des
pilotes de base de données requis (p. 6). Suivez les instructions qui concernent uniquement votre
moteur de base de données source et pas celles qui s'appliquent à votre moteur de base de données
cible.
6.
Poursuivez l'installation de votre agent de migration en exécutant la procédure décrite dans la section
ci-après.
Paramètres de sécurité
AWS Schema Conversion Tool et les agents de migration peuvent communiquer via SSL (Secure Sockets
Layer). Pour activer SSL, configurez un référentiel d'approbations et un magasin de clés.
Pour configurer la communication avec votre agent de migration
1.
Démarrer AWS Schema Conversion Tool.
2.
Ouvrez le menu Settings, puis choisissez Global Settings. La boîte de dialogue Global settings
s'affiche.
Choisissez l'onglet Security.
3.
Choisissez Generate Trust and Key Store ou Select existing Trust and Key Store.
Si vous choisissez Generate Trust and Key Store, indiquez le nom et le mot de passe du référentiel
d'approbations et du magasin de clés, ainsi que le chemin d'accès à l'emplacement du fichier généré.
Un fichier .zip contenant les fichiers de référentiel d'approbations et de magasin de clés est généré.
Vous utiliserez ces fichiers au cours d'étapes ultérieures.
Si vous choisissez Select existing Trust and Key Store, indiquez le mot de passe et le nom de fichier
du référentiel d'approbations et du magasin de clés. Vous utiliserez ces fichiers au cours d'étapes
ultérieures.
4.
Une fois le référentiel d'approbations et le magasin de clés spécifiés, choisissez OK pour fermer la
boîte de dialogue Global Settings.
5.
Copiez le fichier .zip ou les fichiers individuels vers l'ordinateur sur lequel l'agent de migration est
installé. Si vous copiez le fichier .zip vers le nouvel ordinateur, extrayez les fichiers individuels de ce
fichier .zip sur le nouvel ordinateur. Vous pouvez placer les fichiers où vous voulez, cela dit, vous
devez prendre note de leurs emplacements car vous devrez indiquer ultérieurement à l'agent où
trouver ces fichiers.
Répétez cette étape pour chaque ordinateur sur lequel un agent de migration est installé.
6.
Poursuivez l'installation de votre agent de migration en exécutant la procédure décrite dans la section
ci-après.
Version 1.0
72
AWS Schema Conversion Tool Guide de l'utilisateur
Installation des agents
Paramètres d'agent de migration
Utilisez la procédure suivante pour configurer des agents de migration. Répétez cette procédure sur
chaque ordinateur sur lequel un agent de migration est installé.
Pour configurer votre agent de migration
1.
Depuis l'emplacement où vous avez installé l'agent, exécutez le fichier sct-extractor-setup.sh. Le
programme de configuration vous invite à fournir des informations. Pour chaque invite, une valeur par
défaut apparaît entre crochets. Choisissez Entrée pour accepter la valeur par défaut ou tapez une
nouvelle valeur, puis choisissez Entrée. Spécifiez les informations suivantes :
• Le moteur de l'entrepôt de données.
• Le numéro de port sur lequel l'agent est en mode écoute.
• L'emplacement où vous avez installé les pilotes JDBC.
• Le dossier de travail. Les données que vous avez extraites sont placées dans un sous-dossier de
cet emplacement. Le dossier de travail peut figurer sur un autre ordinateur que celui où est installé
l'agent et un même dossier de travail peut être partagé par plusieurs agents installés sur différents
ordinateurs. Dans ce cas, spécifiez un numéro de port distinct pout chaque agent.
• L'emplacement du fichier de magasin de clés.
• Le mot de passe du magasin de clés.
• L'emplacement du fichier de référentiel d'approbations.
• Le mot de passe du référentiel d'approbations.
Le programme de configuration met à jour le fichier de paramètres de l'agent de migration. Le fichier
de paramètres se nomme Settings.properties et se trouve à l'emplacement où vous avez installé
l'agent de migration. Vous trouverez ci-dessous un exemple de fichier de paramètres.
port=8888
vendor=ORACLE
driver.jars=<driver path>/Install/Drivers/ojdbc7.jar
location=<output path>/dmt/8888/out
extractor.log.folder=<log path>/dmt/8888/log
extractor.storage.folder=<storage path>/dmt/8888/storage
extractor.start.fetch.size=20000
extractor.out.file.size=10485760
ssl.option=OFF
#ssl.option=ON
#ssl.keystore.path=<key store path>/dmt/8888/vault/keystore
#ssl.truststore.path=<trust store path>/dmt/8888/vault/truststore
2.
Poursuivez l'installation de votre agent de migration en exécutant la procédure décrite dans la section
ci-après.
Démarrage des agents de migration
Utilisez la procédure suivante pour démarrer des agents de migration. Répétez cette procédure sur chaque
ordinateur sur lequel un agent de migration est installé.
Pour démarrer votre agent de migration
1.
Sur l'ordinateur où l'agent de migration a été installé, exécutez la commande suivante pour démarrer
ce dernier.
Version 1.0
73
AWS Schema Conversion Tool Guide de l'utilisateur
Gestion des agents
Système d'exploitation
Commande de démarrage
Ubuntu Linux
Exécutez la commande suivante dans le chemin d'accès au dossier où
vous avez installé l'agent. Utilisez la commande appropriée pour votre
version d'Ubuntu.
Ubuntu 14.04: sudo initctl start sct-extractor
Ubuntu 15.04 et versions ultérieures : sudo systemctl start sctextractor
Fedora Linux
Exécutez la commande suivante dans le chemin d'accès au dossier où
vous avez installé l'agent :
sudo initctl start sct-extractor
2.
3.
Pour vérifier le statut de l'agent, exécutez la même commande en remplaçant start par status.
Pour arrêter un agent, exécutez la même commande en remplaçant start par stop.
Gestion des agents de migration
Vous gérez vos agents de migration en utilisant AWS Schema Conversion Tool. Les agents de migration
agissent en tant qu'écouteurs. Lorsqu'ils reçoivent des instructions d'AWS Schema Conversion Tool, ils
extraient des données de votre entrepôt de données.
Utilisez la procédure suivante pour enregistrer des agents de migration auprès de votre projet AWS
Schema Conversion Tool.
Pour enregistrer un agent de migration
1.
Démarrez AWS Schema Conversion Tool et ouvrez un projet.
a.
Ouvrez un projet existant ou créez-en un. Pour plus d'informations, consultez Création d'un projet
AWS Schema Conversion Tool (p. 10).
b.
Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion
à la base de données source (p. 11).
Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Connexion à
votre base de données cible (p. 11).
Convertissez votre schéma. Cette étape est facultative, toutefois, le processus d'extraction peut
générer une sortie optimisée lorsqu'il connaît le schéma cible. 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. 58).
c.
d.
2.
Ouvrez le menu View, puis choisissez Data Migration View. L'onglet Agents s'affiche. Si vous avez
déjà enregistré des agents, ces derniers apparaissent dans une grille située dans la partie supérieure
de l'onglet.
3.
Choisissez Register. La boîte de dialogue New Agent Registration s'affiche.
Note
4.
Une fois que vous avez enregistré un agent auprès d'un projet AWS Schema Conversion
Tool, vous ne pouvez pas enregistrer ce même agent auprès d'un autre projet. Si vous
n'utilisez plus un agent dans un projet AWS Schema Conversion Tool, vous pouvez annuler
son enregistrement, puis l'enregistrer auprès d'un autre projet.
Saisissez vos informations dans la boîte de dialogue New Agent Registration :
a.
Dans Description, tapez une description de l'agent.
Version 1.0
74
AWS Schema Conversion Tool Guide de l'utilisateur
Sortie d'agent
b.
Pour Host Name, tapez le nom d'hôte ou l'adresse IP de l'ordinateur sur lequel l'agent est installé.
c.
Dans Port, tapez le numéro de port sur lequel l'agent est en mode écoute.
d.
Choisissez Register pour enregistrer l'agent auprès de votre projet AWS Schema Conversion
Tool.
5.
Répétez les étapes précédentes pour enregistrer plusieurs agents auprès de votre projet AWS
Schema Conversion Tool.
6.
Continuez avec la procédure suivante pour affecter des tâches de migration de données à vos agents.
Pour affecter des tâches à des agents et migrer des données
1.
Choisissez une ou plusieurs tables dans le volet gauche de votre projet. Vous pouvez choisir
toutes les tables, cependant, nous ne recommandons pas cette pratique car elle risque d'altérer les
performances. Nous vous recommandons de créer plusieurs tâches pour plusieurs tables en fonction
de la taille de ces dernières dans votre entrepôt de données.
2.
Ouvrez le menu contextuel (clic droit) des tables, puis choisissez Create Task.
3.
Répétez les étapes précédentes afin de créer des tâches pour toutes les données que vous souhaitez
migrer.
4.
Continuez avec la procédure suivante pour exécuter et surveiller des tâches.
Pour exécuter et surveiller des tâches
1.
Ouvrez le menu View, puis choisissez Data Migration View. L'onglet Agents s'affiche.
2.
Choisissez l'onglet Tasks. Vos tâches apparaissent dans la grille supérieure.
3.
Sélectionnez une tâche dans la grille supérieure. Vous pouvez voir le statut de la tâche dans la grille
supérieure et le statut de ses sous-tâches dans la grille inférieure.
4.
Pour exécuter une tâche, choisissez Start. Vous pouvez surveiller le statut de vos tâches pendant leur
exécution.
Vous pouvez également fermer AWS Schema Conversion Tool. Dans ce cas, vos agents et vos tâches
continuent de s'exécuter. Vous pouvez ensuite rouvrir AWS Schema Conversion Tool et vérifier le
statut de vos tâches.
Sortie d'agent de migration
Une fois vos tâches de migration terminées, vos données sont prêtes. Les agents de migration enregistrent
vos données en tant que fichiers. Les fichiers de données sont compressés, mais pas chiffrés. Vous devez
copier manuellement les fichiers de données vers votre compartiment Amazon S3. Copiez les données
depuis le dossier de sortie situé sous le dossier de travail que vous avez spécifié pour vos agents.
Etapes suivantes
Après avoir copié vos fichiers de données vers Amazon S3, vous pouvez charger les données dans
Amazon Redshift. Vous pouvez utiliser la commande COPY Amazon Redshift pour charger vos données
dans Amazon Redshift. Pour plus d'informations, consultez Chargement de données à partir de Amazon S3
dans la documentation Amazon Redshift.
Bonnes pratiques et dépannage
Voici quelques bonnes pratiques et suggestions de dépannage relatives à l'utilisation des agents de
migration :
Version 1.0
75
AWS Schema Conversion Tool Guide de l'utilisateur
Bonnes pratiques et dépannage
• Nous vous recommandons d'installer plusieurs agents afin d'améliorer les performances.
• Si un nombre trop élevé d'agents accède simultanément à votre entrepôt de données, des délais
d'attente en cas de conflit peuvent être générés.
• Vous pouvez installer des agents sur des ordinateurs proches de votre entrepôt de données afin
d'améliorer les performances.
• Nous vous recommandons de ne pas exécuter toutes les tables dans une seule tâche d'agent, car cela
risquerait d'altérer les performances.
• Si un agent s'arrête, chacune de ses tâches apparaît comme ayant échoué dans AWS Schema
Conversion Tool. Si vous attendez un peu, il arrive parfois qu'une reprise de l'agent se produise. Dans ce
cas, le statut de ses tâches est mis à jour dans AWS Schema Conversion Tool.
• Si l'ordinateur qui exécute un agent s'arrête de façon définitive alors que celui-ci est en train d'exécuter
une tâche, vous pouvez remplacer cet agent par un autre afin de poursuivre l'exécution de la tâche.
Installez un agent sur un nouvel ordinateur et configurez-le avec les mêmes paramètres, y compris le
numéro de port et le dossier de travail, que l'agent d'origine. La tâche peut découvrir le nouvel agent
disponible et se poursuivre.
Version 1.0
76
AWS Schema Conversion Tool Guide de l'utilisateur
Optimisation d'Amazon Redshift
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. 10).
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. 31).
3. Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Connexion à votre
base de données cible (p. 11).
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. 60).
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.
Version 1.0
77
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
5.
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.
Vous pouvez créer un rapport contenant les suggestions d'optimisation. Pour créer le rapport,
procédez comme suit :
a.
b.
c.
6.
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.
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. 58)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
78
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. 9).
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. 46).
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
79
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. 87).
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.
3.
Sous Task name, entrez un nom pour votre tâche.
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.
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.
5.
6.
7.
8.
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.
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.
3.
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.
Lors de l'exécution d'une tâche, vous pouvez choisir les actions suivantes :
• Choisissez Stop pour arrêter une tâche.
• Choisissez Resume pour reprendre une tâche.
Version 1.0
80
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
4.
Choisissez Delete pour supprimer une tâche.
5.
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.
6.
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
81
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. 9).
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. 46)
Version 1.0
82
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. 58)
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. 83).
• 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. 84).
• 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. 85).
• 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. 85).
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.
La boîte de dialogue New application conversion project s'affiche.
Version 1.0
83
AWS Schema Conversion Tool Guide de l'utilisateur
Analyse et conversion de votre code SQL
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
• C++
• C#
• Any
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 Dans l'arborescence source, sélectionnez le schéma utilisé par
votre code d'application.
3.
4.
5.
Choisissez OK pour créer votre projet de conversion d'application.
La fenêtre de projet s'ouvre.
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.
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.
Version 1.0
84
AWS Schema Conversion Tool Guide de l'utilisateur
Création et utilisation du rapport d'évaluation
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.
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.
2.
Le rapport est créé et s'affiche dans la fenêtre de projet de conversion d'application.
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é.
3.
4.
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. 85).
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.
Version 1.0
85
AWS Schema Conversion Tool Guide de l'utilisateur
Modification et enregistrement de votre code SQL converti
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
86
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.
2.
3.
4.
Démarrer AWS Schema Conversion Tool.
Ouvrez le menu Settings, puis choisissez Global Settings. La boîte de dialogue Global settings
s'affiche.
Choisissez l'onglet AWS Service Profiles.
Choisissez Add new AWS Service Profile. Une nouvelle ligne est ajoutée à la liste de profils.
Choisissez l'icône de modification pour configurer votre profil.
a.
Sous Profile name, entrez un nom pour le profil.
b.
c.
d.
Sous AWS Access Key, entrez votre clé d'accès AWS.
Sous AWS Secret Key, entrez votre clé secrète AWS.
Sous Region, choisissez une région pour le profil.
Version 1.0
87
AWS Schema Conversion Tool Guide de l'utilisateur
Définition du profil par défaut pour un projet
5.
Choisissez Test Connection pour vérifier que vos informations d'identification sont correctes et actives.
6.
Une fois que vous avez configuré votre profil, choisissez Save pour l'enregistrer. Vous pouvez
également choisir Cancel pour annuler vos modifications.
Choisissez OK pour fermer la boîte de dialogue Global Settings.
7.
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.
2.
Démarrer AWS Schema Conversion Tool.
Ouvrez le menu Settings, puis choisissez Project Settings. La boîte de dialogue Current project
settings s'affiche.
3.
4.
Choisissez l'onglet Project Environment.
Sous AWS Service Profile, choisissez le profil que vous souhaitez associer au projet.
5.
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. 55)
• Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69)
• Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 79)
Version 1.0
88
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
89
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. 9)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
90
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
91
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. 9)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
92
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. 9)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
93
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. 170)
• Conversion de schéma prise en charge d'Oracle vers MySQL (p. 200)
• Conversion de schéma prise en charge d'Oracle vers PostgreSQL (p. 230)
• Conversion de schéma prise en charge de PostgreSQL vers MySQL (p. 170)
• Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL (p. 94)
• Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL (p. 114)
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. 95)
• Procédures (p. 98)
• Contrôle de flux (p. 99)
• Fonctions (p. 99)
• Opérateurs (p. 107)
• Transactions (p. 109)
• Types de données (p. 110)
• Langage de définition de données (DDL) (p. 112)
• Curseurs (p. 113)
Version 1.0
94
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
• Rubriques connexes (p. 114)
Instructions
Rubriques
• SELECT (p. 95)
• INSERT (p. 96)
• UPDATE (p. 96)
• DELETE (p. 97)
SELECT
Clause
Conversion
automatique
Détails
WITH
Non
Essayez de convertir l'expression WITH(query) en sousrequête et utilisez-la dans une requête SELECT.
UNION
Oui
EXCEPT | INTERSECT
Non
ALL | DISTINCT
Oui
TOP
Partielle
<select_list>
Oui
INTO
Non
FROM
Partielle
WHERE
Oui
GROUP BY
Partielle
HAVING
Oui
ORDER BY
Partielle
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
95
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
INSERT
Clause
Conversion
automatique
Détails
WITH
Non
Essayez de convertir la requête WITH en sous-requête,
puis utilisez cette dernière dans la requête INSERT.
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
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
automatique
Détails
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
96
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion
automatique
Détails
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.
FROM
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
automatique
Détails
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
FROM
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 une
table temporaire. Après l'opération DELETE, vous pouvez
Version 1.0
97
AWS Schema Conversion Tool Guide de l'utilisateur
Procédures
Clause
Conversion
automatique
Détails
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
Rubriques
• CREATE PROCEDURE (p. 98)
CREATE PROCEDURE
Clause
Conversion
automatique
Détails
@paramètre
Oui
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.
VARYING
Partielle
OUT
OUTPUT
Partielle
READONLY
Partielle
WITH
Non
FOR REPLICATION
Non
AS BEGIN … END
Non
ENCRYPTION
Oui
RECOMPILE
Non
EXECUTE AS
Non
Version 1.0
98
AWS Schema Conversion Tool Guide de l'utilisateur
Contrôle de flux
Contrôle de flux
Clause
Conversion
automatique
Détails
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
Rubriques
• Fonctions d'agrégation (p. 100)
• Fonctions de date et d'heure (p. 100)
• Fonctions mathématiques (p. 101)
• Fonctions de chaîne (p. 102)
• Fonctions de configuration (p. 103)
• Fonctions de conversion (p. 103)
•
•
•
•
Fonctions de sécurité (p. 104)
Fonctions système (p. 105)
Fonctions logiques (p. 106)
CREATE FUNCTION (p. 106)
• EXECUTE (p. 106)
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
99
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions d'agrégation
Fonction
Conversion
automatique
Détails
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
automatique
Détails
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
Version 1.0
100
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
GETDATE + 1
Partielle
GETUTCDATE
Partielle
MONTH
Partielle
YEAR
Partielle
Détails
DATETIMEOFFSETFROMPARTS
Non
ISDATE
Non
SWITCHOFFSET
Non
SYSDATETIMEOFFSET
Non
TODATETIMEOFFSET
Non
Fonctions mathématiques
Fonction
Conversion
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
Détails
Version 1.0
101
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
Détails
ROUND
Partielle
MySQL ne prend pas en charge la fonction ROUND avec
l'argument de fonction.
SIGN
Oui
SIN
Oui
SQRT
Oui
SQUARE
Non
TAN
Oui
Fonctions de chaîne
Fonction
Conversion
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
Détails
Version 1.0
102
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
STR
Non
STUFF
Non
SUBSTRING
Oui
UNICODE
Non
UPPER
Oui
Détails
Fonctions de configuration
Fonction
Conversion
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
Détails
Fonctions de conversion
Fonction
Conversion
automatique
CAST et CONVERT
Non
PARSE
Non
TRY_CAST
Non
Détails
Version 1.0
103
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
TRY_CONVERT
Non
TRY_PARSE
Non
Détails
Fonctions de sécurité
Fonction
Conversion
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
Détails
Version 1.0
104
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions système
Fonction
Conversion
automatique
$PARTITION
Oui
@@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
Détails
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
105
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions logiques
Fonction
Conversion
automatique
CHOOSE
Non
IIF
Non
Détails
CREATE FUNCTION
Clause
Conversion
automatique
Détails
@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.
Clause
Conversion
automatique
Détails
@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
EXECUTE
MySQL prend uniquement en charge les fonctions qui
retournent une valeur scalaire.
Version 1.0
106
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs
Rubriques
• Opérateurs arithmétiques (p. 107)
• Opérateur d'affectation (p. 107)
• Opérateurs au niveau du bit (p. 107)
• Opérateurs de comparaison (p. 108)
• Opérateurs logiques (p. 108)
• Opérateurs d'ensembles (p. 109)
• Opérateur de concaténation de chaînes (p. 109)
• Opérateurs unaires (p. 109)
Opérateurs arithmétiques
Clause
Conversion
automatique
+
Oui
+=
Oui
–
Oui
-=
Oui
*
Oui
*=
Oui
/
Oui
/=
Oui
%
Oui
Détails
Opérateur d'affectation
Clause
Conversion
automatique
=
Oui
Détails
Opérateurs au niveau du bit
Clause
Conversion
automatique
&
Oui
|
Oui
^
Oui
Détails
Version 1.0
107
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Clause
Conversion
automatique
~
Oui
Détails
Opérateurs de comparaison
Clause
Conversion
automatique
=
Oui
>
Oui
<
Oui
>=
Oui
<=
Oui
<>
Oui
!=
Oui
!<
Oui
!>
Oui
Détails
Opérateurs logiques
Clause
Conversion
automatique
ALL
Oui
AND
Oui
ANY
Oui
BETWEEN
Oui
EXISTS
Oui
IN
Oui
LIKE
Oui
NOT
Oui
OR
Oui
SOME
Partielle
Détails
AWS Schema Conversion Tool convertit SOME en ANY.
Version 1.0
108
AWS Schema Conversion Tool Guide de l'utilisateur
Transactions
Opérateurs d'ensembles
Clause
Conversion
automatique
Détails
UNION
Oui
UNION ALL
Oui
EXCEPT
Non
Procédez à une conversion manuelle.
INTERSECT
Non
Procédez à une conversion manuelle.
Opérateur de concaténation de chaînes
Clause
Conversion
automatique
+
Oui
Détails
Opérateurs unaires
Clause
Conversion
automatique
+
Oui
–
Oui
Détails
Transactions
Rubriques
• BEGIN TRANSACTION (p. 109)
BEGIN TRANSACTION
Clause
Conversion
automatique
Détails
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
Version 1.0
109
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion
automatique
ROLLBACK
Partielle
transaction_name
Non
savepoint_name
Partielle
COMMIT
Partielle
DELAYED_DURABILITY
Non
Détails
MySQL ne prend pas en charge les transactions
nommées. Corrigez votre code de façon à éliminer les
transactions nommées.
Types de données
Rubriques
• Valeurs numériques (p. 110)
• Date et heure (p. 111)
• Chaînes de caractères (p. 111)
• Chaînes binaires (p. 111)
• Types spéciaux (p. 112)
Valeurs numériques
Type de données
Conversion
automatique
Conversion par défaut
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
Version 1.0
110
Détails
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Date et heure
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
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
len = 1 à 255 symboles (2 ^
8-1) (plage de perte)
Chaînes binaires
Version 1.0
111
Détails
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Type de données
Conversion
automatique
sql_variant
Non
table
Non
uniqueidentifier
Non
xml
Non
geography
Non
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)
Rubriques
• CREATE TABLE (p. 112)
• CREATE INDEX (p. 112)
• CREATE TRIGGER (p. 113)
• CREATE VIEW (p. 113)
CREATE TABLE
Les instructions CREATE TABLE sont converties automatiquement sauf pour la clause suivante.
Clause
Conversion
automatique
Détails
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.
Version 1.0
112
AWS Schema Conversion Tool Guide de l'utilisateur
Curseurs
CREATE TRIGGER
Les instructions CREATE TRIGGER sont converties automatiquement sauf pour la clause suivante.
Clause
Conversion
automatique
Détails
FOR
Non
MySQL ne prend pas en charge une clause FOR dans une
instruction CREATE TRIGGER.
CREATE VIEW
Les instructions CREATE VIEW sont converties automatiquement sauf pour les clauses suivantes.
Clause
Conversion
automatique
Détails
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
Rubriques
• DECLARE CURSOR (p. 113)
DECLARE CURSOR
Clause
Conversion
automatique
Détails
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.
Version 1.0
113
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
Clause
Conversion
automatique
Détails
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
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. 9)
• 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.
Version 1.0
114
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Langage de définition de données (DDL)
Dénomination d'objets
Clause
Conversion
automatique
Schémas
Oui
Tables, colonnes
Oui
Détails
Instructions
Clause
Conversion
automatique
ALTER INDEX
Non
ALTER PROCEDURE
Non
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
Détails
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
automatique
ADD
Oui
ALTER COLUMN
Non
DROP COLUMN
Non
DROP CONSTRAINT
Non
ENABLE/DISABLE
TRIGGER
Oui
Détails
Version 1.0
115
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
CREATE INDEX
Clause
Conversion
automatique
Option CLUSTER
Partielle
Index COLUMNSTORE
Partielle
Clause INCLUDE
Partielle
Autres options INDEX
Partielle
Index SPATIAL
Partielle
Option UNIQUE
Oui
Index XML
Partielle
Détails
CREATE TABLE
Clause
Conversion
automatique
Tables partitionnées
Oui
Tables standard
Oui
Tables temporaires
Partielle
Tables larges
Oui
Détails
CREATE TRIGGER
Clause
Conversion
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
Détails
CREATE VIEW
Clause
Conversion
automatique
CREATE VIEW
Oui
Détails
Version 1.0
116
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Clause
Conversion
automatique
Vues actualisables
Oui
VIEW
Oui
Détails
Instructions DROP
Clause
Conversion
automatique
DROP TABLE
Oui
DROP VIEW
Oui
Autres types d'objets
Oui
Détails
Langage de manipulation de données (DML)
Clause pour les instructions
Clause
Conversion
automatique
Indicateurs de jointure
Non
Indicateurs de requête
Non
Indicateur de table
Non
WHERE
Oui
Détails
Jointures
Jointures croisées
Clause
Conversion
automatique
Jointure croisée
Oui
Jointure croisée avec
condition
Oui
Détails
Jointures internes
Clause
Conversion
automatique
Jointures internes
Oui
Détails
Version 1.0
117
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Jointures externes
Clause
Conversion
automatique
Jointure complète
Oui
Jointure externe complète
Oui
Jointure gauche
Oui
Jointure externe gauche
Oui
Jointure droite
Oui
Jointure externe droite
Oui
Détails
Prédicats pour instructions
Clause
Conversion
automatique
Conditions booléennes
Oui
Conditions Exists
Oui
Conditions In
Oui
Conditions Null
Oui
Détails
Conditions de
Oui
correspondance de modèles
Conditions de plage
Oui
Conditions de comparaison
Clause
Conversion
automatique
=, <>, <, <=, >, >=
Oui
ANY, SOME, ALL
Partielle
Détails
Instructions
DELETE
Clause
Conversion
automatique
CURRENT OF
Oui
FROM
Partielle
OUTPUT
Partielle
Détails
Version 1.0
118
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Clause
Conversion
automatique
TOP
Non
VALUES
Oui
WITH
Oui
Détails
INSERT
Clause
Conversion
automatique
DEFAULT
Oui
DEFAULT VALUES
Oui
FROM
Oui
INTO
Oui
OUTPUT
Non
TOP
Non
VALUES
Oui
WITH
Oui
Détails
SELECT
Clause
Conversion
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
Détails
Version 1.0
119
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Clause
Conversion
automatique
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
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
Détails
Version 1.0
120
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de manipulation de données (DML)
Clause
Conversion
automatique
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
Détails
DISTINCT
Clause
Conversion
automatique
DISTINCT
Oui
Détails
FROM
Clause
Conversion
automatique
FROM
Oui
Détails
GROUP BY
Clause
Conversion
automatique
GROUP BY
Oui
Détails
HAVING
Clause
Conversion
automatique
HAVING
Oui
Détails
ORDER BY
Clause
Conversion
automatique
ORDER BY
Oui
Détails
Version 1.0
121
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
TOP
Clause
Conversion
automatique
TOP
Oui
Détails
WHERE
Clause
Conversion
automatique
WHERE
Oui
Détails
UPDATE
Clause
Conversion
automatique
CURRENT OF
Oui
DEFAULT
Oui
Données FILESTREAM
Non
FROM
Oui
OUTPUT
Partielle
TOP
Non
VALUES
Oui
WITH
Oui
Détails
Types de données
Clause
Conversion
automatique
BIGINT
Oui
BINARY
Oui
BIT
Oui
CHAR, CHARACTER
Oui
DATETIME
Oui
DATETIMEOFFSET
Non
DEC, DECIMAL
Oui
DOUBLE PRECISION
Oui
Détails
Version 1.0
122
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion
automatique
FLOAT
Oui
GEOGRAPHY
Non
GEOMETRY
Non
HIERARCHYID
Non
IDENTITY
Non
INT, INTEGER
Oui
MONEY
Oui
NCHAR
Oui
NTEXT
Oui
NUMERIC
Oui
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
Détails
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.
Version 1.0
123
AWS Schema Conversion Tool Guide de l'utilisateur
Messagerie de base de données
Messagerie de base de données
Clause
Conversion
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
sp_send_dbmail
Non
sysmail_add_account_sp
Non
Détails
sysmail_add_principalprofile_spNon
sysmail_add_profile_sp
Non
sysmail_add_profileaccount_spNon
sysmail_allitems
Non
sysmail_configure_sp
Non
sysmail_delete_account_sp
Non
sysmail_delete_log_sp
Non
sysmail_delete_mailitems_sp Non
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_spNon
sysmail_help_queue_sp
Non
Version 1.0
124
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
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
Détails
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
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
Détails
Version 1.0
125
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
@@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
@@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
Détails
Agrégation
Clause
Conversion
automatique
AVG
Partielle
CHECKSUM_AGG
Non
COUNT
Oui
COUNT_BIG
Oui
Détails
Version 1.0
126
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
GROUPING
Non
GROUPING_ID
Non
MAX
Oui
MIN
Oui
STDEV
Oui
STDEVP
Oui
SUM
Oui
VAR
Oui
VARP
Oui
Détails
Fonctions intégrées
Clause
Conversion
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
Détails
Conversion
Clause
Conversion
automatique
CAST
Partielle
CONVERT
Partielle
PARSE
Non
TRY_CAST
Non
TRY_CONVERT
Non
TRY_PARSE
Non
Détails
Version 1.0
127
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Date et heure
Clause
Conversion
automatique
CURRENT_TIMESTAMP
Partielle
DATEADD
Partielle
DATEDIFF
Partielle
DATEFROMPARTS
Oui
DATENAME
Partielle
DATEPART
Partielle
DATETIME2FROMPARTS
Partielle
DATETIMEFROMPARTS
Partielle
Détails
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
automatique
ABS()
Oui
ACOS()
Oui
ASIN()
Oui
Détails
Version 1.0
128
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
ATAN()
Oui
ATN2 ()
Oui
CEILING()
Oui
COS()
Oui
COT()
Oui
DEGREES()
Oui
EXP()
Oui
FLOOR()
Oui
LOG()
Oui
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
Détails
Fonctions de classement
Clause
Conversion
automatique
DENSE_RANK
Oui
NTILE
Oui
RANK
Oui
ROW_NUMBER
Oui
Détails
Version 1.0
129
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions d'ensembles de lignes
Clause
Conversion
automatique
CONTAINSTABLE
Non
FREETEXTTABLE
Non
OPENDATASOURCE
Non
OPENQUERY
Non
OPENROWSET
Non
OPENXML
Non
Détails
Fonctions scalaires
Clause
Conversion
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
Détails
Version 1.0
130
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
CURRENT_USER
Non
DATABASE_PRINCIPAL_ID
Non
DATEADD
Partielle
DATEDIFF
Partielle
DATEFROMPARTS
Oui
DATENAME
Partielle
DATEPART
Partielle
DATETIME2FROMPARTS
Oui
DATETIMEFROMPARTS
Oui
Détails
DATETIMEOFFSETFROMPARTS
Non
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
Version 1.0
131
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
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
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
Détails
Version 1.0
132
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
SCHEMA_NAME
Non
SESSION_USER
Non
SIGN()
Oui
SIN()
Oui
Détails
SMALLDATETIMEFROMPARTS
Oui
SOUNDEX
Oui
SPACE
Oui
SQRT()
Oui
SQUARE()
Oui
STDEV
Oui
STDEVP
Oui
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
Version 1.0
133
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Chaîne
Clause
Conversion
automatique
ASCII
Oui
CHAR
Oui
CHARINDEX
Oui
CONCAT
Oui
DIFFERENCE
Non
FORMAT
Non
LEFT
Oui
LEN
Oui
LOWER
Oui
LTRIM
Oui
NCHAR
Non
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
Détails
Version 1.0
134
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs
Opérateurs arithmétiques
Clause
Conversion
automatique
- (Soustraction)
Partielle
% (Modulo)
Partielle
* (Multiplication)
Partielle
/ (Division)
Partielle
+ (Addition)
Partielle
Détails
Opérateur d'affectation
Clause
Conversion
automatique
=
Oui
Détails
Opérateurs au niveau du bit
Clause
Conversion
automatique
Détails
& (Opération AND au niveau Oui
du bit)
^ (Opération OR exclusive
au niveau du bit)
Non
| (Opération OR au niveau
du bit)
Oui
Opérateurs de comparaison
Clause
Conversion
automatique
Opérateurs de comparaison
Partielle
Détails
Opérateurs logiques
Clause
Conversion
automatique
Opérateurs logiques
Oui
Détails
Version 1.0
135
AWS Schema Conversion Tool Guide de l'utilisateur
Autre
Opérateurs d'ensembles
Clause
Conversion
automatique
EXCEPT
Oui
INTERSECT
Oui
UNION
Oui
UNION ALL
Oui
Détails
Opérateur de concaténation de chaînes
Clause
Conversion
automatique
Opérateur de concaténation
de chaînes
Oui
Détails
Opérateurs unaires
Clause
Conversion
automatique
Opérateurs unaires
Oui
Détails
Autre
Clause
Conversion
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
Détails
Version 1.0
136
AWS Schema Conversion Tool Guide de l'utilisateur
Service Broker
Clause
Conversion
automatique
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
Détails
Service Broker
Clause
Conversion
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
Détails
Version 1.0
137
AWS Schema Conversion Tool Guide de l'utilisateur
Service Broker
Clause
Conversion
automatique
GET
TRANSMISSION_STATUS
Non
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
Détails
sys.dm_broker_activated_tasksNon
sys.dm_broker_connections
Non
sys.dm_broker_forwarded_messages
Non
sys.dm_broker_queue_monitors
Non
sys.message_type_xml_schema_collection_usages
Non
sys.remote_service_bindings Non
sys.routes
Non
sys.service_contract_message_usages
Non
sys.service_contract_usages Non
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
Version 1.0
138
AWS Schema Conversion Tool Guide de l'utilisateur
SQL Server Agent
SQL Server Agent
Clause
Conversion
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
Détails
sp_add_targetsvrgrp_member Non
sp_apply_job_to_targets
Non
sp_attach_schedule
Non
sp_cycle_agent_errorlog
Non
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
Version 1.0
139
AWS Schema Conversion Tool Guide de l'utilisateur
SQL Server Agent
Clause
Conversion
automatique
Détails
sp_delete_targetsvrgrp_member
Non
sp_detach_schedule
Non
sp_enum_login_for_proxy
Non
sp_enum_proxy_for_subsystemNon
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
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
Version 1.0
140
AWS Schema Conversion Tool Guide de l'utilisateur
Sauvegarde SQL Server
Clause
Conversion
automatique
sp_notify_operator
Non
sp_post_msx_operation
Non
sp_purge_jobhistory
Non
Détails
sp_remove_job_from_targetss Non
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
sp_update_targetservergroup Non
Sauvegarde SQL Server
Clause
Conversion
automatique
BACKUP
Non
BACKUP CERTIFICATE
Non
BACKUP MASTER KEY
Non
BACKUP SERVICE
MASTER KEY
Non
RESTORE
Non
RESTORE FILELISTONLY
Non
RESTORE HEADERONLY
Non
Détails
Version 1.0
141
AWS Schema Conversion Tool Guide de l'utilisateur
T-SQL
Clause
Conversion
automatique
RESTORE LABELONLY
Non
RESTORE MASTER KEY
Non
RESTORE REWINDONLY
Non
RESTORE SERVICE
MASTER KEY
Non
RESTORE VERIFYONLY
Non
Détails
T-SQL
BACKUP et RESTORE
Clause
Conversion
automatique
Instructions BACKUP et
RESTORE
Non
Détails
Classement (Collation)
Clause
Conversion
automatique
Collation
Non
Détails
Langage de contrôle de flux
Clause
Conversion
automatique
BEGIN...END
Oui
BREAK
Oui
CONTINUE
Oui
GOTO
Non
IF...ELSE
Oui
RETURN
Oui
THROW
Oui
TRY...CATCH
Oui
WAITFOR
Partielle
WHILE
Oui
Détails
Version 1.0
142
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
Curseurs
DECLARE CURSOR
Clause
Conversion
automatique
DECLARE CURSOR
Oui
CURSOR avec option
GLOBAL
Non
CURSOR avec options
FORWARD_ONLY ou
SCROLL
Non
Détails
FETCH
Clause
Conversion
automatique
FETCH
Oui
Détails
OPEN
Clause
Conversion
automatique
OPEN
Oui
Détails
Instructions DUMP et LOAD
Clause
Conversion
automatique
Instructions DUMP et LOAD
Non
Détails
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.
Version 1.0
143
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
Opérateurs arithmétiques
Elément
Problème
Résolution
Opérateurs
arithmétiques
Problème 7775 : Vérifier la conversion de
types de données pour une perte possible de
précision (p. 153)
Convertissez les valeurs dans
le type souhaité.
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. 153)
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. 153)
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. 154)
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. 154)
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. 154)
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. 154)
Essayez d'utiliser le service de
stockage Amazon Glacier.
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. 154)
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. 155)
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. 155)
Vérifiez la valeur par défaut
d'une variable DateTime.
Version 1.0
144
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
GOTO
Problème 7628 : PostgreSQL ne prend pas en Corrigez votre code de façon
charge l'option GOTO. Impossible d'effectuer la à éliminer les opérateurs
conversion automatique. (p. 155)
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. 155)
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. 154)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
WAITFOR DELAY
Problème 7821 : L'opérateur de conversion
automatique WAITFOR assorti d'une variable
n'est pas pris en charge (p. 155)
Procédez à une conversion
manuelle.
WAITFOR TIME
Problème 7691 : PostgreSQL ne prend pas en
charge la fonction WAITFOR TIME (p. 155)
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. 155)
Examinez l'objet %s.
Problème 7813 : Objets chiffrés (p. 155)
Déchiffrez l'objet avant la
conversion.
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. 156)
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. 156)
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. 156)
Utilisez cursors sans cette
option.
CREATE
Elément
Objets chiffrés
CURSORS
Version 1.0
145
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
FOR UPDATE
Problème 7803 : PostgreSQL ne prenant pas
en charge l'option FOR UPDATE, cette option
est ignorée (p. 156)
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. 156)
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. 156)
Utilisez cursors sans cette
option.
Option READ_ONLY
Problème 7702 : Tous les curseurs
Utilisez cursors sans cette
PostgreSQL étant en lecture seule, cette option option.
est ignorée (p. 156)
Option
TYPE_WARNING
Problème 7705 : PostgreSQL ne prenant pas
en charge l'option TYPE_WARNING, cette
option est ignorée (p. 156)
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. 157)
Procédez à une conversion
manuelle.
geography
Problème 7662 : PostgreSQL ne prend pas en
charge ce type. Une conversion manuelle est
nécessaire. (p. 157)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
geometry
Problème 7664 : PostgreSQL ne prend pas en
charge ce type. Une conversion manuelle est
nécessaire. (p. 157)
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. 157)
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. 157)
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. 157)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
Version 1.0
146
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
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. 157)
Procédez à une conversion
manuelle.
UDT
Problème 7690 : PostgreSQL ne prend pas en
charge les types de table (p. 157)
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. 158)
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. 158)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
CREATE INDEX
Problème 7675 : PostgreSQL ne prend pas en Utilisez des index sans cette
charge les options de tri (ASC | DESC) pour les option.
contraintes (p. 158)
CREATE INDEX
Problème 7681 : PostgreSQL ne prend
pas en charge les index organisés en
cluster (p. 158)
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. 158)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7781 : PostgreSQL ne prend pas
en charge l'option PAD_INDEX dans les
index (p. 158)
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. 159)
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. 159)
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. 159)
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. 159)
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. 159)
Utilisez l'index sans cette
option.
DDL
Version 1.0
147
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 7787 : PostgreSQL ne prend
pas en charge l'option ONLINE dans les
index (p. 159)
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. 159)
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. 159)
Utilisez l'index sans cette
option.
CREATE INDEX
Problème 7790 : PostgreSQL ne prend
pas en charge l'option MAXDOP dans les
index (p. 159)
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. 159)
Utilisez l'index sans cette
option.
CREATE TABLE
Problème 7679 : PostgreSQL ne prend pas en
charge les colonnes calculées (p. 159)
Essayez d'utiliser un
déclencheur.
CREATE TABLE
Problème 7680 : PostgreSQL ne prend
pas en charge les tables temporaires
globales (p. 160)
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. 160)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
CREATE TABLE
Problème 7825 : La valeur par défaut d'une
colonne DateTime a été supprimée (p. 160)
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. 160)
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. 160)
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. 160)
Procédez à une conversion
manuelle.
DELETE
Version 1.0
148
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
DML, FROM
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. 161)
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. 161)
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. 161)
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. 161)
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. 161)
Utilisez la commande
EXECUTE sans cette option.
EXECUTE
Elément
EXECUTE avec des
Problème 7643 : La commande EXECUTE
options d'exécution
assortie de l'option RESULT SETS <définition
[RESULT SETS
du jeu de résultats > est ignorée (p. 162)
(<result_sets_definition>)]
Utilisez la commande
EXECUTE sans cette option.
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. 162)
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. 162)
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. 162)
Procédez à une conversion
manuelle.
TOP
Problème 7799 : PostgreSQL ne prend pas
en charge l'option TOP dans l'opérateur
INSERT (p. 162)
Procédez à une conversion
manuelle.
INSERT
Version 1.0
149
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
Opérateurs
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. 163)
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. 163)
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. 163)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Parser Error
Problème 7663 : Impossible de résoudre
l'objet (p. 163)
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.
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. 164)
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. 164)
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. 164)
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. 164)
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. 164)
Procédez à une conversion
manuelle.
Parser Error
SELECT
Version 1.0
150
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
condition de
recherche
Problème 7688 : PostgreSQL ne prend pas en
charge le prédicat FREETEXT (p. 164)
Procédez à une conversion
manuelle.
condition de
recherche
Problème 7795 : PostgreSQL est sensible
à la casse. Vérifiez la comparaison des
chaînes. (p. 164)
Vérifiez la comparaison des
chaînes.
TOP WITH TIES
Problème 7605 : PostgreSQL ne prend pas en
charge l'option WITH TIES (p. 164)
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. 165)
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. 165)
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 de
données qui dépend d'une
table ou d'une vue dans une
autre base de données.
Elément
Problème
Résolution
Objets SYS
Problème 7904 : Impossible de convertir l'objet
système <nom d'objet> (p. 165)
Procédez à une conversion
manuelle.
SEQUENCE
SYNONYMS
Objets SYS
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. 165)
Procédez à une conversion
manuelle.
Version 1.0
151
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
TRIGGERS
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. 166)
Procédez à une conversion
manuelle.
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. 167)
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. 167)
Procédez à une conversion
manuelle.
SQL non analysé
Question 7808 : SQL non analysé (p. 167)
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. 167)
Procédez à une conversion
manuelle.
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. 168)
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. 169)
Procédez à une conversion
manuelle.
UPDATE
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. 169)
Procédez à une conversion
manuelle.
Version 1.0
152
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 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;
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
Version 1.0
153
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
• 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec BUILT-IN 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
154
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 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';.
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 143)
Version 1.0
155
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. 94)
• 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.
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
Version 1.0
156
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
• 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.
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)
)
Version 1.0
157
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
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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.
Version 1.0
158
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 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.
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.
Version 1.0
159
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 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
Version 1.0
160
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
• 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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
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.
Version 1.0
161
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 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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
,sname
,name
,typeid
,taxcode
,stateid
,opendate
,closedate
)select
id+1000
,name
,name
,4
,61+id
,1
,getdate()
,null
from
Version 1.0
162
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
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
163
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 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.
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
164
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 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
165
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
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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec 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
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;
Version 1.0
166
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
$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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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)
Version 1.0
167
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
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
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,
Version 1.0
168
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
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
SET
FROM
WHERE
END
bank
@AccountBalance = 500
bank
id = 50005;
Rubriques connexes
• Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers
PostgreSQL (p. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 143)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
Version 1.0
169
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge de MySQL vers PostgreSQL
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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
automatique
ADD CONSTRAINT
Oui
ADD INDEX
Oui
Détails
Instructions Create
CREATE INDEX
Clause
Conversion
automatique
INDEX
Oui
Index UNIQUE
Oui
Détails
CREATE PROCEDURE
Clause
Conversion
automatique
PARAMETRES : IN, OUT,
INOUT
Oui
Avec des paramètres de
sortie
Oui
Sans paramètres de sortie
Oui
Détails
Version 1.0
170
AWS Schema Conversion Tool Guide de l'utilisateur
DML
CREATE TABLE
Clause
Conversion
automatique
Tables standard
Oui
Tables temporaires
Oui
Détails
CREATE TRIGGER
Clause
Conversion
automatique
Déclencheurs FOR EACH
ROW
Oui
Evénement déclencheur
(Insert/Update/Delete)
Oui
Temps de déclenchement
(Before/After)
Oui
Détails
CREATE VIEW
Clause
Conversion
automatique
Détails
Avec l'OPTION
ALGORITHM
Partielle
Problème 8824 : L'option ALGORITHM n'est pas pris en
charge (p. 200)
Avec l'OPTION CHECK
Oui
Dénomination d'objets
Clause
Conversion
automatique
Schémas
Oui
Tables, colonnes
Oui
Détails
DML
Clauses
FROM
Clause
Conversion
automatique
CROSS JOIN
Oui
Détails
Version 1.0
171
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
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
JOIN
Oui
RIGHT JOIN
Oui
RIGHT OUTER JOIN
Oui
STRAIGHT_JOIN
Oui
Sous-requêtes dans la
clause FROM
Oui
tables_list
Oui
Détails
Instructions
DELETE
Clause
Conversion
automatique
Détails
IGNORE
Partielle
Problème 8831 : PostgreSQL n'a pas une option similaire à
IGNORE pour les instructions DML (p. 196)
LIMIT
Oui
LOW_PRIORITY
Partielle
Problème 8830 : PostgreSQL n'a pas une option similaire à
LOW_PRIORITY pour les instructions DML (p. 196)
Syntaxe à plusieurs tables
Partielle
Problème 8834 : PostgreSQL ne peut pas effectuer
une suppression à partir de plusieurs tables en même
temps (p. 197)
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. 197)
Version 1.0
172
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
ORDER BY
Oui
QUICK
Partielle
Problème 8832 : PostgreSQL n'a pas une option similaire à
QUICK pour les instructions DML (p. 196)
Clause
Conversion
automatique
Détails
IGNORE
Partielle
Problème 8831 : PostgreSQL n'a pas une option similaire à
IGNORE pour les instructions DML (p. 196)
LOW_PRIORITY
| DELAYED |
HIGH_PRIORITY
Partielle
Problème 8830 : PostgreSQL n'a pas une option similaire à
LOW_PRIORITY pour les instructions DML (p. 196)
ON DUPLICATE KEY
UPDATE
Non
Problème 8829 : PostgreSQL n'a pas d'équivalent de
clause ON DUPLICATE KEY UPDATE (p. 196)
Instruction SELECT pour
insert
Oui
SET col1=expr1,..
Oui
VALUES(,…,)|VALUE(,…,)
Oui
INSERT
SELECT
Clause
Conversion
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
Détails
Problème 8653 : PostgreSQL ne prend pas en charge
l'option GROUP BY ROLLUP (p. 199)
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
Version 1.0
173
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
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. 197)
SQL_BUFFER_RESULT
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
SQL_CACHE
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
SQL_CALC_FOUND_ROWS Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
SQL_NO_CACHE
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
SQL_SMALL_RESULT
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
STRAIGHT_JOIN
Partielle
Problème 8836 : PostgreSQL n'a pas une option similaire à
%s pour les instructions DML (p. 197)
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. 197)
Version 1.0
174
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
UPDATE
Clause
Conversion
automatique
DEFAULT VALUES
Oui
IGNORE
Partielle
LIMIT
Oui
LOW_PRIORITY
Partielle
Syntaxe à plusieurs tables
Oui
ORDER BY
Oui
Détails
Problème 8831 : PostgreSQL n'a pas une option similaire à
IGNORE pour les instructions DML (p. 196)
Problème 8830 : PostgreSQL n'a pas une option similaire à
LOW_PRIORITY pour les instructions DML (p. 196)
Fonctions
Agrégation
Clause
Conversion
automatique
AVG()
Oui
BIT_AND()
Oui
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
Détails
Version 1.0
175
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Bit
Clause
Conversion
automatique
BIT_COUNT()
Oui
Détails
Flux de contrôle
Clause
Conversion
automatique
CASE
Oui
IF()
Oui
IFNULL()
Oui
NULLIF()
Oui
Détails
Conversion
Clause
Conversion
automatique
BINARY
Oui
CAST()
Oui
CONVERT()
Oui
Détails
Date et heure
Clause
Conversion
automatique
ADDDATE()
Oui
ADDTIME()
Oui
CONVERT_TZ()
Oui
CURDATE()
Oui
Détails
CURRENT_DATE(), CURRENT_DATE
Oui
CURRENT_TIME(), CURRENT_TIME
Oui
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP
Oui
CURTIME()
Oui
DATE()
Oui
Version 1.0
176
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
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
HOUR()
Oui
LAST_DAY
Oui
LOCALTIME(), LOCALTIME
Oui
Détails
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
Version 1.0
177
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
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
UTC_TIME()
Oui
UTC_TIMESTAMP()
Oui
WEEK()
Non
WEEKDAY()
Oui
WEEKOFYEAR()
Oui
YEAR()
Oui
YEARWEEK()
Non
Détails
Chiffrement et compression
Clause
Conversion
automatique
AES_DECRYPT()
Non
AES_ENCRYPT()
Non
COMPRESS()
Non
DECODE()
Non
DES_DECRYPT() (a rendu
obsolète 5.7.6)
Non
Détails
Version 1.0
178
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
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
Détails
UNCOMPRESSED_LENGTH()Non
VALIDATE_PASSWORD_STRENGTH()
Non
Informations
Clause
Conversion
automatique
BENCHMARK()
Non
CHARSET()
Non
COERCIBILITY()
Non
COLLATION()
Non
CONNECTION_ID()
Non
Détails
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
Version 1.0
179
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
USER()
Non
VERSION()
Non
Détails
Mathématique
Clause
Conversion
automatique
ABS()
Oui
ACOS()
Oui
ASIN()
Oui
ATAN()
Oui
ATAN2()
Oui
CEIL()
Oui
CEILING()
Oui
CONV()
Non
COS()
Oui
COT()
Oui
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
Détails
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
Version 1.0
180
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
ROUND(X)
Oui
SIGN()
Oui
SIN()
Oui
SQRT()
Oui
TAN()
Oui
TRUNCATE()
Oui
Détails
Chaîne
Clause
Conversion
automatique
Détails
ASCII()
Oui
BIN()
Oui
BIT_LENGTH()
Oui
CHAR()
Oui
CHAR_LENGTH()
Oui
CHARACTER_LENGTH()
Oui
CONCAT()
Non
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. 192)
FROM_BASE64()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
HEX()
Oui
INSERT()
Oui
INSTR()
Oui
LCASE()
Oui
LEFT()
Oui
Version 1.0
181
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Clause
Conversion
automatique
Détails
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
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. 192)
SOUNDS LIKE
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
SPACE()
Oui
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
Version 1.0
182
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion
automatique
Détails
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. 192)
Clause
Conversion
automatique
Détails
ExtractValue()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
UpdateXML()
Non
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
Problème 8811 : PostgreSQL ne prend pas en charge la
fonction %s (p. 192)
XML
Types de données
Date et heure
Type de données
Converti
Détails
automatiquement
en
DATE
date
DATETIME
horodatage
sans fuseau
horaire
TIME
time
TIMESTAMP
horodatage
sans fuseau
horaire
Version 1.0
183
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Converti
Détails
automatiquement
en
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. 195)
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. 195)
BOOLEAN
boolean
Problème 8848 : Dans MySQL, le type BOOLEAN est un
synonyme pour TINYINT (p. 195)
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
Version 1.0
184
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
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
Virgule flottante
Type de données
Converti
Détails
automatiquement
en
DOUBLE
double
precision
DOUBLE PRECISION
double
precision
DOUBLE PRECISION (p)
double
precision
DOUBLE PRECISION (p,s)
double
precision
DOUBLE(p)
double
precision
DOUBLE(p,s)
double
precision
FLOAT
real
Version 1.0
185
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Converti
Détails
automatiquement
en
FLOAT(p)
précision de
1 à 24 : real
précision >
24 : double
précision
FLOAT(p's)
double
precision
REAL
double
precision
REAL(p)
double
precision
REAL(p,s)
double
precision
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. 195)
GEOMETRYCOLLECTION
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
LINESTRING
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
MULTILINESTRING
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
MULTIPOINT
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
MULTIPOLYGON
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
POINT
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
POLYGON
VARCHAR(8000)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
Version 1.0
186
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
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. 195)
BLOB
bytea
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
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. 195)
TEXT
text
TINYBLOB
bytea
TINYTEXT
text
VARBINARY(len)
bytea
VARCHAR(len)
varchar
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
Problème 8706 : PostgreSQL ne prend pas en charge le
type %s (p. 195)
Informations de référence sur la conversion de MySQL
vers PostgreSQL.
BUILT-IN SQL FUNCTIONS
Elément
Problème
Résolution
Fonction
Problème 8811 : PostgreSQL ne prend pas en
charge la fonction %s (p. 192)
Créez une fonction définie par
l'utilisateur.
Version 1.0
187
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
Fonction
Problème 8849 : PostgreSQL ne prend pas
en charge la fonction %s avec les valeurs de
paramètre %s (p. 192)
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. 192)
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. 192)
Procédez à une conversion
manuelle.
Fonction
Problème 8854 : PostgreSQL ne prend
pas en charge la fonction %s avec des
paramètres (p. 193)
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. 193)
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. 193)
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. 193)
Procédez à une conversion
manuelle.
gestion des erreurs
Problème 8844 : Les codes d'erreur ne sont
pas identiques (p. 193)
Vous devez vérifier le résultat
de la conversion
gestion des erreurs
Problème 8846 : PostgreSQL ne prend pas en
charge l'option d'instruction %s (p. 194)
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. 194)
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. 194)
Procédez à une conversion
manuelle.
PROCESS_LIST
Problème 8856 : Les informations des
processus de serveur varient en fonction des
serveurs (p. 194)
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. 194)
Procédez à une conversion
manuelle.
Version 1.0
188
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
SLEEP
Problème 8853 : Procédez à une conversion
manuelle si vous utilisez SLEEP() avec
d'autres expressions (p. 194)
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. 195)
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. 195)
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. 195)
Pour stocker les données de
ce type dans PostgreSQL,
utilisez un type compatible
PostgreSQL ou un type
composite.
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. 195)
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. 196)
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. 196)
Procédez à une conversion
manuelle.
DML
Problème 8830 : PostgreSQL n'a pas une
option similaire à LOW_PRIORITY pour les
instructions DML (p. 196)
Utilisez l'instruction DML sans
cette option.
CREATE
Elément
DATATYPES
DDL
DML
Version 1.0
189
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
DML
Problème 8831 : PostgreSQL n'a pas une
option similaire à IGNORE pour les instructions
DML (p. 196)
Utilisez l'instruction DML sans
cette option.
DML
Problème 8832 : PostgreSQL n'a pas une
option similaire à QUICK pour les instructions
DML (p. 196)
Utilisez l'instruction DML sans
cette option.
DML
Problème 8833 : PostgreSQL ne peut pas
mettre à jour plusieurs tables en même
temps (p. 196)
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. 197)
Procédez à une conversion
manuelle.
SELECT
Problème 8835 : PostgreSQL n'a pas
une option similaire à DELAYED pour les
instructions DML (p. 197)
Utilisez l'instruction DML sans
cette option.
SELECT
Problème 8836 : PostgreSQL n'a pas une
option similaire à %s pour les instructions
DML (p. 197)
Utilisez l'instruction DML sans
cette option.
SELECT
Problème 8837 : PostgreSQL ne prend pas en
charge de clause STRAIGHT_JOIN (p. 197)
Utilisez l'instruction DML sans
cette option
SELECT
Problème 8838 : PostgreSQL ne
prend pas en charge de clause
SQL_SMALL_RESULT (p. 197)
Utilisez l'instruction DML sans
cette option
SELECT
Problème 8839 : PostgreSQL ne
prend pas en charge de clause
SQL_BIG_RESULT (p. 197)
Utilisez l'instruction DML sans
cette option
SELECT
Problème 8840 : PostgreSQL ne
prend pas en charge de clause
SQL_BUFFER_RESULT (p. 197)
Utilisez l'instruction DML sans
cette option
SELECT
Problème 8841 : PostgreSQL ne prend pas en
charge de clause SQL_CACHE (p. 197)
Utilisez l'instruction DML sans
cette option
SELECT
Problème 8842 : PostgreSQL ne prend pas en
charge de clause SQL_NO_CACHE (p. 197)
Utilisez l'instruction DML sans
cette option
SELECT
Problème 8843 : PostgreSQL ne
prend pas en charge de clause
SQL_CALC_FOUND_ROWS (p. 197)
Utilisez l'instruction DML sans
cette option
WHERE
Problème 8795 : PostgreSQL est sensible
à la casse. Vérifiez la comparaison des
chaînes. (p. 197)
Vérifiez la comparaison des
chaînes.
Version 1.0
190
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
EVENTS
Elément
Problème
Résolution
EVENTS
Problème 8855 : La conversion automatique
de la syntaxe EVENT n'est pas prise en
charge (p. 198)
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. 198)
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. 198)
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. 198)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Parser Error
Problème 8663 : Impossible de résoudre
l'objet (p. 199)
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. 199)
Procédez à une conversion
manuelle.
EXECUTE
Opérateurs
Parser Error
SELECT
Version 1.0
191
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
TRANSACTION
Elément
Problème
Résolution
TRANSACTION
Problème 8807 : PostgreSQL ne prend
pas en charge les transactions dans les
fonctions (p. 199)
Procédez à une conversion
manuelle.
Unknown (inconnu)
Elément
Clause inconnue
Problème
Résolution
Problème 8655 : Cette conversion d'élément
syntaxique n'est pas encore prise en
charge (p. 199)
Procédez à une conversion
manuelle.
Problème 8674 : La conversion automatique de Procédez à une conversion
la clause %s de l'instruction %s n'est pas pris
manuelle.
en charge (p. 200)
VIEW
Elément
Problème
Résolution
CREATE VIEW
Problème 8824 : L'option ALGORITHM n'est
pas pris en charge (p. 200)
Procédez à une conversion
manuelle.
Problèmes de conversion avec BUILT-IN 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.
Version 1.0
192
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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 :
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 modifiezle 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 :
Version 1.0
193
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
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.
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.
Version 1.0
194
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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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 :
Version 1.0
195
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
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 modifiezle 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.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
196
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de MySQL vers PostgreSQL.
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.
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.
Version 1.0
197
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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Rubriques connexes
• Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 187)
Version 1.0
198
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. 94)
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
199
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge d'Oracle vers MySQL
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;
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 187)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
200
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Rubriques
• Instructions (p. 201)
• Procédures (p. 206)
• Contrôle de flux (p. 206)
• Packages (p. 206)
• Fonctions (p. 207)
• Opérateurs (p. 216)
• Types de données (p. 219)
• Langage de définition de données (DDL) (p. 222)
• Curseurs (p. 226)
• Indicateurs (p. 226)
• Exceptions (p. 229)
• Rubriques connexes (p. 229)
Instructions
Rubriques
• SELECT (p. 201)
• INSERT (p. 203)
• UPDATE (p. 203)
• DELETE (p. 204)
• MERGE (p. 205)
• TRUNCATE (p. 205)
• LOCK TABLE (p. 205)
SELECT
Clause
Conversion
automatique
Détails
WITH
Non
Utilisez une procédure stockée pour préparer les données
ou réécrivez votre requête pour éviter la clause WITH.
AS
Non
SELECT
Oui
DISTINCT | UNIQUE | ALL
Oui
select_list
Oui
BULK COLLECT INTO
Non
INTO
Oui
record_name
Non
FROM
Oui
@dblink
Non
Vous pouvez essayer d'inclure tous les champs de votre
table dans une clause INTO.
Version 1.0
201
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion
automatique
Détails
materialized view
Non
TABLE
(collection_expression)
Non
MODEL
Non
MySQL ne prend pas en charge l'instruction MODEL.
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.
Version 1.0
202
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
INSERT
Clause
Conversion
automatique
Détails
INTO table
Oui
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
table_collection_expression
Non
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é.
Clause
Conversion
automatique
Détails
UPDATE [indicateur]
Oui
table
Oui
PARTITION
Oui
PARTITION FOR
Non
UPDATE
Version 1.0
203
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion
automatique
Détails
SUBPARTITION
Non
Insérez des données dans la partition sus-jacente ou
procédez à une transformation manuelle à l'aide de
l'instruction UPDATE.
VIEW
Non
Effectuez plutôt une mise à jour sur les tables susjacentes.
MATERIALIZED VIEW
Non
sous-requête
Non
WITH
Non
table_collection_expression
Oui
SET
Oui
Effectuez plutôt cette opération sur les tables sousjacentes.
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
automatique
DELETE
Oui
FROM
Oui
PARTITION
Oui
PARTITION FOR
Non
SUBPARTITION
Non
VIEW
Non
Détails
Insérez des données dans la partition sus-jacente ou
procédez à une transformation manuelle à l'aide de
l'instruction DELETE.
Procédez à une conversion manuelle.
Version 1.0
204
AWS Schema Conversion Tool Guide de l'utilisateur
Instructions
Clause
Conversion
automatique
Détails
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
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é.
Instruction
Conversion
automatique
Détails
MERGE
Non
Pour obtenir l'effet d'une instruction MERGE, utilisez les
instructions INSERT, DELETE et UPDATE distinctes.
Clause
Conversion
automatique
Détails
TRUNCATE TABLE
Oui
PRESERVE
MATERIALIZED VIEW LOG
Non
PURGE MATERIALIZED
VIEW LOG
Non
DROP STORAGE
Non
REUSE STORAGE
Non
MERGE
TRUNCATE
LOCK TABLE
Clause
Conversion
automatique
PARTITION
Non
Détails
Version 1.0
205
AWS Schema Conversion Tool Guide de l'utilisateur
Procédures
Clause
Conversion
automatique
SUBPARTITION
Non
NOWAIT
Non
Détails
Procédures
Elément
Conversion
automatique
Détails
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.
Clause
Conversion
automatique
Détails
GOTO
Non
FORALL
Non
EXECUTE IMMEDIATE
Non
BULK COLLECT
Non
RETURNING BULK
COLLECT INTO
Non
LABEL
Non
Essayez de réécrire les variables sans utiliser d'étiquettes
(labels).
Elément
Conversion
automatique
Détails
Bloc d'initialisation, BEGIN
… END
Partielle
MySQL ne prend pas en charge EXCEPTION BLOCK
dans les blocs d'initialisation des packages. Essayez
d'utiliser CONTINUE HANDLER.
Type utilisateur
Non
Curseur global
Non
Contrôle de flux
Essayez d'utiliser une instruction WHILE DO.
Packages
Version 1.0
206
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Elément
Conversion
automatique
Exception utilisateur globale
Non
Détails
Fonctions
Rubriques
• Fonctions d'agrégation (p. 207)
• Fonctions de date et d'heure (p. 209)
• Fonctions mathématiques (p. 210)
• Fonctions de caractères (chaîne) (p. 211)
• Fonctions de conversion (p. 212)
• Fonctions de comparaison générale (p. 214)
• Fonctions d'encodage et de décodage (p. 214)
• E-mail (p. 214)
• HTTP (p. 214)
• SMS (p. 214)
• Fonctions NULL (p. 215)
• Fonctions définies par l'utilisateur (p. 215)
• Fonctions d'objet volumineux (p. 216)
• Fonctions hiérarchiques (p. 216)
• Fonctions analytiques (p. 216)
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
automatique
AVG
Oui
COLLECT
Non
CORR
Non
CORR_*
Non
COUNT
Oui
COVAR_POP
Non
COVAR_SAMP
Non
CUME_DIST
Non
DENSE_RANK
Non
FIRST
Non
Détails
Version 1.0
207
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
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
Détails
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
VARIANCE
Oui
Converti en : TRUNCATE()
Version 1.0
208
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions de date et d'heure
Fonction
Conversion
automatique
Détails
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
SESSIONTIMEZONE
Non
SYS_EXTRACT_UTC
Non
SYSDATE
Partielle
Converti en : SYSDATE()
SYSTIMESTAMP
Partielle
Converti en : CURRENT_TIMESTAMP
Version 1.0
209
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
Détails
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
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
NANVL (n2, n1)
Non
POWER(value, n)
Oui
REMAINDER(n1, n2)
Partielle
ROUND (num, integer)
Oui
Détails
Converti en : (exp1 et exp2)
Converti en : (EXP(num) + EXP(-num)) / 2
Converti en : (n1 - n2*ROUND(n1/n2))
Version 1.0
210
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
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
Détails
Converti en : TRUNCATE(num, 0)
Fonctions de caractères (chaîne)
Fonction
Conversion
automatique
ASCII(str)
Oui
CHR(num)
Partielle
CONCAT(char1, char2)
Oui
INITCAP(string)
Non
INSTR(str, substr)
Oui
INSTR(str, substr, pos)
Partielle
Détails
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
LTRIM(string)
Oui
LTRIM(string, set)
Partielle
NLS_INITCAP
Non
NLS_LOWER
Non
Converti en : LENGTH (string)
Converti en : LPAD(string, len, ' ')
Converti en : TRIM(LEADING set FROM string)
Version 1.0
211
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
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
Détails
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
automatique
ASCIISTR(string)
Non
BIN_TO_NUM(bit1, bit2, …)
Non
CAST
Oui
CHARTOROWID
Non
COMPOSE
Non
CONVERT(string, charset)
Partielle
DECOMPOSE
Non
HEXTORAW
Non
Détails
Converti en : CONVERT(string USING charset)
Version 1.0
212
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
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
Détails
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.
TO_CLOB
Partielle
TO_DATE
Partielle
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
TO_NUMBER
Non
TO_DSINTERVAL
Non
TO_SINGLE_BYTE
Non
TO_TIMESTAMP
Non
Version 1.0
213
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonction
Conversion
automatique
TO_TIMESTAMP_TZ
Non
TO_YMINTERVAL
Non
TRANSLATE ... USING
Non
UNISTR
Partielle
Détails
Converti en : CHAR(string USING UCS2)
Fonctions de comparaison générale
Fonction
Conversion
automatique
GREATEST(exp, exp2, …)
Oui
LEAST(exp, exp2, …)
Oui
Détails
Fonctions d'encodage et de décodage
Fonction
Conversion
automatique
Détails
DECODE(exp, when,
then, ...)
Partielle
Converti en : expression CASE
DUMP
Non
ORA_HASH
Non
VSIZE
Non
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).
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).
Version 1.0
214
AWS Schema Conversion Tool Guide de l'utilisateur
Fonctions
Fonctions NULL
Fonction
Conversion
automatique
Détails
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
automatique
Détails
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
Collections
Elément
Conversion
automatique
Détails
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,
Non
MySQL ne prend pas en charge les méthodes de collection
de type table. Essayez d'utiliser une table.
Version 1.0
215
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Elément
Conversion
automatique
Détails
Non
MySQL ne prend pas en charge le constructeur pour le
type de collection. Essayez d'utiliser une table.
Elément
Conversion
automatique
Détails
Type d'enregistrement UDT
Non
Type de collection UDT
Non
Type d'objet UDT
Non
collection_name.Count,
collection_name.Next
:= collection_type(...)
Arguments
Fonctions d'objet volumineux
Fonction
Conversion
automatique
Détails
BFILENAME
Non
EMPTY_BLOB
Partielle
Converti en chaîne vide.
EMPTY_CLOB
Partielle
Converti en chaîne vide.
Fonctions hiérarchiques
Fonction
Conversion
automatique
Détails
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
Rubriques
• Opérateurs arithmétiques (p. 217)
•
•
•
•
•
Opérateur d'affectation (p. 217)
Opérateurs de comparaison (p. 217)
Opérateurs logiques (p. 217)
Opérateur de concaténation de chaînes (p. 218)
Spécificateurs de format de date et d'heure (p. 218)
Version 1.0
216
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Opérateurs arithmétiques
Clause
Conversion
automatique
+
Oui
–
Oui
+-
Partielle
*/
Oui
Détails
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
automatique
=
Oui
Détails
Opérateurs de comparaison
Clause
Conversion
automatique
>
Oui
<
Oui
>=
Oui
<=
Oui
<>
Oui
!=
Oui
!<
Oui
!>
Oui
Détails
Opérateurs logiques
Clause
Conversion
automatique
IN
Oui
NOT IN
Oui
ANY
Oui
SOME
Oui
ALL
Oui
Détails
Version 1.0
217
AWS Schema Conversion Tool Guide de l'utilisateur
Opérateurs
Clause
Conversion
automatique
BETWEEN x
Oui
EXISTS
Oui
LIKE
Oui
IS NULL
Oui
NOT
Oui
AND
Oui
OR
Oui
Détails
Opérateur de concaténation de chaînes
Clause
Conversion
automatique
||
Oui
Détails
Spécificateurs de format de date et d'heure
Clause
Conversion
automatique
Conversion par défaut
YEAR
Non
YYYY
Partielle
YYY
Non
YY
Partielle
Y
Non
IYY
Non
IY
Partielle
I
Non
IYYY
Partielle
RRRR
Non
Q
Non
MM
Partielle
%m
MON
Partielle
%b
MONTH
Partielle
%M
RM
Non
%Y
%y
%y
%Y
Version 1.0
218
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Clause
Conversion
automatique
Conversion par défaut
WW
Partielle
%V
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
TZR
Non
%p
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
Version 1.0
219
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Conversion
automatique
Conversion par défaut
Détails
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)
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)
Version 1.0
220
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Conversion
automatique
Conversion par défaut
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
TIMESTAMP(p) WITH TIME
ZONE
Partielle
DATETIME
UROWID
Oui
TEXT
UROWID(n)
Oui
VARCHAR(n)
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
221
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.
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
VARCHAR
Oui
TEXT
VARCHAR(n)
Oui
VARCHAR(n)
VARCHAR2
Oui
TEXT
VARCHAR2(n)
Oui
VARCHAR(n)
XMLTYPE
Oui
LONGTEXT
Détails
Langage de définition de données (DDL)
Rubriques
• CREATE TABLE (p. 222)
• CREATE INDEX (p. 223)
• CREATE TRIGGER (p. 223)
• CREATE VIEW (p. 224)
• CREATE CONSTRAINT (p. 225)
• CREATE SEQUENCE (p. 225)
CREATE TABLE
Les instructions CREATE TABLE sont converties automatiquement sauf dans les cas suivants.
Clause
Conversion
automatique
Détails
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.
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.
Version 1.0
222
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion
automatique
Détails
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
automatique
Détails
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.
WHEN(condition)
Non
MySQL ne prend pas en charge les déclencheurs
WHEN(condition). Appliquez la condition pour WHEN dans
le corps du déclencheur.
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.
Version 1.0
223
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion
automatique
Détails
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.
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)
triggering-event=ddl_events
Non
triggeringevent=database_events
Non
base-object-type=VIEW
Non
base-object-type=SCHEMA
Non
base-objecttype=DATABASE
Non
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.
Version 1.0
224
AWS Schema Conversion Tool Guide de l'utilisateur
Langage de définition de données (DDL)
Clause
Conversion
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
Détails
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.
Clause
Conversion
automatique
Détails
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.
Version 1.0
225
AWS Schema Conversion Tool Guide de l'utilisateur
Curseurs
Curseurs
Les curseurs sont convertis automatiquement sauf dans les cas suivants.
Clause
Conversion
automatique
Détails
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.
Clause
Conversion
automatique
/*+ ALL_ROWS */
Non
/*+ AND_EQUAL(table
index...) */
Non
/*+ APPEND */
Non
/*+ CACHE(table) */
Non
/*+ CHOOSE */
Non
/*+ CLUSTER(table) */
Non
Détails
/*+
Non
CURSOR_SHARING_EXACT
*/
/*+ DRIVING_SITE(table) */
Non
/*+ DYNAMIC_SAMPLING
*/
Non
Version 1.0
226
AWS Schema Conversion Tool Guide de l'utilisateur
Indicateurs
Clause
Conversion
automatique
Détails
/*+
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
/*+ 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
Version 1.0
227
AWS Schema Conversion Tool Guide de l'utilisateur
Indicateurs
Clause
Conversion
automatique
/*+ NO_UNNEST */
Non
/*+ NOAPPEND */
Non
/*+ NOCACHE(table) */
Non
/*+ NOFACT(table) */
Non
/*+ ORDERED */
Non
/*+
ORDERED_PREDICATES
*/
Non
/*+ PARALLEL(table
server_num) */
Non
Détails
/*+ PARALLEL_INDEX(table Non
index server_num) */
/*+ PQ_DISTRIBUTE(table
out_distr in_distr) */
Non
/*+ PUSH_PRED(subquery)
*/
Non
/*+ PUSH_SUBQ(subquery)
*/
Non
/*+ REWRITE */
Non
/*+ ROWID(table) */
Non
/*+ RULE */
Non
/*+ STAR */
Non
/*+
STAR_TRANSFORMATION
*/
Non
/*+ UNNEST */
Non
/*+ USE_CONCAT */
Non
/*+ USE_HASH(table1
table2) */
Non
/*+ USE_MERGE(table1
table2) */
Non
Version 1.0
228
AWS Schema Conversion Tool Guide de l'utilisateur
Exceptions
Exceptions
Elément
Conversion
automatique
Détails
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
automatique
Détails
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.
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. 9)
Version 1.0
229
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge d'Oracle vers PostgreSQL
• 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
automatique
ALTER CLUSTER
Non
ALTER DATABASE
Non
ALTER DIMENSION
Non
ALTER DISKGROUP
Non
ALTER FLASHBACK
ARCHIVE
Non
ALTER FUNCTION
Non
ALTER TABLESPACE
Non
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
Détails
Version 1.0
230
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
Clause
Conversion
automatique
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
Détails
ALTER TABLE
Clause
Conversion
automatique
ADD CONSTRAINT
Oui
ADD column
Non
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
Détails
Version 1.0
231
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
Instruction CREATE [OR REPLACE] VIEW
Clause
Conversion
automatique
FORCE
Oui
NOFORCE
Oui
READ ONLY
Oui
Vues actualisables
Oui
WITH OBJECT IDENTIFIER
Oui
Détails
Instruction CREATE INDEX
Clause
Conversion
automatique
Détails
BITMAP
Non
Problème 5206 : PostgreSQL ne prend pas en charge les
index bitmap (p. 274)
DOMAIN
Non
Problème 5208 : PostgreSQL ne prend pas en charge les
index de domaine (p. 274)
FUNCTION-BASED
BITMAP
Non
Problème 5206 : PostgreSQL ne prend pas en charge les
index bitmap (p. 274)
FUNCTION-BASED
NORMAL
Oui
Problème 5555 : PostgreSQL ne prend pas en charge
les index fonctionnels qui ne tiennent pas sur une seule
colonne (p. 274)
NONUNIQUE
Oui
NORMAL
Oui
UNIQUE
Oui
CREATE TABLE
Clause
Conversion
automatique
Détails
Tables en cluster
Non
Problème 5199 : PostgreSQL ne prend pas en charge
CLUSTERED TABLE (p. 275)
Table externe
Non
Problème 5200 : PostgreSQL ne prend pas en charge
EXTERNAL TABLES (p. 275)
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. 275)
Table partitionnée
Non
Problème 5201 : PostgreSQL ne prend pas en charge tous
les types de partition (p. 275)
Version 1.0
232
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
Tables standard
Oui
Tables temporaires
Partielle
Problème 5198 : PostgreSQL ne prend pas en charge
GLOBAL TEMPORARY TABLE (p. 275)
Clause
Conversion
automatique
Détails
CREATE
Oui
Using
Oui
Séquences
DML
Fonctions SQL intégrées
Fonctions d'agrégation
Clause
Conversion
automatique
Détails
AVG
Oui
COLLECT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
CORR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
CORR_*
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
COUNT
Oui
COVAR_POP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
COVAR_SAMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
CUME_DIST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
DENSE_RANK
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
FIRST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
GROUP_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
233
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
GROUPING
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
GROUPING_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
LAST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
MAX
Oui
MEDIAN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
MIN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PERCENT_RANK
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PERCENTILE_CONT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PERCENTILE_DISC
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
RANK
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Fonctions REGR_
(régression linéaire)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_BINOMIAL_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_CROSSTAB
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_F_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_KS_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_MODE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_MW_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_ONE_WAY_ANOVA Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_T_TEST_*
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STATS_WSR_TEST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
234
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
STDDEV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STDDEV_POP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
STDDEV_SAMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SUM
Oui
VAR_POP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
VAR_SAMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
VARIANCE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Clause
Conversion
automatique
Détails
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
Fonctions analytiques
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
235
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
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. 273)
Fonctions REGR_
(régression linéaire) *
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
ROW_NUMBER
Oui
STDDEV *
Oui
STDDEV_POP *
Oui
STDDEV_SAMP *
Oui
SUM *
Oui
VAR_POP *
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
VAR_SAMP *
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
VARIANCE *
Oui
Fonctions de caractères retournant des valeurs de caractère
Clause
Conversion
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
Détails
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
236
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
NLS_LOWER
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
NLS_UPPER
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
NLSSORT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
REGEXP_REPLACE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
REGEXP_SUBSTR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
REPLACE(str, search)
Oui
REPLACE(str, search,
replace)
Oui
RPAD(string, len)
Oui
RTRIM(string)
Oui
RTRIM(string, set)
Oui
SOUNDEX(String)
Oui
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. 273)
Fonctions de caractère retournant des valeurs numériques
Clause
Conversion
automatique
ASCII(str)
Oui
INSTR(str, substr)
Oui
INSTR(str, substr, pos)
Implémenté
dans la
bibliothèque
d'extensions
Détails
Version 1.0
237
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
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. 273)
Clause
Conversion
automatique
Détails
CARDINALITY
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
COLLECT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Fonctions de collection
Fonctions de conversion
Clause
Conversion
automatique
Détails
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. 273)
COMPOSE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
CONVERT(string, charset)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
DECOMPOSE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
HEXTORAW
Oui
NUMTODSINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
238
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
NUMTOYMINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
RAWTOHEX
Oui
RAWTONHEX
Oui
ROWIDTOCHAR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
ROWIDTONCHAR
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
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
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
Version 1.0
239
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
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. 273)
TRANSLATE ... USING
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
UNISTR
Implémenté
dans la
bibliothèque
d'extensions
Fonctions d'exploration des données
Clause
Conversion
automatique
Détails
CLUSTER_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
CLUSTER_PROBABILITY
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
CLUSTER_SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
FEATURE_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
FEATURE_SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
FEATURE_VALUE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PREDICTION
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PREDICTION_COST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PREDICTION_DETAILS
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PREDICTION_PROBABILITY Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
240
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
PREDICTION_SET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Clause
Conversion
automatique
Détails
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
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
Fonctions Datetime
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
MONTHS_BETWEEN(date1, Oui
date2)
Version 1.0
241
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
NEW_TIME
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
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. 273)
NUMTOYMINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
ROUND (date)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
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. 273)
TO_TIMESTAMP(exp)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
TO_TIMESTAMP_TZ
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
TO_YMINTERVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
TRUNC (datetime)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
TZ_OFFSET
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Clause
Conversion
automatique
Détails
dbms_output.put()
Oui
dbms_output.put_line()
Oui
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
dbms_output
Version 1.0
242
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Fonctions d'encodage et de décodage
Clause
Conversion
automatique
Détails
DECODE(exp, when, then,
…)
Oui
DUMP
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
ORA_HASH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
VSIZE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Fonctions d'environnement et d'identificateur
Clause
Conversion
automatique
Détails
SYS_CONTEXT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SYS_GUID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SYS_TYPEID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
UID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
USER
Oui
USERENV('parameter')
Oui
Fonctions de comparaison générale
Clause
Conversion
automatique
GREATEST(exp, exp2, …)
Oui
LEAST(exp, exp2, …)
Oui
Détails
Fonctions hiérarchiques
Clause
Conversion
automatique
Détails
SYS_CONNECT_BY_PATH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
243
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Fonctions d'objet volumineux
Clause
Conversion
automatique
Détails
BFILENAME
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
EMPTY_BLOB,
EMPTY_CLOB
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Clause
Conversion
automatique
Détails
CV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
ITERATION_NUMBER
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PRESENTNNV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PRESENTV
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
PREVIOUS
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Fonctions de modèle
Fonctions de caractère NLS
Clause
Conversion
automatique
Détails
NLS_CHARSET_DECL_LEN Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
NLS_CHARSET_ID
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
NLS_CHARSET_NAME
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Fonctions liées aux valeurs NULL
Clause
Conversion
automatique
COALESCE(exp1, exp2, …)
Oui
LNNVL
Non
NULLIF(exp1, exp2)
Oui
Détails
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
244
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
NVL(exp, replacement)
Oui
NVL2(exp1, exp2, exp3)
Oui
Détails
Fonctions numériques
Clause
Conversion
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
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
Détails
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
245
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
TRUNC (number)
Oui
WIDTH_BUCKET
Oui
Détails
Fonctions de référence d'objet
Clause
Conversion
automatique
Détails
DEREF
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
MAKE_REF
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
REF
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
REFTOHEX
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
VALUE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Clause
Conversion
automatique
Détails
APPENDCHILDXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
DELETEXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
DEPTH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
EXISTSNODE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
EXTRACT (XML)
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
EXTRACTVALUE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
INSERTCHILDXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
INSERTXMLBEFORE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Fonctions XML
Version 1.0
246
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
PATH
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SYS_DBURIGEN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SYS_XMLAGG
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
SYS_XMLGEN
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
UPDATEXML
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLAGG
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLCDATA
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLCOLATTVAL
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLCOMMENT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLCONCAT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLFOREST
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLPARSE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLPI
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLQUERY
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLROOT
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLSEQUENCE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLSERIALIZE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLTABLE
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
XMLTRANSFORM
Non
Problème 5340 : PostgreSQL ne prend pas en charge la
fonction %s (p. 273)
Version 1.0
247
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Indicateurs
Clause
Conversion
automatique
Détails
Index et cluster
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Ordre des jointures
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Jointures
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Mode Optimiseur
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Exécution en parallèle
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Transformation de requête
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Autre
Non
Problème 5103 : PostgreSQL ne prend pas en charge
l'indicateur %s (p. 281)
Clause
Conversion
automatique
Détails
Jointures croisées
Oui
Jointures internes
Oui
Jointures externes
Oui
Jointures
Fonctions d'opérateurs et de date
Clause
Conversion
automatique
Opérateurs arithmétiques
Oui
Opérateurs de
concaténation
Oui
Détails
Prédicats
Clause
Conversion
automatique
Conditions booléennes
Oui
Détails
Version 1.0
248
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
Conditions de comparaison : Oui
'=, <>, <, <=, >, >=, ANY,
SOME, ALL
Conditions Exists
Oui
Conditions In
Oui
Conditions Null
Oui
Conditions de
Oui
correspondance de modèles
Conditions de plage
Oui
Opérateurs d'ensembles
Opérateurs de concaténation
Clause
Conversion
automatique
INTERSECT, EXCEPT
Oui
MINUS
Oui
UNION, UNION ALL
Oui
Détails
Instructions
DELETE
Clause
Conversion
automatique
Détails
DELETE FROM
MATERIALIZED VIEW
Non
Problème 5095 : PostgreSQL ne prend pas en charge
l'utilisation d'une VIEW matérialisée (p. 281)
DELETE FROM
SUBQUERY
Non
Problème 5068 : PostgreSQL ne prend pas en charge
l'instruction DELETE pour une sous-requête (p. 278)
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. 278)
Version 1.0
249
AWS Schema Conversion Tool Guide de l'utilisateur
DML
HIERARCHICAL QUERY AND HIERARCHICAL QUERY PSEUDOCOLUMNS
Clause
Conversion
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
SYS_CONNECT_BY_PATH
Oui
Détails
Problème 5586 : Conversion automatique des requêtes
assorties de la clause NOCYCLE non prise en
charge (p. 283)
Opérateurs de requête hiérarchique
Clause
Conversion
automatique
CONNECT_BY_ROOT
Oui
PRIOR
Oui
Détails
INSERT
Clause
Conversion
automatique
ALL
Oui
DEFAULT
Oui
ELSE Oui
FIRST
Oui
Détails
INSERT à partir de la clause Oui
« SUBQUERY »
INSERT à partir de la clause Oui
« VALUES(...) »
INSERT INTO SUBQUERY
Non
INSERT INTO TABLE
Oui
INSERT INTO VIEW
Oui
Problème 5071 : PostgreSQL ne prend pas en charge
l'instruction INSERT pour une sous-requête (p. 280)
Version 1.0
250
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
INSERT avec
partition_extension_clause
Non
Problème 5024 : PostgreSQL ne prend
pas en charge l'instruction INSERT avec
partition_extension_clause (p. 280)
Insertion dans une table
Non
avec la clause Error Logging
RETURNING INTO
Oui
WHEN
Oui
Problème 5070 : PostgreSQL ne prend pas en charge
l'instruction INSERT avec l'option ERROR LOG (p. 280)
LOCK TABLE
Clause
Conversion
automatique
Verrouillage de table en
mode exclusif
Oui
Verrouillage de table en
mode partage
Oui
Verrouillage sans attente
Oui
Détails
SELECT
Clause
Conversion
automatique
Détails
Opérateur d'addition ou de
soustraction
Oui
BULK COLLECT INTO
Non
Problème 5140 : PostgreSQL ne prend pas en charge
BULK COLLECT INTO (p. 283)
CUBE
Non
Problème 5557 : PostgreSQL ne prend pas en charge les
fonctions GROUPING SETS, CUBE et ROLLUP (p. 283)
FOR UPDATE
Non
Problème 5139 : PostgreSQL ne prend pas en charge FOR
UPDATE SKIP LOCKED (p. 283)
GROUP BY
Oui
GROUPING SETS
Non
HAVING
Oui
INTERSECT
Oui
INTO
Oui
MINUS
Oui
Problème 5557 : PostgreSQL ne prend pas en charge les
fonctions GROUPING SETS, CUBE et ROLLUP (p. 283)
Version 1.0
251
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
MODEL
Non
Problème 5126 : PostgreSQL ne prend pas en charge
l'instruction MODEL (p. 283)
ORDER BY
Oui
Clause PIVOT
Non
Problème 5077 : PostgreSQL ne prend pas en charge la
clause PIVOT pour l'instruction SELECT (p. 289)
ROLLUP
Non
Problème 5557 : PostgreSQL ne prend pas en charge les
fonctions GROUPING SETS, CUBE et ROLLUP (p. 283)
Pseudo-colonne ROWNUM
Oui
SELECT ALL
Oui
SELECT DISTINCT
Oui
SELECT LIST
Oui
SELECT UNIQUE
Oui
UNION
Oui
UNION ALL
Oui
Clause UNPIVOT
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
Oui
Version 1.0
252
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
UPDATE
Clause
Conversion
automatique
Détails
UPDATE (subquery)
Non
Problème 5065 : PostgreSQL ne prend pas en charge
l'instruction UPDATE pour une sous-requête (p. 288)
UPDATE MATERIALIZED
VIEW
Non
Problème 5095 : PostgreSQL ne prend pas en charge
l'utilisation d'une VIEW matérialisée (p. 281)
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. 288)
UPDATE avec clause
d'extension de partition
Non
Problème 5558 : PostgreSQL ne prend pas en charge
l'instruction UPDATE pour une PARTITION (p. 288)
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
Clause
Conversion
automatique
Détails
MERGE
Non
Problème 5102 : PostgreSQL ne prend pas en charge
l'instruction MERGE (p. 281)
TRUNCATE TABLE
Oui
PLSQL
Arguments des fonctions et des procédures
Clause
Conversion
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
Détails
Version 1.0
253
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion
automatique
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
Détails
Fonctions
Clause
Conversion
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
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
Détails
Packages
Clause
Conversion
automatique
Détails
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. 282)
Version 1.0
254
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion
automatique
Détails
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. 282)
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
automatique
block EXCEPTION when
exception_name then…
Oui
CASE_NOT_FOUND
Oui
case when conditions
then…else… end case;
Oui
close cursor_variable
Oui
COMMIT
Oui
Détails
CURSOR_ALREADY_OPEN Oui
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
Problème 5334 : PostgreSQL ne prend pas en charge
l'instruction SQL dynamique (p. 278)
Problème 5121 : PostgreSQL ne prend pas en charge
l'instruction FORALL (p. 287)
Version 1.0
255
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion
automatique
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
Détails
Problème 5335 : PostgreSQL ne prend pas en charge
l'opérateur GOTO (p. 284)
open cursor_variable for
Oui
select_statemet_string_variable
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. 280)
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
Problème 5140 : PostgreSQL ne prend pas en charge
BULK COLLECT INTO (p. 283)
Version 1.0
256
AWS Schema Conversion Tool Guide de l'utilisateur
PLSQL
Clause
Conversion
automatique
Détails
SQL%ISOPEN
Non
Problème 5084 : PostgreSQL ne prend pas en charge
l'attribut de curseur %ISOPEN (p. 277)
SQL%NOTFOUND
Oui
SQL%ROWCOUNT
Oui
STORAGE_ERROR
Oui
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
automatique
Déclaration d'une variable
scalaire intégrée
Oui
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
Détails
Version 1.0
257
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Procédures
Clause
Conversion
automatique
Instruction CREATE
PROCEDURE
Oui
Détails
Déclencheurs
Clause
Conversion
automatique
Détails
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. 285)
REFERENCING - clause
Non
Problème 5238 : PostgreSQL ne prend pas en charge les
clauses REFERENCING (p. 286)
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
Problème 5212 : PostgreSQL n'a pas un type de données
BFILE (p. 274)
Version 1.0
258
AWS Schema Conversion Tool Guide de l'utilisateur
Types de données
Type de données
Converti
Détails
automatiquement
en
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
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
Problème 5550 : PostgreSQL n'a pas un type de données
ROWID (p. 275)
Version 1.0
259
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
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. 276)
UROWID
character
varying
Problème 5551 : PostgreSQL n'a pas un type de données
UROWID (p. 276)
VARCHAR
character
varying
VARCHAR2
character
varying
XMLTYPE
xml
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. 276)
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. 276)
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. 272)
Impossible de retourner
une réponse car cette
fonctionnalité est asynchrone.
Version 1.0
260
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 273)
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. 273)
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. 273)
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. 273)
Examinez votre code
transformé et modifiez-le, si
nécessaire. Modifiez un type
d'argument si nécessaire.
TO_CHAR,
TO_DATE,
TO_NUMBER
Problème 5579 : Le deuxième paramètre de
la fonction %s peut être traité de manière
incorrecte (p. 273)
Vérifiez le code converti et
effectuez des corrections
manuelles si nécessaire.
Problème
Résolution
Problème 5099 : Impossible de convertir l'objet
en raison de la non création de %s (p. 273)
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. 273)
Convertissez également l'objet
présent dans le schéma %s.
Problème 5582 : Objets chiffrés (p. 274)
Déchiffrez l'objet avant la
conversion.
CREATE
Elément
Objets chiffrés
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. 274)
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. 274)
Modifiez votre code et essayez
d'utiliser l'index simple.
Version 1.0
261
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
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. 274)
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. 274)
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
de données BFILE (p. 274)
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.
CREATION
D'UNE TABLE
PARTITIONNEE
Problème 5201 : PostgreSQL ne prend pas en
charge tous les types de partition (p. 275)
Procédez à une conversion
manuelle pour les types de
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. 275)
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. 275)
Essayez d'utiliser une table.
CREATION D'UNE
Problème 5198 : PostgreSQL ne prend
TABLE TEMPORAIRE pas en charge GLOBAL TEMPORARY
GLOBALE
TABLE (p. 275)
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. 275)
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. 275)
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. 275)
Modifiez votre code pour éviter
NESTED TABLE.
Type de données
ROWID
Problème 5550 : PostgreSQL n'a pas un type
de données ROWID (p. 275)
Examinez votre code
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. 275)
Elles ont été émulées par un
déclencheur.
Version 1.0
262
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
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. 276)
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. 276)
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. 276)
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
de données UROWID (p. 276)
Examinez votre code
transformé et modifiez-le, si
nécessaire.
Elément
Problème
Résolution
OBJECT TYPE
Problème 5572 : PostgreSQL ne prend pas en
charge les méthodes de type objet (p. 277)
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. 277)
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. 277)
Remplacez la fonction par
une procédure stockée et
essayez d'utiliser une table
pour stocker les résultats.
CREATE TYPE
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. 277)
Vérifiez si les données
enfreignent ces restrictions.
Si c'est le cas, effectuez une
migration manuelle.
Version 1.0
263
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
DELETE
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. 278)
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. 278)
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 sousrequête (p. 278)
Effectuez plutôt cette
opération sur les tables sousjacentes.
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. 278)
Procédez à une conversion
manuelle.
EXECUTE
IMMEDIATE
Problème 5334 : PostgreSQL ne prend pas en
charge l'instruction SQL dynamique (p. 278)
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. 278)
Procédez à une conversion
manuelle.
Problème
Résolution
DYNAMIC SQL
EXCEPTION
Elément
ACCESS_INTO_NULL Problème 5561 : PostgreSQL ne
prend pas en charge l'exception
ACCESS_INTO_NULL (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
COLLECTION_IS_NULL Problème 5562 : PostgreSQL ne
prend pas en charge l'exception
COLLECTION_IS_NULL (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
EMPTY_BLOCK
Vérifiez le code converti et
effectuez des corrections
manuelles si nécessaire.
Problème 5580 : Le bloc d'exception a été vidé
après la conversion (p. 279)
Version 1.0
264
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
EXCEPTION
Problème 5570 : PostgreSQL ne prend
pas en charge la déclaration de nom
d'exception (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
NO_DATA_NEEDED
Problème 5563 : PostgreSQL ne
prend pas en charge l'exception
NO_DATA_NEEDED (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
PROGRAM_ERROR
Problème 5560 : PostgreSQL ne
prend pas en charge l'exception
PROGRAM_ERROR (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
ROWTYPE_MISMATCH Problème 5564 : PostgreSQL ne
prend pas en charge l'exception
ROWTYPE_MISMATCH (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
SELF_IS_NULL
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 (p. 279)
SUBSCRIPT_BEYOND_COUNT
Problème 5566 : PostgreSQL ne
prend pas en charge l'exception
SUBSCRIPT_BEYOND_COUNT (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
SUBSCRIPT_OUTSIDE_LIMIT
Problème 5567 : PostgreSQL ne
prend pas en charge l'exception
SUBSCRIPT_OUTSIDE_LIMIT (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
en autre condition.
SYS_INVALID_ROWID Problème 5568 : PostgreSQL ne
prend pas en charge l'exception
SYS_INVALID_ROWID (p. 279)
Examinez l'exception utilisée
et, si possible, convertissez-la
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. 280)
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
Corrigez votre code pour
utiliser les instructions qui débutent ou
implémenter un contrôle de
terminent explicitement ou implicitement une
transaction côté application.
transaction, telles que START TRANSACTION,
COMMIT ou ROLLBACK (p. 280)
FONCTION
Version 1.0
265
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
INSERT
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. 280)
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é.
INSERT avec
Problème 5024 : PostgreSQL ne prend
partition_extension_clause
pas en charge l'instruction INSERT avec
partition_extension_clause (p. 280)
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 sousrequête (p. 280)
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. 281)
Insérez des données dans
la partition sus-jacente ou
procédez à une conversion
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. 281)
Modifiez votre code pour
remplacer une VUE
matérialisée par une autre
solution.
A L'AIDE DE LA VUE
MATERIALISEE
Problème 5095 : PostgreSQL ne prend
pas en charge l'utilisation d'une VIEW
matérialisée (p. 281)
Modifiez votre code pour
remplacer une VUE
matérialisée par une autre
solution.
Elément
Problème
Résolution
MERGE
Problème 5102 : PostgreSQL ne prend pas en
charge l'instruction MERGE (p. 281)
Pour obtenir l'effet d'une
instruction MERGE, utilisez les
instructions INSERT, DELETE
et UPDATE distinctes.
MERGE
Version 1.0
266
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Indicateurs d'optimiseur
Elément
Problème
Résolution
HINT
Problème 5103 : PostgreSQL ne prend pas en
charge l'indicateur %s (p. 281)
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. 282)
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. 282)
Utilisez une autre méthode
pour cette fonctionnalité.
PACKAGES
Déclaration du type de Problème 5569 : PostgreSQL prend
package utilisateur
uniquement en charge les variables de session
en utilisant les types d'heure et de temps
standard SQL (p. 282)
Modifiez votre architecture
avec une solution
personnalisée pour le type
d'utilisateur.
Parser Error
Elément
Problème
Résolution
Parser Error
Problème 5293 : Impossible de résoudre
l'objet (p. 282)
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. 282)
Examinez l'exception utilisée
et, si possible, convertissez-la
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. 283)
Vous pouvez essayer d'inclure
tous les champs de votre table
dans une clause INTO.
PRAGMA
SELECT
Version 1.0
267
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
FOR UPDATE SKIP
LOCKED
Problème 5139 : PostgreSQL ne prend
pas en charge FOR UPDATE SKIP
LOCKED (p. 283)
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. 283)
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. 283)
Procédez à une conversion
manuelle.
MODEL
Problème 5126 : PostgreSQL ne prend pas en
charge l'instruction MODEL (p. 283)
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. 283)
Procédez à une conversion
manuelle.
ROLLUP
Problème 5557 : PostgreSQL ne prend pas en
charge les fonctions GROUPING SETS, CUBE
et ROLLUP (p. 283)
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. 283)
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. 283)
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. 284)
Procédez à une conversion
manuelle.
SEQUENCE
Instructions
Version 1.0
268
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Synonyme
Elément
Problème
Résolution
synonyme privé
Problème 5333 : Cet objet utilise un synonyme
privé (p. 284)
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. 284)
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. 284)
Vérifiez qu'un objet référencé
créé après la conversion de
synonyme existe.
Paquet de système
Elément
Problème
Résolution
Package APEX_UTIL
Problème 5503 : MySQL ne comporte pas de
fonction similaire au module %s (p. 285)
Essayez à nouveau à l'aide
de l'Amazon Simple Workflow
(Amazon SWF).
DBMS_DATAPUMP
Problème 5502 : MySQL ne comporte pas de
fonction similaire au module %s (p. 285)
Essayez à nouveau à l'aide de
l'AWS Import/Export Snowball.
Module DBMS_JOB
Problème 5501 : MySQL ne comporte pas de
fonction similaire au module %s (p. 285)
Essayez d'utiliser le service
AWS Lambda avec les
événements planifiés.
Module UTL_MAIL
Problème 5500 : MySQL ne comporte pas de
fonction similaire au module %s (p. 285)
Essayez d'utiliser
Amazon Simple Notification Service
(Amazon SNS).
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. 285)
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. 285)
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. 285)
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. 285)
Créez un déclencheur unique
pour chaque composant du
déclencheur composé.
TRIGGERS
Version 1.0
269
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
FOLLOWS |
PRECEDES
Problème 5241 : PostgreSQL ne prend
pas en charge la clause FOLLOWS |
PRECEDES (p. 285)
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. 285)
Corrigez votre code pour
remplacer la table imbriquée
par une autre solution.
REFERENCING NEW
AS .. OLD AS ..
Problème 5238 : PostgreSQL ne prend pas en
charge les clauses REFERENCING (p. 286)
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. 286)
Utilisez une autre méthode
pour cette fonctionnalité.
état = non valide
Problème 5306 : Transformation à partir d'un
déclencheur non valide (p. 286)
Vérifiez que le déclencheur
d'origine ne comporte pas
d'erreurs et renouvelez la
conversion.
UPDATING(column_name)
Problème 5556 : PostgreSQL ne prend pas en
charge les prédicats conditionnels (p. 286)
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. 286)
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. 286)
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. 286)
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. 286)
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. 287)
Procédez à une conversion
manuelle.
UDT
Version 1.0
270
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 287)
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. 287)
Procédez à une conversion
manuelle.
FORALL
Problème 5121 : PostgreSQL ne prend pas en
charge l'instruction FORALL (p. 287)
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. 287)
Utilisez le type de « tableau ».
Elément
Problème
Résolution
Elément d'action
universel
Problème 5339 : L'objet %s n'est pas
valide (p. 287)
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. 287)
Procédez à une conversion
manuelle.
Universal
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. 288)
Procédez à une conversion
manuelle.
Objet inconnu
Problème 5351 : La conversion automatique
d'objet %s n'est pas prise en charge (p. 288)
Procédez à une conversion
manuelle.
SQL non analysé
Question 5576 : SQL non analysé (p. 288)
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. 288)
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
UPDATE
Version 1.0
271
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
Elément
Problème
Résolution
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. 288)
Insérez des données dans
la partition sus-jacente 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 sousrequête (p. 288)
Effectuez plutôt cette
opération sur les tables sousjacentes.
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. 289)
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. 289)
Procédez à une conversion
manuelle.
OID_TEXT IS NOT
NULL
Problème 5321 : PostgreSQL ne prend pas en
charge l'objet view (p. 289)
Procédez à une conversion
manuelle.
Clause PIVOT
Problème 5077 : PostgreSQL ne prend pas
en charge la clause PIVOT pour l'instruction
SELECT (p. 289)
Vous pouvez utiliser une
procédure stockée pour
préparer les données, puis
retourner les données avec
une vue.
ETAT = NON VALIDE
Problème 5320 : PostgreSQL ne prend pas
en charge une vue associée à l'état non
valide (p. 289)
Procédez à une conversion
manuelle.
VIEW
VIEW_TYPE_OWNER Problème 5322 : PostgreSQL ne prend pas en
IS NOT NULL
charge une vue typée (p. 289)
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. 289)
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. 260)
Version 1.0
272
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec BUILT-IN 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 :
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
273
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
274
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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.
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,
Version 1.0
275
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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),
comm2
NUMERIC(3,0),
salary1
DOUBLE PRECISION,
salary2
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.
Version 1.0
276
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
277
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
278
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.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 260)
Version 1.0
279
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
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.
Version 1.0
280
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 260)
Version 1.0
281
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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 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
• Référence de conversion d'Oracle vers PostgreSQL (p. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
282
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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
283
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
284
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec 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.
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.
Version 1.0
285
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
286
AWS Schema Conversion Tool Guide de l'utilisateur
Référence de conversion d'Oracle vers PostgreSQL
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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é.
Problème 5591 : Le synonyme %s est système
Procédez à une conversion manuelle.
Version 1.0
287
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Rubriques connexes
• Référence de conversion d'Oracle vers PostgreSQL (p. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
288
AWS Schema Conversion Tool Guide de l'utilisateur
Conversion de schéma prise en
charge de PostgreSQL vers MySQL
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. 260)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
289
AWS Schema Conversion Tool Guide de l'utilisateur
DDL
DDL
Instructions
Tables
Clause
Conversion
automatique
ALTER TABLE
Oui
Colonnes incrémentées
automatiquement
Oui
Colonnes avec valeurs par
défaut
Partielle
CREATE TABLE
Oui
Contraintes reportables
Partielle
DROP TABLE
Oui
Expression en tant que
valeur par défaut pour une
colonne
Partielle
Détails
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. 335)
Problème 6111 : MySQL ne prend pas en charge les
contraintes reportables (p. 335)
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. 335)
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. 336)
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. 335)
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. 336)
Clés primaires
Oui
Tables standard
Oui
Héritage de table
Non
Problème 6108 : MySQL ne prend pas en charge les tables
héritées (p. 336)
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. 335)
Tables avec contraintes
d'exclusion
Partielle
Problème 6112 : MySQL ne prend pas en charge les
contraintes d'exclusion (p. 335)
Version 1.0
290
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
Tables sans colonnes
Non
Problème 6109 : MySQL ne prend pas en charge les tables
typées (p. 336)
Désactivation de
déclencheur
Non
Problème 6087 : MySQL ne prend pas en charge les
déclencheurs de désactivation (p. 337)
Tables typées
Non
Problème 6110 : MySQL ne prend pas en charge les tables
sans colonnes (p. 336)
Problème 6120 : MySQL ne prend pas en charge les types
de données définis par l'utilisateur (p. 339)
Clés uniques
Oui
Tables non journalisées
Non
Problème 6107 : MySQL ne prend pas en charge les tables
non journalisées (p. 336)
DML
Fonctions SQL intégrées
Agrégation
Clause
Conversion
automatique
Détails
All
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
All
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
All
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Caractère
Conversion
Version 1.0
291
AWS Schema Conversion Tool Guide de l'utilisateur
DML
DateTime
Clause
Conversion
automatique
Détails
All
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
All
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
All
Partielle
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
All
Non
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
All
Non
Problème 6667 : MySQL ne prend pas en charge la
fonction %s (p. 321)
Clause
Conversion
automatique
Détails
[NATURAL ] [ INNER ] JOIN
Oui
[NATURAL ] {LEFT |RIGHT
|FULL } [ OUTER ] JOIN
Oui
Numérique
Autre
Fenêtrage
XML
Jointures
TRUNCATE TABLE
Version 1.0
292
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
CROSS JOIN
Oui
USING ( join_column [, ...] )
Oui
Détails
Fonctions d'opérateurs et de date
Opérateurs de chaîne de bits
Clause
Conversion
automatique
||,&,|,#,~,<<,>>,
Oui
Détails
Opérateurs Date/Heure
Clause
Conversion
automatique
Détails
+,-,*,/
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. 330)
Problème 6661 : L'opération retourne le nombre de jours et
non la valeur d'intervalle (p. 330)
Opérateurs mathématiques
Clause
Conversion
automatique
+,-,*,/,
%,^,|/,||/,!,!!,@,&,|,#,~,<<,>>,
Oui
Détails
Opérateurs de chaîne
Clause
Conversion
automatique
||
Oui
Détails
Prédicats
Prédicat SIMILAR
Clause
Conversion
automatique
Détails
SIMILAR
Non
Problème 6607 : N'a pas pu convertir le modèle en version
MySQL ; vérifier manuellement le modèle (p. 331)
Version 1.0
293
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Conditions booléennes
Clause
Conversion
automatique
All
Oui
Détails
Condition de comparaison
Clause
Conversion
automatique
'=, <>, <, <=, >, >=
Oui
ANY, SOME, ALL
Oui
Détails
Conditions Exists
Clause
Conversion
automatique
EXISTS
Oui
Détails
Conditions In
Clause
Conversion
automatique
IN
Oui
Détails
Conditions Null
Clause
Conversion
automatique
NULL
Oui
Détails
Conditions de correspondance de modèles
Clause
Conversion
automatique
All
Oui
Détails
Conditions de plage
Clause
Conversion
automatique
All
Oui
Détails
Version 1.0
294
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Opérateurs d'ensembles
Opérateurs et fonctions de recherche de texte
Clause
Conversion
automatique
EXCEPT
Oui
INTERSECT
Oui
UNION
Oui
Détails
Instructions
INSERT
Clause
Conversion
automatique
Détails
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. 327)
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. 327)
INSERT INTO table
VALUES();
Oui
INSERT INTO table
VALUES({ expression
| DEFAULT }
[, ...] ),VALUES({ expression
| DEFAULT } [, ...] ) [, ...];
Oui
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 =
Non
Problème 6127 : MySQL ne prend pas en charge la clause
WITH RECURSIVE (p. 332)
Version 1.0
295
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
{ expression | DEFAULT }}
[, ...]
WITH with_query [, ...]
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...]
Oui
SELECT
Clause
Conversion
automatique
Opérateur d'addition ou de
soustraction
Oui
EXCEPT [ALL]
Partielle
Détails
Problème 6612 : La requête assortie de l'opérateur
INTERSECT/EXCEPT ALL a été transformée (p. 328)
FROM [ONLY] tablename [*] Non
FROM { with_query_name |
function_name()}
Non
Problème 6603 : Impossible d'utiliser la fonction d'une
clause from (p. 326)
FROM {(subquery) [ AS ]
Oui
alias |(VALUES({ expression
| DEFAULT } [, ...])) [ AS ]
alias }
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. 328)
LIMIT { count | ALL }
OFFSET start { ROW |
ROWS }
Partielle
Problème 6611 : L'option LIMIT/OFFSET a été
omise (p. 329)
OFFSET start { ROW |
ROWS } FETCH { FIRST
| NEXT } [ count ] { ROW |
ROWS } ONLY
Partielle
Problème 6611 : L'option LIMIT/OFFSET a été
omise (p. 329)
ORDER BY [ ASC | DESC |
USING operator ] [ NULLS
{ FIRST | LAST } ] [, ...]
Oui
SELECT {* | expression
[ [ AS ] output_name ] [, ...]}
FROM table
Oui
Version 1.0
296
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
SELECT {expression [ [ AS ]
output_name ] [, ...]}
Oui
SELECT ALL
Oui
SELECT DISTINCT
Oui
SELECT DISTINCT ON
Non
UNION [ALL]
Oui
Détails
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
WITH with_query [, ...]
Oui
Problème 6127 : MySQL ne prend pas en charge la clause
WITH RECURSIVE (p. 332)
WINDOW DEFINITION
DELETE
Clause
Conversion
automatique
Détails
DELETE FROM table_name
WHERE CURRENT OF
cursor_name
Non
Problème 6672 : MySQL ne prend pas en charge la
suppression par curseur (p. 324)
DELETE FROM table_name
FROM from_list WHERE
condition
Oui
Version 1.0
297
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
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. 324)
DELETE FROM table_name
RETURNING *
Non
Problème 6069 : MySQL ne prend pas en charge
l'instruction DELETE avec l'option RETURNING (p. 324)
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 6603 : Impossible d'utiliser la fonction d'une
clause from (p. 326)
Clause
Conversion
automatique
Détails
[ existing_window_name ]
[ PARTITION BY expression
[, ...] ] [ ORDER BY
expression [ ASC | DESC |
USING operator ] [ NULLS
{ FIRST | LAST } ] [, ...] ]
[ frame_clause ]
Non
Problème 6678 : MySQL ne prend pas en charge la
fonction %s avec la clause OVER/ORDER BY/WITHIN
GROUP/FILTER (p. 320)
Clause
Conversion
automatique
Détails
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
SELECT
UPDATE
Version 1.0
298
AWS Schema Conversion Tool Guide de l'utilisateur
DML
Clause
Conversion
automatique
Détails
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. 324)
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. 340)
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. 340)
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. 340)
UPDATE table_name
SET { column_name =
{ expression | DEFAULT }}
[, ...] WHERE condition
Oui
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. 332)
Version 1.0
299
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
PL/pgSQL
Instructions de base
Affectation
Clause
Conversion
automatique
Détails
Affectation de variable
Partielle
Problème 6668 : MySQL ne prend pas en charge le type
ROW/RECORD (p. 331)
Exécution d'une commande sans aucun résultat
Clause
Conversion
automatique
PERFORM
Oui
Détails
Exécution d'une requête avec une seule ligne de résultat
Clause
Conversion
automatique
Détails
INTO
Non
Problème 6668 : MySQL ne prend pas en charge le type
ROW/RECORD (p. 331)
Exécution de commandes dynamiques
Clause
Conversion
automatique
Détails
EXECUTE, INTO, STRICT,
USING
Non
Problème 6334 : MySQL ne prend pas en charge
l'instruction SQL dynamique RETURN QUERY
EXECUTE (p. 324)
Catégorie
Structure simple de PL/pgSQL
Clause
Conversion
automatique
DECLARE, BEGIN, END
Oui
Détails
Version 1.0
300
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Conditions
IF-THEN
Clause
Conversion
automatique
IF, THEN, END IF
Oui
Détails
IF-THEN-ELSE
Clause
Conversion
automatique
IF, THEN, ELSE, END IF
Oui
Détails
IF-THEN-ELSIF
Clause
Conversion
automatique
IF, THEN, ELSE, ELSIF,
END IF
Oui
Détails
CASE élaboré
Clause
Conversion
automatique
CASE,WHEN, THEN,
ELSE, END CASE
Oui
Détails
CASE simple
Clause
Conversion
automatique
CASE,WHEN, THEN,
ELSE, END CASE
Oui
Détails
Curseurs
CLOSE
Clause
Conversion
automatique
CLOSE
Oui
Détails
Version 1.0
301
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Déclaration de variables Cursor
Clause
Conversion
automatique
Détails
NO, SCROLL, CURSOR,
FOR
Non
Problème 6337 : MySQL ne prend pas en charge une
variable de type REFCURSOR (p. 322)
Clause
Conversion
automatique
Détails
FETCH [ direction { FROM |
IN } ] cursor INTO target;
Partielle
Problème 6639 : MySQL ne prend pas en charge la clause
de direction (p. 322)
Clause
Conversion
automatique
Détails
MOVE [ direction { FROM |
IN } ] cursor;
Non
Problème 6640 : MySQL ne prend pas en charge l'option
MOVE. (p. 322)
Clause
Conversion
automatique
Détails
OPEN, NO, SCROLL, FOR,
EXECUTE, USING
Non
Problème 6337 : MySQL ne prend pas en charge une
variable de type REFCURSOR (p. 322)
Clause
Conversion
automatique
Détails
OPEN, NO, SCROLL, FOR
Non
Problème 6638 : MySQL ne prend en charge l'option
SCROLL dans les curseurs (p. 322)
FETCH
MOVE
OPEN FOR EXECUTE
Requête OPEN FOR
Ouverture d'un curseur lié
Clause
Conversion
automatique
OPEN bound_cursorvar
[ ( [ argument_name := ]
argument_value [, ...] ) ];
Oui
Détails
Version 1.0
302
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Déclarations
ALIAS
Clause
Conversion
automatique
ALIAS FOR
Oui
Détails
Classement de variables PL/pgSQL
Clause
Conversion
automatique
Détails
COLLATE
Non
Problème 6343 : MySQL ne prend pas en charge l'option
COLLATE ; la conversion automatique ne peut pas être
effectuée (p. 333)
Clause
Conversion
automatique
Détails
%TYPE, %ROWTYPE
Oui
Copie de types
Déclaration de paramètres de fonction
Clause
Conversion
automatique
Déclaration de paramètres
de fonction
Oui
Détails
Types d'enregistrement
Clause
Conversion
automatique
Détails
Types d'enregistrement
Oui
Problème 6613 : Impossible de convertir une fonction sans
paramètres OUT retournant un type RECORD (p. 326)
Clause
Conversion
automatique
Détails
Déclaration de variable
Oui
Déclaration de variable
Version 1.0
303
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Erreurs et messages
CLOSE
Clause
Conversion
automatique
Détails
RAISE ;
Non
Problème 6329 : MySQL ne prend pas en charge
l'exception RAISE (p. 325)
RAISE [ level ]
condition_name [ USING
option = expression [, ... ] ];
Non
Problème 6329 : MySQL ne prend pas en charge
l'exception RAISE (p. 325)
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. 329)
RAISE [ level ] SQLSTATE
'sqlstate' [ USING option =
expression [, ... ] ];
Non
Problème 6329 : MySQL ne prend pas en charge
l'exception RAISE (p. 325)
RAISE [ level ] USING
option = expression [, ... ];
Partielle
Problème 6332 : MySQL ne prend pas en
charge l'instruction RAISE pour les messages de
rapport (p. 329)
Obtention de l'état de résultat
Clause
Conversion
automatique
Détails
GET [ CURRENT ]
DIAGNOSTICS variable =
item [ , ... ];
Non
Problème 6665 : MySQL ne prend pas en charge la
commande GET [CURRENT] DIAGNOSTICS (p. 325)
Clause
Conversion
automatique
Détails
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. 325)
MESSAGE, DETAIL, HINT,
ERRCODE,
Non
Problème 6332 : MySQL ne prend pas en
charge l'instruction RAISE pour les messages de
rapport (p. 329)
Options
Paramètres d'état de résultat
Clause
Conversion
automatique
COLUMN_NAME
Oui
Détails
Version 1.0
304
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
Clause
Conversion
automatique
Détails
CONSTRAINT_NAME
Oui
MESSAGE_TEXT
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
PG_DATATYPE_NAME
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
PG_EXCEPTION_CONTEXT Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
PG_EXCEPTION_DETAIL
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
PG_EXCEPTION_HINT
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
RETURNED_SQLSTATE
Oui
SCHEMA_NAME
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
TABLE_NAME
Non
Problème 6664 : MySQL ne prend pas en charge les
informations de condition %s (p. 325)
Clause
Conversion
automatique
Détails
CONTINUE, WHEN
Oui
Boucles
CONTINUE
EXIT
Clause
Conversion
automatique
EXIT, WHEN
Oui
Détails
FOR (Integer Variant)
Clause
Conversion
automatique
FOR, IN, LOOP, END
LOOP, REVERSE, BY
Oui
Détails
Version 1.0
305
AWS Schema Conversion Tool Guide de l'utilisateur
PL/pgSQL
LOOP
Clause
Conversion
automatique
LOOP, END LOOP
Oui
Détails
Boucle dans les tableaux
Clause
Conversion
automatique
Détails
FOREACH, IN, LOOP, END
LOOP, SLICE, IN ARRAY
Non
Problème 6608 : MySQL ne prend pas en charge les
tableaux (p. 321)
Boucle dans les résultats de requête
Clause
Conversion
automatique
FOR, IN, LOOP, END
LOOP, EXECUTE, USING
Oui
Détails
WHILE
Clause
Conversion
automatique
WHILE, LOOP, END LOOP
Oui
Détails
Instruction RETURN
Commande NULL;
Clause
Conversion
automatique
RETURN
Oui
RETURN NEXT
Non
RETURN QUERY
Oui
RETURN QUERY
EXECUTE
Non
Détails
Problème 6604 : MySQL ne prend pas en charge la clause
RETURN NEXT (p. 326)
Problème 6334 : MySQL ne prend pas en charge
l'instruction SQL dynamique RETURN QUERY
EXECUTE (p. 324)
Version 1.0
306
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 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. 320)
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. 320)
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. 320)
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. 321)
Convertissez les opérandes
dans le type attendu.
Elément
Problème
Résolution
ARRAY
Problème 6608 : MySQL ne prend pas en
charge les tableaux (p. 321)
Procédez à une conversion
manuelle.
ARRAY
Fonction intégrée
Elément
Problème
Résolution
DateTime
Problème 6677 : MySQL ne prend pas en
charge le fuseau horaire (p. 321)
Procédez à une conversion
manuelle.
Version 1.0
307
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
BUILT-IN SQL FUNCTIONS
Elément
Problème
Résolution
BUILT-IN SQL
FUNCTIONS
Problème 6667 : MySQL ne prend pas en
charge la fonction %s (p. 321)
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. 322)
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. 322)
Procédez à une conversion
manuelle.
CURSOR avec
l'option MOVE
Problème 6640 : MySQL ne prend pas en
charge l'option MOVE. (p. 322)
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. 322)
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. 322)
Essayez d'utiliser des tables
temporaires.
CREATE
CURSOR
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. 323)
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. 323)
Utilisez le plan de migration de
schéma à base de données.
Version 1.0
308
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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. 323)
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. 323)
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. 324)
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.
WHERE CURRENT
OF
Problème 6672 : MySQL ne prend pas en
charge la suppression par curseur (p. 324)
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. 324)
Procédez à une conversion
manuelle.
DELETE
Domaines
Version 1.0
309
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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. 324)
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. 325)
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. 325)
TABLE_NAME|
SCHEMA_NAME|
PG_EXCEPTION_DETAIL|
PG_EXCEPTION_HINT|
PG_EXCEPTION_CONTEXT
Procédez à une conversion
manuelle.
RAISE [exception]
Problème 6329 : MySQL ne prend pas en
charge l'exception RAISE (p. 325)
Examinez l'exception RAISE
utilisée et, si possible,
convertissez-la en exception à
l'aide de l'instruction SIGNAL
ou RESIGNAL.
Elément
Problème
Résolution
EXCEPTIONS
Problème 6342 : MySQL ne prend pas en
charge le nom de condition %s (p. 325)
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. 326)
Procédez à une conversion
manuelle.
QUERY
Problème 6682 : Impossible d'utiliser
la fonction table-value dans la clause
from (p. 326)
MySQL ne prend pas en
charge la fonction table-value.
EXCEPTIONS
FROM
Version 1.0
310
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
FONCTION
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. 326)
Procédez à une conversion
manuelle.
RECORD
Problème 6613 : Impossible de convertir une
fonction sans paramètres OUT retournant un
type RECORD (p. 326)
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. 326)
Procédez à une conversion
manuelle.
VARIADIC
Problème 6605 : MySQL ne prend pas
en charge le mode VARIADIC d'un
argument (p. 326)
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. 327)
Procédez à une conversion
manuelle.
Index basés sur des
expressions
Problème 6090 : MySQL ne prend pas en
charge les index sur les expressions (p. 327)
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. 327)
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. 327)
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. 327)
Pour effectuer cette opération,
divisez l'instruction INSERT
associée à la clause
Fonctions
Index
INSERT
Version 1.0
311
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
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é.
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. 328)
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. 328)
Essayez de réécrire les
variables sans utiliser
d'étiquettes (labels).
Elément
Problème
Résolution
LIMIT, OFFSET
Problème 6611 : L'option LIMIT/OFFSET a été
omise (p. 329)
Procédez à une conversion
manuelle.
LABEL
LIMIT
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. 329)
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. 329)
Essayez d'utiliser INSERT
dans la table de journal.
Pour ce faire, vous devez
Version 1.0
312
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
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. 330)
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. 330)
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. 330)
Actuellement, le seul format
pris en charge est un format
ANSI SQL pour les littéraux de
type interval. Procédez à une
conversion manuelle.
Elément
Problème
Résolution
NULLS FIRST|LAST
Problème 6610 : Une transformation nulls first/
last a été effectuée (p. 330)
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. 331)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
Parser Error
Problème 6663 : Impossible de résoudre
l'objet (p. 331)
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.
ORDER BY
Parser Error
Version 1.0
313
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Modèles
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. 331)
Procédez à une conversion
manuelle.
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. 331)
Procédez à une conversion
manuelle.
ROW/RECORD
Problème 6668 : MySQL ne prend pas en
charge le type ROW/RECORD (p. 331)
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.
DateTime
Problème 6679 : Valeur non fixe dans la
transaction de départ (p. 332)
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. 332)
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. 332)
Utilisez une procédure stockée
pour préparer les données ou
réécrivez votre requête pour
éviter la clause WITH.
Version 1.0
314
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Séquences
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. 332)
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. 333)
Vous devez utiliser les
paramètres de classement
(COLLATION) qui ont été
affectés pendant la création de
la base de données.
Fonctions SQL
Colonnes de table
Elément
Problème
Résolution
Types de données
d'application : CIDR,
INET, MACADDR,
UUID, XML, JSON,
JSONB, TSVECTOR,
TSQUERY
Problème 6006 : MySQL ne prend pas en
charge le type %s (p. 333)
Vérifiez le type de données
cible et corrigez-le s'il ne
convient pas.
ARRAY
Problème 6008 : MySQL ne prend pas en
charge les types de tableau pour la définition
de colonne du tableau (p. 333)
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. 333)
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. 333)
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. 333)
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. 334)
Si la représentation à deux
points ne convient pas pour
une raison quelconque,
procédez à une conversion
manuelle.
Version 1.0
315
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
Types de plage
Problème 6009 : MySQL ne prend pas en
charge les types de plage (p. 334)
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. 334)
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. 334)
Procédez à une conversion
manuelle.
Horodatages avec
fuseau horaire
Problème 6004 : MySQL ne prend pas en
charge les informations de fuseau horaire pour
le type de %s (p. 334)
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. 334)
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. 335)
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.
Tables
Version 1.0
316
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 6112 : MySQL ne prend pas en
charge les contraintes d'exclusion (p. 335)
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. 335)
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.
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. 335)
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. 335)
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. 336)
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. 336)
Procédez à une conversion
manuelle.
Tables typées
Problème 6107 : MySQL ne prend pas en
charge les tables non journalisées (p. 336)
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. 336)
Procédez à une conversion
manuelle.
Tables typées
Problème 6109 : MySQL ne prend pas en
charge les tables typées (p. 336)
Procédez à une conversion
manuelle.
Version 1.0
317
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
Déclencheurs
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. 337)
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 de
contrainte
Problème 6082 : MySQL ne prend
pas en charge les déclencheurs de
contrainte (p. 337)
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. 337)
Procédez à une conversion
manuelle.
DROP TRIGGER
Problème 6086 : Impossible de transformer
automatiquement l'abandon d'un
déclencheur (p. 337)
Procédez à une conversion
manuelle.
Déclencheurs Instead- Problème 6084 : MySQL ne prend pas
of
en charge les déclencheurs INSTEAD
OF (p. 337)
Procédez à une conversion
manuelle.
Plusieurs
déclencheurs sur un
même événement
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 (p. 337)
Si le résultat d'une fusion n'est
pas approprié, procédez à une
conversion manuelle.
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. 338)
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. 339)
Procédez à une conversion
manuelle.
Fonctions de
déclencheur
Problème 6650 : Impossible de
convertir l'instruction avec TG_ARGV
automatiquement (p. 339)
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. 339)
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. 339)
Vérifiez si l'utilisation d'une
valeur NULL à la place d'un
champ de l'enregistrement non
pris en charge est appropriée.
Version 1.0
318
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éclencheur sur
un événement
TRUNCATE
Problème 6088 : MySQL ne prend pas en
charge l'événement TRUNCATE pour les
déclencheurs (p. 339)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
CREATE TYPE,
ALTER TYPE, DROP
TYPE
Problème 6120 : MySQL ne prend pas en
charge les types de données définis par
l'utilisateur (p. 339)
Procédez à une conversion
manuelle.
UDT
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. 340)
Procédez à une conversion
manuelle.
Elément
Problème
Résolution
FROM
Problème 6669 : La clause FROM a été
réécrite (p. 340)
Procédez à une conversion
manuelle.
RETURNING
Problème 6066 : MySQL ne prend pas en
charge l'instruction UPDATE avec l'option
RETURNING (p. 340)
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. 340)
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. 341)
Procédez à une conversion
manuelle.
Version 1.0
319
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
VIEW
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. 341)
Réécrivez la requête view
sans sous-requête ou créez
une table auxiliaire pour la
sous-requête.
Problème
Résolution
Vues
Elément
Valeurs par défaut des Problème 6072 : MySQL ne prend pas en
Si la même fonctionnalité est
colonnes de la vue
charge les valeurs par défaut pour les colonnes nécessaire, procédez à une
de la vue (p. 341)
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. 342)
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. 342)
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
Version 1.0
320
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. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec BUILT-IN SQL FUNCTIONS
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. 307)
Version 1.0
321
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. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
322
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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
323
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Problèmes de conversion avec DYNAMIC SQL
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
324
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
325
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
326
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 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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é.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307)
Version 1.0
327
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. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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).
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
328
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 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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) :
• RAISE_DEBUG
• RAISE_LOG
• RAISE_INFO
• RAISE_NOTICE
• RAISE_WARNING
Version 1.0
329
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
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.
Version 1.0
330
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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.
Version 1.0
331
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
332
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
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.
Version 1.0
333
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
334
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 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 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
Version 1.0
335
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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. 335).
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.
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Version 1.0
336
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 TRIGGERS
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.
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
Version 1.0
337
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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;
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
Version 1.0
338
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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.
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
339
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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;
Version 1.0
340
AWS Schema Conversion Tool Guide de l'utilisateur
Informations de référence sur la
conversion de PostgreSQL vers MySQL
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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.
Version 1.0
341
AWS Schema Conversion Tool Guide de l'utilisateur
Rubriques connexes
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.
Rubriques connexes
• Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307)
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1)
Rubriques connexes
• Informations de référence sur AWS Schema Conversion Tool (p. 94)
• 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. 9)
• Installation et mise à jour d'AWS Schema Conversion Tool (p. 5)
Version 1.0
342
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.600
• Date de la dernière mise à jour de la documentation : 16 février 2017
Modification
Description
Date de modification
Agents de migration
de données
Vous pouvez désormais installer des agents de migration
de données qui extraient des données de votre entrepôt
de données et les préparer en vue d'une utilisation avec
Amazon Redshift. Vous pouvez utiliser AWS Schema
Conversion Tool pour enregistrer les agents et créer des
tâches d'extraction de données pour ces derniers. Pour
plus d'informations, consultez Utilisation des agents de
migration de données (p. 71).
16 février 2017
Retours des clients
Vous pouvez désormais fournir des commentaires sur
AWS Schema Conversion Tool. Vous pouvez générer
un rapport de bogue, soumettre une demande de
fonctionnalité ou fournir des informations générales. Pour
plus d'informations, consultez Fournir des commentaires
client (p. 3).
16 février 2017
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. 79).
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 20 décembre 2016
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. 46).
Version 1.0
343
AWS Schema Conversion Tool Guide de l'utilisateur
Modification
Description
Date de modification
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. 87).
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. 58).
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 Optimisation
d'Amazon Redshift à l'aide d'AWS Schema Conversion
Tool (p. 77).
17 novembre 2016
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. 47).
4 octobre 2016
Déplacer vers le
cloud
Vous pouvez maintenant utiliser AWS Schema Conversion 4 octobre 2016
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. 50).
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. 58).
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. 82).
13 juillet 2016
Version 1.0
344
AWS Schema Conversion Tool Guide de l'utilisateur
Modification
Description
Date de modification
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 Kit d'extension
AWS Schema Conversion Tool et services AWS pour
bases de données (p. 55) et Kit d'extension AWS Schema
Conversion Tool et bibliothèques Python pour entrepôts de
données (p. 69).
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. 11).
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
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
345
Téléchargement