[pgsql-es-ayuda] SELECT a partir de un BITMAP

2014-02-17 Por tema Ruben Fitó
Hola lista,

en el trabajo nos ha llegado un pequeño reto, y me gustaria saber si existe
alguna solución.

El tema es que tenemos una tabla del siguiente estilo:

*codigo_producto_externo*, *codigo_producto_interno*,
*codigo_producto_a_informar*

Esta tabla se utiliza para mapear los códigos de producto que tiene un
servidor remoto con los códigos de producto que tenemos internamente.

Para comprobar si un producto puede ser vendido a un cliente, el servidor
remoto nos da un Bitmap del estilo:

1010111011011101, donde la *posición* de cada bit corresponde al
*codigo_producto_externo*, diciéndonos que 1: bloqueado, 0:aceptado.

Existe algun tipo de funcionalidad en Postgres que me permita consultar
estos codigos de productos a partir de un BITMAP???

En realidad, podríamos modifiar la aplicación para que "Hardcoded" hiciera
este "mapeo", pero nos gustaria que fuera parametizable por BBDD.

Nota: No soy muy experto, jeje

Muchas gracias.

saludos

-- 
 *Ruben Fitó *
Software Engineer
[image: Ubiquat Technologies, SL] r.f...@ubiquat.com

 www.ubiquat.com
Tota la informació continguda en aquest document i arxius adjunts és
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
error, si us plau elimini'l i posi's en contacte amb l'emissor.

All information contained in this document and any attachments are
CONFIDENTIAL and protected under trade secret laws. If you receive this
message by mistake, please delete it and notify it immediately to the
sender.


Re: [pgsql-es-ayuda] SELECT a partir de un BITMAP

2014-02-17 Por tema Ruben Fitó
Otra cosa,

por si hay duda, preferiríamos evitar una consulta por cada bit del bitmap,
porque hay 99 posiciones, jeje.

Quizás he dicho una tonteria,jjj

Saludos


2014-02-17 13:36 GMT+01:00 Ruben Fitó :

> Hola lista,
>
> en el trabajo nos ha llegado un pequeño reto, y me gustaria saber si
> existe alguna solución.
>
> El tema es que tenemos una tabla del siguiente estilo:
>
> *codigo_producto_externo*, *codigo_producto_interno*,
> *codigo_producto_a_informar*
>
> Esta tabla se utiliza para mapear los códigos de producto que tiene un
> servidor remoto con los códigos de producto que tenemos internamente.
>
> Para comprobar si un producto puede ser vendido a un cliente, el servidor
> remoto nos da un Bitmap del estilo:
>
> 1010111011011101, donde la *posición* de cada bit corresponde al
> *codigo_producto_externo*, diciéndonos que 1: bloqueado, 0:aceptado.
>
> Existe algun tipo de funcionalidad en Postgres que me permita consultar
> estos codigos de productos a partir de un BITMAP???
>
> En realidad, podríamos modifiar la aplicación para que "Hardcoded" hiciera
> este "mapeo", pero nos gustaria que fuera parametizable por BBDD.
>
> Nota: No soy muy experto, jeje
>
> Muchas gracias.
>
> saludos
>
> --
>  *Ruben Fitó *
> Software Engineer
> [image: Ubiquat Technologies, SL] r.f...@ubiquat.com
>
>  www.ubiquat.com
> Tota la informació continguda en aquest document i arxius adjunts és
> CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
> error, si us plau elimini'l i posi's en contacte amb l'emissor.
>
> All information contained in this document and any attachments are
> CONFIDENTIAL and protected under trade secret laws. If you receive this
> message by mistake, please delete it and notify it immediately to the
> sender.
>



-- 
*Ruben Fitó *
Software Engineer
[image: Ubiquat Technologies, SL] r.f...@ubiquat.com

 www.ubiquat.com
Tota la informació continguda en aquest document i arxius adjunts és
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
error, si us plau elimini'l i posi's en contacte amb l'emissor.

All information contained in this document and any attachments are
CONFIDENTIAL and protected under trade secret laws. If you receive this
message by mistake, please delete it and notify it immediately to the
sender.


Re: [pgsql-es-ayuda] No conecta por odbc

2014-02-17 Por tema Gilberto Castillo


> Hola.
> Instale el 9.3 en una pc limpia, todo bien sin problemas... ahora no puedo
> accesarla por odbc me sale un mensaje : " ...No se puede encontrar las
> rutinas de instalacion
> para el controladorPor favor vuelva a instalar el controlador..." hice
> lo que pidio y nada de nada... luego lo desinstale e instale el antiguo
> odbc que usaba con el 8  y tampoco
> nada de nada, hay un controlador ODBC para esta versi�n 9.3 o debo usar
> otro Postgresql, recomiendenme entonces que version usar junto con su
> ODBC...
>
> Estoy volviendo a postgresql luego de un tiempo, ya que la empresa esta
> usando sql server

¿qué error te da?
¿qué versión de SQL SEVER utilizas?


Saludos,
Gilberto Castillo
La Habana, Cuba
--- 
This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at 
host imx3.etecsa.cu
Visit our web-site: , 
-
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] SELECT a partir de un BITMAP

2014-02-17 Por tema Jaime Casanova
2014-02-17 7:36 GMT-05:00 Ruben Fitó :
>
> Hola lista,
>
> en el trabajo nos ha llegado un pequeño reto, y me gustaria saber si existe 
> alguna solución.
>
> El tema es que tenemos una tabla del siguiente estilo:
>
> codigo_producto_externo, codigo_producto_interno, codigo_producto_a_informar
>
> Esta tabla se utiliza para mapear los códigos de producto que tiene un 
> servidor remoto con los códigos de producto que tenemos internamente.
>
> Para comprobar si un producto puede ser vendido a un cliente, el servidor 
> remoto nos da un Bitmap del estilo:
>
> 1010111011011101, donde la posición de cada bit corresponde al 
> codigo_producto_externo, diciéndonos que 1: bloqueado, 0:aceptado.
>
> Existe algun tipo de funcionalidad en Postgres que me permita consultar estos 
> codigos de productos a partir de un BITMAP???
>

Podrias explicar mejor lo que buscas hacer? Especialmente que chequeas
de lo que te llega del servidor remoto, en que tipo de dato esta, etc


-- 
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157

-
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] problema con constraint no permite grabar

2014-02-17 Por tema jvenegasperu .
Hola a todos

uso la version de postgres 9.3 sobre windows 7

con el software navicat sincronizo mi BD de desarrollo con la de producción

no he tenido problemas antes pero ahora luego de que ejecutara
instrucciones de dropeo y volver a crear constraints

una de mis tablas ahora a quedado con este problema:

An error has occurred:

ERROR:  constraint 51957 is not a foreign key constraint


Es como si esta constraint se hubiera borrado solo de un lado de la tabla y
en la otra permanece activo y no me deja ni siquiera modificar un registro.

como podria eliminar en este caso la constraint 51957.

aclaro que el software navicat permite sincronizar las BD y las
instrucciones de BD las genera el mismo software y se ejecutan en batch a
veces me salen por ejemplo 5000 instrucciones de manera automatica.
yo solo corria el script pero ahora me ha quedado este problema

En este caso ocurrio un error con el constraint y quisiera saber si alguien
sabe como eliminarlo completamente.

saludos

-- 
José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: jvenegasp...@php.net
  jvenegasp...@gmail.com

PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php


Re: [pgsql-es-ayuda] problema con constraint no permite grabar

2014-02-17 Por tema Alvaro Herrera
jvenegasperu . escribió:
> Hola a todos
> 
> uso la version de postgres 9.3 sobre windows 7
> 
> con el software navicat sincronizo mi BD de desarrollo con la de producción
> 
> no he tenido problemas antes pero ahora luego de que ejecutara
> instrucciones de dropeo y volver a crear constraints
> 
> una de mis tablas ahora a quedado con este problema:
> 
> An error has occurred:
> 
> ERROR:  constraint 51957 is not a foreign key constraint

Esto suena a que un catálogo está corrupto, quizás pg_constraint.
Yo diría que esto es un bug de Navicat y deberías reportarlo a ellos.


-- 
Álvaro Herrerahttp://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] SELECT a partir de un BITMAP

2014-02-17 Por tema Ruben Fitó
Hola Jaime,

concretamente necesito que a partir de un bitmap por ejemplo '101110..n',
este bitmap se traduce a :

1 --> Codigo_producto_externo = 1  NO autorizado
0 --> Codigo_producto_externo = 2  autorizado
1 --> Codigo_producto_externo = 3  NO autorizado
1 --> Codigo_producto_externo = 4  NO autorizado
1 --> Codigo_producto_externo = 4  NO autorizado
0 --> Codigo_producto_externo = 5  autorizado
.
.
n--> Codigo_producto_externo = posicion de n

Como se puede observar la posición de cada uno de los bits del bitmap
corresponde a un codigo de producto externo.

Simplemente me gustaria saber si existe alguna manera para poder hacer una
consulta de productos autorizados utilizando este bitmap.


En resumen y como ejemplo:

Tengo 4 productos en una tabla, codificacos como   1, 2, 3, 4.
Tengo un bitmap de productos autorizados por cliente =  1  0  1  0.
Entonces el resultado esperado es que los productos autorizados son los
códigos 2 i 3.   --> ya que 1=bloqueado, 0=autorizado


Nota: Los nombres de las columnas son inventados, no hagais mucho caso.


Un saludo







2014-02-17 14:22 GMT+01:00 Jaime Casanova :

> 2014-02-17 7:36 GMT-05:00 Ruben Fitó :
> >
> > Hola lista,
> >
> > en el trabajo nos ha llegado un pequeño reto, y me gustaria saber si
> existe alguna solución.
> >
> > El tema es que tenemos una tabla del siguiente estilo:
> >
> > codigo_producto_externo, codigo_producto_interno,
> codigo_producto_a_informar
> >
> > Esta tabla se utiliza para mapear los códigos de producto que tiene un
> servidor remoto con los códigos de producto que tenemos internamente.
> >
> > Para comprobar si un producto puede ser vendido a un cliente, el
> servidor remoto nos da un Bitmap del estilo:
> >
> > 1010111011011101, donde la posición de cada bit corresponde al
> codigo_producto_externo, diciéndonos que 1: bloqueado, 0:aceptado.
> >
> > Existe algun tipo de funcionalidad en Postgres que me permita consultar
> estos codigos de productos a partir de un BITMAP???
> >
>
> Podrias explicar mejor lo que buscas hacer? Especialmente que chequeas
> de lo que te llega del servidor remoto, en que tipo de dato esta, etc
>
>
> --
> Jaime Casanova www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
> Phone: +593 4 5107566 Cell: +593 987171157
>



-- 
*Ruben Fitó *
Software Engineer
[image: Ubiquat Technologies, SL] r.f...@ubiquat.com

 www.ubiquat.com
Tota la informació continguda en aquest document i arxius adjunts és
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
error, si us plau elimini'l i posi's en contacte amb l'emissor.

All information contained in this document and any attachments are
CONFIDENTIAL and protected under trade secret laws. If you receive this
message by mistake, please delete it and notify it immediately to the
sender.


Re: [pgsql-es-ayuda] problema con constraint no permite grabar

2014-02-17 Por tema jvenegasperu .
Hola Alvaro.

ya les estoy remitiendo el reporte a los desrrolladores de navicat y
solucione el problema eliminando todas las constraint de la tabla con
pgadmin y volviendolas a crear manualmente lo curioso es que ninguna de las
constraint tenia el identificador 51957 que asumo es a lo que se refiere el
error.

saludos a todos




El 17 de febrero de 2014, 10:04, Alvaro Herrera
escribió:

> jvenegasperu . escribió:
> > Hola a todos
> >
> > uso la version de postgres 9.3 sobre windows 7
> >
> > con el software navicat sincronizo mi BD de desarrollo con la de
> producción
> >
> > no he tenido problemas antes pero ahora luego de que ejecutara
> > instrucciones de dropeo y volver a crear constraints
> >
> > una de mis tablas ahora a quedado con este problema:
> >
> > An error has occurred:
> >
> > ERROR:  constraint 51957 is not a foreign key constraint
>
> Esto suena a que un catálogo está corrupto, quizás pg_constraint.
> Yo diría que esto es un bug de Navicat y deberías reportarlo a ellos.
>
>
> --
> Álvaro Herrerahttp://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>



-- 
José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: jvenegasp...@php.net
  jvenegasp...@gmail.com

PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php


Re: [pgsql-es-ayuda] problema con constraint no permite grabar

2014-02-17 Por tema Alvaro Herrera
jvenegasperu . escribió:
> Hola Alvaro.
> 
> ya les estoy remitiendo el reporte a los desrrolladores de navicat y
> solucione el problema eliminando todas las constraint de la tabla con
> pgadmin y volviendolas a crear manualmente lo curioso es que ninguna de las
> constraint tenia el identificador 51957 que asumo es a lo que se refiere el
> error.

El 51957 era el OID.

Seguramente había triggers en la tabla, que hacían referencia a la
restricción 51597.  Esto indicaría una situación en la cual la
restricción tiene forzosamente que ser una llave foránea (otros tipos de
restricciones no tienen triggers asociados).  Pero si el Navicat se
confundió con los OIDs puede haberle puesto ese número a una restricción
de otro tipo y ahí quedó el problema, porque los triggers al ejecutarse
no encontraban en pg_constraint lo que esperaban encontrar.

-- 
Álvaro Herrerahttp://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] SELECT a partir de un BITMAP

2014-02-17 Por tema Jaime Casanova
2014-02-17 10:05 GMT-05:00 Ruben Fitó :
>
> Hola Jaime,
>
> concretamente necesito que a partir de un bitmap por ejemplo '101110..n', 
> este bitmap se traduce a :
>
> 1 --> Codigo_producto_externo = 1  NO autorizado
> 0 --> Codigo_producto_externo = 2  autorizado
> 1 --> Codigo_producto_externo = 3  NO autorizado
> 1 --> Codigo_producto_externo = 4  NO autorizado
> 1 --> Codigo_producto_externo = 4  NO autorizado
> 0 --> Codigo_producto_externo = 5  autorizado
> .
> .
> n--> Codigo_producto_externo = posicion de n
>
> Como se puede observar la posición de cada uno de los bits del bitmap 
> corresponde a un codigo de producto externo.
>
> Simplemente me gustaria saber si existe alguna manera para poder hacer una 
> consulta de productos autorizados utilizando este bitmap.
>
>
> En resumen y como ejemplo:
>
> Tengo 4 productos en una tabla, codificacos como   1, 2, 3, 4.
> Tengo un bitmap de productos autorizados por cliente =  1  0  1  0.
> Entonces el resultado esperado es que los productos autorizados son los 
> códigos 2 i 3.   --> ya que 1=bloqueado, 0=autorizado
>
>

Saludos,

Puedes usar una función como esta o al menos el SELECT que esta
dentro, claro en lugar de WITH RECURSIVE tambien se podia haber usado
un for para recorrer el bitmap (que quiza sea mas eficiente)

create or replace function productos_activos(bitmap text) returns
setof integer as
$$
with recursive q(pos) as (
select position('0' in bitmap)
 union all
select position('0' in substring(bitmap from pos+1)) + pos
  from q
 where position('0' in substring(bitmap from pos+1)) > 0
)
select * from q;
$$ language sql;

-- 
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157

-
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] SELECT a partir de un BITMAP

2014-02-17 Por tema Fede Martinez
no se si es esto lo que pedis:

select a from generate_series(1, char_length('0101')) a where
substring('0101',a,1)='1' ;


El 17 de febrero de 2014, 12:53, Jaime Casanova escribió:

> 2014-02-17 10:05 GMT-05:00 Ruben Fitó :
> >
> > Hola Jaime,
> >
> > concretamente necesito que a partir de un bitmap por ejemplo
> '101110..n', este bitmap se traduce a :
> >
> > 1 --> Codigo_producto_externo = 1  NO autorizado
> > 0 --> Codigo_producto_externo = 2  autorizado
> > 1 --> Codigo_producto_externo = 3  NO autorizado
> > 1 --> Codigo_producto_externo = 4  NO autorizado
> > 1 --> Codigo_producto_externo = 4  NO autorizado
> > 0 --> Codigo_producto_externo = 5  autorizado
> > .
> > .
> > n--> Codigo_producto_externo = posicion de n
> >
> > Como se puede observar la posición de cada uno de los bits del bitmap
> corresponde a un codigo de producto externo.
> >
> > Simplemente me gustaria saber si existe alguna manera para poder hacer
> una consulta de productos autorizados utilizando este bitmap.
> >
> >
> > En resumen y como ejemplo:
> >
> > Tengo 4 productos en una tabla, codificacos como   1, 2, 3, 4.
> > Tengo un bitmap de productos autorizados por cliente =  1  0  1  0.
> > Entonces el resultado esperado es que los productos autorizados son los
> códigos 2 i 3.   --> ya que 1=bloqueado, 0=autorizado
> >
> >
>
> Saludos,
>
> Puedes usar una función como esta o al menos el SELECT que esta
> dentro, claro en lugar de WITH RECURSIVE tambien se podia haber usado
> un for para recorrer el bitmap (que quiza sea mas eficiente)
>
> create or replace function productos_activos(bitmap text) returns
> setof integer as
> $$
> with recursive q(pos) as (
> select position('0' in bitmap)
>  union all
> select position('0' in substring(bitmap from pos+1)) + pos
>   from q
>  where position('0' in substring(bitmap from pos+1)) > 0
> )
> select * from q;
> $$ language sql;
>
> --
> Jaime Casanova www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
> Phone: +593 4 5107566 Cell: +593 987171157
>
> -
> 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] SELECT a partir de un BITMAP

2014-02-17 Por tema Jaime Casanova
2014-02-17 11:08 GMT-05:00 Fede Martinez :
> no se si es esto lo que pedis:
>
> select a from generate_series(1, char_length('0101')) a where
> substring('0101',a,1)='1' ;
>

Uh! Este está mas simple que el mio... buena idea

-- 
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157

-
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] SELECT a partir de un BITMAP

2014-02-17 Por tema Alberto Cabello Sánchez
On Mon, 17 Feb 2014 16:05:18 +0100
Ruben Fitó  wrote:

> Hola Jaime,
> 
> concretamente necesito que a partir de un bitmap por ejemplo '101110..n',
> este bitmap se traduce a :
> 
> 1 --> Codigo_producto_externo = 1  NO autorizado
> 0 --> Codigo_producto_externo = 2  autorizado
> 1 --> Codigo_producto_externo = 3  NO autorizado
> 1 --> Codigo_producto_externo = 4  NO autorizado
> 1 --> Codigo_producto_externo = 4  NO autorizado
> 0 --> Codigo_producto_externo = 5  autorizado
> .
> .
> n--> Codigo_producto_externo = posicion de n
 
Mira a ver si una consulta parecida a
SELECT * FROM productos WHERE
substring('011010' FROM (char_length('011010') - prod_id) FOR 1) = '1';
puede servirte.
El cálculo
substring('011010' FROM (char_length('011010') - prod_id) FOR 1)
se debe a que quieres recorrer la cadena de derecha a izquierda, de lo
contrario usarías simplemente
substring('011010' FROM prod_id FOR 1)
para obtener el prod_id-ésimo valor de la cadena (empezando por la izquierda).
He supuesto que los prod_id empiezan en 1.

-- 
Alberto Cabello Sánchez 

-
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] SELECT a partir de un BITMAP

2014-02-17 Por tema Alvaro Herrera
Ruben Fitó escribió:
> Hola Jaime,
> 
> concretamente necesito que a partir de un bitmap por ejemplo '101110..n',
> este bitmap se traduce a :
> 
> 1 --> Codigo_producto_externo = 1  NO autorizado
> 0 --> Codigo_producto_externo = 2  autorizado
> 1 --> Codigo_producto_externo = 3  NO autorizado
> 1 --> Codigo_producto_externo = 4  NO autorizado
> 1 --> Codigo_producto_externo = 4  NO autorizado
> 0 --> Codigo_producto_externo = 5  autorizado
> .
> .
> n--> Codigo_producto_externo = posicion de n

Me parece una manera poco feliz de codificar esta información, pero en
este caso podrías intentar sacar el bit correspondiente a cada número entero
usando algo como lo siguiente:

with bitmap as (select '10010010111000100'::varbit(17) as el_valor)
select i + 1, ((el_valor << i) & '1')::varbit(1)
from  bitmap, generate_series(0, length(el_valor) - 1) i;

 ?column? | varbit 
--+
1 | 1
2 | 0
3 | 0
4 | 1
5 | 0
6 | 0
7 | 1
8 | 0
9 | 1
   10 | 1
   11 | 1
   12 | 0
   13 | 0
   14 | 0
   15 | 1
   16 | 0
   17 | 0
(17 filas)


Lamentablemente no creo que esto funcione limpiamente en < 9.3 por falta
de LATERAL (el cual no se ve en la consulta, pero está implícito en el
hecho de usar el_valor como argumento de generate_series() que sólo
existe por el "from bitmap".   Pero a lo mejor podrías imitarlo usando
más cláusulas WITH.

O quizás hay formas aún más simples.

-- 
Álvaro Herrerahttp://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