Re: [pgsql-es-ayuda] sobre pg_restore

2013-06-21 Por tema Raul Andres Gutierrez Alejo

el parametro -h es el nombre o ip de host ejemplo localhost o 127.0.0.1

El 21/06/2013 09:23 p.m., Frank Ernesto Matos Matos escribió:
trato de ejecutar en un entorno Windows pg_restore y miren lo que 
obtengo..alguien sabe la razon? en linux hago exactamente lo mismo y 
funciona
 .\pg_restore.exe -d navegante -h 'C:\Program Files 
(x86)\Navegante-1.0\postgresql' -p 3391 -U postgres 'C:\Program Files 
(x86)\Navegante-1.0\nav-utils\navegante.backup'
pg_restore: [archiver (bd)] falló la conexión a la base de datos 
«navegante»: no se pudo recibir datos del servidor: Sof

tware caused connection abort (0x2745/10053)
ya se que es que no se puede conectar ala base de datos..pero algo 
sobre lo que esta en rojo?



http://www.uci.cu/




Re: [pgsql-es-ayuda] comparar registro con un array

2013-04-11 Por tema Raul Andres Gutierrez Alejo

http://www.postgresql.org/docs/9.2/static/functions-array.html

El 11/04/2013 03:30 p.m., Patricio Gigoux escribió:

¿Como puedo comparar con un array en una condición, algo como:
Salect * from la_tabla where id= a algún elemento en ARRAY['a','d','e']
es decir, si el id corresponde a alguno de esos elementos es seleccionado

Gracias

Patricio Ggoux Méndez

Contact Me Twitter http://@pgigoux
My QR VCard
Want a signature like mine? 
http://r1.wisestamp.com/r/landing?promo=22dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_22 
Click here. 
http://r1.wisestamp.com/r/landing?promo=22dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_22 





Re: [pgsql-es-ayuda] recorrer una record

2013-01-28 Por tema Raul Andres Gutierrez Alejo


CREATE OR REPLACE FUNCTION test(e_num integer)
  RETURNS integer AS
$BODY$
DECLARE
registro RECORD;
registro_anterior RECORD;

BEGIN
registro_anterior:=NULL;
FOR registro IN SELECT  num  , nombre FROM tabla  LOOP
IF registro.num = e_num THEN
IF registro_anterior IS NULL  THEN
RAISE NOTICE ' NO HAY ANTERIOR';
RETURN NULL;
ELSE
RAISE NOTICE '  ANTERIOR ES 
%',registro_anterior.nombre;

RETURN registro_anterior.num;
END IF;
END IF;
registro_anterior=registro;
 END LOOP;
RAISE NOTICE ' NO ENCONTRADO';
RETURN  NULL ;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;


esta es la logica, no funciona bien la validación del primer registro. 
   IF registro_anterior IS NULL  THEN


El 28/01/2013 07:21 p.m., Roberto A. escribió:

Buenas a toda la comunidad.

Espero puedan ayudarme con un problema que me tiene ya varios dias sin 
poderlo resolver.


Tengo una funcion en la cual tengo un bucle for loop que recorrer una 
record y es aqui donde no se como hacer para que cuando dentro del for 
al encontrar un valor determinado acceda a los valores de record en 
una fila anterior.


ej:

el record tiene estas tabla cargada

num |   nombre
1  |   infantil
6  |   juvenil
9  |   majores
13 |libre

en la funcion tengo como paremetro el valor de la columna num
para este ejemplo pondre el 9 como parametro de entrada
al recorrer el record y se encuntre en la fila con num igual a 9 
necesito capturar en una variable el valor de num pero de la fila 
anterio que en este caso seria 6 .


no se si existe alguna forma usando records para obtener este valor o 
tal vez existe otra forma de hacer esto


espero puedan ayudarme y de antemano gracias


Atte: Roberto A.






-
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] Métodos de auditoria en PostgreSQL

2012-11-27 Por tema Raul Andres Gutierrez Alejo

activar el log en postgresql.conf

logging_collector = on
log_min_messages = notice
log_min_duration_statement = 0 # -1 is disabled, 0 logs all statements
# and their durations,  0 logs only
# statements running at least this number
# of milliseconds

El 27/11/2012 01:58 p.m., Anita Ramirez escribió:

Buenas a todos,

Estoy investigando acerca de las maneras de obtener Logs de auditoria 
en postgres, he leido acerca de hacerlo con triggers, pero, no existe 
alguna otra manera propia de postgres para obtener datos de auditoria?


Desde ya, muchas gracias por la información que me puedan brindar.

Saludos,
Ana Ramirez.-



-
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] problemas con trigger

2012-11-07 Por tema Raul Andres Gutierrez Alejo

NEW es valido en  INSERT Y UPDATE
OLD es valido en UPDATE Y DELETE
con esta función puede probar los valores para cualquier tabla.
CREATE OR REPLACE FUNCTION  tr_datos_d()
  RETURNS trigger AS
$BODY$
DECLARE
 BEGIN
IF TG_OP = 'INSERT' THEN
RAISE NOTICE 'INSERT NEW %',NEW;
RETURN NEW;
END IF;
IF TG_OP = 'UPDATE' THEN
RAISE NOTICE 'UPDATE NEW %',NEW;
RAISE NOTICE 'UPDATE OLD %',OLD;
RETURN  NEW;
END IF;
IF TG_OP = 'DELETE' THEN
RAISE NOTICE 'DELETE OLD %',OLD;
RETURN OLD;
END IF;
 END;$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

El 07/11/2012 04:14 p.m., Jaime Casanova escribió:

2012/11/7 Juan smalltalker.marc...@gmail.com:

Jaime

Lo extraño es que para hacer el test yo use update
por lo que entiendo update manda inicializado el New.
lo raro es que ambos new y old estan en null.
cualquier idea sera agradecida

y como determinas que NEW y OLD vienen en null?
te da algun error?

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

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



-
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] problemas con trigger

2012-11-06 Por tema Raul Andres Gutierrez Alejo
utiliza TG_OP para saber que esta haciendo 
http://www.postgresql.org/docs/9.2/static/plpgsql-trigger.html


la estructura del triger debe algo parecida a:
CREATE OR REPLACE FUNCTION  tr_datos_d()
  RETURNS trigger AS
$BODY$
DECLARE
 BEGIN
IF TG_OP = 'INSERT' THEN
-- ...
RETURN NEW;
END IF;
 IF TG_OP = 'UPDATE' THEN
--- ...
RETURN  NEW;
END IF;

IF TG_OP = 'INSERT' OR TG_OP = 'UPDATE' THEN
-- ...
RETURN NEW;
END IF;

IF TG_OP = 'DELETE'THEN
--- ...
RETURN OLD;
END IF;
 END;$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

El 06/11/2012 11:38 a.m., Juan escribió:

Gente

Tengo un trigger declarado en una tabla, declarada de la sig. manera


-- Table: dato_d

-- DROP TABLE dato_d;

CREATE TABLE dato_d
(
  id bigserial NOT NULL,
  fecha_alta timestamp without time zone NOT NULL,
  fecha_baja timestamp without time zone,
  fecha_ult_mod timestamp without time zone NOT NULL,
  usuario_alta character varying(50) NOT NULL,
  usuario_baja character varying(50),
  usuario_ult_mod character varying(50) NOT NULL,
  codigo character varying(30),
  inactivo integer,
  nombre character varying(255),
  id_dominio bigint,
  CONSTRAINT d_pkey PRIMARY KEY (id),
  CONSTRAINT sdgdgdfgdfgdfgdFOREIGN KEY (id_dominio)
  REFERENCES d (id) MATCH SIMPLE
  ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
  OIDS=FALSE
);
ALTER TABLE dato_d
  OWNER TO tsuser;

-- Trigger: tr_datos_d on dato_d

-- DROP TRIGGER tr_datos_dom ON dato_d;

CREATE TRIGGER tr_datos_d
  BEFORE INSERT OR UPDATE OR DELETE
  ON dato_d
  FOR EACH ROW
  EXECUTE PROCEDURE tr_datos_d();


PERO: en mi trigger tengo un if por delete or update or insert

segun entendi el trigger llama con un parametro NEW  u OLD 
representando la row que se altera,

Para testear esta funcionalidad le hice un update
update dato_d set fecha_baja = fecha_baja  ;
No modifico nada, pero lo que motiva este corre es que algunas veces 
parece que el OLD y el NEW vienen en null
de manera que si intento acceder a el campo id me sale el error 'valor 
no inicializado'


cualquier ayuda sera agradecido.
saludos