RE: [MASSMAIL][pgsql-es-ayuda] concatenar datos largos

2016-10-11 Por tema Esneiker Enriquez Cabrera
Amigos ya se pudo resolver el problema. El tema es que al hacer la consulta en 
el pgadmin y al resultado ser tan grande parece que el editor no muestra la 
info. Al volcar la salida hacia un fichero pude comprobar que sí me devolvió 
bien la información. Si a alguien le llegara a pasar algo parecido ya saben.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 266200 Ext 119, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: Gilberto Castillo [mailto:gilberto.casti...@etecsa.cu] 
Enviado el: martes, 11 de octubre de 2016 10:24
Para: Esneiker Enriquez Cabrera
CC: 'Lista Postgres ES'
Asunto: Re: [MASSMAIL][pgsql-es-ayuda] concatenar datos largos


> Hola amigos de la comunidad.
>
> Tengo necesidad de concatenar cadenas de texto, para ello estoy 
> utilizando la función string_agg pero me he encontrado el problema de 
> que cuando las cadenas son demasiado largas no funciona, parece que 
> sobrepasan el límite de caracteres que soporta la función.
>
> Espero que alguien me pueda dar alguna sugerencia al respecto.


Usa la doble barra ||


>
>
> Saludos,
>
> M.Sc. Esneiker Enriquez Cabrera
>   Esp. B en Ciencias Informáticas
>
> Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
> Cuba.
> Telf.: 266200 Ext 119, email.:  <mailto:eenriq...@cav.desoft.cu> 
> eenriq...@cav.desoft.cu
>
>
>
>


--
Saludos,
Gilberto Castillo
ETECSA, La Habana, Cuba


-
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: [MASSMAIL][pgsql-es-ayuda] concatenar datos largos

2016-10-11 Por tema Esneiker Enriquez Cabrera
La doble barra || no me sirve porque es un proceso más complejo el que quiero 
realizar. Es concatenar las tuplas de una tabla, en una tabla bastante grande.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 266200 Ext 119, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: Gilberto Castillo [mailto:gilberto.casti...@etecsa.cu] 
Enviado el: martes, 11 de octubre de 2016 10:24
Para: Esneiker Enriquez Cabrera
CC: 'Lista Postgres ES'
Asunto: Re: [MASSMAIL][pgsql-es-ayuda] concatenar datos largos


> Hola amigos de la comunidad.
>
> Tengo necesidad de concatenar cadenas de texto, para ello estoy 
> utilizando la función string_agg pero me he encontrado el problema de 
> que cuando las cadenas son demasiado largas no funciona, parece que 
> sobrepasan el límite de caracteres que soporta la función.
>
> Espero que alguien me pueda dar alguna sugerencia al respecto.


Usa la doble barra ||


>
>
> Saludos,
>
> M.Sc. Esneiker Enriquez Cabrera
>   Esp. B en Ciencias Informáticas
>
> Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
> Cuba.
> Telf.: 266200 Ext 119, email.:  <mailto:eenriq...@cav.desoft.cu> 
> eenriq...@cav.desoft.cu
>
>
>
>


--
Saludos,
Gilberto Castillo
ETECSA, La Habana, Cuba


-
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] concatenar datos largos

2016-10-11 Por tema Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Tengo necesidad de concatenar cadenas de texto, para ello estoy utilizando
la función string_agg pero me he encontrado el problema de que cuando las
cadenas son demasiado largas no funciona, parece que sobrepasan el límite de
caracteres que soporta la función.

Espero que alguien me pueda dar alguna sugerencia al respecto.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 266200 Ext 119, email.:  <mailto:eenriq...@cav.desoft.cu>
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] triggers dejan de funcionar

2016-02-29 Por tema Esneiker Enriquez Cabrera
Muchas gracias Alvaro, utilicé la forma que me propuso y ahora funciona
correctamente, como siempre el foro ha resultado de mucha utilidad.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] 
Enviado el: lunes, 29 de febrero de 2016 16:06
Para: Esneiker Enriquez Cabrera
CC: 'Lista Postgres ES'
Asunto: Re: [pgsql-es-ayuda] triggers dejan de funcionar

Esneiker Enriquez Cabrera escribió:
> Esta es una función que dejó de funcionar.
> 
> CREATE OR REPLACE FUNCTION actualizar_archivo_adjunto()
>   RETURNS trigger AS
> $BODY$
>   BEGIN
> UPDATE mensaje SET archivo_adjunto=1 WHERE mensaje.id=new.id_mensaje;
> UPDATE expediente_incidencia SET archivo_adjunto=1, leido=FALSE 
> WHERE expediente_incidencia.id=new.id_expdte_inc;
> RETURN NEW;
>   END;
> $BODY$
>   LANGUAGE 'plpgsql' VOLATILE
>   COST 100;
> ALTER FUNCTION actualizar_archivo_adjunto() OWNER TO postgres;
> 
> No hacía el update luego de crear los nuevos esquemas. El search_path 
> no lo he tocado.

¿tendrás tablas mensaje o expediente_incidencia en los nuevos esquemas?
De ser así, es muy posible que la función esté tratando de modificar las
nuevas tablas en lugar de las que están en public -- suponiendo que el
search_path tenga los otros esquemas antes que public.

La solución es poner los nombres de objetos de manera que no sean ambiguos.
Por ej. podrías hacer esto

 UPDATE public.mensaje SET archivo_adjunto=1 WHERE
mensaje.id=new.id_mensaje;

o bien podrías poner una cláusula SET en el CREATE FUNCTION, por ej.

CREATE OR REPLACE FUNCTION public.actualizar_archivo_adjunto() RETURNS
trigger SET search_path TO 'public'
AS $body$
  begin
 update ...

$body$;

(Esto hace que el search_path se modifique a valor especificado cada vez que
se ejecute la función).

De hecho hacerlo de esta forma es importante, porque te protejes de que
algún payaso cree objetos antes que los tuyos en search_path y te haga
ejecutar código definido por él que tú no querrías.  (En otras palabras hay
una vulnerabilidad de seguridad en la forma como lo estás haciendo
actualmente).

-- 
Á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] triggers dejan de funcionar

2016-02-29 Por tema Esneiker Enriquez Cabrera
Esta es una función que dejó de funcionar.

CREATE OR REPLACE FUNCTION actualizar_archivo_adjunto()
  RETURNS trigger AS
$BODY$
  BEGIN
UPDATE mensaje SET archivo_adjunto=1 WHERE mensaje.id=new.id_mensaje;
UPDATE expediente_incidencia SET archivo_adjunto=1, leido=FALSE WHERE
expediente_incidencia.id=new.id_expdte_inc;
RETURN NEW;
  END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION actualizar_archivo_adjunto() OWNER TO postgres;

No hacía el update luego de crear los nuevos esquemas. El search_path no lo
he tocado.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] 
Enviado el: lunes, 29 de febrero de 2016 15:17
Para: Esneiker Enriquez Cabrera
CC: 'Lista Postgres ES'
Asunto: Re: [pgsql-es-ayuda] triggers dejan de funcionar

Esneiker Enriquez Cabrera escribió:
> Hola amigos de la comunidad.
> 
> Estoy utilizando postgres 8.4 y me acabo de encontrar con un problema 
> que no entiendo por qué está pasando. Resulta que yo tenía una base de 
> datos en la cual usaba triggers sobre algunas tablas para actualizar 
> cantidades en otras y todo funcionaba correctamente. Luego comencé a 
> usar esquemas nuevos para particionar la información histórica, pero 
> las estructuras del esquema public no sufrieron cambios, y me 
> encuentro con el problema que los triggers en el esquema public dejaron de
funcionar.

Por favor define más claramente a qué te refieres con "dejaron de
funcionar".  Además, es posible que necesites mostrar el código de las
funciones involucradas.  Además, si usas search_path, será necesario verlo
(en particular, si lo cambias).

Creo que te refieres a que los tenías creados y luego los borraste y
volviste a crear, y esta última creación no funcionó.  ¿Es así?

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


[pgsql-es-ayuda] triggers dejan de funcionar

2016-02-29 Por tema Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Estoy utilizando postgres 8.4 y me acabo de encontrar con un problema que no
entiendo por qué está pasando. Resulta que yo tenía una base de datos en la
cual usaba triggers sobre algunas tablas para actualizar cantidades en otras
y todo funcionaba correctamente. Luego comencé a usar esquemas nuevos para
particionar la información histórica, pero las estructuras del esquema
public no sufrieron cambios, y me encuentro con el problema que los triggers
en el esquema public dejaron de funcionar. Para que funcionen nuevamente
tengo que eliminarlos y volver a crearlos poniendo el prefijo public delante
de la llamada de la función. 

Este es el trigger original:

CREATE TRIGGER ti_archivo

  AFTER INSERT

  ON archivo

  FOR EACH ROW

  EXECUTE PROCEDURE actualizar_archivo_adjunto();

 

Luego tuve que hacer esto para que comience a funcionar otra vez:

CREATE TRIGGER ti_archivo

  AFTER INSERT

  ON archivo

  FOR EACH ROW

  EXECUTE PROCEDURE public.actualizar_archivo_adjunto();

 

No entiendo por qué pudo pasar esto, pero sería un problema que cada vez que
cree un nuevo esquema los triggers del esquema public dejen de trabajar.

Espero que me puedan ayudar al respecto.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  <mailto:eenriq...@cav.desoft.cu>
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] problema con codificacion

2015-11-13 Por tema Esneiker Enriquez Cabrera
Muchas gracias a ambos, la solución que me dan funciona perfectamente.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: Anthony Sotolongo [mailto:asotolo...@gmail.com] 
Enviado el: viernes, 13 de noviembre de 2015 12:16
Para: Francisco Olarte; Esneiker Enriquez Cabrera
CC: Lista Postgres ES
Asunto: Re: [pgsql-es-ayuda] problema con codificacion

Hola, asegurarte de tener el SET CLIENT_ENCODING TO 'UTF8', pues a veces un 
cliente de un tipo de codificación  y el servidor de otra puede traer sus 
problemas y  lo que te comenta Fransico funciona:

select
convert_from(decrypt(encrypt('telefónico','password','3dES'),'password','3dES'::text),
'UTF-8');

convert_from
--
  telefónico
(1 row)






El 13/11/15 a las 14:05, Francisco Olarte escribió:
> 2015-11-13 21:53 GMT+01:00 Esneiker Enriquez Cabrera 
> <eenriq...@cav.desoft.cu>:
>> Escribo porque estoy probando guardar información encriptada en la 
>> base de datos con codificación utf8 y todo resulta bien, excepto 
>> cuando la información tiene caracteres especiales, se guarda basura.
>> A continuación les pongo un ejemplo.
>> select
>> encode(decrypt(encrypt('telefónico','password','3des'),'password','3d
>> es'::text),
>> 'escape'::text);
>> el resultado que me retorna es “telef\303\263nico”, en lugar de telefónico.
>> Espero que me puedan indicar cómo hacer el tratamiento correcto.
> Esto huele a lo de siempre, UTF-8 es una forma de codificar texto en 
> bytes, la criptografia va en bytes, tenemos el encoding de la base de 
> datos por un lado, nos hemos liado.etc etc...
>
> No te lo puedo asegurar, pero el hecho de que necesites encode ya te 
> da una pista. Encrypt toma bytea como datos, PEEERO, tu le has dado un 
> texto fiandote de la conversion por defecto, decrypt devuelve bytea.
> Luego coges y le dices que te lo imprima en escape, y lo hace bien, de 
> hecho :
>
> cdrs=> show client_encoding;
> client_encoding
> -
>   UTF8
> (1 row)
>
> cdrs=> select encode('telefónico', 'escape');
>encode
> ---
>   telef\303\263nico
> (1 row)
>
> El problema es que el decrypt/encrypt es el equivalente a pasat 
> telefónico a bytea:
>
>
> cdrs=> select 'telefónico'::bytea;
>bytea
> --
>   \x74656c6566c3b36e69636f
> (1 row)
>
> cdrs=> select encode('telefónico'::bytea, 'escape');
>encode
> ---
>   telef\303\263nico
> (1 row)
>
> Y lo que tu quieres es que te interprete esos bytes como utf8, no que 
> te los imprima escapados, para eso necesitarias una funcion de 
> conversion de bytes a string, como por ejemplo:
>
> cdrs=> select convert_from('telefónico'::bytea, 'UTF-8');
>   convert_from
> --
>   telefónico
> (1 row)
>
> No te lo puedo probar porque no tengo instaladas las crypto, pero 
> juraria que es eso.
>
> Por cierto, si lo es tu codigo tiene un problema, que dejas la 
> conversion de texto a bytea a merced del encoding de la conexion y 
> otroas cosas, lo que no es recomendable, particularmente en 
> criptografia. Probablement tus problemas vienen de que la conversion 
> no es reversible:
>
>
> cdrs=> select 'telefónico'::bytea::text;
> text
> --
>   \x74656c6566c3b36e69636f
> (1 row)
>
> Las cosas te iran mejor/mas simples, si al igual que apareas 
> encrypt/decrypt haces lo mismo con convert_from, convert_to, asi te 
> aseguras de que lo hace en el encoding que tu le dices 
> independientemente de la conexion:
>
> cdrs=> select convert_from(convert_to('telefónico','UTF-8'), 'UTF-8');
>   convert_from
> --
>   telefónico
> (1 row)
>
> Que funciona con otros encoding ( que soporten los caracteres que usas ):
>
> cdrs=> select convert_from(convert_to('telefónico','LATIN-1'), 'LATIN-1');
>   convert_from
> --
>   telefónico
> (1 row)
>
> A pesar de que:
>
>
>
> cdrs=> values(convert_to('telefónico','LATIN-1'), 'LATIN-1') union 
> values(convert_to('telefónico','UTF-8'), 'UTF-8');
>   column1  | column2
> --+-
>   \x74656c6566c3b36e69636f | UTF-8
>   \x74656c6566f36e69636f   | LATIN-1
> (2 rows)
>
> Si haces esto se ve la simetria,
> select(convert_from(decrypt(encrypt(convert_to.. no te fies nunca 
> de las conversiones por defecto cuando estas usando bytea, siempre se 
> revuelven y te muerden donde menos lo esperas.
>
>
>
> Saludos.
> Francisco Olarte.
>
> -
> 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


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


[pgsql-es-ayuda] problema con codificacion

2015-11-13 Por tema Esneiker Enriquez Cabrera
Hola amigos,

Escribo porque estoy probando guardar información encriptada en la base de
datos con codificación utf8 y todo resulta bien, excepto cuando la
información tiene caracteres especiales, se guarda basura.

A continuación les pongo un ejemplo.

 

select
encode(decrypt(encrypt('telefónico','password','3des'),'password','3des'::te
xt), 'escape'::text);

 

el resultado que me retorna es “telef\303\263nico”, en lugar de telefónico.

Espero que me puedan indicar cómo hacer el tratamiento correcto.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  <mailto:eenriq...@cav.desoft.cu>
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] referencias entre base de datos

2015-10-22 Por tema Esneiker Enriquez Cabrera
Saludos a todos los colegas de la comunidad.

Les escribo para saber cuál es la mejor forma de acceder a los datos de una
base de datos desde otra base de datos. He leído que lo debo hacer con
dblink pero quisiera saber si esta es la forma más factible.

La necesidad surge debido a que tengo una base de datos en producción, pero
como tenía muchos problemas de diseño fue necesario corregirlos para mejorar
el rendimiento. Ahora quiero migrar los datos de la base de datos vieja para
la mejorada.

Espero que me puedan ayudar.

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  <mailto:eenriq...@cav.desoft.cu>
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] referencias entre base de datos

2015-10-22 Por tema Esneiker Enriquez Cabrera
Muchas gracias Anthony, voy a revisarlos.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  <mailto:eenriq...@cav.desoft.cu>
eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Anthony Sotolongo
Enviado el: jueves, 22 de octubre de 2015 7:59
Para: Esneiker Enriquez Cabrera; pgsql-es-ayuda@postgresql.org
Asunto: Re: [pgsql-es-ayuda] referencias entre base de datos

 

Hola Esneiker, mira los FDW, son para eso.
saludos



El 22/10/15 a las 08:44, Esneiker Enriquez Cabrera escribió:

Saludos a todos los colegas de la comunidad.

Les escribo para saber cuál es la mejor forma de acceder a los datos de una
base de datos desde otra base de datos. He leído que lo debo hacer con
dblink pero quisiera saber si esta es la forma más factible.

La necesidad surge debido a que tengo una base de datos en producción, pero
como tenía muchos problemas de diseño fue necesario corregirlos para mejorar
el rendimiento. Ahora quiero migrar los datos de la base de datos vieja para
la mejorada.

Espero que me puedan ayudar.

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu
<mailto:eenriq...@cav.desoft.cu> 

 

 



[pgsql-es-ayuda] historicos y particiones

2015-08-17 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Tengo una base de datos donde tengo que hacer históricos de información y
una aplicación que va a acceder a esa información. Implementé el mecanismo
de partición de la siguiente forma:

1.   Tengo en el esquema public la información actual.

2.   Tengo un esquema historico_master con las tablas y las reglas para
el movimiento de información, además tengo las vistas correspondientes para
devolver la información.

3.   Tengo un esquema historico_2015 (serían tantos esquemas como
cierres se hagan) con las tablas que heredan del esquema historico_master,
con sus índices, restricciones, etc.

4.   En el fichero de configuración del postgres tengo puesto la
propiedad constraint_exclusion = partition

Creo que esto está bien, pero cuando hago un explain de un select de una
tabla o vista, filtrando por la fecha no veo que postgres vaya directamente
al esquema de la fecha especificada, ¿será que tengo algo mal o un mal
concepto mío?

Igual cuando hago un select de una vista del esquema historico_master y
filtro por fecha se demora mucho.

 

Espero me puedan ayudar al respecto.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] ayuda

2015-08-17 Por tema Esneiker Enriquez Cabrera
Muchas gracias a todos por su colaboración, me han servido muchísimo.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] 
Enviado el: viernes, 14 de agosto de 2015 17:38
Para: Esneiker Enriquez Cabrera
CC: 'POSTGRES'
Asunto: Re: [pgsql-es-ayuda] ayuda

Esneiker Enriquez Cabrera escribió:
 Hola amigos.
 
 Estoy eliminando registros de una base de datos y se me está demorando
 demasiado, 6 minutos aproximadamente. Mando a realizar el delete en una
 tabla, y el gestor hace las eliminaciones en las restantes tablas por
 integridad referencial, pero la demora es mucha.

Seguramente alguna de esas otras tablas no tiene índice en la columna
correspondiente.

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

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 12070 (20150810) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 12070 (20150810) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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] historicos y particiones

2015-08-17 Por tema Esneiker Enriquez Cabrera
No hay solapamiento, un ejemplo es CHECK (anno_cerrado = 2015)

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Anthony Sotolongo
Enviado el: lunes, 17 de agosto de 2015 13:51
Para: pgsql-es-ayuda@postgresql.org
Asunto: Re: [pgsql-es-ayuda] historicos y particiones

 

Hola, te fijaste que no hay solapamiento en los check?

On 17/08/15 14:37, Esneiker Enriquez Cabrera wrote:

Hola amigos.

Tengo una base de datos donde tengo que hacer históricos de información y
una aplicación que va a acceder a esa información. Implementé el mecanismo
de partición de la siguiente forma:

1.   Tengo en el esquema public la información actual.

2.   Tengo un esquema historico_master con las tablas y las reglas para
el movimiento de información, además tengo las vistas correspondientes para
devolver la información.

3.   Tengo un esquema historico_2015 (serían tantos esquemas como
cierres se hagan) con las tablas que heredan del esquema historico_master,
con sus índices, restricciones, etc.

4.   En el fichero de configuración del postgres tengo puesto la
propiedad constraint_exclusion = partition

Creo que esto está bien, pero cuando hago un explain de un select de una
tabla o vista, filtrando por la fecha no veo que postgres vaya directamente
al esquema de la fecha especificada, ¿será que tengo algo mal o un mal
concepto mío?

Igual cuando hago un select de una vista del esquema historico_master y
filtro por fecha se demora mucho.

 

Espero me puedan ayudar al respecto.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 



__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 12070 (20150810) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com




__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 12070 (20150810) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com



[pgsql-es-ayuda] ayuda

2015-08-14 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Estoy eliminando registros de una base de datos y se me está demorando
demasiado, 6 minutos aproximadamente. Mando a realizar el delete en una
tabla, y el gestor hace las eliminaciones en las restantes tablas por
integridad referencial, pero la demora es mucha.

Antes de realizar la eliminación elimino todos los índices implicados,
elimino y luego los vuelvo a crear.

La eliminación la estoy ejecutando de la forma:

Delete from tabla1 where id in (select id from tabla 2)

En la tabla1 hay aproximadamente 7 mil registros, en las restantes hay un
poco más.

Utilizo postgres 8.4.

 

Agradecería que me dieran algunas orientaciones de cómo podría acelerar
esto. 

Desde ya muchas gracias.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] duda con regla

2015-08-04 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Estoy trabajando con tablas particionadas y en el momento de crear las
reglas para el movimiento de los datos hacia las tablas correspondientes
tengo duda de si debo especificar cada columna de inserción de valores
(marcado en negrita) o si existe alguna otra forma más cómoda y rápida.

 

CREATE OR REPLACE RULE desvioimpar AS

ON INSERT TO historico_master.numeros

   WHERE (new.a % 2) = 1 DO INSTEAD  INSERT INTO historico_2015.impar (a,b) 

  VALUES (new.a,new.b);

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] duda

2015-07-02 Por tema Esneiker Enriquez Cabrera
La única duda que me queda es que tendría todas las vistas en el esquema master 
las cuales tendrían la información de todas las tablas de todos los históricos, 
¿al hacer un select de una vista postgres sería capaz de solo ir a buscar la 
info en el esquema correspondiente? Claro, teniendo configurada la variable 
constraint_exclusion = on.

Espero sus comentarios.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Gilberto Castillo
Enviado el: miércoles, 01 de julio de 2015 16:45
Para: Esneiker Enriquez Cabrera
CC: 'POSTGRES'
Asunto: Re: [pgsql-es-ayuda] duda


 Hola a todos los amigos de la comunidad.

 En el sistema que estoy desarrollando tengo que hacer cierres de
 información
 anuales, los cuales consisten en mover las incidencias que han culminado
 su
 proceso para otras tablas con el objetivo de liberar la base de datos.

 Estoy pensando en la opción de utilizar tablas particionadas, donde
 tendría
 un esquema por cada año que se haga el cierre. Espero sus comentarios al
 respecto de si esta puede ser una buena opción o si me recomiendan alguna
 otra.


Ya he pasado por eso y lo solucione creado esquemas para cada año. También
puedes particionar las tablas, pero en mi caso los datos de años
anteriores no los puede acceder todo el mundo y me invente los esquemas
con los permisos apropiados.

Saludos,
Gilberto Castillo
ETECSA, La Habana, Cuba


-
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
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11864 (20150630) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11864 (20150630) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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


[pgsql-es-ayuda] duda

2015-07-01 Por tema Esneiker Enriquez Cabrera
Hola a todos los amigos de la comunidad.

En el sistema que estoy desarrollando tengo que hacer cierres de información
anuales, los cuales consisten en mover las incidencias que han culminado su
proceso para otras tablas con el objetivo de liberar la base de datos.

Estoy pensando en la opción de utilizar tablas particionadas, donde tendría
un esquema por cada año que se haga el cierre. Espero sus comentarios al
respecto de si esta puede ser una buena opción o si me recomiendan alguna
otra.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] problema con restaura de bd

2015-06-23 Por tema Esneiker Enriquez Cabrera
Muchas gracias Jaime, así funcionó correctamente.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Jaime Casanova
Enviado el: lunes, 22 de junio de 2015 16:08
Para: Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] problema con restaura de bd

2015-06-22 14:49 GMT-05:00 Esneiker Enriquez Cabrera eenriq...@cav.desoft.cu:
 Hola colegas.

 Tengo una base de datos limpia, sin datos, y estoy tratando de restaurarle
 los datos desde un backup a través del comando psql desde la consola pero me
 están saltando problemas con las constraint donde me dice que hay entradas
 que no existen. Lo que me causa admiración es que todas las llaves foráneas
 las tengo declaradas como DEFERRABLE INITIALLY DEFERRED, por tanto el gestor
 no debería chequear las restricciones hasta el final del script digo yo.



Los constrainst DEFERRABLE se verifican al final de la *transacción*
no del script.
Pon Begin; al inicio del script y commit; al final

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

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11823 (20150622) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11823 (20150622) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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


[pgsql-es-ayuda] problema con restaura de bd

2015-06-22 Por tema Esneiker Enriquez Cabrera
Hola colegas.

Tengo una base de datos limpia, sin datos, y estoy tratando de restaurarle
los datos desde un backup a través del comando psql desde la consola pero me
están saltando problemas con las constraint donde me dice que hay entradas
que no existen. Lo que me causa admiración es que todas las llaves foráneas
las tengo declaradas como DEFERRABLE INITIALLY DEFERRED, por tanto el gestor
no debería chequear las restricciones hasta el final del script digo yo.

 

Agradecería que alguien me ayudara a resolver este problema.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] optimizacion

2015-06-09 Por tema Esneiker Enriquez Cabrera
Muchas gracias a todos por sus sugerencias, me han sido de gran utilidad.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Gerardo Herzig
Enviado el: lunes, 08 de junio de 2015 13:56
Para: Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] optimizacion

Asi como se veme suena a un

SELECT... from ...GROUP BY unidad, tipo_servicio

junto con un crosstab (para convertir filas en columnas)

http://www.postgresql.org/docs/9.4/static/tablefunc.html


HTH
Gerardo
- Mensaje original -
 De: Esneiker Enriquez Cabrera eenriq...@cav.desoft.cu
 Para: POSTGRES pgsql-es-ayuda@postgresql.org
 Enviados: Lunes, 8 de Junio 2015 9:20:02
 Asunto: [pgsql-es-ayuda] optimizacion
 
 
 
 
 Saludos a todos los amigos de la comunidad.
 
 Les escribo porque tengo un problema y no logro encontrar una buena
 forma de resolverlo. Tengo una función para obtener reportes
 estadísticos donde debo retornar el nombre de las unidades
 organizativas, los nombres de los tipos de servicios y los totales,
 de la siguiente forma:
 
 Unidad
 
 Tipo de servicio
 
 T1
 
 T2
 
 T3
 
 T4
   
 
   
 
   
 
   
 
   
 
   
 
 
 
 
 
 El problema es que entre la tabla de unidades organizativas y tipos
 de servicio no hay relación directa, sino a través de otras tablas
 del negocio. Necesito tirar todas las unidades contra todos los
 tipos de servicio.
 
 La solución que he dado hasta el momento es con un ciclo for recorrer
 la tabla tipo de servicio e ir calculando los totales e irlos
 insertando en una tabla temporal para al final devolver los valores,
 donde evidentemente esto provoca problemas de rendimiento, el código
 es el siguiente(cortado para no abrumar):
 
 
 
 for aid_elemento,adescripcion from vw_nmtipo_servicio order by
 tipo_servicio loop
 
 SQLText = 'INSERT INTO estadistico SELECT id, nombre,
 
 (SELECT COUNT(distinct vw_registro_expediente_incidencia.id) FROM
 vw_registro_expediente_incidencia WHERE ...) AS t1,
 
 (SELECT COUNT(distinct vw_registro_expediente_incidencia.id) FROM
 vw_registro_expediente_incidencia ...) AS t2,
 
 (SELECT COUNT(distinct vw_registro_expediente_incidencia.id) FROM
 vw_registro_expediente_incidencia ...) AS t3,
 
 (SELECT COUNT(distinct vw_registro_expediente_incidencia.id) FROM
 vw_registro_expediente_incidencia ...) AS t4
 
 '''||adescripcion_elemento||'''::character varying as criterio1 FROM
 nmunidad_org WHERE (nmunidad_org.id IN ('||alista_id_nivel||'))';
 
 execute SQLText;
 
 SQLText = '';
 
 end loop;
 
 
 
 Espero que me puedan dar alguna recomendación para optimizar el
 diseño.
 
 Saludos,
 
 M.Sc. Esneiker Enriquez Cabrera
 Esp. B en Ciencias Informáticas
 
 Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de
 Ávila. Cuba.
 Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu
 
 
 
 __ Información de ESET NOD32 Antivirus, versión de la base de
 firmas de virus 11728 (20150603) __
 
 ESET NOD32 Antivirus ha comprobado este mensaje.
 
 http://www.eset.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
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 3890 (20090226) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 3890 (20090226) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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


[pgsql-es-ayuda] RE: [pgsql-es-ayuda] sobre índices en la base de datos

2015-06-08 Por tema Esneiker Enriquez Cabrera
Muchas gracias, duda aclarada.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Alvaro Herrera
Enviado el: viernes, 05 de junio de 2015 14:57
Para: Esneiker Enriquez Cabrera
CC: 'POSTGRES'
Asunto: Re: [pgsql-es-ayuda] sobre índices en la base de datos

Esneiker Enriquez Cabrera escribió:
 Hola amigos.
 
 Tengo una duda, cuando en postgres se crea una llave foránea,
 ¿automáticamente el servidor crea un índice por ese campo o hay que
crearlo
 manualmente?

Hay que crearlo (a menos que ya lo tengas)

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

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 11728 (20150603) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 11728 (20150603) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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] optimizacion

2015-06-08 Por tema Esneiker Enriquez Cabrera
Porque lo que hago es que cuento registros del negocio (incidencias) que estén 
asociados a la unidad y al tipo de servicio correspondientes.

Saludos,
M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu


-Mensaje original-
De: Gilberto Castillo [mailto:gilberto.casti...@etecsa.cu] 
Enviado el: lunes, 08 de junio de 2015 9:30
Para: Esneiker Enriquez Cabrera
CC: 'POSTGRES'
Asunto: Re: [pgsql-es-ayuda] optimizacion



Uhmmm, usar todo esos Count es una locura, pero si es necesario.

¿porque ya que usas un laso no cuenta tu mismo sumando en una variable?


 Saludos a todos los amigos de la comunidad.

 Les escribo porque tengo un problema y no logro encontrar una buena 
 forma de resolverlo. Tengo una función para obtener reportes 
 estadísticos donde debo retornar el nombre de las unidades 
 organizativas, los nombres de los tipos de servicios y los totales, de 
 la siguiente forma:


 Unidad

 Tipo de servicio

 T1

 T2

 T3

 T4
















 El problema es que entre la tabla de unidades organizativas y tipos de 
 servicio no hay relación directa, sino a través de otras tablas del 
 negocio.
 Necesito tirar todas las unidades contra todos los tipos de servicio.

 La solución que he dado hasta el momento es con un ciclo for recorrer 
 la tabla tipo de servicio e ir calculando los totales e irlos 
 insertando en una tabla temporal para al final devolver los valores, 
 donde evidentemente esto provoca problemas de rendimiento, el código 
 es el siguiente(cortado para no
 abrumar):



 for aid_elemento,adescripcion from vw_nmtipo_servicio order by 
 tipo_servicio loop

 SQLText = 'INSERT INTO estadistico SELECT id, nombre,

(SELECT COUNT(distinct
 vw_registro_expediente_incidencia.id) FROM 
 vw_registro_expediente_incidencia WHERE ...) AS t1,

(SELECT COUNT(distinct
 vw_registro_expediente_incidencia.id) FROM 
 vw_registro_expediente_incidencia
 ...) AS t2,

(SELECT COUNT(distinct
 vw_registro_expediente_incidencia.id) FROM 
 vw_registro_expediente_incidencia
 ...) AS t3,

(SELECT COUNT(distinct
 vw_registro_expediente_incidencia.id) FROM 
 vw_registro_expediente_incidencia
 ...) AS t4


 '''||adescripcion_elemento||'''::character varying as criterio1 FROM 
 nmunidad_org WHERE (nmunidad_org.id IN ('||alista_id_nivel||'))';

 execute SQLText;

 SQLText = '';

end loop;



 Espero que me puedan dar alguna recomendación para optimizar el diseño.

 Saludos,

 M.Sc. Esneiker Enriquez Cabrera
   Esp. B en Ciencias Informáticas

 Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
 Cuba.
 Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu 
 eenriq...@cav.desoft.cu



 ---
 This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE 
 running at host imx2.etecsa.cu Visit our web-site: 
 http://www.kaspersky.com, http://www.viruslist.com



Saludos,
Gilberto Castillo
ETECSA, La Habana, Cuba
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11728 (20150603) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11728 (20150603) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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


[pgsql-es-ayuda] optimizacion

2015-06-08 Por tema Esneiker Enriquez Cabrera
Saludos a todos los amigos de la comunidad.

Les escribo porque tengo un problema y no logro encontrar una buena forma de
resolverlo. Tengo una función para obtener reportes estadísticos donde debo
retornar el nombre de las unidades organizativas, los nombres de los tipos
de servicios y los totales, de la siguiente forma:


Unidad

Tipo de servicio

T1

T2

T3

T4


 

 

 

 

 

 

 

El problema es que entre la tabla de unidades organizativas y tipos de
servicio no hay relación directa, sino a través de otras tablas del negocio.
Necesito tirar todas las unidades contra todos los tipos de servicio.

La solución que he dado hasta el momento es con un ciclo for recorrer la
tabla tipo de servicio e ir calculando los totales e irlos insertando en una
tabla temporal para al final devolver los valores, donde evidentemente esto
provoca problemas de rendimiento, el código es el siguiente(cortado para no
abrumar):

 

for aid_elemento,adescripcion from vw_nmtipo_servicio order by tipo_servicio
loop

SQLText = 'INSERT INTO estadistico SELECT id, nombre,

   (SELECT COUNT(distinct
vw_registro_expediente_incidencia.id) FROM vw_registro_expediente_incidencia
WHERE ...) AS t1,

   (SELECT COUNT(distinct
vw_registro_expediente_incidencia.id) FROM vw_registro_expediente_incidencia
...) AS t2,

   (SELECT COUNT(distinct
vw_registro_expediente_incidencia.id) FROM vw_registro_expediente_incidencia
...) AS t3,

   (SELECT COUNT(distinct
vw_registro_expediente_incidencia.id) FROM vw_registro_expediente_incidencia
...) AS t4

 
'''||adescripcion_elemento||'''::character varying as criterio1 FROM
nmunidad_org WHERE (nmunidad_org.id IN ('||alista_id_nivel||'))';

execute SQLText;

SQLText = '';

   end loop;

 

Espero que me puedan dar alguna recomendación para optimizar el diseño.

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] sobre índices en la base de datos

2015-06-05 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Tengo una duda, cuando en postgres se crea una llave foránea,
¿automáticamente el servidor crea un índice por ese campo o hay que crearlo
manualmente?

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] duda sobre oids

2015-06-02 Por tema Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Les escribo porque tengo una duda respecto a los oids de las tablas en
postgres y por más que he buscado en internet no encuentro una aclaración.
Quisiera saber si este campo tiene el mismo comportamiento que el
UNIQUEIDENTIFIER en sql server, donde se garantiza que el valor sea único,
“incluso que nunca se repite en el mundo entero”.

 

Saludos,

M.Sc. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] error que tumba el servicio de postgres

2015-03-12 Por tema Esneiker Enriquez Cabrera
Muchas gracias a todos por sus respuestas, me sirvieron de mucho.

El problema estaba en una función que se ejecutaba, modifiqué su comportamiento 
y hasta ahora todo va bien.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de jvenegasperu .
Enviado el: martes, 10 de marzo de 2015 14:08
Para: gilberto.casti...@etecsa.cu
CC: Esneiker Enriquez Cabrera; POSTGRES
Asunto: Re: [pgsql-es-ayuda] error que tumba el servicio de postgres

 

Hola Esneiker

Yo tuve un problema con una consulta con postgis que apagaba el servidor. de 
manera repentina al ejecutarla mi server tambien es windows ser 2008


Alvaro me comento que probablemente sea un desbordamiento de memoria un 
problema con la libreria geos. Yo pense que podria tratarse de un problema con 
los fix que pone el windows update de manera automatica

en ese entonces Alvaro tambien me aconsejo migrar

Nunca supe la causa probe migrando y todo ok 

Yo estaba en 9.1 y postgis 1.5 subi a 9.3 y postgis 2 el problema simplemente 
desaparecio

asi que consideralo.

 

 

 

 

El 10 de marzo de 2015, 8:35, Gilberto Castillo gilberto.casti...@etecsa.cu 
escribió:



 Hola amigos.

 Tengo un servidor con Windows 2008 R2 Enterprise en el que tengo instalado
 Postgres SQL 8.4 y me está sucediendo que el servicio de postgres se está
 cayendo, revisando el visor de sucesos del sistema encuentro un error que
 nunca había visto, se los paso para si alguien me puede ayudar al
 respecto.
 He estado buscando en internet pero aún no he encontrado nada que me pueda
 ayudar.


Dos sugerencia:

1- Actualizar a Postgresql a una versión superior 8.4 ya hace un año que
no tiene soporte.

2- Si puedes quitar windows de tus servidores tomarlo como una buena opción.

Los errores de PostgreSQL lo puedes buscar en sus log, ya que con la info
de windows la mayoría acá puede hacer muy poco. Además que la mayoría
usamos Linux.


Saludos,
Gilberto Castillo
La Habana, Cuba

---
This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at 
host imx3.etecsa.cu
Visit our web-site: http://www.kaspersky.com, http://www.viruslist.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




-- 

José Mercedes Venegas Acevedo
cel claro 940180540

mails: jvenegasp...@gmail.co mailto:jvenegasp...@gmail.com m 

 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 11288 (20150308) __

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com



RE: [pgsql-es-ayuda] problema con trigger

2015-03-11 Por tema Esneiker Enriquez Cabrera
Muchas gracias a todos por su ayuda.

Saludos,
Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu


-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Alvaro Herrera
Enviado el: martes, 10 de marzo de 2015 16:17
Para: Esneiker Enriquez Cabrera
CC: 'POSTGRES'
Asunto: Re: [pgsql-es-ayuda] problema con trigger

Esneiker Enriquez Cabrera escribió:
 Hola amigos.
 
 Estoy tratando de hacer un trigger que en la inserción o la actualización
de
 una tabla me ejecute una función pero al hacer insert o update me da el
 error:
 
 límite de profundidad de stack alcanzado

Oh, FFS.

Usa un trigger BEFORE, y modifica en el mismo trigger el campo en el
registro NEW, en lugar de hacer un update nuevo.

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

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 11288 (20150308) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 11288 (20150308) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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


[pgsql-es-ayuda] error que tumba el servicio de postgres

2015-03-10 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Tengo un servidor con Windows 2008 R2 Enterprise en el que tengo instalado
Postgres SQL 8.4 y me está sucediendo que el servicio de postgres se está
cayendo, revisando el visor de sucesos del sistema encuentro un error que
nunca había visto, se los paso para si alguien me puede ayudar al respecto.
He estado buscando en internet pero aún no he encontrado nada que me pueda
ayudar.

 

Este es el error en el visor de sucesos del SO.

 


-

System

 


 

 

-

Provider

 

 

 

 

 

[ Name] 

Microsoft-Windows-User Profiles Service

 

 

 

 

 

[ Guid] 

{89B1E9F0-5AFF-44A6-9B44-0A07A7CE5845}

 

 

 

 

EventID

1530

 


 

 

 

Version

0

 


 

 

 

Level

3

 


 

 

 

Task

0

 


 

 

 

Opcode

0

 


 

 

 

Keywords

0x8000

 


 

 

-

TimeCreated

 


 

 

 

[ SystemTime] 

2015-03-09T20:19:00.381635700Z

 


 

 

 

EventRecordID

932

 


 

 

 

Correlation

 


 

 

-

Execution

 

 


 

 

 

[ ProcessID] 

1008

 

 


 

 

 

[ ThreadID] 

3752

 


 

 

 

Channel

Application

 


 

 

 

Computer

Sistema

 


 

 

-

Security

 

 


 

 

 

[ UserID] 

S-1-5-18

 

 


-

EventData

 


 

 

Detail

2 user registry handles leaked from
\Registry\User\S-1-5-21-1073242306-2503760992-3480148298-1003: Process 7564
(\Device\HarddiskVolume2\Windows\System32\conhost.exe) has opened key
\REGISTRY\USER\S-1-5-21-1073242306-2503760992-3480148298-1003\Control
Panel\International Process 5676
(\Device\HarddiskVolume3\postgresql\bin\postgres.exe) has opened key
\REGISTRY\USER\S-1-5-21-1073242306-2503760992-3480148298-1003\Control
Panel\International 

 



 

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] problema con trigger

2015-03-10 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Estoy tratando de hacer un trigger que en la inserción o la actualización de
una tabla me ejecute una función pero al hacer insert o update me da el
error:

límite de profundidad de stack alcanzado

ahora no me doy cuenta de qué es lo que estoy haciendo mal, espero que
alguien me pueda decir.

 

El código es el siguiente:

 

CREATE OR REPLACE FUNCTION actualizar_estado()

  RETURNS trigger AS

  

$BODY$

declare cadena character varying(500);

  BEGIN

  cadena = '';

 

  select * into cadena from concatenar_nombre_estado(NEW.id);

  update nmestado set concatenado = cadena where id=NEW.id;

 

RETURN NEW;

  END;

$BODY$

  LANGUAGE 'plpgsql' VOLATILE

  COST 100;

ALTER FUNCTION actualizar_estado() OWNER TO postgres;

 

CREATE TRIGGER ti_nmestado

  AFTER INSERT or UPDATE

  ON nmestado

  FOR EACH ROW

  EXECUTE PROCEDURE actualizar_estado();

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] duda con particionado de tablas

2015-02-20 Por tema Esneiker Enriquez Cabrera
Hola amigos.

Estoy implementando un ejemplo de partición de tablas en postgres pero me he
encontrado con un problemita. Describo mi escenario.

Estoy usando postgres 8.4 y tengo un esquema que se llama master, en este
esquema tengo una tabla que sería mi tabla padre. Tengo otro esquema que se
llama histórico 2015 que tiene una tabla que hereda de la tabla del esquema
master. Tengo creada una regla que me inserta los valores de la tabla padre
a la hija según la condición que le especifico. Esto funciona correctamente,
pero el problema está en que me inserta el registro en la tabla padre y en
la tabla hija, mientras que en los documentos que solo se debe insertar en
la tabla  hija. Si elimino el registro de alguna de estas tablas lo elimina
de la otra.

Alguien me podría dar alguna sugerencia?

Muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [MASSMAIL][pgsql-es-ayuda] duda con particionado de tablas

2015-02-20 Por tema Esneiker Enriquez Cabrera
Las reglas están definidas de la forma:

 

CREATE OR REPLACE RULE estudiante_2015_insert_rule AS

ON INSERT TO historico_master.estudiante

   WHERE new.anno = 2015 DO INSTEAD  INSERT INTO
historico_2015.estudiante_2015 (id, nombre, anno) 

  VALUES (new.id, new.nombre, new.anno);

 

CREATE OR REPLACE RULE estudiante_2016_insert_rule AS

ON INSERT TO historico_master.estudiante

   WHERE new.anno = 2016 DO INSTEAD  INSERT INTO
historico_2016.estudiante_2016 (id, nombre, anno) 

  VALUES (new.id, new.nombre, new.anno);

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Anthony Sotolongo
Enviado el: viernes, 20 de febrero de 2015 11:33
Para: Marcos Ortiz; Esneiker Enriquez Cabrera; 'POSTGRES'
Asunto: Re: [MASSMAIL][pgsql-es-ayuda] duda con particionado de tablas

 

Hola Eskeiner me sumo a lo que sugiere marcos, a lo mejor estas definiendo
mal la regla. Una cosa que debes saber es que si consultas la tabla padre
vas a ver los elementos del hijo, pero no quiere decir que estén en el padre
fisicamente, puedes probar haciendo un select * from only tabla_padre y si
esta implementada la herencia y el redireccionamiento de los registros
correctamente, la tabla padre va a estar vacía, los registros van a estar en
los hijos solamente.


saludos

On 20/02/15 12:55, Marcos Ortiz wrote:


On 20/02/15 10:18, Esneiker Enriquez Cabrera wrote:

Hola amigos.

Estoy implementando un ejemplo de partición de tablas en postgres pero me he
encontrado con un problemita. Describo mi escenario.

Estoy usando postgres 8.4 y tengo un esquema que se llama master, en este
esquema tengo una tabla que sería mi tabla padre. Tengo otro esquema que se
llama histórico 2015 que tiene una tabla que hereda de la tabla del esquema
master. Tengo creada una regla que me inserta los valores de la tabla padre
a la hija según la condición que le especifico. Esto funciona correctamente,
pero el problema está en que me inserta el registro en la tabla padre y en
la tabla hija, mientras que en los documentos que solo se debe insertar en
la tabla  hija. Si elimino el registro de alguna de estas tablas lo elimina
de la otra.

Alguien me podría dar alguna sugerencia?

Muchas gracias.

Bueno, el problema debe estar en la regla que estás definiendo. Generalmente
esto se hace con un Trigger de tipo Before, para que se ejecute antes del
INSERT en la tabla master.  Aquí te dejo el ejemplo de un trigger de este
tipo y su función correspondiente. La tabla master es impressions_by_day, y
cada partición tiene dos meses de datos: 

CREATE TRIGGER insert_impressions_by_day_trigger  
BEFORE INSERT ON impressions_by_day  
FOR EACH ROW EXECUTE PROCEDURE impressions_by_day_insert_trigger();


CREATE OR REPLACE FUNCTION impressions_by_day_insert_trigger() 
RETURNS TRIGGER AS $$ 
BEGIN 
IF ( NEW.day = DATE '2009-01-01' AND NEW.day  DATE '2009-03-01' ) THEN

INSERT INTO impressions_by_day_y2009m1ms2 VALUES (NEW.*);  
ELSIF ( NEW.day = DATE '2009-03-01' AND NEW.day  DATE '2009-05-01' )
THEN  
INSERT INTO impressions_by_day_y2009m3ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-05-01' AND NEW.day  DATE '2009-07-01' )
THEN  
INSERT INTO impressions_by_day_y2009m5ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-07-01' AND NEW.day  DATE '2009-09-01' )
THEN  
INSERT INTO impressions_by_day_y2009m7ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-09-01' AND NEW.day  DATE '2009-11-01' )
THEN  
INSERT INTO impressions_by_day_y2009m9ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-11-01' AND NEW.day  DATE '2010-01-01' )
THEN  
INSERT INTO impressions_by_day_y2009m11ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-01-01' AND NEW.day  DATE '2010-03-01' )
THEN  
INSERT INTO impressions_by_day_y2010m1ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-03-01' AND NEW.day  DATE '2010-05-01' )
THEN  
INSERT INTO impressions_by_day_y2010m3ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-05-01' AND NEW.day  DATE '2010-07-01' )
THEN  
INSERT INTO impressions_by_day_y2010m5ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-07-01' AND NEW.day  DATE '2010-09-01' )
THEN  
INSERT INTO impressions_by_day_y2010m7ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-09-01' AND NEW.day  DATE '2010-11-01' )
THEN  
INSERT INTO impressions_by_day_y2010m9ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-11-01' AND NEW.day  DATE '2011-01-01' )
THEN  
INSERT INTO impressions_by_day_y2010m11ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2011-01-01' AND NEW.day  DATE '2011-03-01' )
THEN  
INSERT INTO impressions_by_day_y2011m1ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2011

RE: [MASSMAIL][pgsql-es-ayuda] duda con particionado de tablas

2015-02-20 Por tema Esneiker Enriquez Cabrera
Lo consulté y me muestra datos.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: Anthony Sotolongo [mailto:asotolo...@gmail.com] 
Enviado el: viernes, 20 de febrero de 2015 12:26
Para: Esneiker Enriquez Cabrera; 'POSTGRES'
Asunto: Re: [MASSMAIL][pgsql-es-ayuda] duda con particionado de tablas

 

Consultaste eso que te comenté?
select * from only historico_master.estudiante



saludos

On 20/02/15 13:41, Esneiker Enriquez Cabrera wrote:

Las reglas están definidas de la forma:

 

CREATE OR REPLACE RULE estudiante_2015_insert_rule AS

ON INSERT TO historico_master.estudiante

   WHERE new.anno = 2015 DO INSTEAD  INSERT INTO
historico_2015.estudiante_2015 (id, nombre, anno) 

  VALUES (new.id, new.nombre, new.anno);

 

CREATE OR REPLACE RULE estudiante_2016_insert_rule AS

ON INSERT TO historico_master.estudiante

   WHERE new.anno = 2016 DO INSTEAD  INSERT INTO
historico_2016.estudiante_2016 (id, nombre, anno) 

  VALUES (new.id, new.nombre, new.anno);

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Anthony Sotolongo
Enviado el: viernes, 20 de febrero de 2015 11:33
Para: Marcos Ortiz; Esneiker Enriquez Cabrera; 'POSTGRES'
Asunto: Re: [MASSMAIL][pgsql-es-ayuda] duda con particionado de tablas

 

Hola Eskeiner me sumo a lo que sugiere marcos, a lo mejor estas definiendo
mal la regla. Una cosa que debes saber es que si consultas la tabla padre
vas a ver los elementos del hijo, pero no quiere decir que estén en el padre
fisicamente, puedes probar haciendo un select * from only tabla_padre y si
esta implementada la herencia y el redireccionamiento de los registros
correctamente, la tabla padre va a estar vacía, los registros van a estar en
los hijos solamente.


saludos

On 20/02/15 12:55, Marcos Ortiz wrote:


On 20/02/15 10:18, Esneiker Enriquez Cabrera wrote:

Hola amigos.

Estoy implementando un ejemplo de partición de tablas en postgres pero me he
encontrado con un problemita. Describo mi escenario.

Estoy usando postgres 8.4 y tengo un esquema que se llama master, en este
esquema tengo una tabla que sería mi tabla padre. Tengo otro esquema que se
llama histórico 2015 que tiene una tabla que hereda de la tabla del esquema
master. Tengo creada una regla que me inserta los valores de la tabla padre
a la hija según la condición que le especifico. Esto funciona correctamente,
pero el problema está en que me inserta el registro en la tabla padre y en
la tabla hija, mientras que en los documentos que solo se debe insertar en
la tabla  hija. Si elimino el registro de alguna de estas tablas lo elimina
de la otra.

Alguien me podría dar alguna sugerencia?

Muchas gracias.

Bueno, el problema debe estar en la regla que estás definiendo. Generalmente
esto se hace con un Trigger de tipo Before, para que se ejecute antes del
INSERT en la tabla master.  Aquí te dejo el ejemplo de un trigger de este
tipo y su función correspondiente. La tabla master es impressions_by_day, y
cada partición tiene dos meses de datos: 

CREATE TRIGGER insert_impressions_by_day_trigger  
BEFORE INSERT ON impressions_by_day  
FOR EACH ROW EXECUTE PROCEDURE impressions_by_day_insert_trigger();


CREATE OR REPLACE FUNCTION impressions_by_day_insert_trigger() 
RETURNS TRIGGER AS $$ 
BEGIN 
IF ( NEW.day = DATE '2009-01-01' AND NEW.day  DATE '2009-03-01' ) THEN

INSERT INTO impressions_by_day_y2009m1ms2 VALUES (NEW.*);  
ELSIF ( NEW.day = DATE '2009-03-01' AND NEW.day  DATE '2009-05-01' )
THEN  
INSERT INTO impressions_by_day_y2009m3ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-05-01' AND NEW.day  DATE '2009-07-01' )
THEN  
INSERT INTO impressions_by_day_y2009m5ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-07-01' AND NEW.day  DATE '2009-09-01' )
THEN  
INSERT INTO impressions_by_day_y2009m7ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-09-01' AND NEW.day  DATE '2009-11-01' )
THEN  
INSERT INTO impressions_by_day_y2009m9ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2009-11-01' AND NEW.day  DATE '2010-01-01' )
THEN  
INSERT INTO impressions_by_day_y2009m11ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-01-01' AND NEW.day  DATE '2010-03-01' )
THEN  
INSERT INTO impressions_by_day_y2010m1ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-03-01' AND NEW.day  DATE '2010-05-01' )
THEN  
INSERT INTO impressions_by_day_y2010m3ms2 VALUES (NEW.*); 
ELSIF ( NEW.day = DATE '2010-05-01' AND NEW.day  DATE '2010-07-01' )
THEN  
INSERT INTO impressions_by_day_y2010m5ms2 VALUES (NEW

[pgsql-es-ayuda] duda al hacer histórico

2015-02-19 Por tema Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Tengo una base de datos de una aplicación de incidencias donde en el esquema
public se realiza todo el trabajo. Resulta que al finalizar cada año se
deben sacar de este esquema todas las incidencias que se hayan terminado,
sería algo como hacer un histórico. La duda está en que si tengo un esquema
histórico donde ponga las incidencias que saque del esquema public cada
tabla en el esquema histórico debería tener un campo que sea por ejemplo el
año del cierre. Además de mover las incidencias tendría que mover los
nomencladores. Entonces en cada consulta tendría que preguntar por el año
del cierre.

Estoy pensando que quizás la opción más favorable sería crear un esquema por
cada cierre, de forma tal que en cada esquema solo esté la información de
ese período, luego las consultas se ejecutarían más rápidamente.

 

¿Podrían decirme algo al respecto?

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] duda

2015-02-09 Por tema Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Estoy teniendo problemas de rendimiento con una función que estoy
realizando. Resulta que tengo dos tablas A y B y tengo que hacer un reporte
estadístico en el cual tengo que sacar cada registro de la tabla A con cada
registro de la tabla B y en cada uno de ellos hacer una serie de
subconsultas para obtener estadísticos, ejemplo

Tabla A Tabla B

Uno   X

DosY

Tres   Z

 

Resultado

Criteriocolumna1Columna2   Columna3
Citerio2

Uno   0 0
0 X

Uno   0 0
0 Y

Uno   0 0
0 Z

Dos0 0
0 X

Dos0 0
0 Y

Dos0 0
0 Z

Tres   0 0
0 X

Tres   0 0
0 Y

Tres   0 0
0 Z

Donde columna1, columna2 y columna3 serían el resultado de 3 subconsultas.
Para ello uso dos For anidado pero no estoy seguro que esto sea lo más
adecuado.

Agradecería si alguien me diera alguna idea.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] exportación

2015-02-05 Por tema Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Tengo que sacar datos de una base de datos sqlserver 2000 para unas tablas
en postgres. Quisiera saber si existe alguna herramienta que me permita
hacer esto, estuve pensando en los dts de sqlserver pero no sé si serán el
camino correcto.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] Re: [pgsql-es-ayuda] error de instalación postgres

2014-12-02 Por tema Esneiker Enriquez Cabrera
Ya está el problema resuelto, seguí las indicaciones sugeridas más abajo y todo 
funcionó correctamente. Muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de jvenegasperu .
Enviado el: lunes, 01 de diciembre de 2014 17:58
Para: Ing. Esneiker Enriquez Cabrera
CC: Sergio Valdes Hurtado; POSTGRES
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Re: 
[pgsql-es-ayuda] error de instalación postgres

 

Hola Esneiker 

Haber primero desinstala lo que hiciste luego borra el directorio data y el 
directorio de postgres imagino estan dentro de Archivos de programa


Luego hazle clic derecho al instalador y ponle ejecutar como administrador.

cuando este instalando estoy suponiendo lo estas haciendo con el instalador de 
enterprise db
Te pedira la ruta para los ejecutables de postgres primero esos pueden quedar 
dentro de Archivos de programa pero el directorio data no lo pongas dentro de 
archivos de programa porque a veces no se porque razon el cluster simplemente 
no inicializa.

Asi que pon el directorio data en un directorio fuera de Archivos de Programa. 
yo sugiero en otro disco duro.

por ejemplo yo instalo generalmente asi:

Los archivos ejecutables de postgres en esta ruta:
C:\Program Files\PostgreSQL\9.4

el directorio data de postgres en:
D:\pg94data

cuando quieras modificar algun parametro de postgres los archivos postgres.conf 
y pg_hba.conf los encontraras en D:\pg94data

prueba haber como te va

saludos

 










 

El 1 de diciembre de 2014, 15:24, Ing. Esneiker Enriquez Cabrera 
eenriq...@cav.desoft.cu escribió:

Lo hice como administrador.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Sergio Valdes Hurtado
Enviado el: lunes, 01 de diciembre de 2014 15:22
Para: Ing. Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] error de instalación postgres

 

cuando ejecutaste el instalador, lo hiciste como un usuario común o como 
administrador?

 

El 1 de diciembre de 2014, 17:01, Ing. Esneiker Enriquez Cabrera 
eenriq...@cav.desoft.cu escribió:

Hola amigos de la comunidad.

Tengo un problema durante la instalación de postgres 9.1 en una pc con Windows 
8.1, en el paso de crear el clúster de la base de datos el programa de 
instalación me da el error siguiente:

Problem running post-install step. Installation may not complete correctly. La 
inicialización del cluster de la bd falló.

 

A alguien le ha ocurrido algo similar o como podría resolverlo?

Muchas gracias.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 




-- 

Sergio Valdés H.




-- 

José Mercedes Venegas Acevedo
cel claro 940180540

mails: jvenegasp...@gmail.co mailto:jvenegasp...@gmail.com m 



[pgsql-es-ayuda] error de instalación postgres

2014-12-01 Por tema Ing. Esneiker Enriquez Cabrera
Hola amigos de la comunidad.

Tengo un problema durante la instalación de postgres 9.1 en una pc con
Windows 8.1, en el paso de crear el clúster de la base de datos el programa
de instalación me da el error siguiente:

Problem running post-install step. Installation may not complete correctly.
La inicialización del cluster de la bd falló.

 

A alguien le ha ocurrido algo similar o como podría resolverlo?

Muchas gracias.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] error de instalación postgres

2014-12-01 Por tema Ing. Esneiker Enriquez Cabrera
Lo hice como administrador.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Sergio Valdes Hurtado
Enviado el: lunes, 01 de diciembre de 2014 15:22
Para: Ing. Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] error de instalación postgres

 

cuando ejecutaste el instalador, lo hiciste como un usuario común o como 
administrador?

 

El 1 de diciembre de 2014, 17:01, Ing. Esneiker Enriquez Cabrera 
eenriq...@cav.desoft.cu escribió:

Hola amigos de la comunidad.

Tengo un problema durante la instalación de postgres 9.1 en una pc con Windows 
8.1, en el paso de crear el clúster de la base de datos el programa de 
instalación me da el error siguiente:

Problem running post-install step. Installation may not complete correctly. La 
inicialización del cluster de la bd falló.

 

A alguien le ha ocurrido algo similar o como podría resolverlo?

Muchas gracias.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 




-- 

Sergio Valdés H.



[pgsql-es-ayuda] sobre actualización de vistas

2014-11-19 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Colegas escribo porque tengo una duda y quisiera que alguien me la pudiera
aclarar. Resulta que en mi base de datos tengo muchas vistas y existen
dependencias entre esas vistas, el problema resulta cuando quiero hacer
modificaciones a una vista que POSTGRES no me deja cambiar porque tiene
vistas dependientes. En este caso como ustedes harían la modificación a la
vista? Yo hasta hoy tengo un script donde elimino todas las vistas y luego
las vuelvo a crear ya con las nuevas modificaciones pero no estoy seguro que
esto sea lo recomendable.

Desde ya muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] ayuda con ciclo anidado

2014-10-07 Por tema Ing. Esneiker Enriquez Cabrera
Hola amigos, escribo porque estoy haciendo una función y en el momento de
ejecutarla en el pgadminIII para que se cree en la base de datos me da el
error: error de sintaxis en o cerca de «loop», esto es en el loop que cierro
después de cadena_subordinadas = '';. Agradecería si alguien me pudiera
indicar cómo resolverlo puesto que he revisado varias veces y no encuentro
el problema, adjunto una imagen del código para que se vea mejor.

 

Desde ya muchas gracias.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 



codigo.sql
Description: Binary data
-
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] ayuda con ciclo anidado

2014-10-07 Por tema Ing. Esneiker Enriquez Cabrera
El código está escrito en plpgsql, aún cuando le quito el begin y end me sigue 
dando el mismo problema.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org 
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Guillermo E. 
Villanueva
Enviado el: martes, 07 de octubre de 2014 15:15
Para: Ing. Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] ayuda con ciclo anidado

 

Suponiendo que el código está en plpgsql, tenés un begin y end dentro del if 
que no deberías poner.




Guillermo Villanueva

 

 

El 7 de octubre de 2014, 15:21, Ing. Esneiker Enriquez Cabrera 
eenriq...@cav.desoft.cu escribió:

Hola amigos, escribo porque estoy haciendo una función y en el momento de 
ejecutarla en el pgadminIII para que se cree en la base de datos me da el 
error: error de sintaxis en o cerca de «loop», esto es en el loop que cierro 
después de cadena_subordinadas = '';. Agradecería si alguien me pudiera indicar 
cómo resolverlo puesto que he revisado varias veces y no encuentro el problema, 
adjunto una imagen del código para que se vea mejor.

 

Desde ya muchas gracias.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 


-
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] ayuda con ciclo anidado

2014-10-07 Por tema Ing. Esneiker Enriquez Cabrera
Muchas gracias Álvaro, efectivamente me faltaba un end if, del cual no me
había dado cuenta con tantas veces que lo revisé.

Saludos,
Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Alvaro Herrera
Enviado el: martes, 07 de octubre de 2014 15:43
Para: Ing. Esneiker Enriquez Cabrera
CC: 'Guillermo E. Villanueva'; 'POSTGRES'
Asunto: Re: [pgsql-es-ayuda] ayuda con ciclo anidado

Ing. Esneiker Enriquez Cabrera escribió:
 El código está escrito en plpgsql, aún cuando le quito el begin y end me
sigue dando el mismo problema.

Te falta un end if, pero realmente el gran problema es que el diseño
de todo esto es malo (por decirlo elegantemente).

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

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


-
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] duda sobre trigger

2014-04-03 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Cómo puedo en un trigger preguntar si se modificó una columna específica de
una tabla? Por ejemplo si se  modificó la columna stock. En la documentación
de los trigger no lo encuentro.

Muchas gracias

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] duda sobre trigger

2014-04-03 Por tema Ing. Esneiker Enriquez Cabrera
El código de la función es:

 

CREATE OR REPLACE FUNCTION actualizar_carpeta_mensaje()

  RETURNS trigger AS

$BODY$

BEGIN

  

  IF (TG_OP = 'DELETE') THEN

update carpeta_mensaje set nodo_terminal = true where id = OLD.id_padre
and id not in (select id_padre from carpeta_mensaje where eliminado is false
and id_padre is not null);

  END IF;

 

  IF (TG_OP = 'UPDATE') THEN

if (NEW.eliminado IS TRUE) then

 update carpeta_mensaje set nodo_terminal = true where id in (select
id_padre from carpeta_mensaje where eliminado is true and id_padre is not
null);

end if;

if (NEW.eliminado IS FALSE) then

 update carpeta_mensaje set nodo_terminal = false where id in (select
id_padre from carpeta_mensaje where eliminado is false and id_padre is not
null);

end if;

  END IF;

 

  IF (TG_OP = 'INSERT') THEN

if(NEW.id_padre is not null) then

 update carpeta_mensaje set nodo_terminal = false where id =
NEW.id_padre;

 update carpeta_mensaje set id_menu_padre = m.id_menu_padre from
carpeta_mensaje m where m.id = NEW.id_padre and carpeta_mensaje.id = NEW.id;

end if;

  END IF;

  

  RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

ALTER FUNCTION actualizar_carpeta_mensaje()

  OWNER TO postgres;

 

Al ejecutar update carpeta_mensaje set eliminado = false el servidor me
retorna:

 

ERROR:  límite de profundidad de stack alcanzado

HINT:  Incremente el parámetro de configuración «max_stack_depth»
(actualmente 2048kB), después de asegurarse que el límite de profundidad de
stack de la plataforma es adecuado.

CONTEXT:  sentencia SQL: «SELECT 1 FROM ONLY public.nmusuario x WHERE
id OPERATOR(pg_catalog.=) $1 FOR SHARE OF x»

sentencia SQL: «update carpeta_mensaje set nodo_terminal = false where id in
(select id_padre from carpeta_mensaje where eliminado is false and id_padre
is not null)»

PL/pgSQL function actualizar_carpeta_mensaje line 14 at sentencia SQL

sentencia SQL: «update carpeta_mensaje set nodo_terminal = false where id in
(select id_padre from carpeta_mensaje where eliminado is false and id_padre
is not null)»

 

y esto una cantidad de veces exagerada.

 

Espero que me puedan ayudar con este tema que aparentemente debería ser una
cuestión muy simple.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: Ing. Esneiker Enriquez Cabrera [mailto:eenriq...@cav.desoft.cu] 
Enviado el: jueves, 03 de abril de 2014 13:54
Para: 'POSTGRES'
Asunto: duda sobre trigger

 

Hola a todos.

Cómo puedo en un trigger preguntar si se modificó una columna específica de
una tabla? Por ejemplo si se  modificó la columna stock. En la documentación
de los trigger no lo encuentro.

Muchas gracias

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 



__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 9621 (20140401) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com



RE: [pgsql-es-ayuda] duda sobre trigger

2014-04-03 Por tema Ing. Esneiker Enriquez Cabrera
Muchas gracias, no me había dado cuenta de ese detalle.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Fernando Hevia
Enviado el: jueves, 03 de abril de 2014 15:04
Para: Ing. Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] duda sobre trigger

 

 

 

2014-04-03 15:40 GMT-03:00 Ing. Esneiker Enriquez Cabrera
eenriq...@cav.desoft.cu:

El código de la función es:

 

...

 

Al ejecutar update carpeta_mensaje set eliminado = false el servidor me
retorna:

 

ERROR:  límite de profundidad de stack alcanzado

HINT:  Incremente el parámetro de configuración «max_stack_depth»
(actualmente 2048kB), después de asegurarse que el límite de profundidad de
stack de la plataforma es adecuado.

CONTEXT:  sentencia SQL: «SELECT 1 FROM ONLY public.nmusuario x WHERE
id OPERATOR(pg_catalog.=) $1 FOR SHARE OF x»

sentencia SQL: «update carpeta_mensaje set nodo_terminal = false where id in
(select id_padre from carpeta_mensaje where eliminado is false and id_padre
is not null)»

PL/pgSQL function actualizar_carpeta_mensaje line 14 at sentencia SQL

sentencia SQL: «update carpeta_mensaje set nodo_terminal = false where id in
(select id_padre from carpeta_mensaje where eliminado is false and id_padre
is not null)»

 

y esto una cantidad de veces exagerada.

 

Espero que me puedan ayudar con este tema que aparentemente debería ser una
cuestión muy simple.

 

El error indica que tienes un problema de recursividad: haces un update
sobre carpeta_mensaje que dispara la función trigger
actualizar_carpeta_mensaje que hace un update sobre la tabla carpeta_mensaje
que dispara el trigger actualizar_carpeta_mensaje que hace un update ... y
así.

 

Necesitas en tu función una condición de salida para cortar la recursividad.


Por ejemplo:

 

 IF (TG_OP = 'INSERT') THEN

if(NEW.id_padre is not null AND NEW.id_padre != OLD.id_padre) then

 update carpeta_mensaje set nodo_terminal = false where id =
NEW.id_padre;

 update carpeta_mensaje set id_menu_padre = m.id_menu_padre from
carpeta_mensaje m where m.id http://m.id/  = NEW.id_padre and
carpeta_mensaje.id http://carpeta_mensaje.id/  = NEW.id;

end if;

  END IF;

 

Si id_padre no cambió entonces esto no se dispara y el trigger tiene una
oportunidad de salir sin hacer cambios sobre su misma tabla.

 

Esta misma lógica aplica a las otras condiciones que tienes en la función
que luego disparan cambios sobre la misma tabla.

 

Saludos,

Fernando.

 

 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 9621 (20140401) __

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com



[pgsql-es-ayuda] valor incrementado en una vista

2014-03-13 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Estoy tratando de mostrar un campo autoincrementado (id) en una vista que
este campo no dependa de ninguna tabla pero no lo logro hacer, probé con la
función generate_series pero nada. La idea sería devolver algo como:

Idnombre   dirección

1 a b

2 wc

3 c s

Los valores de las columnas nombre y dirección se obtienen de una consulta
de union all.

Existe alguna forma de hacer esto?

Muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



[pgsql-es-ayuda] problema con setof

2014-03-06 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Estoy teniendo problemas con retornar valores en una función, revisé el
historial de las conversaciones que se han hecho aquí en la lista sobre este
tema pero no me resuelven. El problema es que en una función voy creando
dinámicamente una consulta donde el número de columnas a retornar es
variable según condiciones que se validan. No puedo retornar un setof record
ni un setof table porque entonces tendría que conocer de antemano la
cantidad de columnas que devolvería. Ojalá alguien me pueda decir cómo
resolver este problema.

Muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] problema con setof

2014-03-06 Por tema Ing. Esneiker Enriquez Cabrera
No puedo devolver un cursor porque la herramienta que se utiliza en el
proyecto para los reportes no entiende los cursores. Gracias a todos.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Fede Martinez
Enviado el: jueves, 06 de marzo de 2014 9:57
Para: Adrián Misael Peña Montero
CC: Ing. Esneiker Enriquez Cabrera; POSTGRES
Asunto: Re: [pgsql-es-ayuda] problema con setof

 

Por qué no un set of records y los campos que no queres los devolves en
null?

 

El 6 de marzo de 2014, 11:46, Adrián Misael Peña Montero amp...@uci.cu
escribió:

Trabaja con cursores.

Saludos

 

From: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] On Behalf Of Ing. Esneiker
Enriquez Cabrera
Sent: Thursday, March 6, 2014 9:02 AM
To: 'POSTGRES'
Subject: [pgsql-es-ayuda] problema con setof

 

Hola a todos.

Estoy teniendo problemas con retornar valores en una función, revisé el
historial de las conversaciones que se han hecho aquí en la lista sobre este
tema pero no me resuelven. El problema es que en una función voy creando
dinámicamente una consulta donde el número de columnas a retornar es
variable según condiciones que se validan. No puedo retornar un setof record
ni un setof table porque entonces tendría que conocer de antemano la
cantidad de columnas que devolvería. Ojalá alguien me pueda decir cómo
resolver este problema.

Muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 



__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 9498 (20140304) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

 

  _  

I Conferencia Científica Internacional UCIENCIA 2014 en la UCI del 24 al 26
de abril de 2014, La Habana, Cuba. Ver uciencia.uci.cu
http://uciencia.uci.cu/ Imagen quitada por el remitente.

 

 

 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 9498 (20140304) __

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com

~WRD000.jpg

[pgsql-es-ayuda] operaciones con fecha

2014-03-05 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Estoy haciendo una consulta donde tengo que hacer operaciones con fecha para
por ejemplo saber el número de días transcurridos de una fecha a otra y me
he encontrado un inconveniente, resulta que en algunos casos la operación me
puede quedar como '10/02/2014'::date – null y aquí el resultado sería null,
pero yo quiero que en este caso el resultado sea cero, la opción que se me
ocurre es utilizar un case que primero me haga el cálculo y luego evaluar si
el resultado es null que me devuelva cero, de lo contrario que me retorne la
cantidad de días, pero creo que esto sería ineficiente puesto que tendría
que hacer la operación con las fechas dos veces. Si alguien conoce de alguna
otra forma que lo pudiera hacer se lo agradecería.

Muchas gracias.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 



RE: [pgsql-es-ayuda] operaciones con fecha

2014-03-05 Por tema Ing. Esneiker Enriquez Cabrera
Muchas gracias a todos por su respuesta, la respuesta de Martín me resolvió el 
problema.

Saludos,
Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas
Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

-Mensaje original-
De: martin.marq...@gmail.com [mailto:martin.marq...@gmail.com] En nombre de 
Martín Marqués
Enviado el: miércoles, 05 de marzo de 2014 11:49
Para: Ing. Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] operaciones con fecha

El día 5 de marzo de 2014, 13:30, Ing. Esneiker Enriquez Cabrera
eenriq...@cav.desoft.cu escribió:
 Hola a todos.

 Estoy haciendo una consulta donde tengo que hacer operaciones con fecha para
 por ejemplo saber el número de días transcurridos de una fecha a otra y me
 he encontrado un inconveniente, resulta que en algunos casos la operación me
 puede quedar como '10/02/2014'::date – null y aquí el resultado sería null,
 pero yo quiero que en este caso el resultado sea cero, la opción que se me
 ocurre es utilizar un case que primero me haga el cálculo y luego evaluar si
 el resultado es null que me devuelva cero, de lo contrario que me retorne la
 cantidad de días, pero creo que esto sería ineficiente puesto que tendría
 que hacer la operación con las fechas dos veces. Si alguien conoce de alguna
 otra forma que lo pudiera hacer se lo agradecería.

COALESCE(fecha1::DATE - fecha2::DATE, '0 days'::interval)

Es bueno que siempre retorne el mismo tipo de dato.

Saludos,

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

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 9498 (20140304) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 
 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas de 
virus 9498 (20140304) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.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


[pgsql-es-ayuda] duda al separar valores positivos y negativos de una columna

2014-01-16 Por tema Ing. Esneiker Enriquez Cabrera
Hola comunidad.

Les escribo porque tengo una tabla con una columna llamada importe, cuyos
valores pueden ser positivos y negativos. Quiero hacer una consulta la cual
me devuelva los valores positivos en una columna y los valores negativos en
otra. Hice la consulta pero logré obtener los resultados de la siguiente
forma:

1

-3

2

-10

3

-7

4

O sea, obtuve valores null.

Lo ideal fuera obtenerlos así:

1 -3

2 -10

3 -7

4 null

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.



RE: [pgsql-es-ayuda] duda al separar valores positivos y negativos de una columna

2014-01-16 Por tema Ing. Esneiker Enriquez Cabrera
Muchas gracias a todos por su colaboración, la solución de Jairo me ayudó
mucho.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: Jairo Graterón [mailto:jgrate...@gmail.com] 
Enviado el: jueves, 16 de enero de 2014 10:32
Para: Ing. Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: [pgsql-es-ayuda] duda al separar valores positivos y negativos
de una columna

 

Se separa los positivos y negativos y luego se une usando funciones Windows.

SELECT positivos, negativos FROM 
(SELECT importe as positivos,row_number() OVER() FROM tabla where importe =
0 ) as T1 LEFT JOIN 
(SELECT importe as negativos,row_number() OVER() FROM tabla where importe 
0  ) as T2 ON T1.row_number=T2.row_number



 

El 16 de enero de 2014, 8:57, Ing. Esneiker Enriquez Cabrera
eenriq...@cav.desoft.cu escribió:

Hola comunidad.

Les escribo porque tengo una tabla con una columna llamada importe, cuyos
valores pueden ser positivos y negativos. Quiero hacer una consulta la cual
me devuelva los valores positivos en una columna y los valores negativos en
otra. Hice la consulta pero logré obtener los resultados de la siguiente
forma:

1

-3

2

-10

3

-7

4

O sea, obtuve valores null.

Lo ideal fuera obtenerlos así:

1 -3

2 -10

3 -7

4 null

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 



__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 9293 (20140115) __

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

-- 
Este mensaje ha sido analizado por  http://www.mailscanner.info/
MailScanner 
en busca de virus y otros contenidos peligrosos, 
y se considera que está limpio. 

 


-- 
Este mensaje ha sido analizado por  http://www.mailscanner.info/
MailScanner 
en busca de virus y otros contenidos peligrosos, 
y se considera que está limpio. 

 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 9293 (20140115) __

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.



[pgsql-es-ayuda] duda para incrementar segundos a una fecha

2014-01-09 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Estoy haciendo una función para actualizar una fecha en una tabla de la
siguiente forma, existe una columna fecha de tipo date y tengo que poner
esos valores para otra columna de tipo datetime, incrementando en 1 el campo
segundos como en el siguiente ejemplo:

Fechafechahora

2013-01-01 2013-01-01 00:00:01

2013-01-01 2013-01-01 00:00:02

2013-01-01 2013-01-01 00:00:03

 

En alguna parte de la función tengo la sentencia:

update partediario set fechahora = fecha+ INTERVAL '1 second' where id =
aid;

pero eso no me sirve porque siempre pondría 1 segundo, quiera algo como:

update partediario set fechahora = fecha+ INTERVAL 'i second' where id =
aid;

pero esta segunda forma no funciona.

 

Agradecería que alguien me pudiera ayudar.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.



[pgsql-es-ayuda] duda sobre unicidad de columnas

2013-08-28 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Estoy usando postgres 9.1 donde tengo algunas tablas en las cuales quiero
crear restricciones de unicidad en algunas columnas, por ejemplo que el
campo nombre no permita valores duplicados. El caso es que el gestor me deja
guardar los valores tales como Nombre uno y nombre uno porque los maneja
como valores diferentes, cuando desde el punto de vista del negocio
representan el mismo valor. ¿Cuál sería la forma más eficiente de hacer
esto?

Gracias anticipadas.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.



RE: [pgsql-es-ayuda] direccion ip en tabla de auditoria

2013-08-21 Por tema Ing. Esneiker Enriquez Cabrera
Hola, hace algún tiempo me pasó lo mismo y en una búsqueda en Google obtuve
un código que resolvía este problema, funciona correctamente. Te va en
adjunto, la ip se coge en php y luego debes insertarla en tu tabla.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: eenriq...@cav.desoft.cu

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de jvenegasperu .
Enviado el: miércoles, 21 de agosto de 2013 4:11
Para: Ayuda
Asunto: [pgsql-es-ayuda] direccion ip en tabla de auditoria

 

hola a todos e seguido este blog para implementar una auditoria de tablas 

http://www.swapbytes.com/2010/09/como-implementar-auditoria-simple-en.html

bueno todo funciona bien se crea una tabla para la auditoria y luego dentro
se van guardando las acciones de insertar borrar actualizar de cada tabla

pero quisiera agregar el campo direccion IP a esta tabla 

¿Como puedo capturar la ip de la que se conecta el usuario a la BD?

como se haria esto cuando los usuarios se conectan desde una pagina web a la
BD

 

les agradezco la ayuda que me puedan brindar



-- 

José Mercedes Venegas Acevedo
cel: Mov. 949808846

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

PHP Spanish Docs translator member.

http://www.php.net/manual/es/index.php


-- 
Este mensaje ha sido analizado por  http://www.mailscanner.info/
MailScanner 
en busca de virus y otros contenidos peligrosos, 
y se considera que está limpio. 

 

__ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 8690 (20130815) __

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.

?
public function obtenerIpUsuario()
{ 
if( @$_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
   {
  $client_ip =
 ( !empty($_SERVER['REMOTE_ADDR']) ) ?
@$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
   @$_ENV['REMOTE_ADDR']
   :
   'Ip desconocida' );

  // los proxys van añadiendo al final de esta cabecera
  // las direcciones ip que van ocultando. Para localizar la ip real
  // del usuario se comienza a mirar por el principio hasta encontrar
  // una dirección ip que no sea del rango privado. En caso de no
  // encontrarse ninguna se toma como valor el REMOTE_ADDR

  $entries = split('[, ]', @$_SERVER['HTTP_X_FORWARDED_FOR']);

  reset($entries);
  while (list(, $entry) = each($entries))
  {
 $entry = trim($entry);
 if ( preg_match(/^([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/, $entry, 
$ip_list) )
 {
// http://www.faqs.org/rfcs/rfc1918.html
$private_ip = array(
  '/^0\\./',
  '/^127\\.0\\.0\\.1/',
  '/^192\\.168\\..*/',
  '/^172\\.((1[6-9])|(2[0-9])|(3[0-1]))\\..*/',
  '/^10\\..*/');

$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);

if ($client_ip != $found_ip)
{
   $client_ip = $found_ip;
   break;
}
 }
  }
   }
   else
   {
  $client_ip =
 ( !empty($_SERVER['REMOTE_ADDR']) ) ?
@$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
   @$_ENV['REMOTE_ADDR']
   :
   Ip desconocida );
   }

   return $client_ip;

}
?-
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] ejecutar script automático en postgres

2013-08-16 Por tema Ing. Esneiker Enriquez Cabrera
Hola comunidad.

Tengo una duda y no encuentro en internet como resolverla. Estoy trabajando
con postgres 9.1 y php y quiero que cada cierto tiempo se ejecute una
consulta en el servidor postgres de forma automática, he visto lugares donde
se dice que cree una tarea programada o un cron dependiendo de si el SO es
Windows o Linux pero no quiero que dependa del propio sistema operativo.
¿Existirá en postgres alguna forma para hacer esto, que desde el propio
servidor cada cierto tiempo se pueda ejecutar el script?

Gracias anticipadas.

Saludos,

Ing. Esneiker Enriquez Cabrera
  Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.:  mailto:eenriq...@cav.desoft.cu
eenriq...@cav.desoft.cu

 


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.



[pgsql-es-ayuda]

2011-04-28 Por tema Ing. Esneiker Enriquez Cabrera
Hola comunidad.

Estoy tratando de hacer una importación de datos en postgres 8.3 y el tema
es que las constraints de las tablas las tengo con la propiedad deferrable
initially deferred, pero al ejecutar el script donde están los comandos copy
from me dan error puesto que se viola el orden de inserción en las tablas, o
sea, debería tener ordenadas las sentencias teniendo en cuenta las
dependencias de las tablas. El problema es que en el manual dice que cuando
se declaran las constraint con esta propiedad postgres no chequea la
integridad referencial hasta que llegue al final del script y en mi caso lo
está haciendo antes.

 

Alguien tiene alguna respuesta para esto?

 

Muchas gracias.

 

Saludos,

 

Ing. Esneiker Enriquez Cabrera.

Excelencia en Software.

Desoft S.A. en Ciego de Ávila.

Joaquín de Agüero Esq. Calle 2. Ciego de Ávila. Cuba.

email:eenriq...@cav.desoft.cu

Teléfono: 53-33-266200



[pgsql-es-ayuda] ayuda

2011-02-18 Por tema Ing. Esneiker Enriquez Cabrera
Hola comunidad.

Tengo una duda, estoy llamando al postgres de la siguiente forma:

C:\Program Files\PostgreSQL\8.3\bin\psql.exe –U postgres

Y cuando se ejecuta me pide la contraseña, pero yo quiero pasarle la
contraseña para que no me la pida, esto es una necesidad que tengo porque
estoy mandando a ejecutar consultas sql desde un fichero y si no le pongo la
contraseña da error.

 

Alguien podría decirme como pasarle la contraseña? He buscado en la ayuda
pero no encuentro nada.

 

Muchas gracias.

 

 

Ing. Esneiker Enriquez Cabrera.

Excelencia en Software.

Desoft S.A. en Ciego de Ávila.

Joaquín de Agüero Esq. Calle 2. Ciego de Ávila. Cuba.

email:eenriq...@cav.desoft.cu

Teléfono: 53-33-266200

 



[pgsql-es-ayuda] error

2011-02-18 Por tema Ing. Esneiker Enriquez Cabrera
Hola comunidad.

Estoy tratando de ejecutar un script de base de datos usando el pgsql de la
siguiente forma

C:\Program Files\PostgreSQL\8.3\bin\psql.exe -f E:\carpeta\ScriptBD.sql -U
postgres -d prueba

 

Entonces el script se empieza a ejecutar y el problema es que cuando voy a
la base de datos no se han creado bien todas las tablas y vistas, incluso no
inserta los valores en las tablas. O sea, crea la base de datos en parte.

Alguien tiene idea del por qué ocurre esto? En la ejecución del script
usando esta forma puedo ver que se generan algunos errores pero cuando
ejecuto la consulta en el pgadmin se ejecuta todo bien.

 

Muchas gracias.

 

Saludos,

 

Ing. Esneiker Enriquez Cabrera.

Excelencia en Software.

Desoft S.A. en Ciego de Ávila.

Joaquín de Agüero Esq. Calle 2. Ciego de Ávila. Cuba.

email:eenriq...@cav.desoft.cu

Teléfono: 53-33-266200

 



[pgsql-es-ayuda] duda con encriptación

2011-02-14 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos.

Estoy usando la función mcrypt de php para encriptar una cadena que tengo que 
almacenar en una tabla en una base de datos de postgres pero el problema es que 
cuando mando a ejecutar la función de actualización o inserción desde el php da 
error, ya probé usando el escape E y si ejecuto la función en el pgadmin el 
postgres lo entiende bien y hace la operación.

 

Este es el error que me da desde el php:

ERROR:  invalid byte sequence for encoding \UTF8\: 0xa2\nHINT:  This error 
can also happen if the byte sequence does not match the encoding expected by 
the server, which is controlled by \client_encoding\.. Consulta = UPDATE 
sistema  SETduracion_clave = '120', organismo = 
'Mic',entidad = 'Desoft',dir_ip_correo = '10.14.0.25',  
dominio = 'cav', permitir_usuarios_externos = 
'true',tiempo_respuesta = '50',fecha_automatica = 
'false',denegar_automatico = 'false',
direccion_localizacion = 'sdf', proveedor = 'fgh',
enviar_email = 'true',cod_pais = 'Cu',cod_entidad = 
'D',cod_archivo = 'AC',usar_directorio_activo = 'true', 
smtp_secure = '1',
servidor_smtp = '10.14.0.25',usuario_smtp = 'eenriquez',
clave_smtp = E'@¢0@\x19\x1„gªiUä`2½z@4ý‡ë\Ô

 

También probé aplicar utf8_encode al campo pero tampoco funciona.

 

Alguien me podría ayudar?

 

Gracias.

 

Ing. Esneiker Enriquez Cabrera.

Excelencia en Software.

Desoft S.A. en Ciego de Ávila.

Joaquín de Agüero Esq. Calle 2. Ciego de Ávila. Cuba.

email:eenriq...@cav.desoft.cu

Teléfono: 53-33-266200

 



[pgsql-es-ayuda] duda con funciones

2010-07-29 Por tema Ing. Esneiker Enriquez Cabrera
Hola a todos, tengo dudas con respecto a la devolución de valores en las 
funciones de postgres.
El caso es que tengo una función en la cual retorno un cursor con el 
resultado de una consulta y desde mi aplicación la llamo usando el fetch 
all in, pero necesito que dicha función además de devolver el resultado 
de una consulta me devuelva también valores en parámetros de salida, 
ejemplo, la función me devuelve en el cursor con datos numéricos pero 
necesito sacar totales y porcientos a partir de los datos devueltos y 
necesitaría que dichos totales y porcientos fueran devueltos en los  
parámetros de salida, esto se puede hacer? habría alguna otra forma de 
hacerlo?


Muchas gracias.

--
Saludos,

Ing. Esneiker Enriquez Cabrera.
Excelencia en Software.
Desoft S.A. en Ciego de Ávila.
Joaquín de Agüero Esq. Calle 2. Ciego de Ávila. Cuba.
email:eenriq...@cav.desoft.cu
Teléfono: 53-33-266200

-
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