Migration d'Access vers PostgreSQL
Pourquoi migrer de Access vers PostgreSQL?
Migrer de Microsoft Access vers PostgreSQL est une décision souvent motivée par des besoins de scalabilité, de sécurité, de collaboration, et de performance.
Voici les principales raisons pour lesquelles cette migration est pertinente :
Capacités illimitées
- Aucune limite pratique (par défaut, plusieurs To),
- Haute concurrence, des centaines à des milliers d’utilisateurs possibles avec PostgreSQL,
- Sécurité avancée (SSL, rôles, gestion fine des permissions) avec PostgreSQL.
Performance et fiabilité
- PostgreSQL est plus rapide, surtout avec de gros volumes de données,
- PostgreSQL est plus robuste en cas de crash ou de pannes réseau,
- Meilleure gestion des index, des vues matérialisées, parallélisation des requêtes….
Évolutivité et intégration
- PostgreSQL est conçu pour des projets à long terme et pour croître avec l’entreprise,
- PostgreSQL peut s’intégrer dans des environnements cloud, web et mobiles,
- PostgreSQL s’intègre avec des APIs, des applications web, des systèmes de BI (Power BI, Metabase, etc.).
Déroulement de la migration "Access vers PostgreSQL"
Préparation
- Analyse de la structure : tables, types de données, relations, requêtes, formulaires,
- Installation de PostgreSQL,
- Création d’une base vide dans PostgreSQL.
Choix de la méthode de migration
- ODBC + pgAdmin pour importer les tables depuis Access via une source ODBC,
- Création des sources de données ODBC,
- MS Access + scripts VBA pour exporter/importer les données manuellement,
- Outils tel que DBConvert for Access and PostgreSQL (outil payant).
Création des tables dans PostgreSQL
- Conversion des types Access vers les types PostgreSQL (voir tableau plus bas),
- Création des contraintes, clés primaires, clés étrangères, index.
Transfert des données d'Access vers PostgreSQL
- Conversion des types Access vers les types PostgreSQL (voir tableau plus bas),
- Création des contraintes, clés primaires, clés étrangères, index.
Conversion des requêtes SQL
- Les requêtes Access doivent être converties en vues SQL ou fonctions dans PostgreSQL,
- Syntaxe SQL à vérifier, (certaines fonctions Nz(), IIf() doivent être réécrites),
- Gestion des formats (les valeurs nulles, les dates, les valeurs numériques),
- Sensibilité à la casse, revoir la suntaxe SQL.
Frontend Access
- Access continue à être utilisé comme interface utilisateur,
- Liaison des tables PostgreSQL à Access via "Tables liées",
- Conservation des formulaires / rapports Access, tout en lisant les données depuis Postgres.
Tests et validation
- Vérification du nombre de lignes importées,
- Contrôle des relations et intégrité référentielle,
- Tests des performances et des requêtes critiques.
Résultat attendu
- Base Access entièrement migrée vers PostgreSQL,
- Données cohérentes et structure recréée,
- Access continue à être utilisé comme interface utilisateur via ODBC.