Re: Adicionando nuevas columnas en production

From: "Carlos T(dot) Groero Carmona" <ctonetg(at)gmail(dot)com>
To: Horacio Miranda <hmiranda(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Adicionando nuevas columnas en production
Date: 2019-04-08 13:54:45
Message-ID: CABh6Tc1HjGWuHLw59=iQFDRLdzOmLp1skjSdBR0yg9fsuodEVw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Utiliize el ejemplo que pones en tu correo anterior donde llama al update y
se deja refrescar duraante 10 segundos antes de realizar un nuevo update y
funciono perfectamente, mientras iba insertando consulte la tabla y se veia
como el numero de tuplas actualizadas iba creciendo lentamente.

Una pregunta sobre e uso del defualt, si utilizo esa opcion no me
bloquearia las filas donde este actualizando? las probabilidades de tener
un mayor bloqueao incrementarian?
Recuerda que tengo 2.3 millones de registros, y esa tabla es donde se
guardan parte d e la informacion de los usuarios, cada vez que un usuario
hace login practicamente se mantiene escribiendo en esa tabla
constantemente hasta que cierre la aplicacion.

On Mon, Apr 8, 2019 at 1:22 AM Horacio Miranda <hmiranda(at)gmail(dot)com> wrote:

> On 6/04/2019 10:19 AM, Alvaro Herrera wrote:
>
> Carlos T. Groero Carmona escribió:
>
> Desgraciadamente estoy usando postgres 9.3.
>
> Pregunta, no es mejor algo como esto ?
>
> http://www.postgresqltutorial.com/postgresql-add-column/
> ALTER TABLE customers
> ADD COLUMN col_1 DEFAULT 'false'; -- Supongo es varachar aquí, si es
> boolean es otra cosa. pero esta es la idea.
>
> Solo he estado intentando utilizar el update que me sugeristes dentro de
> una funcion con el objetivo de recorrer desde 0 hasta
> numero_primo_seleccionado de manera automatica.
> Intente hacer solo una funcion con el update y llamarla desde otra con un
> ciclo que recorriera y pasara los valores pero tampoco funciono.
> No me gustaria actualizar 62 mil registros de una vez (#primo = 37) en una
> transaction porque posiblemente bloquearia el sistema completo.
>
> Lo que quiero hacer es usar un numero primo alto como 10 007, actualizando
> solo 230 valores a la vez (en una transaction) e incrementar X=0, X=1.....
> X=10007 dinamicamente.
>
> No importa el número que uses. Lo que importa es que hagas el ciclo
> fuera de una función. Ejemplo
>
> for i in `seq 0 10006`; do
> psql -c "update ... where id % 10007 = $i"
> sleep 10
> done
>
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2019-04-08 15:24:39 Re: Adicionando nuevas columnas en production
Previous Message Horacio Miranda 2019-04-08 06:22:09 Re: Adicionando nuevas columnas en production