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.

Query capturado por py_log_replica():

INSERT INTO "sys_tablas" ("id_fila", "horacreacion", "tab_fecha5", "tab_fecha4", "tab_fecha3", "tab_fecha2", "tab_fecha1", "tab_codigo", "uscreacion", "tab_texto2", "tab_texto3", "usmodif", "tab_texto1", "tab_texto4", "tab_texto5", "tab_valor4", "tab_valor5", "tab_tipo", "tab_valor1", "tab_valor2", "tab_valor3", "tab_desctabla", "fecmodif", "horamodif", "tab_codtabla", "feccreacion", "tab_estado", "tab_desc", "tab_activo") VALUES ('1411L', '161847', '', '', '', '', '', '0102', 'root', '', '', NULL, '', '', '', '0.0', '0.0', 'S', '1.0', '0.0', '0.0', 'Vendedores', NULL, NULL, '1', '20091002', '', '0102', 'S')

la tabla posee casi todos sus campo varchar y posee solo 1 bigint, que es "id_fila" y el valor entregado segun el triger es 1411L en la tabla original el query ejecutado es:


INSERT INTO "sys_tablas" ("id_fila", "horacreacion", "tab_fecha5", "tab_fecha4", "tab_fecha3", "tab_fecha2", "tab_fecha1", "tab_codigo", "uscreacion", "tab_texto2", "tab_texto3", "usmodif", "tab_texto1", "tab_texto4", "tab_texto5", "tab_valor4", "tab_valor5", "tab_tipo", "tab_valor1", "tab_valor2", "tab_valor3", "tab_desctabla", "fecmodif", "horamodif", "tab_codtabla", "feccreacion", "tab_estado", "tab_desc", "tab_activo") VALUES (1411, '161847', '', '', '', '', '', '0102', 'root', '', '', NULL, '', '', '', 0.0, 0.0, 'S', 1.0, 0.0, 0.0, 'Vendedores', NULL, NULL, '1', '20091002', '', '0102', 'S')

este ultimo corre sin problemas.



Al ejectuar el primer query directo:
ERROR:  error de sintaxis en o cerca de «L»

Al hacerlo con los esclavos corriendo
PyReplica notifica via email (por cada esclavo):
Traceback (most recent call last):
  File "/usr/local/pyreplica/daemon.py", line 74, in run
    debug = self.debug)
  File "/usr/local/pyreplica/pyreplica.py", line 154, in main_loop
    replicate(cur0, cur1, skip_user, slave_field, debug)
  File "/usr/local/pyreplica/pyreplica.py", line 92, in replicate
    cur1.execute(sql)
DataError: la sintaxis de entrada no es válida para integer: «1411L»



--
Javier Fritz