[Insert] Importation massive de données sans COPY FROM fichier, ni psql
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 :
Code:
copy matable (column1, column2, column3,
columnN) from 'monfichier.csv' delimiter ',' csv header
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.
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
Code:
1 2 3 4 5 6
| INSERT INTO matable (column1,
columnN) VALUES
('value1',
'valueN'),
...
[100 000 lignes]
...
('value1',
'valueN'); |
est-il envisageable ?
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.