Re: [pgsql-es-ayuda] Alguna sugerencia para mejorar el tiempo de respuesta de esta consulta

2015-06-04 Por tema Jaime Casanova
On Mon, Jun 1, 2015 at 3:35 PM, jvenegasperu . jvenegasp...@gmail.com wrote:

 En el explain analyze obtengo esto

   -  Seq Scan on unidos a  (cost=0.00..139371.66
 rows=374311 width=131) (actual time=0.045..2683.709 rows=1122035 loops=1)

empieza por ejecutar ANALYZE en todas las tablas envueltas. las
estadísticas están muy mal


 Estoy corriendo sobre postgres 9.4 en windows server 2008

 mis parametros son los de la instalacion por defecto solo he tocado estos
 dos:

 shared_buffers = 512MB# min 128kB
 work_mem = 384MB# min 64kB


work_mem debería ser de 750MB o 1GB para que no haga el sort en
disco. aunque ordenar mas de 1millon de registro no parece buena idea.
en realidad no puedes filtrar mas esta consulta?

otros puntos:
- tienes índices creados sobre mag_zonas.the_geom y cat_lote.geo_punto?
- estas seguro que los LEFT JOIN que tienes son necesarios?

solo por dar un ejemplo, este LEFT JOIN no parece lograr nada
cat_lote e LEFT JOIN rut_detalle rd ON rd.gid = e.gid

-- 
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Como conceder privilegios para modificar funciones a mas de un rol?

2015-06-04 Por tema Jaime Casanova
2015-06-02 7:09 GMT-05:00 Andres A. Mamani andres.a...@gmail.com:


 El 2 de junio de 2015, 0:16, Jaime Casanova ja...@2ndquadrant.com
 escribió:

 2015-06-01 16:57 GMT-05:00 Andres A. Mamani andres.a...@gmail.com:
  muchas gracias... y si, considere esa solución, pero tengo problemas con
  el
  usuario que saca el backup.
 

 necesitas que el usuario que saca el backup también pueda modificar
 la función?


 Modificar.. no.

entonces que problema tienes con el usuario que saca el backup? porque
no puedes tener un grupo desarrollo y que los roles que van a
modificar pertenezca a ese grupo

NOTA: el termino grupo no es apropiado pues en postgres todos son
roles, pero uso el termino para que se entienda



  Sería interesante que postgresql tuviera esa flexibilidad como mysql no?
 

 No, eso es una mala idea. Eso lo haría inseguro.
 En todo caso, porque necesitas modificar la función y que varios
 usuarios puedan hacerlo? Eso suena a un problema mal resuelto


 Pues si, tengo a mas de una persona realizando mantenimiento del mismo
 sistema, en ocasiones uno tiene que modificar lo que otro usuario hizo.


CREATE ROLE desarrollo;
ALTER FUNCTION f1() OWNER TO desarrollo;

GRANT desarrollo TO usuario1;
GRANT desarrollo TO usuario2;
...
GRANT desarrollo TO usuarioN;


-- 
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] BDR

2015-06-04 Por tema Alvaro Herrera
Guillermo E. Villanueva escribió:

 Me refiero a topología estrella a un servidor central A y otros servidores
 B, C, D ... conectados a A. (no hay conexión entre los demas servidores)
 Todos pueden hacer modificaciones las cuales las replican solo hacia A y
 luego A las redistribuye a los demas.
 Si no se puede con BDR, es posible hacerlo con otra herramienta?

Ya dijo Martín que BDR no soporta otras topologías que mesh.  Pero
el logical decoding, que es la tecnología que subyace a BDR, se puede
usar como más te parezca.  Podrías escribir un sistema que encima de
logical decoding que haga lo que describes ... pero tendrás que escribir
una buena cantidad de código en C para poder hacerlo.

Alex Shulgin publicó hace poco un parche (para psycopg) que permite
hacer logical decoding en Python, lo cual te simplificaría un poco la
tarea, porque todo ese código extra podría estar en python.

Es muy difícil hacer una cosa totalmente generalizada, pero si
incorporas algunas restricciones al sistema (por ej. el servidor B no
puede escribir datos correspondientes al servidor C) entonces debería
ser una tarea de tamaño razonable.

-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training  Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] BDR

2015-06-04 Por tema Martín Marqués
El 04/06/15 a las 15:53, Guillermo E. Villanueva escribió:
 Buenas tardes, hace un tiempo , cuando recién salía BDR pude realizar unas
 pruebas y la replicación bidireccional funcionó perfectamente. Hasta ese
 momento no se podía implementar en una topología estrella y quería saber si
 ahora se puede o sigue siendo una función no considerada con BDR.

Por ahora sigue siendo solo para implementaciones todos-contra-todos o
lo que se conoce como topologías mesh o malla.

 Me refiero a topología estrella a un servidor central A y otros servidores
 B, C, D ... conectados a A. (no hay conexión entre los demas servidores)

Si, la idea es permitir otros tipos de topologías de replicación, pero
ahora se están implementando otras funcionalidades (estrella, anillo, etc.).

 Si no se puede con BDR, es posible hacerlo con otra herramienta?

No se si se podrá hacer algo con Londiste o Slony. Habría que analizarlo
detenidamente. (ya te di tarea :P)

Saludos,

-- 
Martín Marquéshttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training  Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] BDR

2015-06-04 Por tema Martín Marqués
El 04/06/15 a las 18:30, Alvaro Herrera escribió:
 Guillermo E. Villanueva escribió:
 
 Alex Shulgin publicó hace poco un parche (para psycopg) que permite
 hacer logical decoding en Python, lo cual te simplificaría un poco la
 tarea, porque todo ese código extra podría estar en python.

Solo para aportar contexto, este es el commit del que habla Álvaro:

https://github.com/psycopg/psycopg2/pull/322

Saludos,

-- 
Martín Marquéshttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training  Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] BDR

2015-06-04 Por tema Gerardo Herzig


- Mensaje original -
 De: Guillermo E. Villanueva guillermo...@gmail.com
 Para: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org, Alvaro Herrera 
 alvhe...@2ndquadrant.com, Jaime Casanova
 ja...@2ndquadrant.com
 CC: Martin Diaz mardia...@yahoo.com.ar
 Enviados: Jueves, 4 de Junio 2015 15:53:42
 Asunto: [pgsql-es-ayuda] BDR
 
 
 Buenas tardes, hace un tiempo , cuando recién salía BDR pude realizar
 unas pruebas y la replicación bidireccional funcionó perfectamente.
 Hasta ese momento no se podía implementar en una topología estrella
 y quería saber si ahora se puede o sigue siendo una función no
 considerada con BDR.
 Me refiero a topología estrella a un servidor central A y otros
 servidores B, C, D ... conectados a A. (no hay conexión entre los
 demas servidores)
 Todos pueden hacer modificaciones las cuales las replican solo hacia
 A y luego A las redistribuye a los demas.
 Si no se puede con BDR, es posible hacerlo con otra herramienta?
 
 
 Saludos!
 Y desde ya muchas gracias por sus comentarios.
 
 
Con slony es posible simular esa clase de trabajo.
Para simplificar, supongamos un centro de estrella C, y tres sucursales, X, 
Y, Z, y una unica tabla a replicar.

La idea es particionar la tabla por un campo identificatorio de sucursal, 
supongamos sucursal_id?
De modo qeu la tabla contenga tantas particiones como sucursales. A nivel 
local, cada sucursal actualiza los datos dentro de la particion asignada a 
dicha sucursal.

Entonces...via slony pueden manejarse las particiones subyacentes, de modo que:

X replica su particion hacia C, y luego 
C propaga (forwardea) esos cambios hacia Y y Z

Y replica su particion hacia C, y luego C propaga hacia X y Z,
Z replica su particion hacia C, y luego C propaga hacia X e Y

De esa forma consigues un simil replicacion estrella. Se entiende?

HTH,
Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


[pgsql-es-ayuda] BDR

2015-06-04 Por tema Guillermo E. Villanueva
Buenas tardes, hace un tiempo , cuando recién salía BDR pude realizar unas
pruebas y la replicación bidireccional funcionó perfectamente. Hasta ese
momento no se podía implementar en una topología estrella y quería saber si
ahora se puede o sigue siendo una función no considerada con BDR.
Me refiero a topología estrella a un servidor central A y otros servidores
B, C, D ... conectados a A. (no hay conexión entre los demas servidores)
Todos pueden hacer modificaciones las cuales las replican solo hacia A y
luego A las redistribuye a los demas.
Si no se puede con BDR, es posible hacerlo con otra herramienta?

Saludos!
Y desde ya muchas gracias por sus comentarios.

Guillermo Villanueva