Re: [pgsql-es-ayuda] PLPython en Windows
:) 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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