Bonjour à tous,
Jusqu’à présent, je pouvais téléverser des fichiers (environ 100 000 lignes) directement dans ma base de données, en lançant la commande COPY sur un fichier CSV, grâce à psql :
Seulement, voilà, mon hébergeur a soudainement décidé qu’on ne pourrait plus lancer psql à partir de PHP (exec). Je ne peux pas non plus lancer la commande COPY FROM avec PDO.
Code : Sélectionner tout - Visualiser dans une fenêtre à part copy matable (column1, column2, column3, columnN) from 'monfichier.csv' delimiter ',' csv header
Que me reste-t-il comme solution pour importer massivement des données à partir de PHP ?
Générer une méga-requête avec PHP ?
Un massif
est-il envisageable ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INSERT INTO matable (column1, columnN) VALUES ('value1', 'valueN'), ... [100 000 lignes] ... ('value1', 'valueN');
Quelle est la limite théorique de ce genre d’insertions par lot ?
Y a-t-il une meilleure méthode ?
Config : PostgreSQL 8.4, sur serveur Apache (Ubuntu).
Merci d’avance.
Partager