RAW, BYTEA, UUID

La norme SQL évolue : tirez le meilleur d'un SGBD qui la respecte en écrivant du SQL moderne avec en complément PL/pgSQL, php, java etc.
Répondre
Phil
Administrateur du site
Messages : 291
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

RAW, BYTEA, UUID

Message par Phil »

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