Bonjour comme mon intitulé l'indique j'aimerais importer ou exporter ma base de données postgresql à partir de mon application swing. Comment puis-je m'y prendre s'il vous plait?
Bonjour comme mon intitulé l'indique j'aimerais importer ou exporter ma base de données postgresql à partir de mon application swing. Comment puis-je m'y prendre s'il vous plait?
Pourquoi ne pas utiliser la commande pg_dump ?
Par curiosité pourquoi veux-tu importer/exporter les données (et structure) depuis l'appli swing ?
Je veux développer une espèce de client pour le sgbd afin de permettre aux administrateurs de manipuler la bd aisément et moi seul le super admin j'aurai accès au sgbd
Pourquoi ne pas donner accès au sgbd à différents comptes utilisateurs possédant des droits limités (privileges/grants) ?
Si effectivement tu veux masquer/limiter l'accès au sgbd via ton application swing, ça peut vite devenir très long et très compliqué à développer/maintenir selon les fonctionnalités que tu souhaites accorder aux utilisateurs (select, insert, update, delete, create drop, grant, ...), et c'est sans compter sur les problématiques de sécurité.
En java, tu peux interagir avec le sgbd via le driver jdbc pour exécuter des commandes, récupérer les méta-données (tables, colonnes, contraintes, ...).
mon client va juste faire l'importation et l'exportation de la BD.
Je comprends bien que c'est de l'import/export mais est-ce qu'il s'agit d'importer/exporter toute la base de données, c'est à dire données + structure ?
Si on parle d'import/export de données uniquement, il y a entre autres choses la problématique des contraintes d'intégrité de ton modèle de données.
Prenons le cas d'un import, est-ce que tes administrateurs fourniront en entrée les clefs primaires des différents lignes ? sous quelle forme ? du SQL, un CSV, un fichier excel, un dump postgres ?.
Un import/export "brut" peut être opéré avec les commandes pg_dump & pg_restore en utilisant le ProcessBuilder du jdk.
Si les clefs primaires ne sont pas fournies en entrée, il faudra développer la routine de chargement/mise à jour de la bdd.
Dans ce dernier cas, soit tu fait tout dans ta couche métier, grosso modo tu charges les données, tu les transformes, tu les insères (principe d'un ETL), soit tu fais un mixte en déléguant le chargement des données à postgreSQL dans des tables temporaires et tu les les traites ensuite.
Partager