insert multi values limitations

From: CRUMEYROLLE Pierre <pierre(dot)crumeyrolle(at)c-s(dot)fr>
To: pgsql-fr-generale(at)lists(dot)postgresql(dot)org
Subject: insert multi values limitations
Date: 2019-09-23 09:25:31
Message-ID: 20190923112531.Horde.IAL-cYM4r4E9KaJz2JCYcA1@messagerie.c-s.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale


bonjour

je teste une insertion multi valeurs via spring boot jpa hibernate jdbc ,
en positionnant les paramètres suivants :

spring.jpa.properties.hibernate.jdbc.batch_size=10
reWriteBatchedInsereWriteBatchedInserts=true dans ma connexion jdbc
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres?reWriteBatchedInserts=true

normalement ceci doit générer des insert multi valeurs par paquets de
10 => insert into mytable (id , data) values
(1,),(,),(,),(,),(,),(,),(,),(,),(,),(10,)

mais je constate que les insert multi values sont "splités" de la
façon suivante

insert into mytable (id , data) values (1,),(,),(,),(,),(,),(,),(,),(8,)
insert into mytable (id , data) values (9,),(10,),

il semblerait que le driver postgres split les insert multi values
suivant des règles particulières
et en effet je retombe dans le scénario décrit en fin de cette page =>
https://vladmihalcea.com/postgresql-multi-row-insert-rewritebatchedinserts-property/
qui dit "the PostgreSQL driver will split it into smaller ones to
address TCP deadlock issues"

quelqu'un peut il me donner une petite explication confirmation sur ce
comportement

Merci

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Anthony Nowocien 2019-09-23 10:44:25 Re: insert multi values limitations
Previous Message Tumasgiu Rossini 2019-09-13 07:51:51 Re: surprenant résultat : rollback sur update après pg_dump