Hola,
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.
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.
En fin, no se, habria que probar y leer el manual
Avisame como te va...
On 6/11/19 17:20, Carlos T. Groero Carmona wrote:
Diego gracias pr tu comentario, como tenia mis dudas es lo que tenia
pensado hacer, crear una tabla temp con la misma estructura que la
tabla principal y entonces usando un insert into with select desde la
otra tabla limitado con indices or algun script para insertar in batch.
Pero la pregunta surge porque cuando insertamos normalmente, no se
bloquea la tabla ni los indices que serian modificados.
Al final solo estariamos cargando postgres resources pero no
deberiamos ver looks durante ese proceso.
Gracias,
Carlos
On Wed, Nov 6, 2019 at 6:20 AM Diego <mrstephenam...@gmail.com
<mailto:mrstephenam...@gmail.com>> wrote:
Hola Carlos,
Con copy, creo qeu solo bloquearias la parte que dura la
actualizacion de indices y seqs, si fuera una tabla solo con pk,
volaria.
Se me ocurre que podes subir la data con copy a una tabla igual,
con otro nombre, y desde ahi ir pasandola por lotes de 600 rows
con insert into a la tabla original.
por otro lado, en vez de respaldar a csv, quizas un dump con -Fc y
-t a la tabla, te permitiria ganar velocidad y pordias aplicar
durante el restore como dicia recien.
En fin, espero sirva.
Salu2
On 5/11/19 21:57, Carlos T. Groero Carmona wrote:
Hola lista,
Tengo una tabla con 30GB de data in production y tuve que
eliminar 21k tuplas. El proceso de dele fue bien porque lo hice
en bashes de 600 por transaction. Antes de eliminar esta
information cree una copia en un csv file.
He estado buscando si tengo que rollback esta data utilizando el
comando copy esto podria bloquear mi tabla mientras el comando
esta corriendo?
Probe el comando en otro environment y funciono sin problema pero
tengo curiosidad acerca que pasara si esto pasara en production.
Como siempre, gracias por sus comentarios y consejos,
Carlos