PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#2 Migration » Erreurs import lors de la migration Ora2PG de OracleDB12 vers PGSQL15 » 03/02/2023 13:10:28

patgcy
Réponses : 2

Bonjour,

Je tente de migrer une base de données Oracle 12 en Postgresql 15.

* L'export m'indique quelques objects "invalid" :

Object                      Number      Invalid
DATABASE LINK    0    0
FUNCTION    21    1
GLOBAL TEMPORARY TABLE      97    0
INDEX                      212    0
JOB                        3    0
MATERIALIZED VIEW           2    0
PACKAGE BODY                8    1
PROCEDURE                   65    12
SEQUENCE                    62    0
SYNONYM                     0    0
TABLE                      201    0
TRIGGER                     151    5
TYPE                       20    0
VIEW                        89    4
Total                      931    23

* Lors de l'import , j'obtiens pour le moment cette erreur (dans table) :

psql:schema/tables/table.sql:867: ERREUR:  le type de données bigint n'a pas de classe d'opérateurs par défaut pour la méthode d'accès « gin »
ASTUCE : Vous devez spécifier une classe d'opérateur pour l'index ou définir une classe d'opérateur par défaut pour le type de données.
ERROR: an error occurs when importing file ./schema/tables/table.sql.

Sur la ligne 867 de table.sql il y a ceci :
CREATE INDEX idx_type_groupe ON groupes USING gin(f_type);

le f_type renvoit à ceci :
f_type bigint NOT NULL,

Toute ceci dans le code :

CREATE TABLE groupes (
        p_id bigint NOT NULL,
        f_type bigint NOT NULL,
        libelle varchar(255),
        nom_usage varchar(30)
) ;
CREATE INDEX idx_libelle_groupe ON groupes (libelle);
CREATE INDEX idx_type_groupe ON groupes USING gin(f_type);
ALTER TABLE groupes ADD PRIMARY KEY (p_id);  
ALTER TABLE groupes ALTER COLUMN P_ID SET NOT NULL;
ALTER TABLE groupes ALTER COLUMN F_TYPE SET NOT NULL;

Je vois bien l'astuce : "Vous devez spécifier une classe d'opérateur pour l'index ou définir une classe d'opérateur par défaut pour le type de données"
Mais je n'ai aucune idée de quoi modifier et ce qu'il est possible de tester / modifier pour éviter cette erreur.

Auriez vous des pistes ?

cdlt,

Pied de page des forums

Propulsé par FluxBB