RAW, BYTEA, UUID

Passer d'un SGBD lambda à PostgreSQL est souvent facile car qui peut le plus peut le moins....cependant...
Répondre
Phil
Administrateur du site
Messages : 95
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

RAW, BYTEA, UUID

Message par Phil » ven. 8 sept. 2017 14:12

Merci à Yves pour sa question :

Certaines colonnes de type RAW sur Oracle sont converties en colonnes de type UUID suite à la migration vers PostgreSQL. D'autres colonnes de type RAW sont converties en colonnes de type BYTEA, en fait toutes celles qui n'avaient pas la valeur par défaut sys_guid et c'est le cas des clés étrangères.
Cela rend impossible les jointures. Est-il possible de convertir les colonnes BYTEA contenant des identifiants universels uniques en UUID ?


Réponse :

Le script de création des tables a été obtenu automatiquement grâce à ora2pg. Il est toujours possible d'effectuer une conversion supplémentaire après la migration si certains mappings automatiques ne conviennent pas. Exemple ici si la colonne NOM_COLONNE de type bytea contient effectivement des UUID :

Code : Tout sélectionner

alter table NOM_TABLE alter column NOM_COLONNE type uuid USING CAST( substring(CAST (NOM_COLONNE AS text) from 3) AS uuid);
Cdlt. Phil - pgphil.ovh

Répondre