Re: Adicionando data con COPY

From: Diego <mrstephenamell(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: "Carlos T(dot) Groero Carmona" <ctonetg(at)gmail(dot)com>, Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Adicionando data con COPY
Date: 2019-11-07 14:38:56
Message-ID: dfe6ba50-66ce-ddb3-5845-d7ecec523677@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Muchísimas gracias por las aclaraciones Álvaro!

Un crack, como siempre!

On 7/11/19 09:45, Alvaro Herrera wrote:
> Diego escribió:
>
>> Me agarra la duda en la parte de "Pero la pregunta surge porque cuando
>> insertamos normalmente, no se bloquea la tabla ni los indices que serian
>> modificados."
>>
>> Si una tabla tiene pk, y los datos a insertar caen, digamos, al final de la
>> pk, ocurre como decis... pero si caen el medio de la tabla...¿que pasa?
>>
>> Realmente, tendria que hacer la prueba y ver, porque no se.
> No pasa nada ... los índices btree en Postgres (los únicos que
> implementan PKs) funcionan concurrentemente todo el tiempo,
> independiente de dónde hagas las inserciones. Hay un montón de teoría
> detrás de esto y que funcione eficientemente ... si el tema realmente te
> interesa, busca el paper de Lehman y Yao de 1981 "Efficient Locking for
> Concurrent Operations on B-Trees", que es la base de la implementación
> de Postgres (aunque la nuestra tiene un montón de mejoras a ese diseño)
> https://www.csd.uoc.gr/~hy460/pdf/p650-lehman.pdf
>
>> Lo que si se me ocurre, es que  todo esto seria fuera de una transaccion, ya
>> que de esar en medio de una, si tendrias bloqueos hacia las demas consultas
>> que esten usando la tabla de destino.
> No, eso tampoco.
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos T. Groero Carmona 2019-11-07 15:51:10 Re: Adicionando data con COPY
Previous Message Alvaro Herrera 2019-11-07 12:45:34 Re: Adicionando data con COPY