bonjour à tous,
j'ai une applis java qui alimente une base à partir d'une autre,
mon probleme c'est au moment de l'insertion des données postgresql me lache et il deconnecte l'utilisateur, est ce que c'est un probleme de config genre timeout ou le buffer, driver jdbc ...
parce que l'appli elle marche bien avec des tables de 2000 2500 lignes mais ça plante avec une table de 50000 lignes,
merci de votre aide
# commits intermédiaires
Posté par BAud (site web personnel) . Évalué à 2.
essaie de faire des insertion par blocs de moins de lignes (cherche commits intermédiaires, ça doit exister sur postgres). ça t'évitera d'exploser les rollbacks (enfin c'est comme ça qu'on faisait avec oracle :/ )
[^] # Re: commits intermédiaires
Posté par Colargol . Évalué à 2.
http://docs.postgresqlfr.org/8.1/sql-begin.html
[^] # Re: commits intermédiaires
Posté par BAud (site web personnel) . Évalué à 2.
ma compréhension de l'autocommit c'est que tu n'as pas explicitement à démarrer de transaction pour une commande.
Mais cela n'empêche pas qu'un insert into table2 select * from table1 ; (par exemple) ne se déroulera pas avec des commits à chaque ligne insérée dans table2 : pour cela il faut parcourir table1 avec un curseur et faire des commits intermédiaire (ce qui permet d'éviter de faire grossir les rollback ou de poser des locks à tout va sur les lignes de la table, ce qui va se terminer par un lock constaté de la table, qui ralentit toute transaction autre... voire peut faire échouer la requête d'insertion). Là où avec 10 à 1000 lignes dans table1 ça peut passer, avec 50000 ça peut ne pas passer, d'où l'intérêt de procéder par blocs de 500 lignes par exemple.
C'est ce genre de choses que nos DBA mettaient en place pour booster les migrations de base à base et ça marchait plutôt rapidement.
mais comme tu le demandes ci-dessous, ce serait effectivement plus pratique avec un message d'erreur
# messages d'erreur ?
Posté par Colargol . Évalué à 1.
- as tu essayé de tracer les instructions envoyées à postgresql ? (http://www.postgresql.org/docs/8.1/interactive/runtime-confi(...) )
[^] # Re: messages d'erreur ?
Posté par stoukou . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.