Passer de oracle a postgresql
Bonjour
Le logiciel sur lecquel je travaille actuelement est sous oracle. Pour le futur de l application, il parais interressant de proposer postgres comme support de base de donnee.
Mais pour cela se pose plusieurs questions pour lecquelle nous n'avons pas de reponses.
1-> est ce que le code SQL est comptible oracle(procedure simple, vue, selection avec un peu de traitement dans les requetes).
2-> existe t il un module pour power builder.
3-> est il gratuit dans le cadre d'une application commerciale.
4-> est ce une opération innocente ou necessitant quelques jours/mois de travail...
Ou peut etre existe t il un endroit avec des informations sur les étapes à effectuer pour migrer vers une solutions libre.
merci
pierre
Re: Passer de oracle a postgresql
Citation:
Envoyé par pmithrandir
1-> est ce que le code SQL est comptible oracle(procedure simple, vue, selection avec un peu de traitement dans les requetes).
Pas totalement, non, il faudra faire des modifications. Au niveau des tables, des champs, les changements sont minimes (un type par-ci par-là à adapter).
Pour les requêtes, il peut y avoir quelques différences, surtout au niveau des fonctions SQL. Par exemple, là où Oracle utilise NVL, PostgreSQL utilise COALESCE (qui est le standard SQL, soit dit en passant). Pour plus d'informations à ce sujet, voir Les fonctions dans SQL de SQLPro.
Pour les procédures stockées et les triggers, il existe un fond commun (plpgsql étant directement inspiré de PL/SQL), mais les différences sont légion tout de même. Cette partie sera la plus fastidieuse à adapter.
Citation:
Envoyé par pmithrandir
2-> existe t il un module pour power builder.
J'utilise PowerBuilder 9 et je trouve que son intégration de PostgreSQL est très bancale. Etant donné les choix de mon entreprise, je dois passer par ODBC (mais bon, le driver ODBC de PostgreSQL ne m'a jamais posé problème, personnellement).
Un exemple : je rencontre pas mal de problèmes pour la construction de DataWindow basée sur une procédure stockée, par exemple. Il est possible de configurer jusqu'à un certain point l'accès à PostgreSQL, via la fichier pbodbXXX.ini (XXX pour la version de PB), mais ça ne suffit pas pour que tout fonctionne au poil. Quand j'active le log ODBC, je vois passer des requêtes dont je ne trouve la trace nulle part (bref, elles semblent être en dur dans PowerBuilder).
Au final, ça fonctionne, l'application tourne, mais tout n'est pas rose, pour développer l'esprit serein.
Citation:
Envoyé par pmithrandir
3-> est il gratuit dans le cadre d'une application commerciale.
PostgreSQL utilise une licence BSD, il est donc gratuit pour une utilisation commerciale.
Citation:
Envoyé par pmithrandir
4-> est ce une opération innocente ou necessitant quelques jours/mois de travail...
Les SGBDR ont chacun leur spécificité, ils prennent de grandes libertés avec le standard SQL, donc une migration de base de données n'est jamais une opération innocente.
Mais bon, ce n'est pas quelque chose qui prend des mois non plus. Pour ma part, j'ai migré une base Sybase ASA (15 tables, 30 procédures stockées, 10 triggers et une cinquantaine de requêtes à adapter) vers PostgreSQL en moins de 3 semaines. Et je pense avoir passé pas loin d'une semaine à reconfigurer PowerAMC pour qu'il me sorte un script qui convienne, et à écrire des procédures d'installation et déploiement. Donc plutôt 2 semaines au final.