Re: [pgsql-es-ayuda] PLPython en Windows

2016-05-14 Por tema Freddy Martinez Garcia
:) es exactamente lo q me pasa a mi Gerardo. Soy usuario de mac y no yengo
problemas con plpython. Alguien mas me puede ayudar con este problema?
Algunos de uds a corriedo plpython en windows?

Saludos cordiales
El may. 14, 2016 12:06, "Gerardo Herzig"  escribió:

> Mmmm yo no soy usuario de windows, perdon. Por lo visto [0], no hay
> python-devel en windows.
> Vi algunos posts sobre el asunto [1], lamento pero no conozco windows como
> para ser util.
>
> Gerardo
>
>
> [0]
> http://stackoverflow.com/questions/16448710/how-to-get-python-dev-for-windows
> [1]
> http://stackoverflow.com/questions/24216627/how-to-install-pl-python-on-postgresql-9-3-x64-windows-7
> - Mensaje original -
> > De: "Freddy Martinez" 
> > Para: "Gerardo Herzig" 
> > CC: "PostgreSQL Lista Castellano" 
> > Enviados: Viernes, 13 de Mayo 2016 23:52:41
> > Asunto: Re: [pgsql-es-ayuda] PLPython en Windows
> >
> > Hola Gerardo y gracias por responder
> >
> >
> > el python-devel no es el python instalado en el sistema? porque yo
> > tengo instalado python en windows, no sé a qué te refieres con
> > python devel. Me podrias decir por favor?
> >
> >
> > saludos cordiales
> >
> >
> >
> >
> >
> >
> > =
> > "El tamaño de tus logros depende del tamaño de tus metas."
> > C++ and Qt Senior Developer
> > B.S. Computer Science
> > Buenos Aires, Argentina
> >
> >
> >
> >
> > On May 13, 2016, at 10:20, Gerardo Herzig < gher...@fmed.uba.ar >
> > wrote:
> >
> >
> > Te debe faltar el "python-devel" para windows.
> >
> > Gerardo
> >
> > - Mensaje original -
> >
> >
> > De: "Freddy Martinez" < freddy311...@gmail.com >
> > Para: "PostgreSQL Lista Castellano" < pgsql-es-ayuda@postgresql.org >
> > Enviados: Viernes, 13 de Mayo 2016 0:24:19
> > Asunto: [pgsql-es-ayuda] PLPython en Windows
> >
> > Hola a todos… soy usuario de Mac y puedo usar sin problema alguno
> > plpython, pero en Windows me dice esto cuando ejecuto CREATE
> > EXTENSION plpythonu:
> >
> >
> >
> > ERROR: could not access file "$libdir/plpython2": No such file or
> > directory
> >
> >
> > ** Error **
> >
> >
> > ERROR: could not access file "$libdir/plpython2": No such file or
> > directory
> > SQL state: 58P01
> >
> >
> >
> >
> >
> > tengo instalado python 2.7.11
> >
> >
> > alguna idea ?
> >
> >
> > saludos
> >
> > =
> > "El tamaño de tus logros depende del tamaño de tus metas."
> > C++ and Qt Senior Developer
> > B.S. Computer Science
> > Buenos Aires, Argentina
> >
> >
> >
>


Re: [pgsql-es-ayuda] Problema con Postgrres en Consola

2016-04-13 Por tema Freddy Martinez Garcia
gracias a todos por su ayuda... como siempre esta lista es la mejor de
todas las listas en las que he estado

saludos cordiales




*="El tamaño de tus logros
depende del tamaño de tus metas." *

*C++ and Qt Senior Developer*

*Lic. Computer Science*

*Buenos Aires, Argentina*


El 13 de abril de 2016, 2:13, Miguel Beltran R. 
escribió:

> +1
>
> El 12 de abril de 2016, 23:29, "Mario Jiménez Carrasco (isccarrasco)" <
> mario.carra...@gmail.com> escribió:
>
>> Lo que personalmente hago es…:
>>
>> 1.- Cambiar el pass del usuario de sistema “postgres”…  $ sudo passwd
>> postgres
>> 2.- Cambiarte al usuario postgres $ su postgres
>> 3.- Conectarse a la base de datos. $ psql -U postgres
>> 4. Cambiar el password del usuario “postgres” de la base de datos
>> postgres# ALTER USER postgres WITH ENCRYPTED PASSWORD ‘mipass’;
>>
>> Espero te sirva, y si no es la forma correcta, ojalá alguien nos oriente
>> a hacerlo de una mejor manera…
>>
>> Saludos...
>>
>>
>>
>> El 12/04/2016, a las 10:21 p.m., Freddy Martinez 
>> escribió:
>>
>> Hola a todos… tengo una vm en la nube con ubuntu 14.04 a la cual recien
>> le acabo de instalar postgres, pero no me puedo conectar porque no tengo
>> usuario. Yo he instalado postgres pero con el instalador grafico, nunca he
>> usado el del repositorio.
>>
>> Me pueden explicar cómoresolver esto ?
>>
>> saludos
>>
>>
>> =
>> "El tamaño de tus logros depende del tamaño de tus metas."
>> C++ and Qt Senior Developer
>> B.S. Computer Science
>> Buenos Aires, Argentina
>>
>>
>>
>
>
> --
> 
> Lo bueno de vivir un dia mas
> es saber que nos queda un dia menos de vida
>


Re: [pgsql-es-ayuda] sobre PL/Python

2015-08-14 Por tema Freddy Martinez Garcia
entonces puedo usar python 3.x por defecto ???

saludos




*=El tamaño de tus logros
depende del tamaño de tus metas. *

*C++ and Qt Senior Developer*

*Lic. Computer Science*

*Buenos Aires, Argentina*


El 14 de agosto de 2015, 18:07, Martín Marqués mar...@2ndquadrant.com
escribió:

 El 05/08/15 a las 16:46, Freddy Martinez Garcia escribió:
 
  ahora, para utilizar PL/Python la doc dice que tiene que ser con Python
  2.5... no existe manera de utilizar Python 2.7.x ??? pues es lo que tengo
  directamente instalado y es con lo que vienen casi los sistemas Unix hoy
 en
  día...

 No exactamente. Dice que hay que tener python 2.5 o superior, pero no 3.x.

 Para python 3.x vienen paquetes aparte.

 Si lo vas a compilar vos entonces solo debes ver que tu python sea 2.5 o
 superior.

 Hace poco hubo discusión sobre quitar el soporte para 2.5 y que solo
 haya soporte para 2.6 y superior, pero eso quedo descartado luego (había
 algunos problemas al correr las pruebas de regresión, pero resulto ser
 algo simple de solucionar).

 Espero haya quedado claro.

 Saludos,

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



[pgsql-es-ayuda] sobre PL/Python

2015-08-05 Por tema Freddy Martinez Garcia
Hola amigos...

por intereses nuestros, tenemos que hacer varias cosas con JSON, sobre todo
lecturas y escrituras sobre los mismos y Postgres brinda funciones de
lectura, pero no me facilita la escritura sobre los mismos, y porque la
lógica que tenemos que seguir se nos facilita mucho en hacerlo en un
lenguaje como python y no en SQL...

ahora, para utilizar PL/Python la doc dice que tiene que ser con Python
2.5... no existe manera de utilizar Python 2.7.x ??? pues es lo que tengo
directamente instalado y es con lo que vienen casi los sistemas Unix hoy en
día...

tengo que instalar en mi python alguna librería para trabajo con Postgres o
ya dentro de Postgres viene alguna directamente ?? en caso tal de tener que
instalar alguna, me podrían recomendar alguna por favor ?

saludos



*=El tamaño de tus logros
depende del tamaño de tus metas. *

*C++ and Qt Senior Developer*

*Lic. Computer Science*

*Buenos Aires, Argentina*


[pgsql-es-ayuda] Re: [pgsql-es-ayuda] retornar una tabla dinámica

2015-05-28 Por tema Freddy Martinez Garcia
a ver, este es el procedimiento almacenado que tengo que cambiar…

create or replace function sp_rep_JornadaDeTrabajo(p_perspective_id bigint,
   p_empleado   bigint,
   p_jt_id  bigint,
   p_buque  bigint,
   p_pt_clave   bigint)
returns table(
devengo_basico_desde timestamp,
devengo_basico_hasta timestamp,
devengo_basico_tipo text,
devengo_complementario_desde timestamp,
devengo_complementario_hasta timestamp,
devengo_complementario_tipo text,
tarifas_varias_desde timestamp,
tarifas_varias_hasta timestamp,
tarifas_varias_tipo text,
lsi_desde timestamp,
lsi_hasta timestamp,
lsi_tipo text,
acumulaciones_variables_desde timestamp,
acumulaciones_variables_hasta timestamp,
acumulaciones_variables_tipo text,
primer_nombre text,
segundo_nombre text,
primer_apellido text,
segundo_apellido text,
empleado_clave bigint,
puesto_trabajo_clave bigint,
puesto_trabajo_descripcion text,
buque_clave bigint,
buque_descripcion text,
jt_id bigint,
jt_clave text,
jt_descripcion text) as
$$
declare
query_str text;
begin
query_str := 'with devengo_basico as (select
co0060ca01scaq.desde   devengo_basico_desde,
co0060ca01scaq.hasta   devengo_basico_hasta,
co0030ca02scag.descripcion devengo_basico_tipo,
co0060ca01scaq.fk165_co0050ca02scaa_clave,
co0060ca01scaq.fk474_co0010ca01scaa_clave,
co0060ca01scaq.fk639_co0040ca02scaa_clave,
co0060ca01scaq.fk333_co0060ca01scaa_id,
co0060ca01scaq.fk503_co0030ca02scaa_clave
from
co0060ca01scaq
inner join
co0060ca01scag on 
co0060ca01scag.fk503_co0030ca02scaa_clave = 
co0060ca01scaq.fk503_co0030ca02scaa_clave and
  
co0060ca01scag.fk474_co0010ca01scaa_clave = 
co0060ca01scaq.fk474_co0010ca01scaa_clave and
  
co0060ca01scag.fk639_co0040ca02scaa_clave = 
co0060ca01scaq.fk639_co0040ca02scaa_clave and
  
co0060ca01scag.fk333_co0060ca01scaa_id = co0060ca01scaq.fk333_co0060ca01scaa_id 
and
  co0060ca01scag.removed = false
inner join
co0060ca01scae on 
co0060ca01scae.fk503_co0030ca02scaa_clave = 
co0060ca01scag.fk503_co0030ca02scaa_clave and
  
co0060ca01scae.fk474_co0010ca01scaa_clave = 
co0060ca01scag.fk474_co0010ca01scaa_clave and
  
co0060ca01scae.fk639_co0040ca02scaa_clave = 
co0060ca01scag.fk639_co0040ca02scaa_clave and
  co0060ca01scae.removed = false
inner join
co0060ca01scab on 
co0060ca01scab.fk474_co0010ca01scaa_clave = 
co0060ca01scae.fk474_co0010ca01scaa_clave and
  
co0060ca01scab.fk639_co0040ca02scaa_clave = 
co0060ca01scae.fk639_co0040ca02scaa_clave and
  co0060ca01scab.removed = false
inner join
co0030ca02scaa on co0030ca02scaa.clave = 
co0060ca01scae.fk503_co0030ca02scaa_clave and co0030ca02scaa.removed = false
inner join
co0030ca02scag on co0030ca02scag.clave = 
co0030ca02scaa.fk537_co0030ca02scag_clave and co0030ca02scag.removed = false
inner join
getperspectivecontent(' || p_perspective_id || ') 
on persp_id = co0060ca01scaq.perspective_id
where co0060ca01scaq.removed = false),
devengo_complementario as (select
   co0060ca01scar.desde   
devengo_complementario_desde,
   co0060ca01scar.hasta   
devengo_complementario_hasta,
   co0030ca02scah.descripcion 
devengo_complementario_tipo,
   
co0060ca01scar.fk165_co0050ca02scaa_clave,
   
co0060ca01scar.fk474_co0010ca01scaa_clave,
   
co0060ca01scar.fk639_co0040ca02scaa_clave,
   co0060ca01scar.fk333_co0060ca01scaa_id,
   co0060ca01scar.fk543_co0030ca02scab_clave

[pgsql-es-ayuda] Re: [pgsql-es-ayuda] retornar una tabla dinámica

2015-05-28 Por tema Freddy Martinez Garcia
si, eso es lo que quiero hacer…. el tema es que aún así, por una demanda de mi 
app, necesito organizarla bajo criterios que con un order by no resuelvo… lo 
ideal para mi sería hacer los queries correspondiente a los 5 procesos 
diferentes en cuestion (porque son 5 queries básicamente los que tengo que 
ejecutar), filtrar la info e ir armando el resulset que quiero devolver… algo 
así es lo que quiero hacer…

puedo hacerlo ??


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina

 On May 28, 2015, at 5:12 PM, Gilberto Castillo gilberto.casti...@etecsa.cu 
 wrote:
 
 
 
 
 Hola lista…
 
 supongamos que tenga el siguiente procedimiento almacenado
 
 create or replace function dynamic_table()
 returns table (id integer, name text, fecha1 date, fecha2 date) as
 $$
 begin
 
 - -  aqui la definicion de funcion
 
 end;
 $$
 language plpgsql;
 
 ahora, el problema que tengo es que los datos de retornos tengo que
 construirlos, es decir, necesito ir haciendo varios queries en varias
 tablas que incluso, no tienen relaciones entre sí, porque los datos que yo
 devuelvo en esta función son el resultado de un procesamiento que hago
 internamente dentro del procedimiento.
 
 hasta el momento lo que yo siempre he hecho es devolver el resultado de un
 query, pero nunca he creado dinámicamente el resulset que voy a retornar y
 luego devolverlo al final de la consulta, que esto es exactamente lo que
 yo necesito hacer…
 
 
 ¿cómo hago esto? ¿cuál sería la mejor manera de hacerlo?
 
 gracias a todos
 
 UHmmm, debe ser algo liado meter cabeza en eso.. Yo prefiero escoger el
 peor caso, cuando me falten dado devuelvo null en ellos y listo
 
 Saludos,
 Gilberto Castillo
 ETECSA, 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: http://www.kaspersky.com http://www.kaspersky.com/, 
 http://www.viruslist.com http://www.viruslist.com/



[pgsql-es-ayuda] retornar una tabla dinámica

2015-05-28 Por tema Freddy Martinez Garcia
Hola lista…

supongamos que tenga el siguiente procedimiento almacenado

create or replace function dynamic_table()
returns table (id integer, name text, fecha1 date, fecha2 date) as
$$
begin

- -  aqui la definicion de funcion

end;
$$
language plpgsql;

ahora, el problema que tengo es que los datos de retornos tengo que 
construirlos, es decir, necesito ir haciendo varios queries en varias tablas 
que incluso, no tienen relaciones entre sí, porque los datos que yo devuelvo en 
esta función son el resultado de un procesamiento que hago internamente dentro 
del procedimiento.

hasta el momento lo que yo siempre he hecho es devolver el resultado de un 
query, pero nunca he creado dinámicamente el resulset que voy a retornar y 
luego devolverlo al final de la consulta, que esto es exactamente lo que yo 
necesito hacer…


¿cómo hago esto? ¿cuál sería la mejor manera de hacerlo?

gracias a todos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina


-
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] arreglo de text

2015-05-27 Por tema Freddy Martinez Garcia
hola lista, mis saludos a todos

necesito pasar un array de text a un procedimiento almacenado, el tema es que 
cuando invoco el procedimiento, no me queda claro cómo definir que las comillas 
forman parte de la cadena, es decir… por ejemplo

create or replace function arreglo_string(valor text[]) returns void as
$$
begin
— hacer cualquier cosa con arreglo de text
end;
$$
language ppgsql;

el problema está a la hora de llamar esta función…

debería ser algo así:

select * from arreglo_string(‘{‘valor 1’, ‘valor 2'}’)

esto obviamente es un error sintáctico, porque las comillas se cierran entre 
valores…

mi pregunta es: ¿cómo paso un arreglo de valores varchar o text a una función 
como esta?

saludos cordiales


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina


-
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] manejo de errores

2015-05-19 Por tema Freddy Martinez Garcia
hola a todos

tengo el siguiente procedimiento almacenado

create or replace function sp_insert_buquesPoliticaSalarial(p_perspective_id
   bigint,
p_buque_clave   
   bigint,
p_pt_clave  
   bigint,
p_deb_basicos_clave 
   bigint [],
p_deb_comp_clave
   bigint [],

p_acum_variables_clave bigint [],

p_tarifas_varias_clave bigint [],
p_lsi_clave 
   bigint [],
p_user_creator  
   text)
returns integer as
$$
declare
rows_affected integer := 0;
begin
-- insertando debengos básicos
for i in 1..array_length(p_deb_basicos_clave, 1) loop
insert into co0060ca01scae (
fk503_co0030ca02scaa_clave,
fk474_co0010ca01scaa_clave,
fk639_co0040ca02scaa_clave,
perspective_id,
user_creator)
values
(p_deb_basicos_clave [i], p_buque_clave, p_pt_clave, 
p_perspective_id, p_user_creator);
rows_affected := rows_affected + 1;
end loop;

-- insertando debengos complementarios
for i in 1..array_length(p_deb_comp_clave, 1) loop
insert into co0060ca01scaf (
fk543_co0030ca02scab_clave,
fk474_co0010ca01scaa_clave,
fk639_co0040ca02scaa_clave,
perspective_id,
user_creator)
values (p_deb_comp_clave [i], p_buque_clave, p_pt_clave, 
p_perspective_id, p_user_creator);
rows_affected := rows_affected + 1;
end loop;

-- insertando tarifas varias
for i in 1..array_length(p_tarifas_varias_clave, 1) loop
insert into co0060ca01scaj (
fk514_co0030ca02scac_clave,
fk639_co0040ca02scaa_clave,
fk474_co0010ca01scaa_clave,
perspective_id,
user_creator)
values (p_tarifas_varias_clave [i], p_pt_clave, p_buque_clave, 
p_perspective_id, p_user_creator);
rows_affected := rows_affected + 1;
end loop;
-- insertando acumulaciones variables
for i in 1..array_length(p_acum_variables_clave, 1) loop
insert into co0060ca01scam (
fk1338_co0030ca04scad_clave,
fk639_co0040ca02scaa_clave,
fk474_co0010ca01scaa_clave, perspective_id,
user_creator)
values (p_acum_variables_clave [i], p_pt_clave, p_buque_clave, 
p_perspective_id, p_user_creator);
rows_affected := rows_affected + 1;
end loop;

-- insertando LSI
for i in 1..array_length(p_lsi_clave, 1) loop
insert into co0060ca01scal (
fk525_co0030ca02scae_clave,
fk639_co0040ca02scaa_clave,
fk474_co0010ca01scaa_clave,
perspective_id,
user_creator)
values (p_lsi_clave, p_pt_clave, p_buque_clave, p_perspective_id, 
p_user_creator);
rows_affected := rows_affected + 1;
end loop;

exception when raise_exception
then
begin
rows_affected := 0;
rollback ;
end;

return rows_affected
end;
$$
language plpgsql;
el problema es que al final necesito capturar si hubo algún error en cualquiera 
de los insert que estoy haciendo dentro de los cilos, en caso tal de haber al 
menos 1 error, necesito hacer rollback para que si en los cilos anteriores se 
insertó algo poner todo en el estado anterior…

pienso que con excepciones puedo determinar cuando hubo un error, el tema es 
que no sé qué tipo de escepción poner para el caso general, porque no sé en 
Postgres cómo puedo capturar más de una excepción.

mi proc almacenado es el anterior, pero no sé si está correcto para lo que 
quiero hacer con las excepciones ni si es la mejor forma de hacerlo

algun criterio por favor ???

saludos cordiales


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina



Re: [pgsql-es-ayuda] columna concatenada

2015-05-08 Por tema Freddy Martinez Garcia
gracias Felipe !!!


era lo que necesitaba

abrazo


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina

 On May 8, 2015, at 11:16 AM, Felipe Guzman felipeguzm...@gmail.com wrote:
 
 SELECT string_agg(nombre, '-' ORDER BY id) FROM table;
 
 mas info en 
 http://www.postgresql.org/docs/current/static/sql-expressions.html 
 http://www.postgresql.org/docs/current/static/sql-expressions.html
 Saludos
 
 El 8 de mayo de 2015, 11:11, Freddy Martinez Garcia freddy311...@gmail.com 
 mailto:freddy311...@gmail.com escribió:
 hola a todos…
 
 ¿existe alguna manera de ejecutar devolver todos los valores de una columna 
 de tipo TEXT concatenados?, es decir, supongamos que tengo esto:
 
 create table (
 id serial primary key,
 nombre text);
 
 tengo los registros
 
 id, nombres
 1, ’nombre 1’
 2, ’nombre 2’
 3, ’nombre 3’
 
 me gustaría saber si puedo hacer un query que devuelva un solo registro con 
 el resultado
 
 ’nombre 1 - nonbre 2 - nombre 3’
 
 sería posible esto ?? concatenar todos los valores de una columna de tipo 
 text o varchar en un solo registro ???
 
 saludos a todos
 
 
 =
 El tamaño de tus logros depende del tamaño de tus metas.
 C++ and Qt Senior Developer
 Lic. Computer Science
 Buenos Aires, Argentina
 
 
 -
 Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org 
 mailto:pgsql-es-ayuda@postgresql.org)
 Para cambiar tu suscripción:
 http://www.postgresql.org/mailpref/pgsql-es-ayuda 
 http://www.postgresql.org/mailpref/pgsql-es-ayuda
 
 
 
 -- 
 
 



[pgsql-es-ayuda] columna concatenada

2015-05-08 Por tema Freddy Martinez Garcia
hola a todos…

¿existe alguna manera de ejecutar devolver todos los valores de una columna de 
tipo TEXT concatenados?, es decir, supongamos que tengo esto:

create table (
id serial primary key,
nombre text);

tengo los registros

id, nombres
1, ’nombre 1’
2, ’nombre 2’
3, ’nombre 3’

me gustaría saber si puedo hacer un query que devuelva un solo registro con el 
resultado

’nombre 1 - nonbre 2 - nombre 3’

sería posible esto ?? concatenar todos los valores de una columna de tipo text 
o varchar en un solo registro ???

saludos a todos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina


-
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] retornar varios resultados de consultas

2015-05-06 Por tema Freddy Martinez Garcia
gracias por tu respuesta Alvaro…, igual me voy quedar  con con la solución del 
json, pues como bien dijiste, necesito devolver los diferentes resultados con 
diferentes columnas, bien identificados…

igual, lo que más me importaría sería poder notificar a la aplicación cliente 
el siguiente procedimiento almacenado a ejecutar con sus parámetros, pienso que 
en un json podría construir esto…

gracias por la respuesta


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina

 On May 6, 2015, at 2:05 PM, Alvaro Herrera alvhe...@2ndquadrant.com wrote:
 
 Freddy Martinez Garcia escribió:
 
 por ahí va mi problema, por eso necesito, sacar varios resultados de
 varias consultas que me permitan inicializar la GUI con esos
 resultados., para eso el proc almac que yo ejecute, me debe devolver
 varios result set y yo luego poder procesarlos y mostrarlos…
 
 Una función en Postgres no puede devolver múltiples conjuntos de
 resultados distintos.  Puede devolver un valor escalar, o un registro, o
 un conjunto de registros que tengan todos la misma definición (núm de
 columnas y tipo de cada una).  Si los resultados de tus consultas tienen
 todos la misma forma, puedes hacer lo que quieres usando RETURN NEXT
 registro por registro, pero no tendrás cómo saber (a menos que lo pongas
 en una columna del resultado) qué registro corresponde a qué consulta.
 
 Una manera de tratar este problema es retornando cursores abiertos.  Una
 función puede retornar SETOF refcursor.  Cada fila del resultado será
 el nombre de un cursor, y la aplicación puede llamar FETCH con cada
 nombre retornado, para extraer los resultados de cada cursor.
 
 -- 
 Á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] retornar varios resultados de consultas

2015-05-06 Por tema Freddy Martinez Garcia
una vista me complica un poco… ahí explico..

tengo un sistema cliente - servidor donde mi cliente no sabe absolutamente nada 
de lo que va a pintar… las configuraciones del servidor, que es quien habla 
directamente con la bd tampoco reflejan la estructura de tablas, solamente las 
manejo yo desde los procedimientos almacenados…. el tema es que aunque sé que 
yo generando una vista podría hacer un proc almac que gestione sus datos, para 
el caso que estoy evaluando ahora, tendría que crear tantas vistas como 
secuencias(uno de los objetos de mi sistema, no son las secuencias de postgres) 
corra mi servidor… donde yo lo que necesito es que, tengo secuencias que se 
dividen en sub-secuencias, donde la salida de la secuencia 1 es la entrada de 
la secuencia 2, usando el patron de diseño pipe…

dentro de mi sistema todo lo hago usando JSON, incluyendo en el protocolo de 
comunicación propio que tenemos implementado, podría gestionar todas los 
resultados y devolverlos en un JSON, lo que tendría que ver en las 
configuraciones de mi server cómo decirle al cliente en qué componente de la 
GUI tiene que pintar cada resultado de la ejecución del procesamiento de la 
secuencia anterior.

por ahí va mi problema, por eso necesito, sacar varios resultados de varias 
consultas que me permitan inicializar la GUI con esos resultados., para eso el 
proc almac que yo ejecute, me debe devolver varios result set y yo luego poder 
procesarlos y mostrarlos…

este es mi problema… no soy usuario avanzado de postgres, llevo meses usando 
postgres, así que me estoy adentrando en este mundo…..

disculpen si es muy trivial mi pregunta


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina

 On May 6, 2015, at 1:58 PM, Gilberto Castillo gilberto.casti...@etecsa.cu 
 wrote:
 
 
 
 
 Hola a todos…
 
 estoy interesado en hacer un procedimiento almacenado que me devuelva el
 resultado de varias consultas y todas son consultas a diferentes tablas,
 mi intención de poner varios parámetros como OUT en la declaración del
 procedimiento almacenado y en este caso poner el resultado de la consulta…
 
 estaría bien mi propuesta ??? existe una forma mejor y más óptima de
 hacerlo ??
 
 tener en cuenta que las consultas tienen análisis diferentes
 
 saludos cordiales a todos
 
 Uh, puedes aclarar más lo que quieres hacer, recuerda que una función
 no deja registrado el plan de ejecución de las consultas.
 
 ¿Que tal si creas una vista y devuelve el serof?
 
 Saludos,
 Gilberto Castillo
 ETECSA, 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: http://www.kaspersky.com http://www.kaspersky.com/, 
 http://www.viruslist.com http://www.viruslist.com/



[pgsql-es-ayuda] retornar varios resultados de consultas

2015-05-06 Por tema Freddy Martinez Garcia
Hola a todos…

estoy interesado en hacer un procedimiento almacenado que me devuelva el 
resultado de varias consultas y todas son consultas a diferentes tablas, mi 
intención de poner varios parámetros como OUT en la declaración del 
procedimiento almacenado y en este caso poner el resultado de la consulta…

estaría bien mi propuesta ??? existe una forma mejor y más óptima de hacerlo ??

tener en cuenta que las consultas tienen análisis diferentes

saludos cordiales a todos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina


-
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] retorno de valores dinámicos dentro de un procedimiento almacenado

2015-04-05 Por tema Freddy Martinez Garcia
Hola a todos…

Tengo la siguiente tabla:

create or replace table persona(
primer_nombre varchar(100),
segundo_nombre varchar(100),
primer_apellido varchar(100),
segundo_apellido varchar(100),
edad integer
);

me gustaría hacer un procedimiento almacenado que solamente decuelva 2 
columnas, el nombre y la edad…. pero  en la columna del nombre tendría que 
concatenar los nombres y los apellidos.

el tema es que no sé como en postgres puedo definir que voy a devolver 2 
columnas dentro del procedimiento cuando en el select que yo ejecuto tengo que 
pedir 4 y luego concatenarlas… no sé qué tipo de retorno es el que tengo que 
poner para poder lograrlo…

no soy avanzado en postgres… estoy aprendiendo ahora… disculpen si mi pregunta 
está mal formada es una sencillez :( ...

me pueden ayudar al respecto ?? 

saludos a todos

=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina


-
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] llamada a funciones con array como parámetro

2015-02-18 Por tema Freddy Martinez Garcia
hola lista... no llevo mucho tiempo con postgres y estoy estudiándolo ahora

estoy tratando de hacer una función a la que le pas por parámetro un arreglo y 
luego quiero invocar esa funcion

este es mi código

CREATE OR REPLACE FUNCTION test1(arr TEXT[])
  RETURNS VOID AS
  $$
  BEGIN

  END;
  $$
LANGUAGE pgplsql;


SELECT * from test1(ARRAY['1','2','3']);
pero esto me da error...  ¿cómo debe ser?
saludos cordiales


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina



[pgsql-es-ayuda] error en varios editores sql

2015-02-12 Por tema Freddy Martinez Garcia
Hola amigos...

tengo este codigo sql
CREATE TABLE public.fruits_in_stock(
 NAME INTEGER PRIMARY KEY,
 in_stock INTEGER NOT NULL,
 reserved INTEGER NOT NULL DEFAULT 0,
 CHECK(in_stock BETWEEN 0 AND 1000),
 CHECK(reserved = in_stock)
);

CREATE TABLE public.fruits_offer(
  offer_id SERIAL PRIMARY KEY,
  recipient_name TEXT,
  offer_date TIMESTAMP DEFAULT current_timestamp,
  fruit_name INTEGER REFERENCES public.fruits_in_stock(NAME) ON DELETE CASCADE 
);
esto cuando lo ejecuto en el PyCharm Professional Edition me da el siguiente 
error:
sql CREATE TABLE public.fruits_offer(
  offer_id SERIAL PRIMARY KEY,
  recipient_name TEXT,
  offer_date TIMESTAMP DEFAULT current_timestamp,
  fruit_name INTEGER REFERENCES fruits_in_stock(NAME) ON DELETE CASCADE 
)
[2015-02-12 15:47:07] [42P01] ERROR: relation fruits_in_stock does not exist

si lo ejecuto en el Navicat me da el mismo error,

pero si lo ejecuto en el PgAdmin3 se ejecuta perfectamente bien y se crean las 
tablas

¿hay algún problema ahí que el PgAdmin3 me resuelve por defecto??

saludos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina



[pgsql-es-ayuda] ayuda sobre procedimientos almacenados y cursores

2015-02-08 Por tema Freddy Martinez Garcia
Hola a todos.

soy nuevo usando postgres y tengo el siguiente código:

create or replace function models_data_rs() 
returns setof refcursor as $$
declare
ref refcursor;
begin
open ref for select * into r from models;
end;
$$ language plpgsql;

hasta ahí va todo bien, el tema es que desde el mismo postgres cuando hago

select models_data_rs(); 

postgres me da el siguiente error:

ERROR:  cannot open SELECT query as cursor
CONTEXT:  PL/pgSQL function models_data_rs() line 5 at OPEN

** Error **

ERROR: cannot open SELECT query as cursor
SQL state: 42P11
Context: PL/pgSQL function models_data_rs() line 5 at OPEN

cómo resuelvo el problema ??

saludos a todos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina



[pgsql-es-ayuda] ayuda sobre procedimientos almacenados y cursores

2015-02-06 Por tema Freddy Martinez Garcia
Hola a todos.

soy nuevo usando postgres y tengo el siguiente código:

create or replace function models_data_rs() 
returns setof refcursor as $$
declare
ref refcursor;
begin
open ref for select * into r from models;
end;
$$ language plpgsql;

hasta ahí va todo bien, el tema es que desde el mismo postgres cuando hago

select models_data_rs(); 

postgres me da el siguiente error:

ERROR:  cannot open SELECT query as cursor
CONTEXT:  PL/pgSQL function models_data_rs() line 5 at OPEN

** Error **

ERROR: cannot open SELECT query as cursor
SQL state: 42P11
Context: PL/pgSQL function models_data_rs() line 5 at OPEN

cómo resuelvo el problema ??

saludos a todos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina



Re: [pgsql-es-ayuda] AYUDA

2014-12-16 Por tema Freddy Martinez Garcia
chicos, participo poco en la lista, puesto que ahora mismo estoy enfocado en el 
desarrollo de varias cosas que no requiere que use postgres, el tema es que 
muchas veces cualquiera viene a preguntar cualquier cosa a la lista, o sea, NO 
SEAMOS VAMPIROS DE AYUDA (O HELP VAMPIRE)... primero busquen en internet, en 
los foros, y si no encuentran, entonces pregunten...

y si algo he visto en esta lista es que SÍ, SI HAY EXPERTOS DE HABLA HISPANA... 
Y LOS CHICOS QUE RESPONDEN LO HACEN MUY BIEN... 

de antemano... un gran saludo y respeto para ellos que se toman el trabajo de 
ayudarnos a todos

saludos


=
El tamaño de tus logros depende del tamaño de tus metas. 
C++ and Qt Senior Developer
Lic. Computer Science
Buenos Aires, Argentina

 On Dec 16, 2014, at 11:42 AM, Edwin Quijada listas_quij...@hotmail.com 
 wrote:
 
 Jajajajajajajaja!!! Esta es una de las pocas listas que nunca se ven este 
 tipo de cosas, y eso tengo aqui como 12 anos, pero cuando se ven me divierto 
 un poco 
 No puedo, No puedo
 
 From: jcamp...@cyg.ec mailto:jcamp...@cyg.ec
 To: caeri...@gmail.com mailto:caeri...@gmail.com
 CC: alvhe...@2ndquadrant.com mailto:alvhe...@2ndquadrant.com; 
 pgsql-es-ayuda@postgresql.org mailto:pgsql-es-ayuda@postgresql.org; 
 faster...@yahoo.es mailto:faster...@yahoo.es
 Subject: RE: [pgsql-es-ayuda] AYUDA
 Date: Fri, 12 Dec 2014 02:34:07 +
 
 Entonces que los supuestos expertos que empiecen respetando 
 
 Enviado mediante OWA para iPhone 
 De: Cesar Erices caeri...@gmail.com mailto:caeri...@gmail.com
 Enviado: jueves, 11 de diciembre de 2014 21:11:14
 Para: Javier Campana
 Cc: Alvaro Herrera; pgsql-es-ayuda@postgresql.org 
 mailto:pgsql-es-ayuda@postgresql.org; Alejandro Carrillo
 Asunto: Re: [pgsql-es-ayuda] AYUDA
  
 Estimados,
 
 Esto es una lista de ayuda para quienes estan interesados en aprender, por 
 favor eviten comentarios groseros y de falta de respetopor favor
 
 
 Saludos
 
 El 10 de diciembre de 2014, 23:38, Javier Campana jcamp...@cyg.ec 
 mailto:jcamp...@cyg.ec escribió:
 ESO MALPARIDO ASI
 
 
 
 
 
   Piense en su responsabilidad ambiental antes de imprimir este e-mail.
 
 -Mensaje original-
 De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com 
 mailto:alvhe...@2ndquadrant.com]
 Enviado el: miércoles, 10 de diciembre de 2014 22:35
 Para: Javier Campana
 CC: pgsql-es-ayuda@postgresql.org mailto:pgsql-es-ayuda@postgresql.org; 
 Alejandro Carrillo
 Asunto: Re: [pgsql-es-ayuda] AYUDA
 
 Javier Campana escribió:
 
  Pana eres un pendejo si no tienes puta de idea solo di no puedo no es
  necesario que seas un imbécil
 
 NO PUEDO, NO PUEDO, NO TENGO NI PUTA IDEA!!
 
 --
 Álvaro Herrerahttp://www.2ndQuadrant.com/ 
 http://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 
 mailto:pgsql-es-ayuda@postgresql.org)
 Para cambiar tu suscripción:
 http://www.postgresql.org/mailpref/pgsql-es-ayuda 
 http://www.postgresql.org/mailpref/pgsql-es-ayuda
 
 
 
 -- 
 Sin más que decir se despide de Usted, muy atentamente 
 
 Cesar Erices Vergara
 Ingeniero en Gestión Informática
 Analista de Sistema
 Especialista en ISO 27001 e ITIL
 
 Cuenta Twitter: @caerices
 
 Santiago - Chile



[pgsql-es-ayuda] duda sobre BYTEA

2014-01-28 Por tema Freddy Martinez Garcia
hola a todos amigos...

estoy tratando de escribir en un fichero binario en un campo BYTEA, es
decir, desde el cliente enviar al servidor un fichero binario. La consulta
que estoy haciendo es esta... por ejemplo:

insert into tb_files vluaes ( '{mifichero}' )

ahora, si cuando voy a insertar el contenido dentro del campo bytea ese
contenido no se encuentra entre llaves, entonces no me inserta nada...

estoy usando Qt5 para hacer este tipo de consulta y ya tengo la cadena de
bytes para enviar al servidor. Cuando lo hago sin las llaves no me inserta
nada y cuando le pongo las llaves al QByteArray entonces tengo problemas...

mi pregunta es... existe alguna manera de hacer esto sin las llaves ???

me aconsejan alguna mejor forma para mi aplicación cliente envíe ficheros
binarios al servidor ?

les pido ayuda hermanos

saludos cordiales






*=El tamaño de tus logros
depende del tamaño de tus metas. *


El 27 de enero de 2014, 20:41, Freddy Martinez Garcia 
freddy311...@gmail.com escribió:

 bueno cuando hice los cambios en el fichero sí hice reload, yo
 reinicié el servicio...

 ahora, lo que realmente quiero hacer es enviar un archivo desde el cliente
 hacia el servidor. Yo soy usuario de MongoDB y con Mongo hago eso
 fácilmente desde el cliente y eso es lo que estoy tratando de hacer,
 obviamente parece que si no tengo el fichero del lado del servidor entonces
 no puedo usar lo_import... al menos por lo que estoy leyendo en la doc...
 pues lo que necesito es una manera de enviar binario al servidor.

 Leyendo he encontrado el tipo BYTEA que me permite almacenar cadenas
 binarias en el servidor. En fin hermanos, eso es lo que estoy tratando de
 hacer enviar un fichero desde el cliente al servidor...

 GRACIAS A TODOS POR SUS RESPUESTAS

 saludos cordiales







 *= El tamaño de tus logros
 depende del tamaño de tus metas. *


 El 27 de enero de 2014, 21:15, Anthony Rafael Sotolongo León 
 asotolo...@uci.cu escribió:

  cuando hiciste los cambios en el archivo de configuración reiniciaste el
 servidor o hiciste un reload?

 saludos

 El 1/27/2014 1:12 PM, Freddy Martinez Garcia escribió:

 hola a todos

  Estoy tratando de salvar un fichero binario en mi base de datos
 PostgreSQL. Quiero utilizar las funciones lo_import y lo_export que como
 dice la documentación, son mucho más eficiente que usar los BYTEA... en
 fin

  la documentación de PostgreSQL 9.xx dice que hace falta tener permiso
 de administración para usar estas funciones del lado del servidor. Yo fui
 al fichero de configuración /var/lib/postgres/postgres/data/posgresql.conf
 y descomenté la linea donde decía:

  #lo_compat_privileges = off

  y luego de descomentarla la puse en:

  lo_compat_privileges = on

  como dice la documentación

  el problema es que aún cuando ejecuto:

  select lo_import('/home/freddy/1.avi');

  el cliente de postgre me sigue diciendo:

  ERROR:  could not open server file /home/freddy/1.avi: Permission
 denied
 ** Error **

  ERROR: could not open server file /home/freddy/1.avi: Permission
 denied
 SQL state: 42501:

  mi pregunta es: ¿qué necesito para hacer para salvar un fichero binario
 en el servidor de Postgres?

  saludos cordiales

  Freddy



  --

 III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero
 del 2014. Ver www.uci.cu





Re: [pgsql-es-ayuda] duda sobre BYTEA

2014-01-28 Por tema Freddy Martinez Garcia
Disculpa Alvaro, vuelvo a enviar el mensaje porque me di cuenta en la
respuesta que le di responder y te escribí a ti solo. ahí mando el
mensaje nuevamente a la lista


Hola Alvaro y gracias por tu pronta respuesta hermano.

mira, este es mi código... a lo mejor me dices dónde está el problema

la tabla donde quiero guardar los ficheros contiene 2 campos solamente pues
ahora estoy probando... tienen un campo fileid que es numerico y un campo
filedata que es el bytea[]

este es mi codigo

QSqlDatabase db = QSqlDatabase::addDatabase(QPSQL);
db.setHostName(localhost);
db.setPort(5432);
db.setDatabaseName(bpg);
db.setUserName(postgres);
db.setPassword();
if (db.open())
{
QFile file(/home/freddy/Trabajo/bpg/diseno/rubro 7.xlsx);
if (!file.open(QIODevice::ReadOnly))
{
qDebug(file error...);
exit(0);
}
QByteArray bytesAr = file.readAll();
std::cout  sending query...  std::endl;

QSqlQuery query(db);
query.prepare(insert into files values(:id,:data));
query.bindValue(:id,18);
query.addBindValue(bytesArr);
if (!query.exec())
{
qDebug(query.lastError().driverText().toLatin1());
}
cout  query sent...  endl;
file.close();
db.close();
}

la salida de mi programa dice esto:

sending query...
QPSQL: Unable to create query
query sent...
Unable to free statement: connection pointer is NULL

*** Exited normally ***


estoy usando Postgresql 9.3, Archlinux y Qt5.2

de ante mano, muchas gracias por todo hermano

freddy







*=El tamaño de tus logros
depende del tamaño de tus metas. *


El 28 de enero de 2014, 18:48, Freddy Martinez Garcia 
freddy311...@gmail.com escribió:

 Hola Alvaro y gracias por tu pronta respuesta hermano.

 mira, este es mi código... a lo mejor me dices dónde está el problema

 la tabla donde quiero guardar los ficheros contiene 2 campos solamente
 pues ahora estoy probando... tienen un campo fileid que es numerico y un
 campo filedata que es el bytea[]

 este es mi codigo

 QSqlDatabase db = QSqlDatabase::addDatabase(QPSQL);
 db.setHostName(localhost);
 db.setPort(5432);
 db.setDatabaseName(bpg);
 db.setUserName(postgres);
 db.setPassword();
 if (db.open())
 {
 QFile file(/home/freddy/Trabajo/bpg/diseno/rubro 7.xlsx);
 if (!file.open(QIODevice::ReadOnly))
 {
 qDebug(file error...);
 exit(0);
 }
 QByteArray bytesAr = file.readAll();
 std::cout  sending query...  std::endl;

 QSqlQuery query(db);
 query.prepare(insert into files values(:id,:data));
 query.bindValue(:id,18);
 query.addBindValue(bytesArr);
 if (!query.exec())
 {
 qDebug(query.lastError().driverText().toLatin1());
 }
 cout  query sent...  endl;
 file.close();
 db.close();
 }

 la salida de mi programa dice esto:

 sending query...
 QPSQL: Unable to create query
 query sent...
 Unable to free statement: connection pointer is NULL

 *** Exited normally ***


 estoy usando Postgresql 9.3, Archlinux y Qt5.2

 de ante mano, muchas gracias por todo hermano

 freddy








 *= El tamaño de tus logros
 depende del tamaño de tus metas. *


 El 28 de enero de 2014, 18:31, Alvaro Herrera 
 alvhe...@2ndquadrant.comescribió:

 Freddy Martinez Garcia escribió:
  hola a todos amigos...
 
  estoy tratando de escribir en un fichero binario en un campo BYTEA, es
  decir, desde el cliente enviar al servidor un fichero binario. La
 consulta
  que estoy haciendo es esta... por ejemplo:
 
  insert into tb_files vluaes ( '{mifichero}' )

 Lo estás haciendo mal.  Usa addBindValue para pasar los datos en vez de
 interpolarlos tú mismo en la consulta.

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





[pgsql-es-ayuda] problema con Large Object

2014-01-27 Por tema Freddy Martinez Garcia
hola a todos

Estoy tratando de salvar un fichero binario en mi base de datos PostgreSQL.
Quiero utilizar las funciones lo_import y lo_export que como dice la
documentación, son mucho más eficiente que usar los BYTEA... en fin

la documentación de PostgreSQL 9.xx dice que hace falta tener permiso de
administración para usar estas funciones del lado del servidor. Yo fui al
fichero de configuración /var/lib/postgres/postgres/data/posgresql.conf y
descomenté la linea donde decía:

#lo_compat_privileges = off

y luego de descomentarla la puse en:

lo_compat_privileges = on

como dice la documentación

el problema es que aún cuando ejecuto:

select lo_import('/home/freddy/1.avi');

el cliente de postgre me sigue diciendo:

ERROR:  could not open server file /home/freddy/1.avi: Permission denied
** Error **

ERROR: could not open server file /home/freddy/1.avi: Permission denied
SQL state: 42501:

mi pregunta es: ¿qué necesito para hacer para salvar un fichero binario en
el servidor de Postgres?

saludos cordiales

Freddy