[pgsql-es-ayuda] lenguaje no encontrado en funcion

2011-12-07 Por tema Marco Vinicio Jimenez Rojas
buenas, estoy tratando de crear una function en postgres pero me dice:

ERROR:  no existe el lenguaje «plpgsql»
HINT:  Usar CREATE LANGUAGE para instalar el lenguaje en la base de datos.


pero en la funcion estoy usando el lenguaje asi:

language 'plpgsql';

-- 

---
MVJR


Re: [pgsql-es-ayuda] lenguaje no encontrado en funcion

2011-12-07 Por tema anthony

El 07/12/11 14:26, Marco Vinicio Jimenez Rojas escribió:

la funcion estoy usan

escribe antes de crear la función CREATE LANGUAGE plpgsql


Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE 
ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com
-
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] lenguaje no encontrado en funcion

2011-12-07 Por tema Alejandro Carrillo
La pregunta aqui es: ¿Instalaste el lenguaje usando pgadmin o con el sql CREATE 
LANGUAGE pgplsql?




>
> De: Marco Vinicio Jimenez Rojas 
>Para: Lista de Postgres  
>Enviado: miércoles 7 de diciembre de 2011 14:26
>Asunto: [pgsql-es-ayuda] lenguaje no encontrado en funcion
> 
>
>buenas, estoy tratando de crear una function en postgres pero me dice:
>
>ERROR:  no existe el lenguaje «plpgsql»
>HINT:  Usar CREATE LANGUAGE para instalar el lenguaje en la base de datos.
>
>
>pero en la funcion estoy usando el lenguaje asi:
>
>language 'plpgsql';
>
>-- 
>
>---
>MVJR
>
>
>

[pgsql-es-ayuda] Usuario postgres no puede conectarse a la BD después de actualización

2011-12-07 Por tema Jose R. Prieto Pazos
Hola:

Creo que ha sido tras una actualización de Ubuntu, que no puedo conectar
a PostgreSQL con el usuario postgres, ni con pgAdmin, ni con phpP gAdmin

Ficheros de configuración:

pg_hba.conf:

# Database administrative login by UNIX sockets
local   all postgres  ident
# TYPE  DATABASEUSERCIDR-ADDRESS  METHOD
local   all all   md5
# IPv4 local connections:
hostall all 127.0.0.1/32  md5
# IPv6 local connections:
hostall all ::1/128   md5

Log de arranque del servidor:

2011-12-07 20:12:09 CET LOG:  el sistema de bases de datos est? apagado
2011-12-07 20:12:11 CET LOG:  el sistema de bases de datos fue apagado
en 2011-12-07 20:12:09 CET
2011-12-07 20:12:11 CET LOG:  el sistema de bases de datos est? listo
para aceptar conexiones
2011-12-07 20:12:11 CET LOG:  conexi?n recibida: host=[local]
2011-12-07 20:12:11 CET LOG:  el paquete de inicio est? incompleto
2011-12-07 20:12:12 CET LOG:  conexi?n recibida: host=[local]
2011-12-07 20:12:12 CET LOG:  conexi?n autorizada: usuario=postgres
database=postgres
2011-12-07 20:12:12 CET LOG:  conexi?n recibida: host=[local]
2011-12-07 20:12:12 CET LOG:  conexi?n autorizada: usuario=postgres
database=postgres
2011-12-07 20:12:13 CET LOG:  conexi?n recibida: host=[local]
2011-12-07 20:12:13 CET LOG:  conexi?n autorizada: usuario=postgres
database=postgres
2011-12-07 21:06:43 CET LOG:  conexi?n recibida: host=[local]
2011-12-07 21:06:43 CET LOG:  el paquete de inicio est? incompleto

Sin embargo, si utilizo otro usuario (el usuario que tengo para OpenERP,
en concreto), me conecta desde phpPgAdmin, y desde el propio OpenERP,
pero NO desde pgAdmin:

2011-12-07 21:11:30 CET LOG:  conexi?n recibida: host=::1 port=53830
2011-12-07 21:11:30 CET LOG:  conexi?n autorizada: usuario=XX
database=template1
2011-12-07 21:11:35 CET LOG:  conexi?n recibida: host=::1 port=53835
2011-12-07 21:11:35 CET LOG:  conexi?n autorizada: usuario=XX
database=NNN

Esto es tras conectarme con OpenERP; desde phpPgAdmin:
2011-12-07 21:14:28 CET LOG:  conexi?n recibida: host=::1 port=53904
2011-12-07 21:14:28 CET LOG:  conexi?n autorizada: usuario=XX
database=template1
2011-12-07 21:14:28 CET LOG:  conexi?n recibida: host=::1 port=53907
2011-12-07 21:14:28 CET LOG:  conexi?n autorizada: usuario=XX
database=template1

Con otro usuario diferente, también pasa lo mismo, desde phpPgAdmin.
Pero el usuario postgres no puede acceder :S

Supongo que pasó tras la actualización vía apt-get, aunque no puedo
asegurarlo.
OpenERP no se ejecuta como demonio, sino que lo levanto bajo demanda.
Bajo Ubuntu 10.04.3

# lsb_release -a
LSB Version:   
core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch
Distributor ID:Ubuntu
Description:Ubuntu 10.04.3 LTS
Release:10.04
Codename:lucid

PostgreSQL 8.4, paquete oficial de Ubuntu, 8.4.9-0ubuntu0.10.04 (y no
veo encuentro ningún bug similar en Launchpad :S )


[pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Marco Vinicio Jimenez Rojas
*estoy aprendiendo a hacer funciones en postgres y esto no me funciona, le
paso el codigo de una funcion que recibe unos datos por parametro y quiero
hacer un insert, necesito que me ayuden a corregir la funcion o por lo
menos saber cuales son mis errores en esta funcion.* gracias.

create function ingresoPago(transportista integer, fecha date, montoT
integer, montoV integer,
montoP integer, estado integer) returns integer as
$BODY$
DECLARE viaje integer = 0;
begin
 viaje = insert into pago_viajes(transportista,
fecha,monto_total,monto_vales,
 monto_pago, estado) values(transp,
fecha,montoT,montoV, montoP,
   estado)returning idpago_viajes;

 return viaje;
end;
$BODY$
language 'plpgsql';

-- 

---
MVJR


Re: [pgsql-es-ayuda] Tabla con varios tablespaces

2011-12-07 Por tema Alejandro Carrillo
Pensé que lo tenia o lo podia manejar sin triggers ni reglas :(




>
> De: Alvaro Herrera 
>Para: Jaime Casanova  
>CC: Alejandro Carrillo ; Ayuda 
> 
>Enviado: martes 6 de diciembre de 2011 19:14
>Asunto: Re: [pgsql-es-ayuda] Tabla con varios tablespaces
> 
>
>Excerpts from Jaime Casanova's message of mar dic 06 20:19:53 -0300 2011:
>> 2011/12/6 Alejandro Carrillo :
>> >
>> > La presente es para preguntar si es posible crear una tabla particionada 
>> > con
>> > varios tablespaces, similar a lo que hace Oracle para particionar los 
>> > datos:
>> 
>> no hay una sintaxis para particionamiento pero puedes usar triggers
>> para hacer el trabajo sucio de mover a las particiones, algo asi:
>> http://www.postgresql.org/docs/9.1/static/ddl-partitioning.html
>> 
>> y cada particion como es una tabla distinta la puedes mover a
>> tablespaces distintos mediante ALTER TABLE ... SET TABLESPACE ... (sin
>> embargo el concepto de TABLESPACE es distinto en Postgres y en Oracle,
>> IIRC)
>> 
>> > Esto es muuuyy útil a la hora de leer datos de tablas superiores a 5
>> > millones de registros (tablas estilo DWH)
>> 
>> bueno, yo no me atreveria a dar numero en cuanto a partir de cuando es
>> util... eso depende de la porcion de datos que vas a leer de la tabla
>
>Lo otro es que las lecturas entre las varias tablas no van a ejecutarse
>en paralelo de los distintos tablespaces, sino que en secuencia ... me
>imagino que la idea de lo que haces en Oracle es aprovechar paralelismo
>en I/O.  Postgres no hace eso.
>
>-- 
>Álvaro Herrera 
>
>
>

Re: [pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Juan
Que queres devolver? el insert que sepa no devuelve nada ??? nada util
tal vez setee algun flag de success u ok pero no creo q nada mas .
salu2
mdc

2011/12/7 Marco Vinicio Jimenez Rojas 

> *estoy aprendiendo a hacer funciones en postgres y esto no me funciona,
> le paso el codigo de una funcion que recibe unos datos por parametro y
> quiero hacer un insert, necesito que me ayuden a corregir la funcion o por
> lo menos saber cuales son mis errores en esta funcion.* gracias.
>
> create function ingresoPago(transportista integer, fecha date, montoT
> integer, montoV integer,
> montoP integer, estado integer) returns integer as
> $BODY$
> DECLARE viaje integer = 0;
> begin
>  viaje = insert into pago_viajes(transportista,
> fecha,monto_total,monto_vales,
>  monto_pago, estado) values(transp,
> fecha,montoT,montoV, montoP,
>estado)returning idpago_viajes;
>
>  return viaje;
> end;
> $BODY$
> language 'plpgsql';
>
> --
>
> ---
> MVJR
>


Re: [pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Alejandro Carrillo
no debería ser:

viaje := insert into pago_viajes(transportista, fecha,monto_total,monto_vales, 
 monto_pago, estado) values(transp, fecha,montoT,montoV, 
montoP, 
   estado)returning idpago_viajes;

faltan los 2 puntos para la asignación del campo serial


>
> De: Marco Vinicio Jimenez Rojas 
>Para: Lista de Postgres  
>Enviado: miércoles 7 de diciembre de 2011 16:20
>Asunto: [pgsql-es-ayuda] error en funcion
> 
>
>estoy aprendiendo a hacer funciones en postgres y esto no me funciona, le paso 
>el codigo de una funcion que recibe unos datos por parametro y quiero hacer un 
>insert, necesito que me ayuden a corregir la funcion o por lo menos saber 
>cuales son mis errores en esta funcion. gracias.
>
>create function ingresoPago(transportista integer, fecha date, montoT integer, 
>montoV integer,
>montoP integer, estado integer) returns integer as
>$BODY$
>DECLARE viaje integer = 0;
>begin
> viaje = insert into pago_viajes(transportista, 
>fecha,monto_total,monto_vales, 
> monto_pago, estado) values(transp, fecha,montoT,montoV, 
>montoP, 
>   estado)returning idpago_viajes;
>
> return viaje;
>end;
>$BODY$
>language 'plpgsql';
>
>-- 
>
>---
>MVJR
>
>
>

Re: [pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Juan
Hola

no entiendo la parte de returning , para mi esta mal el sql.

 viaje = insert into pago_viajes(transportista,
fecha,monto_total,monto_vales,
 monto_pago, estado) values(transp,
fecha,montoT,montoV, montoP,
   estado)  -->  returning idpago_viajes; que hace
esoo???
salu2
mdc


2011/12/7 Juan 

> Que queres devolver? el insert que sepa no devuelve nada ??? nada util
> tal vez setee algun flag de success u ok pero no creo q nada mas .
> salu2
> mdc
>
>
> 2011/12/7 Marco Vinicio Jimenez Rojas 
>
>> *estoy aprendiendo a hacer funciones en postgres y esto no me funciona,
>> le paso el codigo de una funcion que recibe unos datos por parametro y
>> quiero hacer un insert, necesito que me ayuden a corregir la funcion o por
>> lo menos saber cuales son mis errores en esta funcion.* gracias.
>>
>> create function ingresoPago(transportista integer, fecha date, montoT
>> integer, montoV integer,
>> montoP integer, estado integer) returns integer as
>> $BODY$
>> DECLARE viaje integer = 0;
>> begin
>>  viaje = insert into pago_viajes(transportista,
>> fecha,monto_total,monto_vales,
>>  monto_pago, estado) values(transp,
>> fecha,montoT,montoV, montoP,
>>estado)returning idpago_viajes;
>>
>>  return viaje;
>> end;
>> $BODY$
>> language 'plpgsql';
>>
>> --
>>
>> ---
>> MVJR
>>
>
>


Re: [pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Juan
Che como supieron que era un serial???
no veo declaracion ni nada , estoy viendo mal :D
salu2
mdc

2011/12/7 Marco Vinicio Jimenez Rojas 

> el returning me devuelve el valor del serial y si lo necesito. si hago el
> insert solo si me funciona, pero en la funcion no
>
> El 7 de diciembre de 2011 15:24, Juan escribió:
>
> Hola
>>
>> no entiendo la parte de returning , para mi esta mal el sql.
>>
>>
>>  viaje = insert into pago_viajes(transportista,
>> fecha,monto_total,monto_vales,
>>  monto_pago, estado) values(transp,
>> fecha,montoT,montoV, montoP,
>>estado)  -->  returning idpago_viajes; que hace
>> esoo???
>> salu2
>> mdc
>>
>>
>>
>> 2011/12/7 Juan 
>>
>>> Que queres devolver? el insert que sepa no devuelve nada ??? nada util
>>> tal vez setee algun flag de success u ok pero no creo q nada mas .
>>> salu2
>>> mdc
>>>
>>>
>>> 2011/12/7 Marco Vinicio Jimenez Rojas 
>>>
 *estoy aprendiendo a hacer funciones en postgres y esto no me
 funciona, le paso el codigo de una funcion que recibe unos datos por
 parametro y quiero hacer un insert, necesito que me ayuden a corregir la
 funcion o por lo menos saber cuales son mis errores en esta 
 funcion.*gracias.

 create function ingresoPago(transportista integer, fecha date, montoT
 integer, montoV integer,
 montoP integer, estado integer) returns integer as
 $BODY$
 DECLARE viaje integer = 0;
 begin
  viaje = insert into pago_viajes(transportista,
 fecha,monto_total,monto_vales,
  monto_pago, estado) values(transp,
 fecha,montoT,montoV, montoP,
estado)returning idpago_viajes;

  return viaje;
 end;
 $BODY$
 language 'plpgsql';

 --

 ---
 MVJR

>>>
>>>
>>
>
>
> --
>
> ---
> MVJR
>


Re: [pgsql-es-ayuda] scripts postgres

2011-12-07 Por tema Jaime Casanova
2011/12/7 Julio Guerrero :
> Saludos, por favor me puede ayudar a realizar el script sql, para postgres
> desde visual basic .net; como debe estar estructurado el codigo sql para que
> me acepte sin errores postgres, y una vez echo como se puede subir el
> script.
>

No entendi tu pregunta. Si estas programando en vb .net para que
necesitas un script? no sera que lo que quieres es ejecutar codigo sql
desde vb .net?

-- 
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] error en funcion

2011-12-07 Por tema Alvaro Herrera

Excerpts from Alejandro Carrillo's message of mié dic 07 18:23:47 -0300 2011:
> no debería ser:
> 
> viaje := insert into pago_viajes(transportista, 
> fecha,monto_total,monto_vales, 
>  monto_pago, estado) values(transp, fecha,montoT,montoV, 
> montoP, 
>    estado)returning idpago_viajes;
> 
> faltan los 2 puntos para la asignación del campo serial

Tanto = como := sirven para la asignación en plpgsql.

-- 
Álvaro Herrera 
-
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] error en funcion

2011-12-07 Por tema Alejandro Carrillo
Lo mismo creia yo hasta que vi que postgresql tiene esa especial habilidad de 
devolver el valor insertado usando la palabra clave "returning". Acá lo que veo 
mal es la asignación




>
> De: Juan 
>Para: Marco Vinicio Jimenez Rojas  
>CC: Lista de Postgres  
>Enviado: miércoles 7 de diciembre de 2011 16:22
>Asunto: Re: [pgsql-es-ayuda] error en funcion
> 
>
>Que queres devolver? el insert que sepa no devuelve nada ??? nada util
>tal vez setee algun flag de success u ok pero no creo q nada mas .
>salu2
>mdc
>
>
>2011/12/7 Marco Vinicio Jimenez Rojas 
>
>estoy aprendiendo a hacer funciones en postgres y esto no me funciona, le paso 
>el codigo de una funcion que recibe unos datos por parametro y quiero hacer un 
>insert, necesito que me ayuden a corregir la funcion o por lo menos saber 
>cuales son mis errores en esta funcion. gracias.
>>
>>create function ingresoPago(transportista integer, fecha date, montoT 
>>integer, montoV integer,
>>montoP integer, estado integer) returns integer as
>>$BODY$
>>DECLARE viaje integer = 0;
>>begin
>> viaje = insert into pago_viajes(transportista, 
>>fecha,monto_total,monto_vales, 
>> monto_pago, estado) values(transp, fecha,montoT,montoV, 
>>montoP, 
>>   estado)returning idpago_viajes;
>>
>> return viaje;
>>end;
>>$BODY$
>>language 'plpgsql';
>>
>>-- 
>>
>>---
>>MVJR
>>
>
>
>

Re: [pgsql-es-ayuda] scripts postgres

2011-12-07 Por tema Alejandro Carrillo
Muy probablemente eso es lo que necesita, sin embargo debes enviarnos el 
ejemplo puntual para ver lo que requieres




>
> De: Jaime Casanova 
>Para: Julio Guerrero  
>CC: POSTGRES ; Foros Postgre Ecuador 
> 
>Enviado: miércoles 7 de diciembre de 2011 16:45
>Asunto: Re: [pgsql-es-ayuda] scripts postgres
> 
>2011/12/7 Julio Guerrero :
>> Saludos, por favor me puede ayudar a realizar el script sql, para postgres
>> desde visual basic .net; como debe estar estructurado el codigo sql para que
>> me acepte sin errores postgres, y una vez echo como se puede subir el
>> script.
>>
>
>No entendi tu pregunta. Si estas programando en vb .net para que
>necesitas un script? no sera que lo que quieres es ejecutar codigo sql
>desde vb .net?
>
>-- 
>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] Quiero unirme a la lista

2011-12-07 Por tema Matias Israel Malpica Escobar
Soy solo yo o a todos les ha llegado esto 3 veces?

De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Juan Carlos Ramirez 
Zambrano
Enviado el: Viernes, 18 de Noviembre de 2011 05:36 p.m.
Para: pgsql-es-ayuda@postgresql.org
CC: ja...@2ndquadrant.com; alvhe...@alvh.no-ip.org; randradefons...@gmail.com
Asunto: [pgsql-es-ayuda] Quiero unirme a la lista

Hola, deseo unirme a la lista de postgresql, soy nuevo en este tema.

Gracias.


Saludos.

LI. Juan Carlos Ramirez Z.
Cel. 4441 55 00 95
juancarlosrz...@gmail.com
http://www.mazamitlamexico.com
twitter @MazamitlaMexico
Facebook facebook.com/MazamitlaMexico

--Before printing this message, see if you really need - do it for your world
--You cannot mandate productivity, you must provide the tools to let people 
become their best - Steve Jobs



Re: [pgsql-es-ayuda] Quiero unirme a la lista

2011-12-07 Por tema Miguel Angel Hernandez Moreno
a mi slo me llego 1 y todo el desgloce de comentarios

El 7 de diciembre de 2011 16:04, Matias Israel Malpica Escobar <
matias.malp...@thyssenkrupp.com> escribió:

>  Soy solo yo o a todos les ha llegado esto 3 veces?
>
> ** **
>
> *De:* pgsql-es-ayuda-ow...@postgresql.org [mailto:
> pgsql-es-ayuda-ow...@postgresql.org] *En nombre de *Juan Carlos Ramirez
> Zambrano
> *Enviado el:* Viernes, 18 de Noviembre de 2011 05:36 p.m.
>
> *Para:* pgsql-es-ayuda@postgresql.org
> *CC:* ja...@2ndquadrant.com; alvhe...@alvh.no-ip.org;
> randradefons...@gmail.com
> *Asunto:* [pgsql-es-ayuda] Quiero unirme a la lista
>
>  ** **
>
> Hola, deseo unirme a la lista de postgresql, soy nuevo en este tema.
>
> ** **
>
> Gracias.
>
> ** **
>
>
> 
>
> Saludos.
>
> ** **
>
> LI. Juan Carlos Ramirez Z.
> Cel. 4441 55 00 95
> juancarlosrz...@gmail.com
> http://www.mazamitlamexico.com
>
> twitter @MazamitlaMexico
>
> Facebook facebook.com/MazamitlaMexico
> 
>
> ** **
>
> --Before printing this message, see if you really need - do it for
> your world
>
> --You cannot mandate productivity, you must provide the tools to let
> people become their best - Steve Jobs
>
> ** **
>



-- 
ISC Miguel Angel Hernandez Moreno


Re: [pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Alvaro Herrera

Excerpts from Marco Vinicio Jimenez Rojas's message of mié dic 07 18:20:16 
-0300 2011:
> *estoy aprendiendo a hacer funciones en postgres y esto no me funciona, le
> paso el codigo de una funcion que recibe unos datos por parametro y quiero
> hacer un insert, necesito que me ayuden a corregir la funcion o por lo
> menos saber cuales son mis errores en esta funcion.* gracias.
> 
> create function ingresoPago(transportista integer, fecha date, montoT
> integer, montoV integer,
> montoP integer, estado integer) returns integer as
> $BODY$
> DECLARE viaje integer = 0;
> begin
>  viaje = insert into pago_viajes(transportista,
> fecha,monto_total,monto_vales,
>  monto_pago, estado) values(transp,
> fecha,montoT,montoV, montoP,
>estado)returning idpago_viajes;
> 
>  return viaje;
> end;
> $BODY$
> language 'plpgsql';

Hum.  Llamaste "transportista" al primer argumento de la función, y
después trataste de pasar "transp" en la cláusula values.  Eso
obviamente está malo.  Pero más generalmente, ten cuidado con los
nombres que le das a las variables, para evitar usar nombres que sean
también nombres de columnas de las tablas que vas a usar.  Eso también
va a dar problemas.

Normalmente, cuando uno tiene una función que da error, debería pegar
además de la función, el mensaje de error que arroja.  Mínimo.  Y si se
pretende que otra persona depure el código, como cortesía debería darse
además las definiciones de las tablas involucradas, para ahorrar el
trabajo de aplicar ingeniería reversa el código.

-- 
Álvaro Herrera 
-
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] Quiero unirme a la lista

2011-12-07 Por tema Alvaro Herrera

Excerpts from Matias Israel Malpica Escobar's message of mié dic 07 19:04:40 
-0300 2011:
> Soy solo yo o a todos les ha llegado esto 3 veces?

Eres tú.

-- 
Álvaro Herrera 
-
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] error en funcion

2011-12-07 Por tema Rodrigo Gonzalez

On 12/07/2011 06:53 PM, Alvaro Herrera wrote:

Excerpts from Alejandro Carrillo's message of mié dic 07 18:23:47 -0300 2011:

no debería ser:

viaje := insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
  monto_pago, estado) values(transp, fecha,montoT,montoV, 
montoP,
estado)returning idpago_viajes;

faltan los 2 puntos para la asignación del campo serial

Tanto = como := sirven para la asignación en plpgsql.


Que yo sepa insert no devuelve...

tenes que cambiar por

insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
 monto_pago, estado) values(transp, fecha,montoT,montoV, 
montoP,
   estado) returning idpago_viajes into viaje;

O sea, usar into

Saludos

Rodrigo


-
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] error en funcion

2011-12-07 Por tema Marco Vinicio Jimenez Rojas
*ya logre resolver el asunto de la funcion haciendo unas correcciones en
las sugerencias que me dio alvaro y quitando esa asignacion. pero mi
pregunta es. si el insert asi como esta me devuelve el valor del seria con
el returnig como hago para capturarlo en una variable?*



*insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
 monto_pago, estado) values(transp,
fecha,montoT,montoV, montoP,
   estado)returning idpago_viajes;*



*Dejo aqui la estructura de la tabla*

*CREATE TABLE pago_viajes
(
  idpago_viajes serial NOT NULL,
  transportista integer NOT NULL,
  fecha date,
  monto_total numeric,
  monto_vales numeric,
  monto_pago numeric,
  estado integer,
  CONSTRAINT pago_viajes_pkey PRIMARY KEY (idpago_viajes)
)*


*muestro aqui la funcion tal como esta y que si funciona pero no puedo
campurar el serial*

*create function ingresoPago(transp integer, fechax date, montoT integer,
montoV integer,
montoP integer, estadox integer) returns integer as
$BODY$
DECLARE viaje integer = 0;
begin
insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
monto_pago, estado) values(transp, fechax,montoT,montoV, montoP,
estadox)returning idpago_viajes;

return viaje;
end;
$BODY$
language 'plpgsql';*








El 7 de diciembre de 2011 16:14, Rodrigo Gonzalez
escribió:

> On 12/07/2011 06:53 PM, Alvaro Herrera wrote:
>
>> Excerpts from Alejandro Carrillo's message of mié dic 07 18:23:47 -0300
>> 2011:
>>
>>> no debería ser:
>>>
>>> viaje := insert into pago_viajes(transportista,
>>> fecha,monto_total,monto_vales,
>>>  monto_pago, estado) values(transp,
>>> fecha,montoT,montoV, montoP,
>>>estado)returning idpago_viajes;
>>>
>>> faltan los 2 puntos para la asignación del campo serial
>>>
>> Tanto = como := sirven para la asignación en plpgsql.
>>
>>  Que yo sepa insert no devuelve...
>
> tenes que cambiar por
>
>
> insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
> monto_pago, estado) values(transp,
> fecha,montoT,montoV, montoP,
>   estado) returning idpago_viajes into viaje;
>
> O sea, usar into
>
> Saludos
>
> Rodrigo
>
>
>


-- 

---
MVJR


Re: [pgsql-es-ayuda] error en funcion

2011-12-07 Por tema Alejandro Carrillo
Yo lo hice asi:

create or replace function ingresoPago(p_transp integer, p_fechax date, 
p_montoT integer, p_montoV integer,
p_montoP integer, p_estadox integer) returns integer as
$BODY$
DECLARE lv_viaje integer = 0;
begin
insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
monto_pago, estado) values(p_transp, p_fechax,p_montoT,p_montoV, p_montoP,
p_estadox) returning idpago_viajes into lv_viaje;
return lv_viaje;
end;
$BODY$
language 'plpgsql';


Creo que esto aclara tu duda. No olvides que los parametros y las variables de 
la función, por revisión de codigo, deben tener un prefijo. Además para 
facilitar la modificación de la función, coloca "or replace" en la declaración 
de la función.




>
> De: Marco Vinicio Jimenez Rojas 
>Para: Rodrigo Gonzalez  
>CC: Alvaro Herrera ; Alejandro Carrillo 
>; Ayuda  
>Enviado: miércoles 7 de diciembre de 2011 17:31
>Asunto: Re: [pgsql-es-ayuda] error en funcion
> 
>
>ya logre resolver el asunto de la funcion haciendo unas correcciones en las 
>sugerencias que me dio alvaro y quitando esa asignacion. pero mi pregunta es. 
>si el insert asi como esta me devuelve el valor del seria con el returnig como 
>hago para capturarlo en una variable?
>
>
>
>insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
>                     monto_pago, estado) values(transp, fecha,montoT,montoV, 
>montoP,
>                       estado)returning idpago_viajes;
>
>
>
>Dejo aqui la estructura de la tabla
>
>CREATE TABLE pago_viajes
>(
>  idpago_viajes serial NOT NULL,
>  transportista integer NOT NULL,
>  fecha date,
>  monto_total numeric,
>  monto_vales numeric,
>  monto_pago numeric,
>  estado integer,
>  CONSTRAINT pago_viajes_pkey PRIMARY KEY (idpago_viajes)
>)
>
>
>muestro aqui la funcion tal como esta y que si funciona pero no puedo campurar 
>el serial
>
>create function ingresoPago(transp integer, fechax date, montoT integer, 
>montoV integer,
>montoP integer, estadox integer) returns integer as
>$BODY$
>DECLARE viaje integer = 0;
>begin
>insert into pago_viajes(transportista, fecha,monto_total,monto_vales, 
>monto_pago, estado) values(transp, fechax,montoT,montoV, montoP, 
>estadox)returning idpago_viajes;
>
>return viaje;
>end;
>$BODY$
>language 'plpgsql';
>
>
>
>
>
>
>
>
>
>El 7 de diciembre de 2011 16:14, Rodrigo Gonzalez  
>escribió:
>
>On 12/07/2011 06:53 PM, Alvaro Herrera wrote:
>>
>>Excerpts from Alejandro Carrillo's message of mié dic 07 18:23:47 -0300 2011:
>>>
>>>no debería ser:

viaje := insert into pago_viajes(transportista, 
fecha,monto_total,monto_vales,
                     monto_pago, estado) values(transp, 
fecha,montoT,montoV, montoP,
                       estado)returning idpago_viajes;

faltan los 2 puntos para la asignación del campo serial

Tanto = como := sirven para la asignación en plpgsql.
>>>
>>>
Que yo sepa insert no devuelve...
>>
>>tenes que cambiar por
>>
>>
>>insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
>>                    monto_pago, estado) values(transp, fecha,montoT,montoV, 
>>montoP,
>>
                      estado) returning idpago_viajes into viaje;
>>
>>O sea, usar into
>>
>>Saludos
>>
>>Rodrigo
>>
>>
>>
>
>
>-- 
>
>---
>MVJR
>
>
>

[pgsql-es-ayuda] Uso de Cursores

2011-12-07 Por tema ruben avila galindo
> Hola amigos me han pedido hacer la mejor forma optima no si si se puede
> con cursores y como se invoca o se procede a ejecutarlo please



> esto : me he creado una vista con todos los registros de mis maquinas algo
> asi
>
> Create View Maquinas
> Select * from maquinas where estado='E'
>
> esta bien lo q hago para que sea rapido por la cantidad de maquina y
> invocarlo dentro del store
>
en ejecucsion quisiera saber si el query me devuelve algo

> pero no preguntar si devolvio null y que proceda a correr otra cosa y ver
> su campo devuelve null
>
> Tabla Maquinas:id_maq,descripcion
>
>
> Tabla Valores:id_valor,fecha,monto1,monto2
>
>
> Parametros:
> Ingresar Fecha Inicio y Fecha Final
>
>
> Condiciones
> 1. Correrse 48 Horas atras
> Fecha Inicia Fecha Final
> si devuelve null la consulta entonces que ejecute la consulta normal Fecha
> Inicial  between Fecha Fin.
>
> Nota acualmente me devuelve 1 consulta un solo registro con datos
> iniciales y otras con datos finales que se restan y seria el dato actual
> algo asi:
>
> Datos Iniciales
>
> SELECT
>
>  valor,
>
>  total_bill,
>
>  coinin
>
>  INTO
>
>  vl_valorA,
>
>  vl_total_billA,
>
>  vl_coininA
>
>  FROM
>
>  sch_pbl.mcwin
>
>  WHERE
>
>  id_empresa = $1 AND
>
>  id_casino = $2 AND
>
>  id_maq_casino = vl_netwin_maqcasino.id_maq_casino AND
>
>  f_h_medicion >= to_timestamp($7,
>
>(SELECT valor_char FROM sch_pbl.tabla
>
> WHERE UPPER(nombre_tabla)='DBCONST' AND
>
>UPPER(nombre_campo)='CHR_FORMATO_FECHA'))  AND
>
>  f_h_medicion <  to_timestamp($8,
>
>(SELECT valor_char FROM sch_pbl.tabla
>
>WHERE UPPER(nombre_tabla)='DBCONST' AND
>
>UPPER(nombre_campo)='CHR_FORMATO_FECHA')) AND
>
>  estado = 'E'
>
>  ORDER BY f_h_medicion asc limit 1;
>
>
> ---
>
> Datos FINALES
>
>  SELECT
>
>  valor,
>
>  total_bill,
>
>  coinin
>
>  INTO
>
>  vl_valorB,
>
>  vl_total_billB,
>
>  vl_coininB
>
>  FROM
>
>  sch_pbl.mcwin
>
>  WHERE
>
>  id_empresa = $1 AND
>
>  id_casino = $2 AND
>
>  id_maq_casino = vl_netwin_maqcasino.id_maq_casino AND
>
>  f_h_medicion > to_timestamp($7,
>
>(SELECT valor_char FROM sch_pbl.tabla
>
> WHERE UPPER(nombre_tabla)='DBCONST' AND
>
>UPPER(nombre_campo)='CHR_FORMATO_FECHA'))  AND
>
>  f_h_medicion <=  to_timestamp($8,
>
>(SELECT valor_char FROM sch_pbl.tabla
>
>WHERE UPPER(nombre_tabla)='DBCONST' AND
>
>UPPER(nombre_campo)='CHR_FORMATO_FECHA')) AND
>
>  estado = 'E'
>
>  ORDER BY f_h_medicion desc limit 1;
>
> Proceso de Resrta
> Dato 1 - Dato 2 = Dato real
>
>
>
>


[pgsql-es-ayuda] Copia seguridad

2011-12-07 Por tema Carlos Joaniquet
Hola, buenas noches.,

Un servidor con Postgresql 9, sistema operativo Windows. ¿Me podríais decir la 
mejor opción para las copias de seguridad diarias? Que se demoren lo mínimo, 
sobretodo en caso de tener que restaurar la base de datos. 
Aparte de copiar la carpeta data con el servidor apagado, cual sería la mejor 
opción?

Un saludo,

Carlos Joaniquet Tamburini-
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] error en funcion

2011-12-07 Por tema Rodrigo Gonzalez

On 12/07/2011 07:31 PM, Marco Vinicio Jimenez Rojas wrote:
*ya logre resolver el asunto de la funcion haciendo unas correcciones 
en las sugerencias que me dio alvaro y quitando esa asignacion. pero 
mi pregunta es. si el insert asi como esta me devuelve el valor del 
seria con el returnig como hago para capturarlo en una variable?*




/insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
 monto_pago, estado) values(transp, 
fecha,montoT,montoV, montoP,

   estado)returning idpago_viajes;/



De la forma que te dije yo y otros, returning idpago_viajes into 


[pgsql-es-ayuda] llamada a funcion

2011-12-07 Por tema Marco Vinicio Jimenez Rojas
*segun encuentro en la documentacion las llamadas a una function se hacen
con un select, pense que se hacian con un exec o execute, pero bueno hago
el select como lo muestro a continuacion pero me da el error siguiente:

llamada*
*select ingresopago(1, '01/01/2011',1000,1000,1000,1,1);*


*Error*
*
ERROR:  la consulta no tiene un destino para los datos de resultado
CONTEXT:  función PL/pgSQL «ingresopago» en la línea 4 en sentencia SQL*

-- 

---
MVJR


Re: [pgsql-es-ayuda] llamada a funcion

2011-12-07 Por tema Fabio Arias
Debes hacerlo así 

select * from ingresopago(1, '01/01/2011',1000,1000,1000,1,1);


Enviado desde mi iPhone
Fabio Arias Vera
Ingeniero 
Skype: coolturatek
gtalk: fhar...@gmail.com


El 07/12/2011, a las 19:03, Marco Vinicio Jimenez Rojas  
escribió:

> segun encuentro en la documentacion las llamadas a una function se hacen con 
> un select, pense que se hacian con un exec o execute, pero bueno hago el 
> select como lo muestro a continuacion pero me da el error siguiente:
> 
> llamada
> select ingresopago(1, '01/01/2011',1000,1000,1000,1,1);
> 
> 
> Error
> 
> ERROR:  la consulta no tiene un destino para los datos de resultado
> CONTEXT:  función PL/pgSQL «ingresopago» en la línea 4 en sentencia SQL
> 
> -- 
> 
> ---
> MVJR


Re: [pgsql-es-ayuda] insert con serial

2011-12-07 Por tema Guillermo O. Burastero
Hola

El día 6 de diciembre de 2011 17:52, Gilberto Castillo Martínez
 escribió:
>
>
> El mar, 06-12-2011 a las 14:46 -0600, Marco Vinicio Jimenez Rojas
> escribió:
>> buenas Tardes. Tengo una tabla donde tengo un campo "SERIAL", queria
>> saber si es posible que cuando hago un insert este me devuelva el
>> valor del campo serial de ese insert.
>>
>> a modo de ejemplo veamos una tabla con los campos
>>
>> Campo1 SERIAL
>> campo2 INTEGER
>> Campo3 DATE
>>
>> El insert sería:
>> insert into Tabla(campo2, campo3) values(5,"01/01/2011")
>>
> Tan solo debes consulta el currenval de la secuencia que se genero.

Esto está mal, el valor corriente de la secuencia puede haber cambiado
por lo tanto diferir de aquel al que se insertó, sobre todo en un
entorno de inserciones concurrentes.

>
> --
> Saludos,
> Gilberto Castillo
> Edificio Beijing. Miramar Trade Center. Etecsa.
> Miramar, La Habana.Cuba.
>

Hay que usar el "INSERT ... RETURNING ..."

ver http://www.postgresql.org/docs/9.1/static/sql-insert.html

[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [,
...] | query }
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]


-- 
Guillermo O. Burastero
Usuario GNU/Linux #84879 - http://counter.li.org/
Bahía Blanca, Buenos Aires, Argentina
Tel. +54 (291) 454-6132 - Móvil [15] 574-3173
MSN: guillermo.burast...@gmail.com
ICQ: 97148268
-
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] insert con serial

2011-12-07 Por tema Alvaro Herrera

Excerpts from Guillermo O. Burastero's message of mié dic 07 21:42:58 -0300 
2011:
> Hola
> 
> El día 6 de diciembre de 2011 17:52, Gilberto Castillo Martínez
>  escribió:
> >
> > El mar, 06-12-2011 a las 14:46 -0600, Marco Vinicio Jimenez Rojas
> > escribió:

> >> El insert sería:
> >> insert into Tabla(campo2, campo3) values(5,"01/01/2011")
> >>
> > Tan solo debes consulta el currenval de la secuencia que se genero.
> 
> Esto está mal, el valor corriente de la secuencia puede haber cambiado
> por lo tanto diferir de aquel al que se insertó, sobre todo en un
> entorno de inserciones concurrentes.

No, Gilberto está en lo correcto; en cada sesión, currval() está
asegurado de retornar el valor que nextval() entregó en esa sesión la
última vez, y por lo tanto es el valor correcto insertado.  Obviamente,
si llamas currval() en una sesión distinta, podría entregar un valor
diferente o incluso dar un error.

-- 
Álvaro Herrera 
-
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] Copia seguridad

2011-12-07 Por tema Luis Miguel Herrera Delgado
On Mié 07 Dic 2011 17:17:40 Carlos Joaniquet escribió:
> Hola, buenas noches.,
> 
> Un servidor con Postgresql 9, sistema operativo Windows. ¿Me podríais decir
> la mejor opción para las copias de seguridad diarias? Que se demoren lo
> mínimo, sobretodo en caso de tener que restaurar la base de datos. Aparte
> de copiar la carpeta data con el servidor apagado, cual sería la mejor
> opción?
> 
> Un saludo,
> 
> Carlos Joaniquet Tamburini-
> 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

La mejor opción es la combinacional de la copia de tu carpeta y el del 
archivado continuo, la primera te restaura un día determinado y la segunda te 
da una aproximación mas exacta de los últimos instantes en los que la db aun 
operaba con normalidad:

http://www.postgresql.org/docs/9.0/static/continuous-archiving.html

saludos

-- 



ISC. Luis Miguel Herrera Delgado
Gerente de Soporte

<>

signature.asc
Description: This is a digitally signed message part.


Re: [pgsql-es-ayuda] Quiero unirme a la lista

2011-12-07 Por tema Alejandro Carrillo
Marca 1 para cerrar este hilo. Gracias




>
> De: Miguel Angel Hernandez Moreno 
>Para: Matias Israel Malpica Escobar  
>CC: Juan Carlos Ramirez Zambrano ; 
>"pgsql-es-ayuda@postgresql.org" ; 
>"ja...@2ndquadrant.com" ; "alvhe...@alvh.no-ip.org" 
>; "randradefons...@gmail.com" 
> 
>Enviado: miércoles 7 de diciembre de 2011 17:11
>Asunto: Re: [pgsql-es-ayuda] Quiero unirme a la lista
> 
>
>a mi slo me llego 1 y todo el desgloce de comentarios
>
>
>El 7 de diciembre de 2011 16:04, Matias Israel Malpica Escobar 
> escribió:
>
>Soy solo yo o a todos les ha llegado esto 3 veces?
>> 
>>De:pgsql-es-ayuda-ow...@postgresql.org 
>>[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Juan Carlos
Ramirez Zambrano
>>Enviado el: Viernes, 18 de Noviembre de 2011 05:36 p.m.
>>
>>Para: pgsql-es-ayuda@postgresql.org
>>CC: ja...@2ndquadrant.com; alvhe...@alvh.no-ip.org; randradefons...@gmail.com
>>Asunto: [pgsql-es-ayuda] Quiero unirme a la lista 
>> 
>>Hola, deseo unirme a la lista de postgresql, soy nuevo en
este tema.
>> 
>>Gracias.
>> 
>>
>>
>>Saludos.
>> 
>>LI. Juan Carlos Ramirez Z.
>>Cel. 4441 55 00 95
>>juancarlosrz...@gmail.com
>>http://www.mazamitlamexico.com
>>twitter @MazamitlaMexico
>>Facebook facebook.com/MazamitlaMexico
>> 
>>--Before printing this message, see if you
really need - do it for your world
>>--You cannot
mandate productivity, you must provide the tools to let people become their
best - Steve Jobs
>> 
>
>
>
>-- 
>ISC Miguel Angel Hernandez Moreno
>
>
>
>

Re: [pgsql-es-ayuda] insert con serial

2011-12-07 Por tema Guillermo O. Burastero
Hola Álvaro

El día 7 de diciembre de 2011 22:20, Alvaro Herrera
 escribió:
>
> Excerpts from Guillermo O. Burastero's message of mié dic 07 21:42:58 -0300 
> 2011:
>> Hola
>>
>> El día 6 de diciembre de 2011 17:52, Gilberto Castillo Martínez
>>  escribió:
>> >
>> > El mar, 06-12-2011 a las 14:46 -0600, Marco Vinicio Jimenez Rojas
>> > escribió:
>
>> >> El insert sería:
>> >> insert into Tabla(campo2, campo3) values(5,"01/01/2011")
>> >>
>> > Tan solo debes consulta el currenval de la secuencia que se genero.
>>
>> Esto está mal, el valor corriente de la secuencia puede haber cambiado
>> por lo tanto diferir de aquel al que se insertó, sobre todo en un
>> entorno de inserciones concurrentes.
>
> No, Gilberto está en lo correcto; en cada sesión, currval() está
> asegurado de retornar el valor que nextval() entregó en esa sesión la
> última vez, y por lo tanto es el valor correcto insertado.  Obviamente,
> si llamas currval() en una sesión distinta, podría entregar un valor
> diferente o incluso dar un error.
>
> --
> Álvaro Herrera 

Muchas gracias por tu oportuna corrección, me sacás de un error conceptual.
-


-- 
Guillermo O. Burastero
Usuario GNU/Linux #84879 - http://counter.li.org/
Bahía Blanca, Buenos Aires, Argentina
Tel. +54 (291) 454-6132 - Móvil [15] 574-3173
MSN: guillermo.burast...@gmail.com
ICQ: 97148268
-
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] llamada a funcion

2011-12-07 Por tema Lazaro Rubén García Martinez
Si quieres obtener el resultado de la consulta deberías ejecutarla así:

select * from ingresopago(1, '01/01/2011',1000,1000,1000,1,1);

de lo contrario

PERFORM ingresopago(1, '01/01/2011',1000,1000,1000,1,1);

Saludos.


De: pgsql-es-ayuda-ow...@postgresql.org [pgsql-es-ayuda-ow...@postgresql.org] 
En nombre de Marco Vinicio Jimenez Rojas [vinici...@gmail.com]
Enviado el: miércoles, 07 de diciembre de 2011 19:33
Para: Lista de Postgres
Asunto: [pgsql-es-ayuda] llamada a funcion

segun encuentro en la documentacion las llamadas a una function se hacen con un 
select, pense que se hacian con un exec o execute, pero bueno hago el select 
como lo muestro a continuacion pero me da el error siguiente:

llamada
select ingresopago(1, '01/01/2011',1000,1000,1000,1,1);


Error

ERROR:  la consulta no tiene un destino para los datos de resultado
CONTEXT:  función PL/pgSQL «ingresopago» en la línea 4 en sentencia SQL

--

---
MVJR
-
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