Re: Consulta PyReplica

From: Mariano Reingart <reingart(at)gmail(dot)com>
To: Javier Fritz Aliste <javier(dot)fritz(at)lanix(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta PyReplica
Date: 2009-10-02 21:28:44
Message-ID: 5aebd8250910021428q5fd1e675r136ab24fa854a0e8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/10/2 Javier Fritz Aliste <javier(dot)fritz(at)lanix(dot)cl>

> Hola.
>
> Como estan, hace algun tiempo pedi ayuda sobre una solución de
> replicación, he optado por PyReplica , y tengo el siguiente problema.quizas
> de simple la solución,
>
> Tengo 3 servidores, cada uno tiene conexión con dos maestros remotos,
> funciona aceptablemente bien, esta montado en servidores con salida a
> internet con un trafico aun de prueba.
>
> Al grano, al realizar una insercion en una tabla que posee un campo
> bigint, el triger esta capturando el query pero para el valor de este campo
> lo concatena con "L", no se si esto es correcto, ya que al ejectuar este
> query, se por el esclavo pyreplica o extrayendolo manualmente y
> ejecutandolo sobre la base genera el error.
>
>
Hola Javier, parece ser un tema de conversión entre postgresql y python, una
solucion podria ser modificar el código del disparador en plpython para que
detecte los bigint de pg (long en python) y no le agregue la L al
convertirlos para el query sql:

# function to convert value from python to postgres representation
def mogrify(v):
if v is None: return 'NULL'
if isinstance(v,long): return str(v) # no agregar L a long (bigint)
if isinstance(v,basestring):
r = repr(v)
if not r.startswith('\"'):
return r
else:
# postgres doesn't support ", replace and escape '
return "'%s'" % r.replace("'","\\'")[1:-1]
return "'%s'" % repr(v) # to get rid of bool that are passed as ints
(solved in pg8.3)

Lo que hay que agregar es la linea verde despues de if v is None..
(respetando la identación):
if isinstance(v,long): return str(v)

No lo probé pero tendría que funcionar, cualquier cosa avisame
Sds
Mariano

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Fritz Alsite 2009-10-02 21:32:24 Re: Consulta PyReplica
Previous Message Javier Fritz Alsite 2009-10-02 21:19:38 Re: Consulta PyReplica