Re: [pgsql-es-ayuda] Duda sobre varias consultas simultaneas

2017-05-12 Por tema Alejandro Carrillo
De salida yo desprenderia tabla por tabla y vista por vista, aca nadie sabe si 
todas son tablas o puede haber una vista, por otra parte revisa como esta 
ejecutando ese casting de timestamp a time, puede estar la causa allí

El jue, 11/5/17, Maximiliano Riffo  escribió:

 Asunto: Re: [pgsql-es-ayuda] Duda sobre varias consultas simultaneas
 Para: "Alvaro Herrera" 
 CC: "pgsql-es-ayuda" 
 Fecha: jueves, 11 de mayo, 2017 15:49
 
 jajaja
 tienes razón. Este es el script 
 drop table if exists
 matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora;create
 table matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora
 as select *from
 matriz_2013.viajes_04where
 tiempobajada::timestamp::time between '08:00:00' and
 '09:00:00' and tipodia =
 'LABORAL';comment on table
 matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora is '
 viajes donde el tiempo de bajada es entre 08:00:00 y
 09:00:00';
 
 drop table if exists
 matriz_2013_1_hora_bajada_pm.etapas_max_1_hora;create
 table matriz_2013_1_hora_bajada_pm.etapas_max_1_hora
 as select  paraderosubida_1era as subida
 ,paraderobajada_1era as bajada,  serv_1era_etapa as
 servicio, tipotransporte_1era as tipo_transporte,
 factorexpansion::float, 1from
 matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere
 paraderosubida_1era is not null and paraderosubida_1era
 <>''  and    paraderobajada_1era is
 not null and paraderobajada_1era <>''
 and  tipotransporte_1era
 <> 'METRO'  and serv_1era_etapa is not  null
 and factorexpansion is not null;
 insert into
 matriz_2013_1_hora_bajada_pm.etapas_max_1_horaselect
 paraderosubida_2da, paraderobajada_2da,  serv_2da_etapa,
 tipotransporte_2da, factorexpansion::float, 2from
 matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere
  paraderosubida_2da is not null and paraderosubida_2da
 <>'' and  paraderobajada_2da is
 not null and paraderobajada_2da <>''
 andtipotransporte_2da
 <> 'METRO'  and serv_2da_etapa is not  null
 and factorexpansion is not null;
 
 
 insert into
 matriz_2013_1_hora_bajada_pm.etapas_max_1_horaselect
 paraderosubida_3era, paraderobajada_3era,  serv_3era_etapa,
 tipotransporte_3era, factorexpansion::float,
 3from
 matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere
 paraderosubida_3era is not null and paraderosubida_3era
 <>'' and paraderobajada_3era is
 not null and paraderobajada_3era <>''
 and     tipotransporte_3era <>
 'METRO'  and serv_3era_etapa is not  null and
 factorexpansion is not null;
 
 
 insert into
 matriz_2013_1_hora_bajada_pm.etapas_max_1_horaselect
 paraderosubida_4ta , paraderobajada_4ta ,  serv_4ta_etapa,
 tipotransporte_4ta, factorexpansion::float, 4from
 matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere
 paraderosubida_4ta is not null and paraderosubida_4ta
 <>'' and paraderobajada_4ta is
 not null and paraderobajada_4ta <>''
 and  tipotransporte_4ta
 <> 'METRO'  and serv_4ta_etapa is not  null
 and factorexpansion is not null;
 drop table if exists
 
matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora;create
 table
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 as select b.* , upper(trim(d.route_name)) as
 route_namefrom
 matriz_2013_1_hora_bajada_pm.etapas_max_1_hora b inner
 join  (select distinct on
 (upper(trim(cod_sirrut))) route_name,
 cod_sirrut from (  select distinct on
 (cod_sirrut) route_name, cod_sirrutfrom
 matriz_2013_1_hora_bajada_pm.diccionario   
uNION   select distinct on
 (codigo_sonda) *   from
 matriz_2013.diccionario_routes) sq )
 d on upper(trim(d.cod_sirrut)) =
 upper(trim(b.servicio) );
 update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_horaset
 route_name = split_part(route_name, '_',
 1)where route_name like
 '%\_%';
 update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 set route_name =upper('104IPM') where route_name =
 upper('104I');update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 set route_name =upper('106IPM') where route_name =
 upper('106I');update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 set route_name =upper('113RPM') where route_name =
 upper('113eRncPM');update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 set route_name =upper('113RPM') where route_name =
 upper('113R');update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 set route_name =upper('115RPM') where route_name =
 upper('115R');update
 matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora
 set route_name =upper('118IPM') where route_name =
 upper('118I');update
 

Re: [pgsql-es-ayuda] ¿Websevice vs conexion directa?

2017-05-02 Por tema Alejandro Carrillo
Hola Gilberto,

 Apoyando lo que dice Arturo Espinosa en su respuesta, creo que lo mejor es 
crear una capa de WS utilizando tu lenguaje de preferencia, en mi caso utilizo 
javascript del lado del servidor (node.js ) con la libreria pg, la cual trae 
incluida una libreria llamada pgPool la cual maneja la cola de conexiones 
entrantes hacia el servidor de PostgreSQL, su velocidad es buena sobre todo con 
muchas peticiones al tiempo, sin embargo si quieres más velocidad, manejando tu 
las conexiones hacia la BD, puedes usar brianc/node-pg-native, la cual hace un 
wrapping directo a la libreria de C++ libpq o utilizar las opciones de native 
bindings que te ofrece pg. O si quieres más velocidad puedes utilizar C++ (uno 
de tantos frameworks es CppCMS — High Performance C++ Web Framework) para crear 
y exponer servicios Web y utilizas libpq directamente.
Todo lo anterior, permitiría exponer functions de PostgreSQL que deben tener su 
respectiva seguridad de ejecución. De esa forma puedes lograr no solo el 
intercambio de datos entre aplicaciones, sino mantener la lógica de negocio en 
functions, es decir en la BD.
Saludos
  
|  
|   
|   
|   ||

   |

  |
|  
|   |  
CppCMS — High Performance C++ Web Framework
   |   |

  |

  |

 


  
|  
|   
|   
|   ||

   |

  |
|  
||  
brianc/node-pg-native
 node-pg-native - Native (C/C++) bindings to PostgreSQL with sync and async 
options.  |   |

  |

  |

 
El Lunes 24 de abril de 2017 15:50, Gilberto Castillo 
 escribió:
 

 
Hola a todos,

Me gustaría obtener sus ideas de cual sería la mejor vía para permitir el
intercambio de datos entre distintas aplicaciones.

¿Sería mejor usar webservice? o ¿sería mejor permitir conexiones directas
a mi data?

-- 
Saludos,
Gilberto Castillo
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] Control de excepcion

2017-03-07 Por tema Alejandro Carrillo
Buen dia,
Por favor solicito de su colaboración ya que me ocurre algo raro en el control 
de excepcion de una function, los functions son los siguientes:
CREATE OR REPLACE FUNCTION public.verify(    IN token text,    IN secret text,  
  IN algorithm text DEFAULT 'HS256'::text)  RETURNS TABLE(header json, payload 
json, valid boolean) AS$BODY$  SELECT
    convert_from(public.url_decode(r[1]), 'utf8')::json AS header,    
convert_from(public.url_decode(r[2]), 'utf8')::json AS payload,    r[3] = 
public.algorithm_sign(r[1] || '.' || r[2], secret, algorithm) AS valid  FROM 
regexp_split_to_array(token, '\.') r;$BODY$
  LANGUAGE sql VOLATILE
  COST 100  ROWS 1000;ALTER FUNCTION public.verify(text, text, text)  OWNER TO 
postgres;

create or replace function logicanegocio.verificar_token(p_token character 
varying, curs refcursor) RETURNS void language plpgsql AS$$begin open curs for 
select header, payload  from verify(p_token, 'Uns3cr3t1c0') where valid = true; 
exception  when others then raise exception 'Token malformed'; 
end;$$;
Cuando envio una cadena erronea a drede, por ejemplo:  
select 
logicanegocio.verificar_token('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwabmFtZSI6InBlcGUgbG9xdWVuZG8ifQ.PV2EO5ovJ_4Uq8rOEyHEzhafRL82GvuCJFXaRCno5Tg',
 'cur'); fetch all in cur;
Me sale el siguiente mensaje de error:
ERROR:  sintaxis de entrada no válida para tipo jsonDETAIL:  El elemento «» no 
es válido.CONTEXT:  Datos JSON, línea 1: {"sub":"1",...función SQL «verify» en 
la sentencia 1
y deberia salir 'Token malformed'; 

Por favor que puede estar ocurriendo??
Gracias por su apoyo

Re: [pgsql-es-ayuda] Capturar cual unique key esta en excepción

2016-01-25 Por tema Alejandro Carrillo
Muchas gracias por la solución. Cambiaré mis fuentes ya q es más optima que 
buscando textos 

El Domingo 20 de diciembre de 2015 13:00, Anthony Sotolongo 
<asotolo...@gmail.com> escribió:
 
 

  Hola nuevamente, creo que tu solución funciona bien, pero si puedes obtener 
el nombre del CONSTRAINT afectado con el item CONSTRAINT_NAME como te sugería 
en el correo  anterior, que pudiera ser unas de tus soluciones, por ejemplo:
 
 CREATE TABLE alejandro
 (
   col1 integer,
   col2 integer,
   CONSTRAINT alejandro_col1_key UNIQUE (col1),
   CONSTRAINT alejandro_col2_key UNIQUE (col2)
 )
 
 CREATE OR REPLACE FUNCTION insertar(int,int) RETURNS text AS $$
 DECLARE
   text_var1 text;
   
 BEGIN
 
    BEGIN
  INSERT INTO  alejandro  VALUES ($1,$2);
    EXCEPTION WHEN unique_violation THEN
     GET STACKED DIAGNOSTICS text_var1 = CONSTRAINT_NAME;
    RAISE exception  'La contraint afectada es %',text_var1;
  
    END;
    return 'OK';
 END;
 $$ LANGUAGE plpgsql;
 
 si ejecuto 
 select insertar(1,2);
 
 OK
 
 
 si luego ejecuto
 select insertar(1,10);
 
 ERROR:  La contraint afectada es alejandro_col1_key
 
 
 
 si ejecuto 
 select insertar(10,2);
 ERROR:  La contraint afectada es alejandro_col2_key
 
 saludos
 
 
 El 12/20/2015 a las 2:23 PM, Alejandro Carrillo escribió:
  
  Hola, 
  Si revisé pero no encontré nada acerca del objeto afectado, por ahora la 
única solución es:  when unique_violation then  GET STACKED DIAGNOSTICS 
l_RETURNED_SQLSTATE = RETURNED_SQLSTATE,  l_MESSAGE_TEXT = MESSAGE_TEXT,  
l_PG_EXCEPTION_DETAIL = PG_EXCEPTION_DETAIL;if position('uk_cliente' in 
l_MESSAGE_TEXT)> 0 then  s_error_msj:=  'Ya existe un tipo_documento y 
numero_documento que coinciden con los ingresados. Por favor ingrese un tipo y 
documento diferentes o solicite restaurar la contraseña.';   end if;  raise 
exception '%', s_error_msj; 
   
 
  El Sábado 19 de diciembre de 2015 15:08, Anthony Sotolongo 
<asotolo...@gmail.com> escribió:
  
 
 
Hola Alejandro, revisa los Error Diagnostics Values y tal vez te pueda dar 
la pista de la UNIQUE que te da el error, utiliza el ITEM que requieras(creo 
que COLUMN_NAME o CONSTRAINT_NAME o PG_EXCEPTION_DETAIL o PG_EXCEPTION_HINT, 
pueden ayudarte).
 te recomiendo:
 
http://www.postgresql.org/docs/9.4/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
 
 
 Saludos
 
 
 El 12/19/2015 a las 3:04 PM, Alejandro Carrillo escribió:
   
  Buen dia, 
  Rato sin hablar en la lista. Tengo una duda, estoy creando un function en 
Postgresql 9.4 que insertará datos en una tabla, sin embargo esta tabla tiene 2 
o más unique constraint y necesito saber unicamente el nombre de cual de las 
unique  constraint ha sido afectada, ej: 
  
  create or replace function insertar(  p1 character varying,    p2 character 
varying,     p3 character varying  ) RETURNS void AS $$ begin  inser into ...; 
  exception  when unique_violation then  -- ACA DEBO OBTENER UNICAMENTE EL 
NOMBRE EXACTO DE LA UNIQUE KEY AFECTADA para efectos de mostrar un mensaje de 
error personalizado.   end; $$; 
  Cordial saludo  
  
   
 
  
 
 
 

 
  

Re: [pgsql-es-ayuda] Capturar cual unique key esta en excepción

2015-12-20 Por tema Alejandro Carrillo
Hola,
Si revisé pero no encontré nada acerca del objeto afectado, por ahora la única 
solución es: when unique_violation then GET STACKED DIAGNOSTICS 
l_RETURNED_SQLSTATE = RETURNED_SQLSTATE, l_MESSAGE_TEXT = MESSAGE_TEXT, 
l_PG_EXCEPTION_DETAIL = PG_EXCEPTION_DETAIL;  if position('uk_cliente' in 
l_MESSAGE_TEXT)> 0 then s_error_msj:=  'Ya existe un tipo_documento y 
numero_documento que coinciden con los ingresados. Por favor ingrese un tipo y 
documento diferentes o solicite restaurar la contraseña.'; end if; raise 
exception '%', s_error_msj;
 

El Sábado 19 de diciembre de 2015 15:08, Anthony Sotolongo 
<asotolo...@gmail.com> escribió:
 
 

  Hola Alejandro, revisa los Error Diagnostics Values y tal vez te pueda dar la 
pista de la UNIQUE que te da el error, utiliza el ITEM que requieras(creo que 
COLUMN_NAME o CONSTRAINT_NAME o PG_EXCEPTION_DETAIL o PG_EXCEPTION_HINT, pueden 
ayudarte).
 te recomiendo:
http://www.postgresql.org/docs/9.4/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
 
 
 Saludos
 
 
 El 12/19/2015 a las 3:04 PM, Alejandro Carrillo escribió:
  
  Buen dia, 
  Rato sin hablar en la lista. Tengo una duda, estoy creando un function en 
Postgresql 9.4 que insertará datos en una tabla, sin embargo esta tabla tiene 2 
o más unique constraint y necesito saber unicamente el nombre de cual de las 
unique constraint ha sido afectada, ej: 
  
  create or replace function insertar(  p1 character varying,    p2 character 
varying,     p3 character varying  ) RETURNS void AS $$ begin  inser into ...; 
  exception  when unique_violation then  -- ACA DEBO OBTENER UNICAMENTE EL 
NOMBRE EXACTO DE LA UNIQUE KEY AFECTADA para efectos de mostrar un mensaje de 
error personalizado.   end; $$; 
  Cordial saludo  
 
 

 
  

[pgsql-es-ayuda] Capturar cual unique key esta en excepción

2015-12-19 Por tema Alejandro Carrillo
Buen dia,
Rato sin hablar en la lista.Tengo una duda, estoy creando un function en 
Postgresql 9.4 que insertará datos en una tabla, sin embargo esta tabla tiene 2 
o más unique constraint y necesito saber unicamente el nombre de cual de las 
unique constraint ha sido afectada, ej:

create or replace function insertar( p1 character varying,   p2 character 
varying,    p3 character varying )RETURNS void AS$$begin inser into ...;
exception when unique_violation then -- ACA DEBO OBTENER UNICAMENTE EL NOMBRE 
EXACTO DE LA UNIQUE KEY AFECTADA para efectos de mostrar un mensaje de error 
personalizado. end;$$;
Cordial saludo

Re: [pgsql-es-ayuda] AYUDA

2014-12-10 Por tema Alejandro Carrillo
Hola:
1) No escribas en mayúscula, eso significa GRITAR2) La respuesta a lo que 
buscas, creo que no estas usando bien la función ya que requiere hacer casting:
select replace(replace(replace(age('2007-05-19'::timestamp, 
'1952-02-25'::timestamp)::varchar,'years','años'),'mons','meses'),'days','dias')
Saludos 

 El Miércoles 10 de diciembre de 2014 12:01, Javier Campana 
jcamp...@cyg.ec escribió:
   
 

  !--#yiv4198141665 _filtered #yiv4198141665 {font-family:Cambria 
Math;panose-1:2 4 5 3 5 4 6 3 2 4;} _filtered #yiv4198141665 
{font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv4198141665 
#yiv4198141665 p.yiv4198141665MsoNormal, #yiv4198141665 
li.yiv4198141665MsoNormal, #yiv4198141665 div.yiv4198141665MsoNormal 
{margin:0cm;margin-bottom:.0001pt;font-size:11.0pt;font-family:Calibri, 
sans-serif;}#yiv4198141665 a:link, #yiv4198141665 
span.yiv4198141665MsoHyperlink 
{color:#0563C1;text-decoration:underline;}#yiv4198141665 a:visited, 
#yiv4198141665 span.yiv4198141665MsoHyperlinkFollowed 
{color:#954F72;text-decoration:underline;}#yiv4198141665 
span.yiv4198141665EstiloCorreo17 {font-family:Calibri, 
sans-serif;color:windowtext;}#yiv4198141665 .yiv4198141665MsoChpDefault 
{font-family:Calibri, sans-serif;} _filtered #yiv4198141665 {margin:70.85pt 
3.0cm 70.85pt 3.0cm;}#yiv4198141665 div.yiv4198141665WordSection1 {}--HOLA 
COMO ESTAN QUERIA VER SI ME PUEDEN AYUDAR A HACER UN SINTAXIS PARA VER LOS DIAS 
TRANSCURRIDOS ENTRE DOS CAMPOS DE  FECHAS LO QUE NECESITO OBTENER ES LO 
SIGUIENTE Y EN ESPAÑOL       1 AÑO , 6 MESES , 3 DIAS           EJEMPLO que 
estoy usando pero no funciona     age(timestamp ' cyg_inmueble_cuota.inicio', 
timestamp ' cyg_inmueble_cuota.fin')          gracias su ayuda        Javier 
Campana                      

 
   

Re: [pgsql-es-ayuda] Error de constraint

2014-09-02 Por tema Alejandro Carrillo
Ese script de la tabla de lista_centros funciona?? Lo digo por esto:
CREATE TABLE lista_centros
(
  id_centro  character varying(255) NOT NULL,
  nombre_centro  character varying(255) NOT NULL,
  server character varying(200),
  standalone boolean DEFAULT true,
  CONSTRAINT cs_centrosprimarykey PRIMARY KEY (id_centro),
  CONSTRAINT lista_centro2key UNIQUE (nombre_centros) --Este campo no existe
)
El Lunes 1 de septiembre de 2014 15:24, Juan smalltalker.marc...@gmail.com 
escribió:
 



Jaime . lista


aca te envio las definiciones  de la tabla y la consulta que no deberia tener 
registros 
porque violaria la contraint


CREATE TABLE padron
(
  id_usuario character varying(24) NOT NULL,
  num_transaccion character varying(255) DEFAULT ''::character varying,
  tipo_centro  character varying(50) DEFAULT ''::character varying,
  nombre_1 character varying(255),
  nombre_2 character varying(255),
  apellido_1 character varying(255),
  apellido_2 character varying(255),
  apellido_3 character varying(255),
  id_nacionalidad character varying(255),
  radicado_arg smallint DEFAULT 0,
  fecha_nacimiento timestamp without time zone,
  sexo character varying(25),
  calificacion smallint DEFAULT 0,
  fidelidad bigint DEFAULT 0,
  domicilio_provincia character varying(50),
  domicilio_partido character varying(50),
  domicilio_localidad character varying(50),
  domicilio_barrio character varying(50),
  domicilio_calle character varying(250),
  domicilio_altura character varying(50),
  domicilio_piso character varying(255),
  domicilio_puerta character varying(50),
  domicilio_cod_postal character varying(255),
  domicilio_cod_postal_arg character varying(255),
  domicilio_coord_x character varying(255),
  domicilio_coord_y character varying(255),
  estado_civil character varying(50),
  fecha_turno timestamp without time zone,
  centros  character varying(255),
  jubilado smallint DEFAULT 0,
  CONSTRAINT cspadronprimarykey PRIMARY KEY (id_usuario),
  CONSTRAINT cslista_centros FOREIGN KEY (centros )
  REFERENCES lista_centros (nombre_centro) MATCH SIMPLE
)








CREATE TABLE lista_centros
(
  id_centro  character varying(255) NOT NULL,
  nombre_centro  character varying(255) NOT NULL,
  server character varying(200),
  standalone boolean DEFAULT true,
  CONSTRAINT cs_centrosprimarykey PRIMARY KEY (id_centro),
  CONSTRAINT lista_centro2key UNIQUE (nombre_centros)
)


--select id_usuario,centros from padron where centros not in (select 
nombre_centro from lista_centro );


ARROJA RESULTADOS,... no deberia no???
alguna idea? 





2014-08-29 22:55 GMT-03:00 Jaime Casanova ja...@2ndquadrant.com:

2014-08-29 19:24 GMT-05:00 Juan smalltalker.marc...@gmail.com:

 Jaime

 La constrain e foreign key match simple tiene un trigger sobre otro campo
 otra tabla,no entiendo como pudo llegar a ese estado.


?

a ver, te preguntaba por triggers en la misma tabla en la que ves el
problema. en todo caso, como Gerardo sugiere, sería buena idea que
muestres la estructura de la tabla que muestra psql

psql -c \d nombre_tabla nombre_base  archivo_estructura.sql

Por favor la estructura de la tabla que referencia asi como la referenciada.

puedes mostrar los registros con problemas al menos? y los selects que
usas para probar que hay un problema.

finalmente, alguna vez has tenido otros problemas con esta base? has
corrido pg_resetxlog? o has tenido que restaurar de una copia fisica?


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





Re: [pgsql-es-ayuda] Ayuda en PHP

2014-07-01 Por tema Alejandro Carrillo
Acá podemos ayudarte si tienes problemas al ejecutar una sentencia o 
procedimiento almacenado desde PHP, más no temas exclusivos de PHP


El Lunes 30 de junio de 2014 14:03, Jaime Casanova ja...@2ndquadrant.com 
escribió:
 



2014-06-30 12:35 GMT-05:00 Jairo Graterón jgrate...@gmail.com:

 Buenas tardes, alguien conoce alguna lista de usuarios expertos en PHP, que
 tengo un problema con una asignación de la universidad y soy novato en este
 lenguaje.


http://lmgtfy.com/?q=php+lista+correo


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



Re: [pgsql-es-ayuda] Buen dia

2013-03-20 Por tema Alejandro Carrillo
Particularmente prefiero Debian a Ubuntu (el papá por lo general es más estable 
que el hijo)
Por otro lado, normalmente lo que se hace en una aplicación es usar una tabla 
usuarios con pass (md5 o sha1) para efectuar el tema del logueo a la 
aplicación. Esto debe ser independiente de los usuarios que existan en la BD. 
Normalmente para esto se crea 1 usuario de BD con permisos de no superusuario, 
no replicacion, no asignacion de roles, no crear BD; se usa para establecer la 
conexion a la BD (o a las BD) y se accede a los datos usando functions de 
pgplsql con security definer (quien crea las functions debe ser un usuario que 
tenga acceso a las tablas y a las BD's), toca tener en cuenta que si es 
necesario crear functions que hagan SQL dinámico, debe ejecutar las consultas 
con Execute ...Using (más info leer 
http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html). 
Todo lo anterior quiere decir que:
1) Solo 1 usuario de BD va a acceder a la BD y va a obtener los datos 
ÚNICAMENTE  a través de las functions ya creadas, es decir ese usuario ni 
siquiera debe poder hacer select directo a una tabla.
2) Normalmente, el tema de conexiones se maneja en la aplicación, desconectando 
la conexión después de ejecutar las functions de pgplsql. Sin embargo, si 
llegas a tener problemas de conexiones limitadas o no te gusta desconectar de 
la BD (por tiempo de conexion y desconexión), puedes usar algún pool de 
conexiones como pgpool (http://linuxsilo.net/articles/postgresql-pgpool.html 
este funciona también para replicación y alta disponibilidad) o pgBouncer 
(http://wiki.postgresql.org/wiki/PgBouncer que es un ligero pooler de 
conexiones)




 De: Jorge Alberto Aquino Andrade jorge.aquino.andr...@gmail.com
Para: Ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Martes 19 de marzo de 2013 10:51
Asunto: [pgsql-es-ayuda] Buen dia
 

Estoy en un proyecto en el cual estaran conectadas aproximadamente 300 
dependencias o agencias en las cuales cada dependencia tendrá unos 10 
empleados por lo que existe la posibilidad que esten conectados 3000 usuarios 
en algún momento del día a una base centralizada, la pregunta es como puedo 
hacer para que los usuarios externos no puedan accesar la base desde el 
pgadmin u otra herramienta administrativa de la base
La clave de adminsitrador de la base es suficiente con que solo una parte del 
personal la sepa y con eso basta para que no ingresen otros o tengo que hacer 
algo mas por la seguridad???
Postgres soporta esa cantidad maxima de usuarios (3000 es el maximo ahorita 
pero al implementar el proyecto puede ser que sea la minima)
Por favor hacer los comentarios sobre mis consultas.
Trabajo con Postgresql 9.2.1 y se piensa montar la base en Ubuntu (la version 
mas estable)




Re: [pgsql-es-ayuda] Buen dia

2013-03-20 Por tema Alejandro Carrillo
Con SP gano velocidad de acceso en las operaciones CRUD y evito inyección SQL. 
De igual forma es necesario colocar roles que impidan el acceso a datos tal y 
como lo dices. Ahora, aquí viene la pregunta del millón. ¿La BD de la 
aplicación que van a diseñar la van a consultar desde diferentes aplicaciones o 
PostgreSQL solo va a ser un motor de BD más del cual la aplicación va a acceder?




 De: Martín Marqués martin.marq...@gmail.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Jorge Alberto Aquino Andrade jorge.aquino.andr...@gmail.com; Ayuda 
pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 20 de marzo de 2013 12:30
Asunto: Re: [pgsql-es-ayuda] Buen dia
 
El día 20 de marzo de 2013 09:56, Alejandro Carrillo
faster...@yahoo.es escribió:
 1) Solo 1 usuario de BD va a acceder a la BD y va a obtener los datos
 ÚNICAMENTE  a través de las functions ya creadas, es decir ese usuario ni
 siquiera debe poder hacer select directo a una tabla.

Te salís de los estándares de SQL al hacer esto. ¿Cuanta seguridad
podés adquirir con SP que no puedas tener con privilegios sobre los
demás objetos de las bases?

Yo prefiero meter la programación justa y necesaria en la BD, sino,
terminas atando la aplicación a la Base de Datos, complicando posibles
migraciones.

Esta es la forma en que normalmente trabajan quienes desarrollan
aplicaciones de SQLServer o los que usan el PowerBuilder (aunque el
PowerBuilder tenía posibilidades de migración interesantes)

mis 2 centavos

-- 
Martín Marqués
select 'martin.marques' || '@' || 'gmail.com'
DBA, Programador, Administrador




Re: [pgsql-es-ayuda] Permisos revoke all al tablespace pg_default

2013-03-12 Por tema Alejandro Carrillo
Eso quiere decir que un usuario no pueda crear Bd en el tablespace pg_default, 
sino en el tablespace del cual el usuario es dueño, no hace parte de las 
funcionalidades de postgresql




 De: Alejandro Carrillo faster...@yahoo.es
Para: Jaime Casanova ja...@2ndquadrant.com 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 11 de marzo de 2013 14:11
Asunto: Re: [pgsql-es-ayuda] Permisos revoke all al tablespace pg_default
 

El objetivo es que pueda crear bd pero no en el tablespace pg_default, sino en 
el tablespace del cual el usuario es dueño




 De: Jaime Casanova ja...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 11 de marzo de 2013 13:40
Asunto: Re: [pgsql-es-ayuda] Permisos revoke all al tablespace pg_default
 
2013/3/11 Alejandro Carrillo faster...@yahoo.es:

 Pero si deja crear BD en el tablespace:


eso es una propiedad del rol y no un permiso, prueba:

ALTER ROLE mariana NOCREATEDB;

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






Re: [pgsql-es-ayuda] Libros

2013-03-12 Por tema Alejandro Carrillo
Un poco viejo(8.3), pero ahi esta:
http://www.softwarelibrecr.org/sites/default/files/Manual%20Curso%20Basico%20Postgres.pdf


Tambien estan estos en amazon:
http://www.amazon.com/PostgreSQL-poderosa-datos-libre-Spanish/dp/3846575275/ref=sr_1_2?s=booksie=UTF8qid=1362657709sr=1-2keywords=postgresql


http://www.amazon.com/PostgreSQL-Spanish-Edition-ebook/dp/B009BRDN9S/ref=sr_1_1?s=booksie=UTF8qid=1362657709sr=1-1keywords=postgresql





 De: Guillermo E. Villanueva guillermo...@gmail.com
Para: René Romero Benavides ichbinr...@gmail.com 
CC: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 6 de marzo de 2013 19:41
Asunto: Re: [pgsql-es-ayuda] Libros
 

gracias por las sugerencias!
Hay algo interesante en español?






El 6 de marzo de 2013 20:34, René Romero Benavides ichbinr...@gmail.com 
escribió:

 
Para novatos en ambas cosas a mí me gusta el libro PostgreSQL Introduction 
and Concepts de Bruce Momjiam, algo viejo pero la mayoría de las cosas ahí 
expuestas todavía aplican.
 
http://momjian.us/main/writings/pgsql/aw_pgsql_book/
 
 

On Tuesday, March 05, 2013 04:31:21 PM Guillermo E. Villanueva wrote:

Amigos, aparte de estos tres, tienen algunos libros para recomendar de 
Postgres o Bases de Datos en general?


PostgreSQL 9 Administration Cookbook (Edición 2010);Simon Riggs y Hannu 
Krosing; Packt Publishing; 1849510288 PostgreSQL 9.0 High Performance(Edición 
2010); Gregory Smith; Packt Publishing; 184951030X
Introducción a los sistemas de bases de datos de C.J. Date


Desde ya muchas gracias por sus sugerencias
Saludos

Guillermo Villanueva





-- 
René Romero Benavides@iCodeiExist @PgsqlMx 
 
Postgresql Tips en español para la comunidad de México e Hispanoamérica.
http://postgresql.org.mx 
 
 
 
 
 
 




[pgsql-es-ayuda] Permisos revoke all al tablespace pg_default

2013-03-11 Por tema Alejandro Carrillo
Buen día,

Por favor solicito de su colaboración ya que no logro colocar permisos de 
revoke all al tablespace pg_default. 
Los permisos se aceptan pero no se cumplen para BD (si funcionan para tablas):
REVOKE ALL ON TABLESPACE pg_global FROM public;
REVOKE ALL ON TABLESPACE pg_default FROM public;


Query returned successfully with no result in 11 ms.

Desde el usuario mariana no deja crear tablas en el tablespace pg_default(esto 
esta bien)

CREATE TABLE public.testtabla
(
) 
WITH (
  OIDS = FALSE
)

TABLESPACE pg_default;

sale: Permiso denegado al tablespace pg_default

Pero si deja crear BD en el tablespace:

CREATE DATABASE ree
  WITH OWNER = mariana
       CONNECTION LIMIT = -1;


Esto con el fin de evitar que los usuarios creen BD en ese tablespace.

Muchas gracias

Re: [pgsql-es-ayuda] Permisos revoke all al tablespace pg_default

2013-03-11 Por tema Alejandro Carrillo
El objetivo es que pueda crear bd pero no en el tablespace pg_default, sino en 
el tablespace del cual el usuario es dueño




 De: Jaime Casanova ja...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 11 de marzo de 2013 13:40
Asunto: Re: [pgsql-es-ayuda] Permisos revoke all al tablespace pg_default
 
2013/3/11 Alejandro Carrillo faster...@yahoo.es:

 Pero si deja crear BD en el tablespace:


eso es una propiedad del rol y no un permiso, prueba:

ALTER ROLE mariana NOCREATEDB;

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




Re: [pgsql-es-ayuda] pasword

2013-03-09 Por tema Alejandro Carrillo
http://stackoverflow.com/questions/6523019/postgresql-scripting-psql-execution-with-password





 De: FRANCISCO JOSE PALAO VILLANUEVA fjpv_2...@yahoo.es
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 8 de marzo de 2013 21:04
Asunto: [pgsql-es-ayuda] pasword
 

Hola,
hay alguna manera de conectar a una base de datos remota de la forma:


psql -h x.x.x.x -U  -d zzz  y poder indicarle el password en esta 
instrucción y no tener que teclearlo.


Y dentro de la consola:
\c bd user ip puerto  me dice que no password supplied, y si le pongo un user 
que no existe entonces si me pide password.


O no hay más remedio que configurar el fichero pgpass.conf


saludos 



[pgsql-es-ayuda] [OT] Feliz día de la mujer

2013-03-08 Por tema Alejandro Carrillo
Hola,

En cada sentimiento que experimente tu corazón, en cada experiencia que 
descubras con tus sentidos, en cada abrazo que entregues, hay una mujer que lo 
entrego todo para hacerlo posible.


Muchas gracias mujeres de la lista pgsql-es-ayuda por ser los impulsos que 
necesita esta lista.

[pgsql-es-ayuda] PG Partition Manager

2013-03-07 Por tema Alejandro Carrillo
http://pgxn.org/dist/pg_partman/


pg_partman is an extension to create and manage both time-based and 
serial-based table partition sets. Child table  trigger function creation is 
all managed by the extension itself. Tables with existing data can also have 
their data partitioned in easily managed smaller batches. Optional retention 
policy can automatically drop partitions no longer needed.


Re: [pgsql-es-ayuda] Encriptar carpeta de datos

2013-03-01 Por tema Alejandro Carrillo
Con truecrypt puedes crear un disco cifrado. Ahi sería que la aplicación 
desbloquee la carpeta de datos y la bloquee cada vez que vaya a acceder a los 
datos. Obviamente la app va a correr bien lento mientras desencripta y encripta.




 De: Eveling Velásquez lings...@yahoo.es
Para: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 1 de marzo de 2013 10:03
Asunto: [pgsql-es-ayuda] Encriptar carpeta de datos
 

Buen dia lista


Tengo una pregunta, necesito encriptar la carpeta data o el tablespace donde 
almaceno la bd, ya que en la instalacion que voy a realizar, va a estar a 
disposicion del administrador el ver todos los archivos, se puede hacer esto o 
existe una solucion alterna?
De antemano, gracias x sus aportes
 

Eveling Velasquez





[pgsql-es-ayuda] Acceso denegado a usuario sobre una BD

2013-03-01 Por tema Alejandro Carrillo
Buen día,

Por favor solicito de su colaboración para saber como puedo darle Acceso 
denegado a un usuario sobre los objetos que no pertenezcan a su tablespace 
(bds, schemas, tablas, etc)

Muchas gracias

Re: [pgsql-es-ayuda] Acceso denegado a usuario sobre una BD

2013-03-01 Por tema Alejandro Carrillo
Hola,

Me sale este error:
revoke connect from public;


ERROR:  no existe el rol «public»

** Error **

ERROR: no existe el rol «public»
SQL state: 42704





 De: Alvaro Herrera alvhe...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 1 de marzo de 2013 10:31
Asunto: Re: Acceso denegado a usuario sobre una BD
 
Alejandro Carrillo escribió:
 Buen día,
 
 Por favor solicito de su colaboración para saber como puedo darle Acceso 
 denegado a un usuario sobre los objetos que no pertenezcan a su tablespace 
 (bds, schemas, tablas, etc)

Quita privilegios CONNECT a public, y luego se los otorgas sólo al
usuario para su propia BD.

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




Re: [pgsql-es-ayuda] Acceso denegado a usuario sobre una BD

2013-03-01 Por tema Alejandro Carrillo
Entiendo, pero eso quiere decir que cada usuario será responsable de dejar sus 
BD pública o privadas? Verdad?




 De: Alvaro Herrera alvhe...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 1 de marzo de 2013 11:57
Asunto: Re: Acceso denegado a usuario sobre una BD
 
Alejandro Carrillo escribió:
 Hola,
 
 Me sale este error:
 revoke connect from public;
 
 
 ERROR:  no existe el rol «public»

Efectivamente, porque no estás haciendo lo que sugerí.  Lee el manual,
http://www.postgresql.org/docs/current/static/sql-revoke.html
Necesitas ON DATABASE foobar

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




Re: [pgsql-es-ayuda] Encriptar campo

2013-02-28 Por tema Alejandro Carrillo
Creo que debes contemplar todo lo que te ha dicho Álvaro Herrera. Si solo es un 
campo, creo que puedes usar un hash (sha) o cifrado simetrico (AES), pero si es 
toda la tabla o la BD, entonces debes tener en cuenta lo que dijo Álvaro Herrera




 De: Alvaro Herrera alvhe...@2ndquadrant.com
Para: Conrado Blasetti conr...@mapfre.com.ar 
CC: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 28 de febrero de 2013 15:16
Asunto: Re: [pgsql-es-ayuda] Encriptar campo
 
Conrado Blasetti escribió:
 Gente, buenos días.
 
 Estoy trabajando sobre Win7 con una app desktop con c# (.net) y PostgreSQL 
 9.0.
 Tengo una tabla con un campo del tipo character varying(20), el cual 
 representa un Nro de Documento (Argentina).
 Necesito encriptar este campo de manera tal que, desde la base de datos, no 
 pueda ser legible y que solo pueda ser consumida desde la misma app desktop.
 
 El campo será indexado y de busquedas constantes.
 Qué tipo de encryptado o técnica me sugieren?

Este es un problema bastante complejo que requiere pensar muy bien antes
de hacer nada.  Lo que estás diciendo básicamente es que quieres que en
la BD la info esté cifrada, y que no se pueda obtener el valor sin
cifrar mirando sólo la BD.  Es decir, la llave de cifrado debe estar en
la aplicación.  Entonces la aplicación debe extraer el valor cifrado
desde la BD, y descifrarlo a posteriori *sin involucrar a la BD para esto*.

Una de las primeras cosas que tienes que preguntarte cuando tratas con
temas de cifrado es cómo manejarás las llaves.  ¿Qué pasa si la llave se
filtra y necesitas cambiarla?  En la BD tendrás que cambiar todos los
valores almacenados, pero necesitas saber cuáles valores están cifrados
con la llave antigua y cuáles con la llave nueva ... de lo contrario una
caída en medio del cambio resultará catastrófica (recuerda que no puedes
pasarle la llave a la BD para hacer un UPDATE masivo, por lo tanto
tienes que cambiar una por una).  En conclusión, de alguna forma debes
almacenar una versión de llave junto con los valores.  La aplicación
debe almacenar todas las llaves con su versión.

(Observa que lo anterior no aplica sólo a llaves que se filtran;
deberías tener una política de crear llaves nuevas en forma periódica)

El tema de las búsquedas usando los valores cifrados es simple: la
aplicación debe pasar el valor cifrado a buscar.  Obviamente no puedes
darle un prefijo del valor, es decir búsquedas con LIKE o similares son
imposibles; todo eso deberás implementarlo en la aplicación, de ser
necesario.

¿Cómo harás respaldos?  De la BD es fácil, porque no hay nada que
esconder dado que los datos están todos cifrados; pero el almacén de
llaves de la aplicación es muy delicado.

El tema de si usarás un algoritmo de cifrado simétrico o asimétrico no
es súper relevante.  Procura usar un algoritmo moderno, quizás alguno de
NESSIE (posiblemente AES/Rijndael).

-- 
Álvaro Herrera                http://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




[pgsql-es-ayuda] Limitar tamaño a tablespace

2013-02-27 Por tema Alejandro Carrillo
Buen día,

Como se puede limitar el espacio en postgresql de un tablespace?

Muchas gracias

Re: [pgsql-es-ayuda] Dudas con distinct

2013-02-26 Por tema Alejandro Carrillo
Por favor envia el plan de ejecución en http://explain.depesz.com/




 De: Santiago Bravo sbrav...@gmail.com
Para: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Martes 26 de febrero de 2013 9:38
Asunto: [pgsql-es-ayuda] Dudas con distinct
 
Hola a todos, tengo una consulta que solo me devuelve 3 registros pero
se me demora alrededor de 3 min, la consulta en si es:

select distinct idregdocum, nombrelargo
from fin_documento d
inner join  fin_regdocum r on r.idregdocum = d.idregdoc
inner join fin_obligacion o on d.iddocumento = o.iddocumento
where r.ingresoegreso = -1

idregdocum, nombrelargo: son campos de la tabla fin_regdocum

sin embargo si le quito el distinct entonces me devuelve alrededor
de 33000 registros pero me los devuelve al instante, que debo hacer
para que con distinct me lo devuelva mas rápido?

fin_documento tiene como clave primaria iddocumento y un indice sobre
el campo idregdoc y tiene alrededor de 6 registros.
fin_obligacion tiene como clave primaria iddocumento y tiene alrededor
de 3 registros
fin_regdocum solo tiene 31 registros y tiene como clave primaria a idregdocum

Gracias
Santiago

-
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] Caida de base de datos PostgreSQL

2013-02-26 Por tema Alejandro Carrillo
Veo que le diste un mamotrazo al servidor postgresql.
Te recomiendo leas esto:
http://stackoverflow.com/questions/12897429/what-does-pg-resetxlog-do-and-how-does-it-work
Y preparate para borrar todas las transacciones que no hayan sido aceptadas 
(commit) antes del fallo, con este comando(pg-resetxlog).



 De: Wilson del rosario wilson1...@gmail.com
Para: Ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Martes 26 de febrero de 2013 14:27
Asunto: [pgsql-es-ayuda] Caida de base de datos PostgreSQL
 

Hola a todos estoy trabajando con postgres 8.4 sobre el sistema operativo MAC 
OS X el problema es que no levanta la base de datos y en el log aparece el 
siguiente mensaje:

server:~ postgres$ /Library/PostgreSQL/8.4/bin/pg_ctl -D 
/Volumes/RAIDMETERS/Library/PostgreSQL/8.4/data start
server starting
royaleserver:~ postgres$ 2013-02-24 12:46:51 PET   48760 LOG:  database system 
was interrupted while in recovery at 2013-02-24 12:46:49 PET
2013-02-24 12:46:51 PET   48760 HINT:  This probably means that some data is 
corrupted and you will have to use the last backup for recovery.
2013-02-24 12:46:51 PET   48760 LOG:  database system was not properly shut 
down; automatic recovery in progress
2013-02-24 12:46:51 PET   48760 LOG:  redo starts at 33F/785CFB4
2013-02-24 12:46:51 PET   48760 FATAL:  could not access status of transaction 
18245564
2013-02-24 12:46:51 PET   48760 DETAIL:  Could not read from file 
pg_multixact/members/03B1 at offset 65536: Unknown error: 0.
2013-02-24 12:46:51 PET   48760 CONTEXT:  xlog redo create multixact 18245564 
offset 61949327: 1259116611 1259116612
2013-02-24 12:46:51 PET   48757 LOG:  startup process (PID 48760) exited with 
exit code 1
2013-02-24 12:46:51 PET   48757 LOG:  aborting startup due to startup process 
failure

Alguien me podría explicar cual es el problema y como puedo solucionarlo, 
muchas gracias.

Si necesitan mas datos por favor no duden en consultar.

Atte.
Wilson Del Rosario Montero
Analista Programador




[pgsql-es-ayuda] Conexiones locales no soportadas en el servidor

2013-02-25 Por tema Alejandro Carrillo
Buen día,

Al tratar de arrancar el servidor me sale:
log: las conexiones locales no están soportadas en este servidor


CONTEXTO:  l?nea 84 del archivo de configuraci?n ?C:/Users/sadssd/Downloads/
postgresql-9.2.3-1-windows-binaries/pgsql lite/data/pg_hba.conf?
FATAL:  no se pudo cargar pg_hba.conf


[pgsql-es-ayuda]

2013-02-22 Por tema Alejandro Carrillo
Hola,

Les comparto mi nuevo desarrollo en PostgreSQL. Son funciones para crear 
triggers en cada tabla para guardar los registros eliminados en cada tabla que 
tenga asociada la funcion del trigger. 
Más información, aqui:
http://sourceforge.net/projects/pgtrrecrowdel/?source=navbar


Y no olviden leer la wiki:
http://sourceforge.net/p/pgtrrecrowdel/wiki/Home/


Espero comentarios, bugs y sugerencias,

Alejandro Carrillo



Hello,

I share my new development in PostgreSQL. The functions to create triggers on 
each table to store deleted records in each table that has an associated 
trigger function.
More information here:
http://sourceforge.net/projects/pgtrrecrowdel/?source=navbar

And do not forget to read the wiki:
http://sourceforge.net/p/pgtrrecrowdel/wiki/Home/

I hope comments, bugs and suggestions,


Alejandro Carrillo

[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] recomendación sistema de archivos en re instalación servidor postgresql

2013-02-22 Por tema Alejandro Carrillo
Creo que es mejor hacer RAID 1 y luego lo expandas (cuando haya $$$), haciendo 
el RAID 10 (añadiendo a los espejos el RAID 0)




 De: Edomax edo...@gmail.com
Para: Javier Aquino jaqu...@lexuseditores.com 
CC: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 22 de febrero de 2013 18:22
Asunto: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] 
recomendación sistema de archivos en re instalación servidor postgresql
 

Javier y Fernando , nuevamente gracias 


Ahí me están cotizando las piezas y averiguando si hay espació y $$$ para un 
storage externo (igual balde) para no perder los dicos que tengo y ver 
posibilidad de poner 4 más ... Esta difícil !... 


Sino veré la opción de tener lo mejor que se pueda con discos de 15 K , 
tómando las recomendaciones de no LVM me lo imaginaba que no es adecuado para 
bases de datos


Y ahí vamos creciendo de apoco 

Saludos


Eduardo Arenas
Cel. +56 9 66 29 16 18

El 22-02-2013, a las 17:22, Javier Aquino jaqu...@lexuseditores.com escribió:


Concuerdo con Fernando, adicionalmente te puedo recomendar unas cosas mas:

- Usar discos de 15k (en RAID 1)
- Crear una partición para la DB
- Usa un filesystem sin Journaling como ext2
- Evita el LVM ya que es una capa adicional que no vas a aprovechar ya que 
por ser blade no podrás aumentar mas discos.
- Al montar el fs usa la opcion noatime que reduce la escritura en disco 
cuando haces operaciones de lectura

Saludos,

Javier.


El vie, 22-02-2013 a las 16:40 -0300, Fernando Hevia escribió:




Si vas a cambiar los disco, sería muy bueno que pudieras tener al
menos 3, para que
hagas un raid 5. De esta manera, tendrás tolerancia a fallos de un disco.





Raid 5 es lento para escritura y no recomendado en bases de datos. Preferible 
RAID 1, y mejor aún RAID 10 pero ya necesitarás 4 discos. Cosa que con el 
blade no vas a poder salvo que cuentes con un storage externo. 



Slds. 




Re: [pgsql-es-ayuda] Encriptar campo

2013-02-21 Por tema Alejandro Carrillo
Puedes usar las funciones clasicas de cifrado o hash:
http://www.postgresql.org/docs/9.1/static/pgcrypto.html


De esas recomiendo un SHA-1 si el Nro de documento será obtenido en la 
aplicación, enviado como parámetro a una function de postgresql y se le 
aplicaria el SHA-1 a ese dato, luego se compara en esa function con el valor de 
la BD y verificar si son iguales.

Si va a ser comparado CIFRANDO SIMETRICAMENTE el nro de doc, puedes usar AES, 
solo ten en cuenta que en la aplicación debe estar la clave privada del cifrado.

Puedes usar tambíen RSA, pero creo que complicaría un poco las cosas ya que 
tienes que guardar la clave publica y la privada.

Sin embargo, deberías leer esto para una arquitectura completa de cifrado 
usando postgresql:
http://www.hagander.net/talks/Encrypted%20PostgreSQL.pdf





 De: Conrado Blasetti conr...@mapfre.com.ar
Para: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 21 de febrero de 2013 7:32
Asunto: [pgsql-es-ayuda] Encriptar campo
 
Gente, buenos días.

Estoy trabajando sobre Win7 con una app desktop con c# (.net) y PostgreSQL 9.0.
Tengo una tabla con un campo del tipo character varying(20), el cual 
representa un Nro de Documento (Argentina).
Necesito encriptar este campo de manera tal que, desde la base de datos, no 
pueda ser legible y que solo pueda ser consumida desde la misma app desktop.

El campo será indexado y de busquedas constantes.
Qué tipo de encryptado o técnica me sugieren?

Desde ya, muchas gracias.
Saludos,

Conrado

-
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] Cambiar Proyección Cartográfica a tabla en PostGIS

2013-02-19 Por tema Alejandro Carrillo
Solo por descarte, intentaste poner la columna entre comillas dobles () ?




 De: Ulises Ibarra ulisesmartiniba...@gmail.com
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Martes 19 de febrero de 2013 11:06
Asunto: [pgsql-es-ayuda] Cambiar Proyección Cartográfica a tabla en PostGIS
 

Hola Lista:


Soy Ulises Ibarra de la Ciudad de México. 


Quiero plantear la siguiente duda:


Tengo una tabla que cargué importando los datos de una archivo Shapefile a 
través del comando:
shp2pgsql.exe -s 97398 -W latin1 C:\shptopostgis\municipio072005.shp 
municipio072005  C:\shptopostgis\municipio072005.sql



La proyeccion cartográfica es Cónica Conforme de Lambert, definida en este 
sitio: http://spatialreference.org/ref/sr-org/7398/postgis/


Así que ya que tengo la tabla en postgres quisiera cambiar de proyección, así 
que me han sugerido hacer los siguiente:


CREATE TABLE municipio4326 AS 
SELECT gid, cve_mun, cve_ent, mun, nom_mun, p_total, im_2005, gm_2005, 
fron_sur, area, km2, zm_2005,región
mun_tipzm, dmu, dmu2, den_p, ST_Transform(the_geom, 4326) from municipio072005


Dudas.-
1.- Al ejecutar la sentencia obtengo un error que dice:
ERROR:  no existe la columna «regiã³n»
LINE 2: ...total, im_2005, gm_2005, fron_sur, area, km2, zm_2005,región


Y es que la columna región viene así región con tilde. ¿Cómo le hago para 
generar la tabla con una columna que tiene tilde?


2.- ¿Hay alguna forma de la columna the_geom sea transformada en una nueva 
proyección cartográfica EPSG: 4326 sin tanto rollo?


Agradezco de antemano sus comentarios


Ulises



Re: [pgsql-es-ayuda] copy archivo csv

2013-02-17 Por tema Alejandro Carrillo
Esa opción o usar fzpgloader






 De: Anthony asotolo...@uci.cu
Para: José Fermín Francisco Ferreras josefermi...@hotmail.com 
CC: Lista PostgreSQL pgsql-es-ayuda@postgresql.org 
Enviado: Sábado 16 de febrero de 2013 16:10
Asunto: Re: [pgsql-es-ayuda] copy archivo csv
 

El 17/02/2013 1:51, José Fermín Francisco Ferreras escribió:

 
Hola a todos!! 


Estoy intentando hacer un copy de un archivo csv q tiene mas de 6 millones de 
registros a postgresql 9.2, pero a la hora de ejecutarse me lanza el 
siguiente mensaje:


basedatos=# copy tabla from '/var/lib/postgresql/9.2/main/archivo.csv' with 
delimiter as ',' CSV QUOTE '';
ERROR:  memoria agotada
DETALLE:  La cadena de 1006420404 bytes es demasiado larga para la 
recodificación.
CONTEXTO:  COPY tabla, línea 6294863


Como puedo hacer para q me copie todos los registros a la tabla??







ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 

Has probado hacer la carga con file_fdw(apéndice F.14.file_fdw de la 
documentación) , donde defines una FOREIGN TABLE y luego cargas poco a poco 
para tu tabla, poniendo un filtro en el where o con limit y offset

ejemplo carga de valores en porciones de 100 : insert into
tabla select * from tu FOREIGN TABLE limit 100 offset N


saludos




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Uso de resultado de función en la misma proyección o en el filtro

2013-02-06 Por tema Alejandro Carrillo
Creo que podrías escribirlo asi:

select 
    col_1,
    col_2,
    fn_funciondeusuario(parametros) col_result,
    case when fn_funciondeusuario(parametros)  0 then 'L' else 'D' END col_4
from
    tablas;


o asi:

select col_1,
    col_2,
    col_result,
    case when col_result  0 then 'L' else 'D' END col_4 
(select 
    col_1,
    col_2,
    fn_funciondeusuario(parametros) col_result,
from

    tablas) t;

Es más veloz la segunda.



 De: Guillermo E. Villanueva guillermo...@gmail.com
Para: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 6 de febrero de 2013 9:39
Asunto: [pgsql-es-ayuda] Uso de resultado de función en la misma proyección o 
en el filtro
 

Buenos días, gente hay posibilidad de utilizar el resultado de una función o 
de un cálculo en la misma consulta para la misma tupla?
por ejemplo
select 
    col_1,
    col_2,
    fn_funciondeusuario(parametros) col_result,
    case when col_result  0 then 'L' else 'D' END col_4
from
    tablas;


Si lo ejecuto así nomas me dice que no existe la columna col_result, lo que yo 
quiero es que no tenga que calcular 2 veces lo mismo. Es posible de alguna 
manera? 


Desde ya muchas gracias!


Guillermo










Guillermo Villanueva




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: Uso de resultado de función en la misma proyección o en el filtro

2013-02-06 Por tema Alejandro Carrillo
2




 De: Guillermo E. Villanueva guillermo...@gmail.com
Para: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 6 de febrero de 2013 9:57
Asunto: [pgsql-es-ayuda] Re: Uso de resultado de función en la misma 
proyección o en el filtro
 

Respondiendome a mi mismo he visto en algunos foros que lo resuelven con una 
subconsulta a nivel del from algo así como:


select 
    col_1,
    col_2,
    col_result,
    case when col_result  0 then 'L' else 'D' END col_4
from
(
  select 
      col_1,
      col_2,
      fn_funciondeusuario(parametros) col_result,
  from
      tablas
) as tablas2    ;


Mi intención era evitar que postgres haga el cálculo dos veces por cada tupla 
del resultado, entonces reformulo mi pregunta si lo hago así:
select 
    col_1,
    col_2,
    fn_funciondeusuario(parametros) col_result,
    case when fn_funciondeusuario(parametros)  0 then 'L' else 'D' END col_4
from
    tablas;
 
Postgres calcula 1 o 2 veces por cada tupla?


Guillermo Villanueva



El 6 de febrero de 2013 11:39, Guillermo E. Villanueva 
guillermo...@gmail.com escribió:

Buenos días, gente hay posibilidad de utilizar el resultado de una función o 
de un cálculo en la misma consulta para la misma tupla?
por ejemplo
select 
    col_1,
    col_2,
    fn_funciondeusuario(parametros) col_result,
    case when col_result  0 then 'L' else 'D' END col_4
from
    tablas;


Si lo ejecuto así nomas me dice que no existe la columna col_result, lo que 
yo quiero es que no tenga que calcular 2 veces lo mismo. Es posible de alguna 
manera? 


Desde ya muchas gracias!


Guillermo










Guillermo Villanueva





[pgsql-es-ayuda] Elaboración herramienta recuperación registro borrado

2012-12-23 Por tema Alejandro Carrillo
Buen día,

La presente es para solicitar su colaboración para ideas para la elaboración de 
una herramienta forense multiplataforma (es decir, no debe en lo posible 
modificar los archivos de la tabla y en caso de hacerlo debe tomar el hash 
respectivo, respetando el archivo orginal) para la recuperación de registros 
borrados en una BD de PostgreSQL. Sé que actualmente existe una herramienta 
llamada pg_dirtyread, sin embargo no he podido compilarla en Windows (lo cual 
no la hace multiplataforma), además no conserva la evidencia digital ya que es 
necesario instalarla en el servidor que se le está haciendo la inspección, sin 
embargo es muy buena ya que permite visualizar los datos eliminados sin 
modificar el archivo de la tabla original. La herramienta sería desarrollada en 
Java, pero necesito ideas acerca de cual método de recuperación hacer 
(modificando la tabla como: 
http://archives.postgresql.org/pgsql-es-ayuda/2012-05/msg00258.php o 
pg_dirtyread:
 https://github.com/omniti-labs/pgtreats/tree/master/contrib/pg_dirtyread) y 
como hacerlo (servidor portable que le llegue los archivos de la tabla y desde 
ahi leer los datos para no afectar las tablas con cosas como autovacuum, 
pg_agent, entre otros procesos automaticos que puedar eliminar definitivamente 
o otra idea que propongan)

Muchas gracias por su colaboración

Alejandro Carrillo


Re: [pgsql-es-ayuda] consulta por fecha y hora

2012-12-13 Por tema Alejandro Carrillo
Creo que lo puedes hacer con un simple filtro en el where que solo filtre por 
esa fecha y hora.

Select date_trunc('DAY', fechafactura), sum(valor) venta from facturas where 
fechafactura = p_fechahorafiltrar group by date_trunc('DAY', fechafactura) 
Donde 
fechafactura
es timestamp





 De: José Fermín Francisco Ferreras josefermi...@hotmail.com
Para: Lista PostgreSQL pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 13 de diciembre de 2012 18:28
Asunto: [pgsql-es-ayuda] consulta por fecha y hora
 

 
Buenas noches!!


Tengo una duda, debo hacer una consulta de una tabla donde debo presentar lo 
siguiente:


mostrar el total de ventas por día desde el 30/06/2012 hasta el 30/11/2012, 
pero el día 30/11/2012 solo debo evaluarlo hasta las 09:00:00 (9 de la mañana) 
de ese día. 


fecha                       ventas
29/06/2012             25,000.00
30/06/2012             24,350.00
01/07/2012             31,110.00
02/07/2012             31,090.00

30/11/2012                1,200.00 --este día solo se debe evaluar 
hasta las 09:00:00




Estructura:


numero_factura integer
fecha date
hora time
monto numeric(10,2)




Gracias por adelantado!!





ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] error humano gravísimo

2012-12-07 Por tema Alejandro Carrillo
Soy más clásico. Recomiendo los metodos viejos:
http://archives.postgresql.org/pgsql-es-ayuda/2012-05/msg00258.php


En esto se va a ser mi tesis de seguridad informatica, linea computación 
forense.





 De: Guillermo E. Villanueva guillermo...@gmail.com
Para: Alvaro Herrera alvhe...@2ndquadrant.com 
CC: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 7 de diciembre de 2012 5:12
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] error humano gravísimo
 

Alvaro, muchísimas gracias por tu respuesta.
Apenas respondiste quise ponerme manos a la obra con lo que dice en la página, 
pero me encontré con un problema que no se como resolverlo, y me doy cuenta 
que soy un usuario muy básico de postgres.
Al intenta hacer el make me da el siguiente error:
Makefile:8: /usr/lib/postgresql/9.1/lib/pgxs/src/makefiles/pgxs.mk: No existe 
el fichero o el directorio
Si voy al directorio /usr/lib/postgresql/9.1/lib noto que no hay ningún 
subdirectorio allí. Entonces supongo que no tengo el paquete '-devel' que 
menciona el autor en su readme.
¿Puedo agregarlo sin romper mas cosas en el postgres :-( ?
Desde ya muchas gracias


Guillermo Villanueva
 



El 6 de diciembre de 2012 21:24, Alvaro Herrera alvhe...@2ndquadrant.com 
escribió:

Guillermo E. Villanueva escribió:

 Amigos me mandé un macanon tremendo, en mi pc de desarrollo borré todas las
 funciones de bases de datos sin querer, quería borrar las del server para
 actualizarlas con las nuevas versiones, hice todo lo contrario, osea que
 eliminé las últimas versiones de todas mis funciones de base de datos, las
 cuales uso mucho.
 Tengo alguna posibilidad de recuperarlas o estoy muerto?
 NO TENGO BACKUP
 Insúltenmé todo lo que quieran pero... alguno tiene un salvavidas?

Si no ha ocurrido vacuum en el catálogo pg_proc puedes tener opción:

http://www.depesz.com/2012/04/04/lets-talk-dirty/

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





[pgsql-es-ayuda] Usuarios en servidor

2012-11-27 Por tema Alejandro Carrillo
Buen día,

Por favor solicito su ayuda para saber cuales usuarios están en el servidor de 
postgresql teniendo en cuenta que no se puede loguear ya que se desconoce el 
nuevo nombre dado al usuario postgres. Se tiene acceso fisico al servidor y a 
sus archivos.

Muchas gracias


Re: [pgsql-es-ayuda] Usuarios en servidor

2012-11-27 Por tema Alejandro Carrillo
Trato de ejecutar:

C:\System Volume Information\pgsql\binpsql --single-step
psql: FATAL:  no existe el rol «pc»

y no funciona :(






 De: Alvaro Herrera alvhe...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Martes 27 de noviembre de 2012 15:56
Asunto: Re: Usuarios en servidor
 
Alejandro Carrillo escribió:
 Buen día,
 
 Por favor solicito su ayuda para saber cuales usuarios están en el servidor 
 de postgresql teniendo en cuenta que no se puede loguear ya que se desconoce 
 el nuevo nombre dado al usuario postgres. Se tiene acceso fisico al servidor 
 y a sus archivos.

Inicia en modo --single y examina el catalog pg_authid ...

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




Re: [pgsql-es-ayuda] Usuarios en servidor

2012-11-27 Por tema Alejandro Carrillo
Muchas gracias, el comando q me sirvio fue postgres --single -D ..\data 
template1
No conocia el nombre de la BD, asi que le apunte a la BD de sistema template1





 De: Alvaro Herrera alvhe...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda Postgre SQL pgsql-es-ayuda@postgresql.org 
Enviado: Martes 27 de noviembre de 2012 16:26
Asunto: Re: [pgsql-es-ayuda] Usuarios en servidor
 
Alejandro Carrillo escribió:
 Trato de ejecutar:
 
 C:\System Volume Information\pgsql\binpsql --single-step
 psql: FATAL:  no existe el rol «pc»
 
 y no funciona :(

postgres --single


-- 
Álvaro Herrera                http://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




Re: [pgsql-es-ayuda] Conectividad a otras bases de datos

2012-11-24 Por tema Alejandro Carrillo
http://wiki.postgresql.org/wiki/Foreign_data_wrappers





 De: Roberto Farías hotmail robertofari...@hotmail.com
Para: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 23 de noviembre de 2012 15:43
Asunto: [pgsql-es-ayuda] Conectividad a otras bases de datos
 

 
Desde una base Postgres, necesito hacer select/update en una base externa fox
Es posible esta conectividad?
Saludos.




Re: [pgsql-es-ayuda]

2012-11-19 Por tema Alejandro Carrillo
No entiendo q tiene que ver copiar la maquina virtual completa con el comando 
start_backup stop_backup o con hacer copia de seguridad completa del servidor 
postgresql






 De: Ruben Fitó r.f...@ubiquat.com
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 19 de noviembre de 2012 8:47
Asunto: [pgsql-es-ayuda] 
 

Hola a todos, 


tenemos una base de datos PG 9.1 montada en una máquina virtual WMWARE en la 
qual ya se está haciendo backup diario. Ahora existe la necesidad de hacer 
copia de la Màquina Virtual completa. Què instrucciones postgresql necesito 
ejecutar para que haya consistencia de datos, por tema caché, etc.??


He leido que entre pg_start_backup y un pg_stop_backup, pero tengo dudas sobre 
su efectividad cuando se copia una muina virtual.


Perdón si no me he explicado bien.


Saludos,



-- 

Ruben Fitó 
Software Engineer
  
r.f...@ubiquat.com  
 www.ubiquat.com 
Tota la informació continguda en aquest document i arxius adjunts és 
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per 
error, si us plau elimini'l i posi's en contacte amb l'emissor.

All information contained in this document and any attachments are 
CONFIDENTIAL and protected under trade secret laws. If you receive this 
message by mistake, please delete it and notify it immediately to the 
sender.




Re: [pgsql-es-ayuda] como exportar separado por comas una tabla grande

2012-10-24 Por tema Alejandro Carrillo
http://www.postgresql.org/docs/current/static/sql-copy.html





 De: Hellmuth Vargas hiv...@gmail.com
Para: Lista Postgres ES pgsql-es-ayuda@postgresql.org; 
pgsql-gene...@postgresql.org 
Enviado: Miércoles 24 de octubre de 2012 12:22
Asunto: [pgsql-es-ayuda] como exportar separado por comas una tabla grande
 

Hola Lista


tengo una tabla  con la siguiente estructura


CREATE TABLE datos_para_proceso
(
  id bigint,
  identificador character varying,
  nombre character varying(255),
  nombreusuario text,
  identificacion character varying(255),
  tema character varying(255),
  notatema text,
  subtema character varying(255),
  notasubtema text,
  pregunta character varying(255),
  notapregunta text
)


 Tamaño en disco: 5585 MB 


( se saco con la consulta


       SELECT pg_size_pretty(SUM(tamanos)) 
       FROM (
               SELECT pg_column_size(row(b.*)) as tamanos 
               FROM (select * from datos_para_proceso) as b
        ) AS c;
)


 numero de filas: 31054642


Esta en una base de datos PostgreSQL 9.2 a 64 Bit en un Linux CentOS 6


La idea es exportar esta tabla  en formato csv, trate de hacerlo  en psql 
directamente en el servidor:


data=# \f '|'
Field separator is |.
data=#  \a
Output format is unaligned.
data=#  \o /tmp/datos_para_proceso.csv
data=# select * from datos_para_proceso;
/opt/PostgreSQL/9.2/bin/psql: lí­nea 30:  9608 Terminado (killed)      
LD_PRELOAD=$PLL LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG_BIN_PATH/../lib 
$PG_BIN_PATH/psql.bin $@


Y obvio el archivo quedo vacío, como podría exportar los datos?? Muchas 
gracias lista



-- 
Cordialmente, 

Ing. Hellmuth I. Vargas S. 




Re: [pgsql-es-ayuda] Postgresql 9.1 en debian

2012-10-22 Por tema Alejandro Carrillo
Solo por descarte, intenta usar el postgresql portable para linux:
http://sourceforge.net/projects/pgsqlportable/files/latest/download







 De: Carlos Bazán info...@vtr.net
Para: Edwin Quijada listas_quij...@hotmail.com 
CC: luchitodesig...@gmail.com; pgsql-es-ayuda@postgresql.org 
pgsql-es-ayuda@postgresql.org 
Enviado: Domingo 21 de octubre de 2012 14:03
Asunto: Re: [pgsql-es-ayuda] Postgresql 9.1 en debian
 
Quizás http://pgapt.debian.net/ pueda ayudar...

Salu2


El 20/10/12 22:34, Edwin Quijada escribió:

 Mala cosa! Poruqe lo desinstaslste?
 El prblema de los repo es que siempre estan desactualizados, lo que yo hago 
 es instalar desde las fuentes si deseas ahi te puedo ayudar

 Date: Sat, 20 Oct 2012 13:25:46 -0500
 Subject: [pgsql-es-ayuda] Postgresql 9.1 en debian
 From: luchitodesig...@gmail.com
 To: pgsql-es-ayuda@postgresql.org

 Hola Comunidad,

 Estoy intentando instalar postgresql 9.1 sudo
 apt-get -t squeeze-backports install postgresql-9.1 en debian Squeeze,
 pero cuando termina la instalación, las carpetas estan vacias
 /etc/postgresql,


 Recomiendan alguna forma de instalarlo, gracias por su ayuda.

 PD: tenian antes instalado el postgresq 9.2, pero no logre que funcionara 
 con php5 y apache, asi que lo desinstale.

 Gracias



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

2012-10-04 Por tema Alejandro Carrillo
como estas en postgresql 9 (e incluso desde el 8.4), puedes crear el foreing 
wrapper: http://www.postgresql.org/docs/8.4/static/contrib-dblink-connect.html
y usarlo para la conexion desde el trigger, usalo a ver como te va.






 De: Wilson del rosario wilson1...@gmail.com
Para: Miguel Beltran R. yourpa...@gmail.com 
CC: Juan smalltalker.marc...@gmail.com; Ayuda 
pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 4 de octubre de 2012 16:49
Asunto: Re: [pgsql-es-ayuda] problemas con dblink
 

Hola Miguel puedes utilizar el siguiente formato para hace una consulta con 
dblinks:

select column1,column2 from 
dblink('host=host_servidor dbname=nombre_db user=usuario password=clave',
'select column1,column2 from tabla)'
) as resultados(column1 integer,column2 integer)

Y si lo que necesitas es hacer varias consultas utilizando una conexión 
abierta esto es lo que necesitas:

    select dblink_connect('nombre_dblink','host=host_servidor dbname=nombre_db 
user=user password=clave');

Saludos,

Wilson Del Rosario Montero
DBA Heal Technology S.A.C


El 26 de septiembre de 2012 14:32, Miguel Beltran R. yourpa...@gmail.com 
escribió:




2012/9/14 Juan smalltalker.marc...@gmail.com

Gente




Estoy tratando de implementar un trigger con dblink.
pero no logro que se conecte.
lo llamativo es que dice 
ERROR:  could not establish connection
DETAIL:  could not translate host name
pero estoy usando el addres asi:




select dblink_connect 
('hostaddr=192.169.10.22,port=5432,dbname=db,user=postgres,password=postgres'
 ::text ); 


pero no funciona, 


datos: version de postgres 9.1
s.o.  redhat.


cualquier idea sera agradecida.


saludos
jmdc



Si usas la versión 9.1 tendrias mejor rendimiento con las nuevas funciones de 
tablas foraneas

http://www.postgresql.org/docs/9.1/static/sql-createforeigntable.html
http://wiki.postgresql.org/wiki/Foreign_data_wrappers

-- 

Lo bueno de vivir un dia mas
es saber que nos queda un dia menos de vida





[pgsql-es-ayuda]

2012-09-28 Por tema Alejandro Carrillo
Hola,

Acabo de subir el postgresql 9.2 portable para Linux, lo descomprimes y 
ejecutas los sh.

https://sourceforge.net/projects/pgsqlportable/

¿Dudas, opiniones, sugerencias?

Gracias por sus aportes


[pgsql-es-ayuda] Existe fdw_handler para postgresql Windows

2012-09-26 Por tema Alejandro Carrillo
Hola,

Por favor conocen un fdw_handler para postgresql en Windows?
-- Register a function that returns FDW handler function set.
CREATE FUNCTION postgresql_fdw_handler() RETURNS fdw_handler AS 
'MODULE_PATHNAME' LANGUAGE C;

Gracias


[pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Ayuda Manejo de transacciones en una función.

2012-09-19 Por tema Alejandro Carrillo
Es raro lo que dices que será eterno, si se supone que esa capa de 
procesamiento pesado de datos la debe manejar la BD y no una capa de 
persistencia en el medio.






 De: Edwin Quijada listas_quij...@hotmail.com
Para: jorgeenriq...@gmail.com; ec...@postgresql.org; 
pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 19 de septiembre de 2012 13:02
Asunto: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Ayuda Manejo de transacciones en 
una función.
 

 
1- No se puede porque una funcion en si misma ya es una transaccion, es decir, 
que si la abortas se abortaran los 8
2- No hay que hacer commit por 1
3- Para lo que deseas tendras que usar al scripting languaje, asi envias cada 
record con su respectivo commit y obtendrias lo que deseas
4- Hacer un ciclo de 8 records en una funcion es MUY MALA IDEA ese proceso 
tardara horas,depende lo que haga, para procesar esos 80M records. Lo que te 
sugiero es que uses perl, php o lo que mas te guste para hacer ese trabajo y 
no dentro de la BD porque,aparte de que no se puede como quieres, sera eterno.





From: jorgeenriq...@gmail.com
Date: Wed, 19 Sep 2012 10:18:18 -0500
Subject: [pgsql-es-ayuda] Ayuda Manejo de transacciones en una función.
To: ec...@postgresql.org; pgsql-es-ayuda@postgresql.org

Hola Grupo Buenos Días,


Tengo una función que realiza cálculos a unos 80 mil registros los registros 
los recorro en un cursor y se hace calculo registro por registro y quiero que 
no se haga commit al final de todo el procesamiento si no que se haga commit 
por cada registro procesado y saber si se proceso o hubo algún error. como 
puedo hacer eso?? de antemano gracias por la ayuda que me puedan dar.




Att.
Jorge Garcia



Re: [pgsql-es-ayuda] Sobre Claves Primarias

2012-09-17 Por tema Alejandro Carrillo
No hay problema y no se notaria cambios en la velocidad de las consultas, ya 
que la llave primaria tiene un indice asociado. Recomiendo que uses un campo 
bigserial como llave, y el campo UBIGEO como indice unico ya que a la hora de 
cambiar la llave primaria te tocará ejecutar cascada en el resto de llaves 
foraneas que dependan de esta llave primaria. No olvidar colocar indices a las 
llaves foraneas en las otras tablas que dependan de UBIGEO.





 De: Aland Laines aland.lai...@gmail.com
Para: POSTGRES pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 17 de septiembre de 2012 10:40
Asunto: [pgsql-es-ayuda] Sobre Claves Primarias
 



Hola amigos, tengo una tabla heredada de un sistema de access, en el que tengo 
un dato UBIGEO, que es la clave primaria, este campo es un character varying.


Hay algún problema de usar este tipo de dato, como clave primaria en Postgres? 
me hará lentas las consultas? o casi no se notaria?.


Pregunto esto para no tener que adicionarle un campo ID, ya que el campo 
UBIGEO también es único.


Saludos,

Aland Laines Calonge
Twitter: @lainessolutions
http://about.me/aland.laines 





Re: [pgsql-es-ayuda] SALUDOS Y SOLICITUD DE AYUDA SOBRE INSTALACION

2012-09-16 Por tema Alejandro Carrillo
Te recomiendo la version binaria:
http://www.enterprisedb.com/products-services-training/pgbindownload

y sigues estos pasos, menos el paso de copiar a la usb:
http://blog.jorgeivanmeza.com/2008/04/instalacion-rapida-de-postgresql-para-windows/






 De: Nelson Eustaquio nelson.eustaq...@gmail.com
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 14 de septiembre de 2012 21:16
Asunto: [pgsql-es-ayuda] SALUDOS Y SOLICITUD DE AYUDA SOBRE INSTALACION
 

BUENAS NOCHES AMIGOS DE POSTGRESQL ACUDO A USTEDES A FIN DE SOLICITARLES AYUDA 
CON RESPECTO A LA INSTALACION DE POSTGRESQL DADO QUE CUANDO TERMINA Y LO 
REINICIO NO SUBE NI SI QUIERA INSERTA EL NOMBRE DEL SERVICIO DE POSTGRESQL EN 
DICHA LISTA Q SERIAN LOSE SERVICES.MTC PERO YA EN CUESTION NO HE PODIDO 
INSTALAR SATISFACTORIAMENTE LA ULTIMAA VERSION DE POSTGRESQL EN MI WINDOWS 7 
DE 32 BITS. ESPERO PORFAVOR ALGUNA SUGERENCIA QUE CONSIDEREN APROPIADA PARA MI 
CASO. 
ATT NELSON E



[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Servidor Postgresql Público

2012-09-11 Por tema Alejandro Carrillo
Para Postgresql puedes usar la conexion con SSL para que todo vaya encriptado, 
pero no propiamente desde el puerto 22 sino desde el puerto 5432.
http://blog.jorgeivanmeza.com/2008/04/instalacion-rapida-de-postgresql-para-windows/
Lee el punto 6 y 7.

Además sería necesario hacer un DMZ desde el router y apuntarlo a un PC que 
haga las veces de firewall, tambien es buena idea configurar los switches 
internos para que todo el tráfico llegue al firewall y este la envie hacia la 
calle dependiendo de las reglas.

No sería mala idea actualizar ese servidor a 9.

Mis consultas son las siguientes:
 Mis consultas son las siguientes:

 1)  Es conveniente exponer publicamente el servidor postgresql a traves de
 una IP Publica.
No, para eso es el firewall

 2) No se desea utilizar una interface WEB, de hecho a los comercios
 afiliados, se les va a probar una interfaz reducida con las funcionalidades
 requeridas.

funcionalidades requeridas, mm no es claro este punto.
 3)  Es recomendable tener un servidor espejado publico con información
 actualizada y luego conciliar las informaciones en el servidor
 principal no expuesto.

¿¿Que chiste tiene duplicar la informacion?? Haz que el firewall permita que el 
servidor postgresql (pgpool o el servidor en cuestion) pueda ser visto desde la 
calle unicamente a traves del puerto del servidor postgresql(5432).





 De: CarloS Sing Ramos carloss...@gmail.com
Para: Manuel Fernando Aller manuel.al...@gmail.com 
CC: Ramón Alberto Bruening González albertobruen...@hotmail.com; 
pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Martes 11 de septiembre de 2012 15:46
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Servidor 
Postgresql Público
 
podrias tb usar un tunnerl ssh, es decir que todas las conexiones se
hagan a travez del puerto 22, aunque si perderas un poco de velocidad
ya que es un poco mas lento pero seria mas seguro.

El día 11 de septiembre de 2012 15:37, Manuel Fernando Aller
manuel.al...@gmail.com escribió:


 El 11 de septiembre de 2012 17:19, Ramón Alberto Bruening González
 albertobruen...@hotmail.com escribió:

 Buenas tardes compañeros, tengo una consulta que hacer, porque no tengo
 bien en claro como podria implementar la siguiente solucion:

 Tengo un Sistema de Gestión Administrativo (Facturaciones y Cobros) que se
 encuentra funcionando en una empresa. El cliente
 me ha solicitado la opción de poder realizar facturaciones y cobros con
 cajas moviles, o en tiendas comerciales con las cuales se
 firman algun convenio. Utilizo la version Postgresql 8.2.14, la aplicación
 esta desarrollado en VB. NET 2005 y el S.O. es Linux Fedora 12.

 Mis consultas son las siguientes:

 1)  Es conveniente exponer publicamente el servidor postgresql a traves de
 una IP Publica.


 NO


 2) No se desea utilizar una interface WEB, de hecho a los comercios
 afiliados, se les va a probar una interfaz reducida con las funcionalidades
 requeridas.


 O sea, esto elimina la posiblidad de utilizar un webservice...


 3)  Es recomendable tener un servidor espejado publico con información
 actualizada y luego conciliar las informaciones en el servidor
 principal no expuesto.


 NO

 Lo que puedes hacer es establecer una línea punto a punto para que tanto el
 cliente (remoto, en la 'caja móvil') se conecte 'por la línea punto a punto'
 con tu servidor de BD, sin exponer ni el servidor ni el cliente a
 'internet'.

 Puedes buscar información sobre VPNs y punto a punto, y hasta utilizar una
 VPN sobre internet para establecer el enlace (en vez de contratar un punto a
 punto dedicado)

 Saludos,

 --
 Manuel



-- 
Salu2
Linux Register User  #525697
--==[[Carlos Sing]]==--

-
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] Uso system de CPU

2012-09-10 Por tema Alejandro Carrillo
Podria ser el vacuum full faltante en algunas tablas:
Ademas en otros casos cuando ha sido provocado por una consulta, lo 
que subía era el acceso a disco y la carga del servidor era de tipo IO 
wait no de tipo System. 





 De: Cesar Martin cmart...@gmail.com
Para: Armando Venegas Pérez venegasp_arma...@hotmail.com 
CC: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 10 de septiembre de 2012 11:31
Asunto: Re: [pgsql-es-ayuda] Uso system de CPU
 

Hola Armando, gracias por tu respuesta.


No, no puede ser un cron, ya que no tiene una periodicidad tan determinada. 
Además en el momento de subir la carga, los únicos procesos son de postgres y 
de echo el servidor, solo tiene postgres en exclusiva, no corre nada mas en el.


Un saludo.



El 10 de septiembre de 2012 16:48, Armando Venegas Pérez 
venegasp_arma...@hotmail.com escribió:


Hola Cesár.

A mi me paso algo similar, pero el problema era un proceso que corría por 
CRON y se nos había olvidado.

Tal vez no sea tu caso, pero por si las dudas.


Saludos





Date: Mon, 10 Sep 2012 11:30:41 +0200
Subject: [pgsql-es-ayuda] Uso system de CPU
From: cmart...@gmail.com
To: pgsql-es-ayuda@postgresql.org


Buenos días,


Tengo un servidor postgres 8.3 con la siguiente configuración HW:


128GB de RAM
2 procesadores AMD Opteron 6282 con 16 cores cada uno
2 controladoras Raid con 1GB de memoria
h700: Raid1(sistema), Raid10 4HD(xlog)
h800: Raid10 12HD (En cabina) (DB)


La DB tiene actualmente unos 250GB y lleva una aplicación web que se conecta 
mediante un PGPool en modo Pool de conexiones.
La configuracion actual de postgres es la siguiente:


max_connections = 500 (aunque desde el pgpool las limito a 400)
unix_socket_directory = '/var/run/postgres'
shared_buffers = 12GB
work_mem = 6MB
maintenance_work_mem = 1GB
max_fsm_pages = 8553600
max_fsm_relations = 409000
fsync = on
synchronous_commit = off
wal_buffers = 8MB
checkpoint_segments = 32
checkpoint_completion_target = 0.9
effective_cache_size = 100GB
constraint_exclusion = on
max_locks_per_transaction = 100


Hace algunas semanas, la DB, de repente, empezó a ir lentísima y generar 
cientos de timeouts a la hora de conectar el frontal web. Las carga de 
trabajo de la DB era ridícula comparada con la normal (al ser el mes de 
Agosto) y sin embargo las queries iban muy lentas.
La carga del servidor subía hasta llegar a 300 y las cpu corrían al 100% con 
carga tipo system o kernel, sin embargo a nivel de disco en ambos volumenes 
la carga de I/O no superaba las 100 IOPS.


Este problema persistió durante todas las mañanas, hasta el punto de hacerme 
reiniciar la BBDD a diario... en un solo día llegue a reiniciarla hasta 4 
veces, hasta que un día, puesto que no encontraba la solución, reinicie el 
servidor y parece que el problema se ha mitigado durante mas o menos unos 
diez días, ya que el otro día repitió el mismo patrón de comportamiento.


He analizado los logs en busca de alguna query conflictiva, pero no hay 
ninguna que pueda provocar un bloqueo así. Ademas en otros casos cuando ha 
sido provocado por una consulta, lo que subía era el acceso a disco y la 
carga del servidor era de tipo IO wait no de tipo System.
Los logs de sistema tampoco dan ningún error de kernel.


La Swap, tampoco se esta usando, ya que el swappines del proc esta a 0.


A alguien le ha pasado algo similar?? Se os ocurre que puede estar 
pasando?? Algún problema HW??


No duden en pedirme cualquier datos necesario.
Muchas gracias de antemano, un saludo.

-- 
César Martín Pérez
cmart...@gmail.com





-- 
César Martín Pérez
cmart...@gmail.com





Re: [pgsql-es-ayuda] Optimizar query

2012-09-01 Por tema Alejandro Carrillo
No aplica, ya que en este caso la tabla se esta coparando registro a registro a 
si misma. No se´como podría cambiar ese exists a una subconsulta estilo vista.
Algo como select * from det_eventos de, (select 'x' from det_eventos de1 where 
de1.estado = 'E' and de1.cfg_ofe_consecutivo =any(197,
 239,372,716,324,808,943,338,717,944,945,186,699,550,321,340,679,177,198,553,554,333,484,549,809,337,678,718,719,946,180,183,329,314,371,339,483,698
 ) )

el problema es q hago con ese (mayor que)





 De: CarloS Sing Ramos carloss...@gmail.com
Para: Alejandro Carrillo faster...@yahoo.es 
Enviado: Viernes 31 de agosto de 2012 18:01
Asunto: Re: [pgsql-es-ayuda] Optimizar query
 
bueno, supongo que si algunas subconsultas las metes en una vista te
seria mas facil de manejar luego xk solo las invocarias.

El día 31 de agosto de 2012 16:02, Alejandro Carrillo
faster...@yahoo.es escribió:
 Hola,

 Existe una forma de quitar el not exists de este select y q siga haciendo lo
 mismo?

 Muchas gracias

 select de.fecha Fecha_solicitud, eae.fecha_final Fecha_instalacion,
 nvl(de.campo6, de.telefono) Telefono,
 de.numero_solicitud Solicitud , de.numero_det_solicitud Detalle
 from det_eventos de, act_evento ae, estados_act_evento eae,
 (select nb.consecutivo, na.cfg_ofe_consecutivo from nodos_act na,
 relaciones_nodo_act rna, nodos_act nb where rna.novedad!='E' and
 na.novedad!='E' and nb.novedad!='E'  and nb.act_codigo= 38 and
 rna.nod_consecutivo_b= nb.consecutivo and rna.nod_consecutivo_a=
 na.consecutivo) ae1
 where
 de.novedad!='E' and ae.novedad!='E' and eae.novedad!='E'
 and de.estado='E'
 and de.cfg_ofe_consecutivo=
 ANY(4,19,174,238,325,326,330,332,770,774,796,797,798,799,800,801)
 and ae.nod_consecutivo = ae1.consecutivo
 and de.cfg_ofe_consecutivo= ae1.cfg_ofe_consecutivo
 and eae.etd_codigo=2 and eae.fecha_final is not null
 and de.consecutivo= ae.det_eve_consecutivo and eae.act_eve_consecutivo=
 ae.consecutivo
 and not
 exists(select 'x' from det_eventos de1 where de1.estado = 'E' and
 de1.cfg_ofe_consecutivo =any(197,
 239,372,716,324,808,943,338,717,944,945,186,699,550,321,340,679,177,198,553,554,333,484,549,809,337,678,718,719,946,180,183,329,314,371,339,483,698
 ) and de1.consecutivo  de.consecutivo
 and de1.campo6 = de.campo6
 )



-- 
Salu2
Linux Register User  #525697
--==[[Carlos Sing]]==--




[pgsql-es-ayuda] Preguntas replicación

2012-08-27 Por tema Alejandro Carrillo
Hola,

Averiguando sobre replicación, veo que hay varias soluciones como hot stand by 
streaming, pg-pool II, slony, pyReplica, etc, sin embargo no sé:
1) cual es la mejor solución multiplataforma?
2) Cual soporta maestro-maestro?
3) Como es la restauración de la data del nodo maestro si llegase a caer y 
queda el nodo esclavo activo?
4) Cuando se cae el nodo maestro, el nodo esclavo puede guardar información que 
recibia del nodo maestro y resincronizarla al nodo maestro cuando este se 
levante?
5) Que ocurre con la direccion IP si el SERVIDOR FISICO donde se encuentra el 
nodo maestro se cae? como se puede hacer para que tenga la misma IP a pesar que 
se haya caido el maestro y el esclavo tome el lugar del maestro?

Muchas gracias


Re: [pgsql-es-ayuda] Velocidad en BD y WebServices

2012-08-22 Por tema Alejandro Carrillo
No creo. Es un hecho por la velocidad de interpretación del XML. Aunque cabe 
aclarar que tambíen estas consulta e inserciones deben hacerse a través de 
procedimientos almacenados, ya que así el motor de BD no tiene que analizar la 
sintaxis del query para luego hacer la inserción y/o consulta.






 De: Milton Labanda 1000ton@gmail.com
Para: Alejandro Carrillo faster...@yahoo.es 
Enviado: Martes 21 de agosto de 2012 22:49
Asunto: Re: [pgsql-es-ayuda] Velocidad en BD y WebServices
 




El 21 de agosto de 2012 21:31, Alejandro Carrillo faster...@yahoo.es 
escribió:

mmm creo que deberías tomar cada tiempo desde la aplicación que ejecute todos 
estos pasos:
t1=t
LlamadaWS1()
t1=t-t1
t2=t
InsercionPostgreSQL()
t2=t-t2
t3=t
LlamadaWS2()
t3=t-t3
En mi experiencia, el error puede estar en los WS (me imagino que deben ser 
WSDL y esto afecta la velocidad), puedes usar servlets o peticiones get/post 
en vez de un WSDL.





Exactamente estoy usando WSDL ; y crees que si los WS fueran con REST sería 
mas rápido?




 De: Milton Labanda 1000ton@gmail.com
Para: Aland Laines aland.lai...@gmail.com 
CC: Python Argentina p...@python.org.ar; 
pgsql-es-ayuda-ow...@postgresql.org; POSTGRES 
pgsql-es-ayuda@postgresql.org 
Enviado: Martes 21 de agosto de 2012 15:23
Asunto: Re: [pgsql-es-ayuda] Velocidad en BD y WebServices
 


Desde la primera consulta Aland


El 21 de agosto de 2012 14:32, Aland Laines aland.lai...@gmail.com 
escribió:

Los 10 segundos se demora desde la consulta o solo las inserciones?

Aland Laines Calonge
Twitter: @lainessolutions
http://about.me/aland.laines 




El 21 de agosto de 2012 12:17, Milton Labanda 1000ton@gmail.com 
escribió:


Hola amigos, estoy corriendo un script que:
1- Extrae datos de un Sistema Academico a traves de sus webservices. (el 
SGA usa postgres)
2- Los Inserta si no existen en una Base de datos intermedia (postgres)
3- Los inserta también en una instancia de Moodle (a través de sus 
webservice), la instancia de moodle usa MySQL.


Creen que es normal que se demore 10 segundos  en hacer una inserción de 
una fila en todos esos repositorios y sistemas? como podría medir la 
velocidad e identificar los cuellos de botella (alguna herramienta)?


-- 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)





-- 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)






-- 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)




Re: [pgsql-es-ayuda] Velocidad en BD y WebServices

2012-08-21 Por tema Alejandro Carrillo
mmm creo que deberías tomar cada tiempo desde la aplicación que ejecute todos 
estos pasos:
t1=t
LlamadaWS1()
t1=t-t1
t2=t
InsercionPostgreSQL()
t2=t-t2
t3=t
LlamadaWS2()
t3=t-t3
En mi experiencia, el error puede estar en los WS (me imagino que deben ser 
WSDL y esto afecta la velocidad), puedes usar servlets o peticiones get/post en 
vez de un WSDL.






 De: Milton Labanda 1000ton@gmail.com
Para: Aland Laines aland.lai...@gmail.com 
CC: Python Argentina p...@python.org.ar; 
pgsql-es-ayuda-ow...@postgresql.org; POSTGRES pgsql-es-ayuda@postgresql.org 
Enviado: Martes 21 de agosto de 2012 15:23
Asunto: Re: [pgsql-es-ayuda] Velocidad en BD y WebServices
 

Desde la primera consulta Aland


El 21 de agosto de 2012 14:32, Aland Laines aland.lai...@gmail.com escribió:

Los 10 segundos se demora desde la consulta o solo las inserciones?

Aland Laines Calonge
Twitter: @lainessolutions
http://about.me/aland.laines 




El 21 de agosto de 2012 12:17, Milton Labanda 1000ton@gmail.com 
escribió:


Hola amigos, estoy corriendo un script que:
1- Extrae datos de un Sistema Academico a traves de sus webservices. (el SGA 
usa postgres)
2- Los Inserta si no existen en una Base de datos intermedia (postgres)
3- Los inserta también en una instancia de Moodle (a través de sus 
webservice), la instancia de moodle usa MySQL.


Creen que es normal que se demore 10 segundos  en hacer una inserción de una 
fila en todos esos repositorios y sistemas? como podría medir la velocidad e 
identificar los cuellos de botella (alguna herramienta)?


-- 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)





-- 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Invitación a la 1a Reunión de Usuarios de PostgreSQL en México, en la Ciudad de México

2012-08-15 Por tema Alejandro Carrillo
Me gustaria hacer una ponencia presencial, pero no es posible, sin embargo 
podría hacer una videoponencia usando videostreaming y algún sistema de chat 
como gmail. No sé si les interese.





 De: Antonio Galicia antonio.gali...@gmail.com
Para: Roberto Andrade Fonseca randradefons...@gmail.com 
CC: Postgres Español pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 15 de agosto de 2012 16:24
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Invitación a la 1a Reunión de 
Usuarios de PostgreSQL en México, en la Ciudad de México
 
2012/8/15 Roberto Andrade Fonseca randradefons...@gmail.com:

 Ya existe un evento de Facebook en donde se invita a la reunión.

Pero no es la primera, ¿no? O lo que se organizaba en el Gran Hotel no cuenta?

 Se solicitan ponencias de 40 min para esta primera reunión.

 http://www.facebook.com/events/478597605493360/

Suerte con ello. Yo nomás les caigo ;)

-- 
Saludos,
PP

Ofertas y descuentos en http://gplia.com/C4kls
Más ofertas en http://www.groupon.com.mx/in/.gG7NHg?nlp
Y mas http://www.clickonero.com.mx/?ref=d2rztcyxm9r

-
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] Huso horario a.m. no reconocido

2012-08-14 Por tema Alejandro Carrillo
Buenos días,

Por favor solicito de su colaboración para este problema. A la hora de insertar 
registros me sale el error Huso horario a.m. no reconocido
este es el registro q se trata de insertar:
110;POSICION DE VOZ URBA;;S;;I;12/12/2005 10:40:45 a.m.;RENEBARL;A;;

La tabla tiene un campo fecha

Gracias


[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Primera Reunión del Grupo de Usuarios de PostgreSQL en México.

2012-08-14 Por tema Alejandro Carrillo
Si existe con VLC, una camara digital y una tarjeta capturadora de video USB, 
pero por favor copien esto a la lista de fomento. Gracias





 De: felipe guzman felipeguzm...@gmail.com
Para: Roberto Andrade Fonseca randradefons...@gmail.com 
CC: Postgres Español pgsql-es-ayuda@postgresql.org 
Enviado: Martes 14 de agosto de 2012 12:28
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Primera Reunión del Grupo de 
Usuarios de PostgreSQL en México.
 

Señores, soy de chile que posibilidad existen de transmitir las charlas o 
grabar los vídeos para posterior a ello compartirlas?


El 14 de agosto de 2012 13:11, Roberto Andrade Fonseca 
randradefons...@gmail.com escribió:

Hola:


La Primera Reunión del Grupo de Usuarios de PostgreSQL en México será a las 
17 horas del jueves 30 de agosto en la Ciudad de México. 


La idea es dar tres ponencias cortas (40 min) sobre PostgreSQL: seguridad, 
casos de éxito, PostGIS, desempeño, replicación, etc. 


¿Quieres participar con alguna ponencia?


El lugar dependerá de cuántos asistentes confirmados existan.


Habrá café y galletas en la reunión.


Pronto habrá más información.


Saludos.-- 
Roberto Andrade Fonseca







Re: [pgsql-es-ayuda] Huso horario a.m. no reconocido

2012-08-14 Por tema Alejandro Carrillo
No es posible ya que los datos vienen de esa forma.




 De: Manuel Fernando Aller manuel.al...@gmail.com
Para: Alejandro Carrillo faster...@yahoo.es 
Enviado: Martes 14 de agosto de 2012 13:14
Asunto: Re: [pgsql-es-ayuda] Huso horario a.m. no reconocido
 

Probá de insertar sin el ' a.m.'


El 14 de agosto de 2012 15:10, Alejandro Carrillo faster...@yahoo.es 
escribió:

Buenos días,


Por favor solicito de su colaboración para este problema. A la hora de 
insertar registros me sale el error Huso horario a.m. no reconocido
este es el registro q se trata de insertar:
110;POSICION DE VOZ URBA;;S;;I;12/12/2005 10:40:45 a.m.;RENEBARL;A;;


La tabla tiene un campo fecha


Gracias




-- 
Manuel




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Tamaño de nombres de tablas

2012-08-02 Por tema Alejandro Carrillo
Creo que necesitarás compilar el postgresql desde las fuentes, antes debes 
buscar en el archivo src/include/postgres_ext.h la variable NAMEDATALEN.y 
cambiarle el valor.





 De: Milton Labanda 1000ton@gmail.com
Para: Foros Postgre Ecuador ec...@postgresql.org; POSTGRES 
pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 2 de agosto de 2012 11:43
Asunto: [pgsql-es-ayuda] Tamaño de nombres de tablas
 

Hola amigos, tengo una app que usa elixir y sqlalchemy (python ) como ORM, la 
bd es logicamente PG.
Tango problemas porque algunos nombres de las clases del modelo son bastante 
largos y Postgres los limita a 63:


sqlalchemy.exc.IdentifierError: Identifier 
'sga_model_expediente_autorizaciones_asentar_nota__sga_model_autorizacionasentarnota'
 exceeds maximum length of 63 characters  


Puedo cambiar alguna variable en PG para solucionar esto ?
 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [ecpug] Tamaño de nombres de tablas

2012-08-02 Por tema Alejandro Carrillo
Tambien puedes tener en cuenta esto:

http://stackoverflow.com/questions/5082036/raise-postgresqls-namedatalen-without-recompiling





 De: Ovnicraft ovnicr...@gmail.com
Para: Milton Labanda 1000ton@gmail.com 
CC: Foros Postgre Ecuador ec...@postgresql.org; POSTGRES 
pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 2 de agosto de 2012 12:41
Asunto: [pgsql-es-ayuda] Re: [ecpug] Tamaño de nombres de tablas
 




2012/8/2 Milton Labanda 1000ton@gmail.com

Hola amigos, tengo una app que usa elixir y sqlalchemy (python ) como ORM, la 
bd es logicamente PG.
Tango problemas porque algunos nombres de las clases del modelo son bastante 
largos y Postgres los limita a 63:


sqlalchemy.exc.IdentifierError: Identifier 
'sga_model_expediente_autorizaciones_asentar_nota__sga_model_autorizacionasentarnota'
 exceeds maximum length of 63 characters  





Podrias mejorar el nombre de las clases, si estas usando sqlalchemy deberias 
renombrar la tabla a algo mas corto, yo uso la convencion pkg_object, asi me 
es facil entrar en los 63chars.


Saludos,
 
Puedo cambiar alguna variable en PG para solucionar esto ?
 
/\/\;/-
Milton  Labanda  [miltonlab]
Distro:        Debian GNU/Linux 6.0 Squeeze
Blog:          http://1000tonlab.wordpress.com
jabber:        milton...@jabber.org
... Solamente la libertad que se somete a la Verdad conduce a la persona 
humana a su  verdadero bien  Karol Wojtyla
(:\ Usa Software Legal, usa Software Libre /:)




-- 
Cristian Salamea
@ovnicraft




Re: [pgsql-es-ayuda] pg_dirtyread

2012-08-02 Por tema Alejandro Carrillo
El error q se sale al servidor es :

SENTENCIA:  SELECT * FROM pg_dirtyread('test'::regclass) as (id integer,  userna
me text);
    select * from
LOG:  proceso de servidor (PID 5216) fue terminado por una excepcin 0xC005
HINT:  Vea el archivo ntstatus.h para una descripcin del valor hexadecimal.
LOG:  terminando todos los otros procesos de servidor activos
WARNING:  terminando la conexin debido a una falla en otro proceso servidor
DETALLE:  Postmaster ha ordenado que este proceso servidor cancele la transaccin
 en curso y finalice la conexin, porque otro proceso servidor ha terminado anorm
almente y podra haber corrompido la memoria compartida.
HINT:  Dentro de un momento debera poder reconectarse y repetir la consulta.
LOG:  todos los procesos fueron terminados; reinicializando
LOG:  el sistema de bases de datos fue interrumpido; ltima vez en funcionamiento
 en 2012-08-02 17:55:30 COT
LOG:  el sistema de bases de datos no fue apagado apropiadamente; se est efectua
ndo la recuperacin automtica
LOG:  el estado de recuperacin consistente fue alcanzado en 0/203E4C0
LOG:  registro de longitud cero en 0/203E4C0
LOG:  no se requiere redo
LOG:  el sistema de bases de datos est listo para aceptar conexiones
LOG:  lanzador de autovacuum iniciado
LOG:  proceso de servidor (PID 4116) fue terminado por una excepcin 0xC005
HINT:  Vea el archivo ntstatus.h para una descripcin del valor hexadecimal.
LOG:  terminando todos los otros procesos de servidor activos
WARNING:  terminando la conexin debido a una falla en otro proceso servidor
DETALLE:  Postmaster ha ordenado que este proceso servidor cancele la transaccin
 en curso y finalice la conexin, porque otro proceso servidor ha terminado anorm
almente y podra haber corrompido la memoria compartida.
HINT:  Dentro de un momento debera poder reconectarse y repetir la consulta.
LOG:  todos los procesos fueron terminados; reinicializando
LOG:  el sistema de bases de datos fue interrumpido; ltima vez en funcionamiento
 en 2012-08-02 17:55:53 COT
LOG:  el sistema de bases de datos no fue apagado apropiadamente; se est efectua
ndo la recuperacin automtica
LOG:  el estado de recuperacin consistente fue alcanzado en 0/203E518
LOG:  registro de longitud cero en 0/203E518
LOG:  no se requiere redo
LOG:  el sistema de bases de datos est listo para aceptar conexiones
LOG:  lanzador de autovacuum iniciado





 De: Edwin Quijada listas_quij...@hotmail.com
Para: faster...@yahoo.es; pgsql-es-ayuda@postgresql.org 
pgsql-es-ayuda@postgresql.org 
CC: Alvaro Herrera alvhe...@alvh.no-ip.org; Edwin Quijada 
macaru...@hotmail.com 
Enviado: Jueves 2 de agosto de 2012 16:15
Asunto: RE: [pgsql-es-ayuda] pg_dirtyread
 

 
Revisa esto y dime si te funciono


http://es.scribd.com/doc/40725510/Build-PostgreSQL-C-Functions-on-Windows 





From: listas_quij...@hotmail.com
To: faster...@yahoo.es; pgsql-es-ayuda@postgresql.org
CC: alvhe...@alvh.no-ip.org
Subject: RE: [pgsql-es-ayuda] pg_dirtyread
Date: Thu, 2 Aug 2012 20:55:33 +

 
Eso me han dicho. A mi me paso lo mismo que a ti con una funcion que hice en 
Linux compilo bien y en Win tambien pero en Win rompe el server entonces 
alguien me dijo que debe ser compilado con VC++ , la verdad aun no lo he hecho.




Date: Wed, 1 Aug 2012 18:38:56 +0100
From: faster...@yahoo.es
Subject: Re: [pgsql-es-ayuda] pg_dirtyread
To: listas_quij...@hotmail.com; pgsql-es-ayuda@postgresql.org
CC: alvhe...@alvh.no-ip.org


¿Pero con Visual C++ si compila y no reinicia el servidor??





 De: Edwin Quijada listas_quij...@hotmail.com
Para: faster...@yahoo.es; pgsql-es-ayuda@postgresql.org 
pgsql-es-ayuda@postgresql.org 
CC: Alvaro Herrera alvhe...@alvh.no-ip.org 
Enviado: Miércoles 1 de agosto de 2012 10:03
Asunto: RE: [pgsql-es-ayuda] pg_dirtyread
 

 
Con que compilador lo compilaste?
Mingw, ? Tienes q compilar con VC++ para que funcione. Tengo el mismo 
problema que tu.





Date: Tue, 31 Jul 2012 22:44:48 +0100
From: faster...@yahoo.es
Subject: [pgsql-es-ayuda] pg_dirtyread
To: pgsql-es-ayuda@postgresql.org
CC: alvhe...@alvh.no-ip.org


Buenas tardes,


Tengo un problema al tratar de usar la libreria pg_dirtyread en Windows, la 
logré compilar creando una dll, pero al usarla, se desconecta la conexión al 
servidor:


CREATE OR REPLACE FUNCTION pg_dirtyread(oid)
RETURNS setof record 
AS 'C:\\Documents and 
Settings\\Administrador\\Escritorio\\pg_dirtyread\\pg_dirtyread.dll','pg_dirtyread'
LANGUAGE 'C'
 IMMUTABLE STRICT;



Query returned successfully with no result in 16 ms.


 select * from pg_dirtyread( 'test'::regclass ) t (id int4, username text);



** Error **

Connection reset.


No se porque sucede esto.


Muchas gracias





Re: [pgsql-es-ayuda] pg_dirtyread

2012-08-01 Por tema Alejandro Carrillo
¿Pero con Visual C++ si compila y no reinicia el servidor??





 De: Edwin Quijada listas_quij...@hotmail.com
Para: faster...@yahoo.es; pgsql-es-ayuda@postgresql.org 
pgsql-es-ayuda@postgresql.org 
CC: Alvaro Herrera alvhe...@alvh.no-ip.org 
Enviado: Miércoles 1 de agosto de 2012 10:03
Asunto: RE: [pgsql-es-ayuda] pg_dirtyread
 

 
Con que compilador lo compilaste?
Mingw, ? Tienes q compilar con VC++ para que funcione. Tengo el mismo problema 
que tu.





Date: Tue, 31 Jul 2012 22:44:48 +0100
From: faster...@yahoo.es
Subject: [pgsql-es-ayuda] pg_dirtyread
To: pgsql-es-ayuda@postgresql.org
CC: alvhe...@alvh.no-ip.org


Buenas tardes,


Tengo un problema al tratar de usar la libreria pg_dirtyread en Windows, la 
logré compilar creando una dll, pero al usarla, se desconecta la conexión al 
servidor:


CREATE OR REPLACE FUNCTION pg_dirtyread(oid)
RETURNS setof record 
AS 'C:\\Documents and 
Settings\\Administrador\\Escritorio\\pg_dirtyread\\pg_dirtyread.dll','pg_dirtyread'
LANGUAGE 'C' IMMUTABLE STRICT;



Query returned successfully with no result in 16 ms.


 select * from pg_dirtyread( 'test'::regclass ) t (id int4, username text);



** Error **

Connection reset.


No se porque sucede esto.


Muchas gracias



Re: [pgsql-es-ayuda] Cambiar valor xmax

2012-07-31 Por tema Alejandro Carrillo
Hablemos sucio

http://www.depesz.com/2012/04/04/lets-talk-dirty/





 De: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu
Para: Jaime Casanova ja...@2ndquadrant.com 
CC: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 30 de julio de 2012 14:40
Asunto: RE: [pgsql-es-ayuda] Cambiar valor xmax
 
Muchas gracias a todos por su respuesta.

saludos.

From: jcasa...@systemguards.com.ec [jcasa...@systemguards.com.ec] On Behalf Of 
Jaime Casanova [ja...@2ndquadrant.com]
Sent: Monday, July 30, 2012 1:50 PM
To: Lazáro Rubén García Martínez
Cc: pgsql-es-ayuda@postgresql.org
Subject: Re: [pgsql-es-ayuda] Cambiar valor xmax

2012/7/30 Lazáro Rubén García Martínez lgarc...@vnz.uci.cu:
 Hola a todos en la lista, es posible cambiar el valor de la tupla xmax desde 
 una consulta?


xmax no es una tupla sino un campo de sistema en cada tupla
y la respuesta es: NO. no puedes cambiar ese valor desde una consulta

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE 
ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com

Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE 
ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda




[pgsql-es-ayuda] pg_dirtyread

2012-07-31 Por tema Alejandro Carrillo
Buenas tardes,

Tengo un problema al tratar de usar la libreria pg_dirtyread en Windows, la 
logré compilar creando una dll, pero al usarla, se desconecta la conexión al 
servidor:

CREATE OR REPLACE FUNCTION pg_dirtyread(oid)
RETURNS setof record 
AS 'C:\\Documents and 
Settings\\Administrador\\Escritorio\\pg_dirtyread\\pg_dirtyread.dll','pg_dirtyread'
LANGUAGE 'C' IMMUTABLE STRICT;


Query returned successfully with no result in 16 ms.


 select * from pg_dirtyread( 'test'::regclass ) t (id int4, username text);


** Error **

Connection reset.

No se porque sucede esto.

Muchas gracias


Re: [pgsql-es-ayuda] Cambiar valor xmax

2012-07-30 Por tema Alejandro Carrillo
+1
Sin embargo, puedes cambiar ese valor por fuera con un editor hexadecimal 
teniendo en cuenta estos pasos:
Pasos:
--1) Buscar el oid de la BD
select oid from pg_database d where d.datname ='pruebas';
--2) Buscar la ruta del archivo donde se encuentra la tabla, el OID de la BD 
debe coincidir con el OID de la ruta
SELECT pg_relation_filenode('gps_datos'),pg_relation_filepath('gps_datos');
--3) Buscar esa ruta en el directorio data de la carpeta donde se encuentra 
postgresql
--4) Abrir el archivo donde se encuentra la tabla con un editor hexadecimal 
(pueden usar el de su preferencia)
--5) Instalar la extensión
 pageinspect
CREATE EXTENSION pageinspect;
--6) Usar las funciones heap_page_items y get_raw_page para obtener información 
de los registros en la tabla. 
 Los registros a recuperar contienen un valor diferente a 0 en la columna 
t_xmax (transacción que eliminó el registro)
select * from heap_page_items(get_raw_page('gps_datos',0));
--7) Usando el editor hexadecimal, ir a la posicion que esta en la columna 
lp_off del registro a recuperar
--7.1)
 Los primeros 4 bytes son el t_xmin, los siguientes 4 bytes son t_xmax, 
se debe cambiar el valor de cada uno de estos 4 bytes (t_xmax) a 
cero(00). Ambos se leen de derecha a izquierda.
--7.2) Es necesario 
resetear los bits XMAX_COMMITTED, para ello se toma el valor de la 
columna t_infomask, obtenida del query en el punto 6, para el registro a
 recuperar(en mi caso 1282)
-  y se convierte el valor de esa 
columna a hexadecimal (0502 en mi caso), luego cuenta 13 bytes hacia
 adelante para llegar al infomask, el cual permite visualizar el 
registro (posiciones: 
http://www.postgresql.org/docs/9.0/interactive/storage-page-layout.html)
- 
 por ultimo, se le resta 0x0400(XMAX_COMMITTED) al valor hexa (0502 en 
mi caso) y el resultado (0102 en mi caso), se coloca reemplazando el 
valor del infomask actual (se escribe de derecha a izquierda, 02 01 en 
mi caso).

Estos pasos se deben hacer para cada registro a recuperar.

O se podría hacer con estos pasos, una extensión hecha en C que permita 
recuperar el registro.





 De: Jaime Casanova ja...@2ndquadrant.com
Para: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu 
CC: pgsql-es-ayuda@postgresql.org pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 30 de julio de 2012 13:20
Asunto: Re: [pgsql-es-ayuda] Cambiar valor xmax
 
2012/7/30 Lazáro Rubén García Martínez lgarc...@vnz.uci.cu:
 Hola a todos en la lista, es posible cambiar el valor de la tupla xmax desde 
 una consulta?


xmax no es una tupla sino un campo de sistema en cada tupla
y la respuesta es: NO. no puedes cambiar ese valor desde una consulta

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda




Re: [pgsql-es-ayuda] Ayuda con inquietud

2012-07-09 Por tema Alejandro Carrillo
Creo que lo mejor es hacer un índice único en la tabla GPS (llave primaria), un 
campo donde esté la última posición del GPS y otro índice en la llave foránea 
de GPS en la tabla positions. Y crear una function asi:

CREATE OR REPLACE FUNCTION public.fn_guardar_posicion (
  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN    
    
        INSERT INTO positions
        (
          gps_id,
          posicion,
          velocidad,
          altura,
          fecha,
          grados,
          satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
    if (id is null) then
   UPDATE gps
        SET
          posicion = posicion_,
        WHERE id = gps_id_;

    end if;    
;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';

Así no necesitas tener más tablas adicionales. No olvidar hacer vacuum full a 
las tablas periódicamente en horario donde haya pocas transacciones.





 De: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu
Para: Jorge Toro jolt...@gmail.com; Foro Postgres 
pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 10:21
Asunto: RE: [pgsql-es-ayuda] Ayuda con inquietud
 
Entonces podrias tener dos tablas positions, una que se llame hist_positions 
por ejemplo, y la otra positions, sobre positions almacenas la última 
ubicación de los gps y sobre hist_positions el historial de posiciones de los 
gps, para almacenar las posiciones de los gps utililizas una función, y para 
llevar el historial de los gps, puedes utilizar un trigger sobre positions. 
Acá te dejo el código de todo, solo falta la referencia de la clave foránea. 
Espero que te sirva.

PD: Pudieran existir otras soluciones.

--Crear la tabla positions
CREATE TABLE public.positions (
  id SERIAL,
  gps_id INTEGER,
  posicion VARCHAR,
  velocidad REAL,
  altura REAL,
  fecha TIMESTAMP WITHOUT TIME ZONE,
  grados REAL,
  satelites INTEGER,
  CONSTRAINT positions_pkey PRIMARY KEY(id)
) WITHOUT OIDS;

--Crear la tabla hist_positions
CREATE TABLE public.hist_positions (
  id SERIAL,
  gps_id INTEGER,
  posicion VARCHAR,
  velocidad REAL,
  altura REAL,
  fecha TIMESTAMP WITHOUT TIME ZONE,
  grados REAL,
  satelites INTEGER,
  CONSTRAINT hist_positions_pkey PRIMARY KEY(id)
) WITHOUT OIDS;

--Función para guardar en positions
CREATE OR REPLACE FUNCTION public.fun_guardar_posicion (
  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN
    UPDATE positions
    SET
      posicion = posicion_,
      velocidad = velocidad_,
      altura = altura_,
      fecha = fecha_,
      grados = grados_,
      satelites = satelites_
    WHERE gps_id = gps_id_
    RETURNING id INTO retorno;

        IF (retorno IS NULL) THEN
        INSERT INTO positions
        (
          gps_id,
          posicion,
          velocidad,
          altura,
          fecha,
          grados,
          satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
    END IF;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';

--Función ejecutada por el trigger para guardar en el historial de positions
CREATE OR REPLACE FUNCTION public.fun_trg_hist_positions (
)
RETURNS trigger AS
$body$
DECLARE
BEGIN
  INSERT INTO hist_positions
  (
    gps_id,
    posicion,
    velocidad,
    altura,
    fecha,
    grados,
    satelites
  )
  VALUES (
    NEW.gps_id,
    NEW.posicion,
    NEW.velocidad,
    NEW.altura,
    NEW.fecha,
    NEW.grados,
    NEW.satelites
  );

  RETURN NULL;
END;
$body$
LANGUAGE 'plpgsql';

--Trigger utilizado
CREATE TRIGGER trg_hist_positions AFTER INSERT OR UPDATE
ON public.positions FOR EACH ROW
EXECUTE PROCEDURE public.fun_trg_hist_positions();

Saludos a todos.

From: pgsql-es-ayuda-ow...@postgresql.org 
[pgsql-es-ayuda-ow...@postgresql.org] On Behalf Of Jorge Toro 
[jolt...@gmail.com]
Sent: Monday, July 09, 2012 9:43 AM
To: Foro Postgres
Subject: Re: [pgsql-es-ayuda] Ayuda con inquietud

Hola Lazáro, gracias por responder.

Sí gps.idhttp://gps.id es la referencia a una tabla gps que se usa para 
registrar cada uno de los GPS que se registran para ser aceptados por el 
servidor.
Esta tabla gps tiene datos como: id, name, type, active. de cada uno de los 
GPS. Y la tabla position se encarga de almacenar los reportes (históricos) 
hechos por cada GPS.

Y lo que quiero lograr es, tener a la mano siempre que consulte un 
dispositivo, toda la última información de dicho 

Re: [pgsql-es-ayuda] Ayuda con inquietud

2012-07-09 Por tema Alejandro Carrillo
perdon, por favor corregir el is null por is not null





 De: Alejandro Carrillo faster...@yahoo.es
Para: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu; Jorge Toro 
jolt...@gmail.com; Foro Postgres pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 10:34
Asunto: Re: [pgsql-es-ayuda] Ayuda con inquietud
 

Creo que lo mejor es hacer un índice único en la tabla GPS (llave primaria), 
un campo donde esté la última posición del GPS y otro índice en la llave 
foránea de GPS en la tabla positions. Y crear una function asi:


CREATE OR REPLACE FUNCTION public.fn_guardar_posicion (
  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN    
    
        INSERT INTO positions
        (
          gps_id,
         
 posicion,
          velocidad,
          altura,
          fecha,
          grados,
          satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
    if (id is null) then
   UPDATE gps
        SET
          posicion = posicion_,
        WHERE id = gps_id_;

    end if;    
;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';


Así no necesitas tener más tablas adicionales. No olvidar hacer vacuum full a 
las tablas periódicamente en horario donde haya pocas transacciones.





 De: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu
Para: Jorge Toro jolt...@gmail.com; Foro Postgres 
pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 10:21
Asunto: RE: [pgsql-es-ayuda] Ayuda con inquietud
 
Entonces podrias tener dos tablas positions, una que se llame hist_positions 
por ejemplo, y la otra positions, sobre positions almacenas la última 
ubicación de los gps y sobre hist_positions el historial de posiciones de los 
gps, para almacenar las posiciones de los gps utililizas una función, y para 
llevar el historial de los gps, puedes utilizar un trigger sobre positions. 
Acá te dejo el código de todo, solo falta la referencia de la clave foránea. 
Espero que te sirva.

PD: Pudieran existir otras soluciones.

--Crear la tabla positions
CREATE TABLE public.positions (
  id
 SERIAL,
  gps_id INTEGER,
  posicion VARCHAR,
  velocidad REAL,
  altura REAL,
  fecha TIMESTAMP WITHOUT TIME ZONE,
  grados REAL,
  satelites INTEGER,
  CONSTRAINT positions_pkey PRIMARY KEY(id)
) WITHOUT OIDS;

--Crear la tabla hist_positions
CREATE TABLE public.hist_positions (
  id SERIAL,
  gps_id INTEGER,
  posicion VARCHAR,
  velocidad REAL,
  altura REAL,
  fecha TIMESTAMP WITHOUT TIME ZONE,
  grados REAL,
  satelites INTEGER,
  CONSTRAINT hist_positions_pkey PRIMARY KEY(id)
) WITHOUT OIDS;

--Función para guardar en positions
CREATE OR REPLACE FUNCTION public.fun_guardar_posicion (
  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS
 integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN
    UPDATE positions
    SET
      posicion = posicion_,
      velocidad = velocidad_,
      altura = altura_,
      fecha = fecha_,
      grados = grados_,
      satelites = satelites_
    WHERE gps_id = gps_id_
    RETURNING id INTO retorno;

        IF (retorno IS NULL) THEN
        INSERT INTO positions
        (
          gps_id,
          posicion,
          velocidad,
          altura,
          fecha,
          grados,
         
 satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
    END IF;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';

--Función ejecutada por el trigger para guardar en el historial de positions
CREATE OR REPLACE FUNCTION public.fun_trg_hist_positions (
)
RETURNS trigger AS
$body$
DECLARE
BEGIN
  INSERT INTO hist_positions
  (
    gps_id,
    posicion,
    velocidad,
    altura,
 
   fecha,
    grados,
    satelites
  )
  VALUES (
    NEW.gps_id,
    NEW.posicion,
    NEW.velocidad,
    NEW.altura,
    NEW.fecha,
    NEW.grados,
    NEW.satelites
  );

  RETURN NULL;
END;
$body$
LANGUAGE 'plpgsql';

--Trigger utilizado
CREATE TRIGGER trg_hist_positions AFTER INSERT OR UPDATE
ON public.positions FOR EACH ROW
EXECUTE PROCEDURE public.fun_trg_hist_positions();

Saludos a todos.

From: pgsql-es-ayuda-ow...@postgresql.org 
[pgsql-es-ayuda-ow...@postgresql.org] On Behalf Of Jorge Toro 
[jolt...@gmail.com]
Sent: Monday, July 09, 2012 9:43 AM
To: Foro Postgres
Subject: Re: [pgsql-es-ayuda] Ayuda con inquietud

Hola Lazáro, gracias por responder.

Sí gps.idhttp://gps.id es la referencia a una tabla gps que se usa para 
registrar cada uno

Re: [pgsql-es-ayuda] Ayuda con inquietud

2012-07-09 Por tema Alejandro Carrillo
Si quieres puedes meter esa función en un trigger de la tabla positions; así 
cuando se agrege una posicion del GPS, se actualice en la tabla gps. No 
olvidaer hacer vacuum full periódicamente a la tabla GPS, ya que las 
actualizaciones realmente son borrados e inserciones de los datos.



 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; Lazáro Rubén García Martínez 
lgarc...@vnz.uci.cu; Jorge Toro jolt...@gmail.com; Foro Postgres 
pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 10:55
Asunto: Re: [pgsql-es-ayuda] Ayuda con inquietud
 

perdon, por favor corregir el is null por is not null





 De: Alejandro Carrillo faster...@yahoo.es
Para: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu; Jorge Toro 
jolt...@gmail.com; Foro Postgres pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 10:34
Asunto: Re: [pgsql-es-ayuda] Ayuda con inquietud
 

Creo que lo mejor es hacer un índice único en la tabla GPS (llave primaria), 
un campo donde esté la última posición del GPS y otro índice en la llave 
foránea de GPS en la tabla positions. Y crear una function asi:


CREATE OR REPLACE FUNCTION public.fn_guardar_posicion (
  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN    
    
        INSERT INTO
 positions
        (
          gps_id,
         
 posicion,
          velocidad,
          altura,
          fecha,
          grados,
          satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
    if (id is null) then
   UPDATE gps
        SET
          posicion = posicion_,
        WHERE id = gps_id_;

    end if;    
;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';


Así no necesitas tener más tablas adicionales. No olvidar hacer vacuum full a 
las tablas periódicamente en horario donde haya pocas transacciones.





 De: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu
Para: Jorge Toro jolt...@gmail.com; Foro Postgres 
pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 10:21
Asunto: RE: [pgsql-es-ayuda] Ayuda con inquietud
 
Entonces podrias tener dos tablas positions, una que se llame hist_positions 
por ejemplo, y la otra positions, sobre positions almacenas la última 
ubicación de los gps y sobre hist_positions el historial de posiciones de 
los gps, para almacenar las posiciones de los gps utililizas una función, y 
para llevar el historial de los gps, puedes utilizar un trigger sobre 
positions. Acá te dejo el código de todo, solo falta la referencia de la 
clave foránea. Espero que te sirva.

PD: Pudieran existir otras soluciones.

--Crear la tabla positions
CREATE TABLE public.positions (
  id
 SERIAL,
  gps_id INTEGER,
  posicion VARCHAR,
  velocidad REAL,
  altura REAL,
  fecha TIMESTAMP WITHOUT TIME ZONE,
  grados REAL,
  satelites INTEGER,
  CONSTRAINT positions_pkey PRIMARY KEY(id)
) WITHOUT OIDS;

--Crear la tabla hist_positions
CREATE TABLE public.hist_positions (
  id SERIAL,
  gps_id INTEGER,
  posicion VARCHAR,
  velocidad REAL,
  altura REAL,
  fecha TIMESTAMP WITHOUT TIME ZONE,
  grados REAL,
  satelites INTEGER,
  CONSTRAINT hist_positions_pkey PRIMARY KEY(id)
) WITHOUT OIDS;

--Función para guardar en positions
CREATE OR REPLACE FUNCTION public.fun_guardar_posicion (
  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS
 integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN
    UPDATE positions
    SET
      posicion = posicion_,
      velocidad = velocidad_,
      altura = altura_,
      fecha = fecha_,
      grados = grados_,
      satelites = satelites_
    WHERE gps_id = gps_id_
    RETURNING id INTO retorno;

        IF (retorno IS NULL) THEN
        INSERT INTO positions
        (
          gps_id,
          posicion,
          velocidad,
          altura,
          fecha,
          grados,
         
 satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
    END IF;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';

--Función ejecutada por el trigger para guardar en el historial de positions
CREATE OR REPLACE FUNCTION public.fun_trg_hist_positions (
)
RETURNS trigger AS
$body$
DECLARE
BEGIN
  INSERT INTO hist_positions
  (
    gps_id,
    posicion,
    velocidad,
    altura,
 
   fecha,
    grados,
    satelites
  )
  VALUES (
    NEW.gps_id,
    NEW.posicion,
    NEW.velocidad,
    NEW.altura,
    NEW.fecha,
    NEW.grados,
    NEW.satelites

Re: [pgsql-es-ayuda] Ayuda con inquietud

2012-07-09 Por tema Alejandro Carrillo
mmm puede ser, pero le apuesto más a guardar la ultima fecha_hora y posicion 
del evento asi no tienes q ir a buscar en la otra tabla (lo de la foranea es 
por temas de actualización de llave primaria o borrado físico sobre GPS). Cabe 
corregir a la function (sea q la metas en un trigger o no), que deba consultar 
si la fecha a ingresar es mayor a la ultima fecha (la ultima fecha se encuentra 
en la tabla de GPS y para cuando no tenga registros para ese GPS seria la fecha 
que se va a insertar en la tabla posiciones),  tal como lo dice Mario:
- Te comento de mi experiencia, que si trabajas con reportes de GPS, 
chequees la fecha sea igual o mayor a la anterior que tienes en la tabla 
de ultimos reportes. Algunos equipos pueden disparar reportes retrasados 
(no se si es tu caso) y hacer updates de fecha y hora de reportes 
anteriores a la última.
Sobre todo IGUAL o mayor, ya que cualquier otro cambio que quieras hacer 
sin tocar la fecha (Cambio de estado o lo que fuere) no te dejará.

Por ultimo, debes tener en cuenta que a la hora de hacer reportes por 
fecha_hora por GPS o fecha_hora de los GPS será necesario 1 indice más en la 
fecha_hora de positions y GPS. No es necesario escribir el indice en las PK ya 
que estas lo crean automáticamente. ultfechahora tampoco requiere indice ya que 
consultarás por la PK y no por la ultima fecha del evento del GPS (solo se 
consulta por ultfechahora para efectos de comparación, ya que la busqueda la 
debe hacer por la PK)  Entonces tu DDL quedaría:

  gps
---
id serial PK
name text
type text
active boolean
posicion varchar
ultfechahora timestamp  --última fechahora del gps.

 positions 
--
id serial PK
gps_id integer FK (gps.id)
posicion point
velocidad real                         
altura real
date timestamp
grados real
satelites integer


-- CREATE INDEX gps_position_id ON gps (position_id); este indice se va 
porq lo debe crear la PK
CREATE INDEX positions_gps_id ON positions (gps_id);
CREATE INDEX positions_date ON positions (date);



CREATE OR REPLACE FUNCTION public.fn_guardar_posicion (

  gps_id_ integer,
  posicion_ varchar,
  velocidad_ real,
  altura_ real,
  fecha_ timestamp,
  grados_ real,
  satelites_ integer
)
RETURNS integer AS
$body$
DECLARE
        retorno INTEGER;
BEGIN    
    

        INSERT INTO positions
        (
          gps_id,
         
 posicion,
          velocidad,
          altura,
          fecha,
          grados,
          satelites
        )
        VALUES (
          gps_id_,
          posicion_,
          velocidad_,
          altura_,
          fecha_,
          grados_,
          satelites_
        )RETURNING id INTO retorno;
--si se insertó con éxito, actualice la ultima fecha del GPS    
    if (retorno is not null) then
        

   UPDATE gps
        SET
          posicion = posicion_,
      ultfechahora = fecha_
        WHERE id = gps_id_ and ultfechahora is not null and ultfechahora  
fecha_ ; --esto tambien funciona no actualizando cuando la fecha es menor a la 
ultima

    end if;    
;

        RETURN retorno;
END;
$body$
LANGUAGE 'plpgsql';





 De: Jorge Toro jolt...@gmail.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Lazáro Rubén García Martínez lgarc...@vnz.uci.cu; Foro Postgres 
pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 9 de julio de 2012 11:13
Asunto: Re: [pgsql-es-ayuda] Ayuda con inquietud
 

Hola Alejandro, gracias por tu ayuda.


Lo que entiendo de tu propuesta es hacer:


  gps
---
id serial PK
name text
type text
active boolean
position_id integer  -- índice a la última posición del gps.




 positions 
--
id serial PK
gps_id integer FK (gps.id)
posicion point
velocidad real                         
altura real
date timestamp
grados real
satelites integer




CREATE INDEX gps_position_id ON gps (position_id);
CREATE INDEX positions_gps_id ON positions (gps_id);




Gracias de antemano.


Jorge Alonso Toro
Ing. Teleinformático.

http://jolthgs.wordpress.com/
www.devmicrosystem.com
--
Powered By Debian.
Developer Bullix GNU/Linux.
--
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBIWWH6q7mzdgTzI5ARAkX5AJ9TR6hL2ocLMOUDRfhts8DlVl+jpwCeNw5x
p4+4FNUHPDUx1lU9F8WSKCA=
=zRhQ
-END PGP SIGNATURE-
Este correo esta protegido bajo los términos de la Licencia 
Atribución-Compartir Obras Derivadas Igual a 2.5 Colombia de Creative 
Commons. Observé la licencia visitando este sitio 
http://creativecommons.org/licenses/by-sa/2.5/co/. 



El 9 de julio de 2012 10:34, Alejandro Carrillo faster...@yahoo.es escribió:

Creo que lo mejor es hacer un índice único en la tabla GPS (llave primaria), 
un campo donde esté la última posición del GPS y otro índice en la llave 
foránea de GPS en la tabla positions. Y crear una function asi:


CREATE OR REPLACE FUNCTION public.fn_guardar_posicion

[pgsql-es-ayuda] Certificación PostgreSQL Mundial

2012-07-09 Por tema Alejandro Carrillo
Buen día,

Por favor, ¿cuales certificaciones de PostgreSQL existen a nivel mundial y 
donde puedo presentar los exámenes de certificación en Colombia?

Gracias


Re: [pgsql-es-ayuda] Inicio automatico de postgres en windows

2012-06-27 Por tema Alejandro Carrillo
Con esto en un bat por linea puedes iniciar, reiniciar y detener el servicio.


%CD%\bin\pg_ctl.exe start -D %CD%\data

%CD%\bin\pg_ctl.exe restart -D %CD%\data

%CD%\bin\pg_ctl.exe stop -D %CD%\data


Sin necesidad de crear usuario en windows.

Ahora, puedes crear un servicio en windows si asi lo deseas:
http://support.microsoft.com/kb/251192/es





 De: Jose Mercedes Venegas Acevedo jvenegasp...@gmail.com
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 27 de junio de 2012 8:27
Asunto: [pgsql-es-ayuda] Inicio automatico de postgres en windows
 

Buen dia a todos

por questiones laborales tengo que utilizar postgres sobre windows 

en este caso tengo windows server 2003 para el servidor de produccion y

tambien lo tengo instalado en algunos clientes con windows 7 para labores de 
desarrollo todos estan dentro de un dominio

el hecho es que cada vez que reinician el servidor postgres o algunos de los 
equipos que usamos para desarrollo postgres no se inicia de forma automatica

y debo entrar a los servicios volver a colocar la contraseña de postgres para 
que se pueda iniciar el servicio

alguna idea de como configurar para que esto sea permanente?

por otro lado les dejo los datos de acceso de la aplicacion GIS de agua 
potable y alcantarillado en la que trabajo quizas haya alguien en esta lista 
para intercambiar experiencias en este campo de GIS con postgres.

http://land.sedalib.com.pe:8088

user consulta
pass 123456

doble clic en metropolitano ingresan al mapa

saludos

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





Re: [pgsql-es-ayuda] [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz

2012-06-25 Por tema Alejandro Carrillo
http://www.postgresql.org/docs/9.0/static/app-psql.html

psql -f archivo.sql





 De: Jose Mercedes Venegas Acevedo jvenegasp...@gmail.com
Para: pgsql-es-ayuda@postgresql.org; pgsql-es-fome...@postgresql.org; 
ar...@postgresql.org 
Enviado: Lunes 25 de junio de 2012 10:37
Asunto: [pgsql-es-fomento] ejecucion de sentencias update de manera mas veloz
 

Buen dia a todos 

tengo una base de datos postgis que tienen la lotizacion de un poblado pues 
resulta que cada fila de los lotes tiene el nombre del cliente pero no su 
codigo para otras consultas administrativas que tenemos
en otro sistema alfanumerico
asi que exporte la lista de nombres y codigos del sistema transaccional en 
oracle para insertarle ese codigo a postgres usando excel para armar la 
consulta.

las consultas que genero en excel quedan asi:

UPDATE CAT_LOTE SET ID= '13010400060' WHERE NOM_CLI = 'HOSTAL CABALLITO 
TOTORA' AND ID LIKE '99%';
UPDATE CAT_LOTE SET ID= '13010400070' WHERE NOM_CLI = 'ARCILA GONZALES MARGOT 
IVONE' AND ID LIKE '99%';
UPDATE CAT_LOTE SET ID= '13010400080' WHERE NOM_CLI = 'LESCANO ALVA CARLOS 
FORTUNATO' AND ID LIKE '99%';
UPDATE CAT_LOTE SET ID= '13010400090' WHERE NOM_CLI = 'ARCILLA CACERES 
MICAELA' AND ID LIKE '99%';
UPDATE CAT_LOTE SET ID= '13010400100' WHERE NOM_CLI = 'ARCILLA JURADO ALBERTO' 
AND ID LIKE '99%';

y asi hasta 200 mil

estas las pego en el pgadmin pero en bloques de 1 porque si le pongo mas 
se cuelga y demora una hora mas o menos en ejecutar esa actualizacion.

estoy usando postgres 9.1 sobre windows server 2003 

alguna otra forma de hacer esto mas rapido usando el psql por consola no se 
alguna otra forma como seria?

gracias por la atencion

saludos

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





Re: [pgsql-es-ayuda] COMPARAR CAMBIOS EN TABLAS

2012-06-25 Por tema Alejandro Carrillo
Toma el sql de una bd y el de la otra bd, luego usa:
http://apgdiff.startnet.biz/diff_online.php
Esto sirve para verificar los cambios





 De: Víctor بيكتور Aguayo carris...@hotmail.com
Para: Postgres Español pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 25 de junio de 2012 14:35
Asunto: [pgsql-es-ayuda] COMPARAR CAMBIOS EN TABLAS
 

 

 
Buenas gente... 


No se si existe algún método que me permita verificar si la replica de una 
base de datos tiene los mismos datos que otra.


Estamos utilizando postgres 8.3 y ahora necesitamos verificar si las 
modificaciones realizadas en desarrollo fueron aplicadas también a producción 
así como los datos elementales de algunas tablas. No se si exista alguna 
herramienta recomendada para realizar este tipo de comparaciones y así 
determinar donde están los cambios.




Muchas gracias a todos los que puedan darme alguna ayuda.




Saludos




Víctor







Re: [pgsql-es-ayuda] permisos

2012-06-22 Por tema Alejandro Carrillo
Creo que seria también darle permisos all a cada schema.





 De: Guillermo Villanueva guillermo...@gmail.com
Para: felipe guzman felipeguzm...@gmail.com 
CC: pgsql-es-ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 22 de junio de 2012 10:34
Asunto: Re: [pgsql-es-ayuda] permisos
 

Intenté hacer esto :
GRANT ALL PRIVILEGES ON DATABASE db to pepe;
Pero cuando pepe se loguea no puede hacer ni select en esa base.



El 22 de junio de 2012 12:26, Guillermo Villanueva guillermo...@gmail.com 
escribió:

Aprovecho para preguntar sobre el mismo tema
Cual es la forma correcta de dar todos los permisos a pepe a UNA DETERMINADA 
base de datos sin hacerlo dueño de esa base?
Que pueda hacer todas las operaciones sobre todas los objetos de todos los 
esquemas pero solo de una base determinada.



El 22 de junio de 2012 12:02, felipe guzman felipeguzm...@gmail.com 
escribió:

Que bueno que pudiste solucionar tu problema, te comento que yo tengo N 
usuarios y a su vez N roles que entre ellos están entrelazados en diferentes 
tablas y bases de datos..
y a ninguno de ellos lo tengo con la sentencia GROUP, y no me ha 
presentado ningún problema..




Saludos.
El 22 de junio de 2012 10:55, Guillermo Villanueva guillermo...@gmail.com 
escribió:


Muchas gracias Felipe, así los había creado.
Pero hay un detalle, no se si tendrá que ver, cuando hacía los grant no 
estaba poniendo la clausula GROUP.
Lo hice y todo empezó a funcionar como esperaba.

GRANT USAGE ON SCHEMA E1 TO GROUP lectores;
GRANT USAGE ON SCHEMA E2 TO GROUP lectores;
GRANT USAGE ON SCHEMA E3 TO GROUP lectores;

GRANT SELECT ON ALL TABLES IN SCHEMA E1 TO GROUP lectores;
GRANT SELECT ON ALL TABLES IN SCHEMA E2 TO GROUP lectores;
GRANT SELECT ON ALL TABLES IN SCHEMA E3 TO GROUP lectores;



Guillermo Villanueva
   




El 22 de junio de 2012 11:42, felipe guzman felipeguzm...@gmail.com 
escribió:


y la forma que esta creado el usuario y el rol es la correcta?
ejemplo:


CREATE ROLE lectores
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;


CREATE ROLE usuario LOGIN
  PASSWORD 'passwordusuario'
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;


GRANT lectores TO usuario;

El 22 de junio de 2012 10:31, Guillermo Villanueva 
guillermo...@gmail.com escribió:


gracias por tu respuesta Felipe, es tal cual como lo hice.





-- 
Felipe Guzman Vargas
Analista Programador Computacional
09- 54047753  





-- 
Felipe Guzman Vargas
Analista Programador Computacional
09- 54047753  






Re: [pgsql-es-ayuda] Modificar domain

2012-06-22 Por tema Alejandro Carrillo
http://www.postgresql.org/docs/9.0/static/sql-createdomain.html
http://www.postgresql.org/docs/9.0/static/sql-alterdomain.html





 De: José Fermín Francisco Ferreras josefermi...@hotmail.com
Para: Lista PostgreSQL pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 22 de junio de 2012 20:12
Asunto: [pgsql-es-ayuda] Modificar domain
 

 
Buenas noches!!


Cómo puedo modificar un tipo de dato domain??





ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 




[pgsql-es-ayuda] bytes en tabla

2012-06-21 Por tema Alejandro Carrillo
Hola

¿Cuando uno crea en una tabla un campo de varchar(1000) y inserta datos, el 
peso en bytes de la tabla no son iguales a la longitud de datos insertados 
(suele ser menor)? ¿Porque sucede esto? 

Gracias


[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Creación de Indices

2012-06-21 Por tema Alejandro Carrillo
1) Crea un indice por cada campo que vayas a filtrar con frecuencia: 
rbd,reg_cod,ano_pago, ind_reli,rut_sost ; es decir no crees indices compuestos 
ya que estos exigen que la consulta se haga por todos los campos.
2) Si la tabla tiene foráneas pertenecientes a otra tabla, estas deben tener 
índice
3) No hagas un IN por un sólo valor, es más rápido usar = que IN
4) Me parece que esa tabla debe estar en su propio tablespace o en un 
tablespace para tablas grandes.





 De: Sergio Valdes Hurtado svh.pg...@gmail.com
Para: Lista PostgreSql pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 21 de junio de 2012 15:13
Asunto: [pgsql-es-ayuda] Creación de Indices
 

Estimados,
tenemos una base de datos con tablas heredadas y a las cuales tenemos que 
hacer una serie de consultas y lamentablemente estas tablas no tienen ningún 
índice, no tienen llave primaria, no tienen foreing key. Esto hac eque algunas 
consultas sean muy lentas y quisiera pedirles ayuda para crear algunos índices 
que me ayuden a mejorar el rendimiento.
A continuación les muestro los detalles:

Sistema Operativo: Windows 7 Professional 64 bits
Equipo: PC HP con Intel i5 con 4 GB RAM, dedicado a la base de datos solamente
Postgresql: PostgreSQL 9.1.2, compiled by Visual C++ build 1500, 64-bit 

detalles de tabla temp_orden_pago:

CREATE TABLE public.temp_orden_pago  ( 
    rbd      int4 NOT NULL,
    depend       int4 NOT NULL,
    agr_subv     int4 NULL,
    asi_mes1     numeric(12,4) NULL,
    asi_mes2     numeric(12,4) NULL,
    asi_mes3     numeric(12,4) NULL,
    asi_prom     numeric(12,4) NULL,
    matri        int4 NULL,
    sum_agr      int4 NULL,
    mes_pago     int4 NOT NULL,
    ano_pago     int4 NOT NULL,
    ind_reli     char(1) NOT NULL,
    com_cod      int4 NULL,
    pro_cod      int4 NULL,
    reg_cod      int4 NULL,
    com_nom      char(45) NULL,
    pro_nom      char(45) NULL,
    reg_nom      char(45) NULL,
    dp_cod       int4 NULL,
    nom_esta     char(45) NULL,
    nom_sost     char(45) NULL,
    rut_sost     int4 NULL,
    cod_banc     char(3) NULL,
    cod_plaz     char(4) NULL,
    cod_sucu     char(3) NULL,
    dir_banc     char(45) NULL,
    num_cuen     char(11) NULL,
    ser_cheq     int4 NULL,
    sub_esco     int4 NULL,
    des_fico     int4 NULL,
    sist_beca        int4 NULL,
    asi_inte     numeric(14,4) NULL,
    fac_inte     numeric(7,4) NULL,
    mto_inte     int4 NULL,
    por_zona     int4 NULL,
    mto_zona     int4 NULL,
    asi_rura_k_4     numeric(14,4) NULL,
    asi_rura_5_4     numeric(14,4) NULL,
    fac_rura_k_4     numeric(7,4) NULL,
    fac_rura_5_4     numeric(7,4) NULL,
    mto_rura_k_4     int4 NULL,
    mto_rura_5_4     int4 NULL,
    piso_rura        int4 NULL,
    zona_piso        int4 NULL,
    pag_pend     int4 NULL,
    mto_disc     int4 NULL,
    mto_esco     int4 NULL,
    des_esco     int4 NULL,
    mto_rein     int4 NULL,
    mto_rete     int4 NULL,
    mto_mult     int4 NULL,
    otr_mtos     int4 NULL,
    sub_liqu     int4 NULL,
    aju_reli     int4 NULL,
    liq_apag     int4 NULL,
    des_difi     int4 NULL,
    adi_espe     int4 NULL,
    no_doce      int4 NULL,
    val_use      numeric(14,4) NULL,
    ind_jecd     char(1) NULL,
    cant_use_aisl    int4 NULL,
    let_esta     char(1) NULL,
    num_esta     int4 NULL,
    dv_rbd       char(1) NULL,
    emi_cheque       int4 NULL,
    mto_19598        int4 NULL,
    mto_subv1        int4 NULL,
    mto_subv2        int4 NULL,
    prof_enca        int4 NULL,
    apo_sost     int4 NULL,
    gls_factor       char(60) NULL,
    gls_nive     char(60) NULL,
    fac_use      numeric(7,5) NULL,
    cod_ense     int4 NULL,
    subv_mant        int4 NULL,
    rut_part     int4 NULL,
    mto_tot_aju      int4 NULL,
    gls_aju      char(45) NULL,
    tip_aju      int4 NULL,
    asi_rura_b_a     numeric(14,4) NULL,
    asi_rura_m_a     numeric(14,4) NULL,
    fac_rura_b_a     numeric(7,4) NULL,
    fac_rura_m_a     numeric(7,4) NULL,
    mto_rura_b_a     int4 NULL,
    mto_rura_m_a     int4 NULL,
    mto_subv3        int4 NULL,
    mto_subv4        int4 NULL 
    )
WITHOUT OIDS 
TABLESPACE pg_default;
CREATE INDEX ind_rbd_ano_mes
    ON public.temp_orden_pago USING btree (rbd int4_ops, ano_pago int4_ops, 
mes_pago int4_ops);
Nota: el índice no fue creado explicitamente

Cantidad de Registros: 18.000.000 aprox. actualmete, pero todos los meses se 
hace una carga de actualización que implica borrar los datos del año y 
cargarlos nuevamente. Los registros del año actualmente son 500.000 aprox 
(100.00 por mes), pero cuando finalize junio, serán 200.000 por mes, por lo 
tanto pasaran a ser casi 1.200.000 los del año 2012 y asi creceran 
mensualmente hasta fin de 

Re: [pgsql-es-ayuda] Incursionando en Postgresql

2012-06-18 Por tema Alejandro Carrillo
No conozco el aplicativo web que usas, sin embargo te recomiendo que la parte 
de transacciones la maneje el motor de la BD a través de functions





 De: Fabrizzio Yanez fabrizzio.ya...@gmail.com
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Lunes 18 de junio de 2012 15:56
Asunto: [pgsql-es-ayuda] Incursionando en Postgresql
 

Buenas tardes a la comunidad Postgresql
 
Antes de nada saludarlos y espero desde ahora sean mi apoyo en esta incursión 
que la estoy haciendo hacia la utilización de Postgresql como Base de Datos 
para todo objetivo.
 
Estaba listo para cerrar mi decisión a usar Postgresql al 100% cuando se me 
presentó un problema que a lo mejor puede ser alguna cosa que no he tomado en 
cuenta.
 
Estoy probando Postgresql 8.3 y me pareció excelente, en todo, esa instalación 
la realicé en un Windows Server 2003 32 bits y una aplicación para Web. Todo 
correcto y todas las pruebas salen al 100%
 
Me topé con un problema muy singular pasando ya a un servidor actual con 
Windows server 2008 32 bits, la misma aplicación y la misma versión de 
Postgresql 8.3.
 
El problema es que funciona todo a la perfección, pero cuando trato de grabar 
algunos registros, las pantallas web del lado del cliente no lo hace. La 
Aplicación es transaccional y funciona bien con datos transaccionales, pero 
cuando trato de hacer grabaciones de más de 20 registros, no sé en qué lado me 
estoy quedando, ya que la pantalla se regresa a su posición inicial.
 
Espero no ser muy confuso en mi explicación, pero tengo la sensación de que 
del lado del cliente se queda sin memoria o hay algún seteo que indica que no 
se grabe mas de cierto número de registros, por ejemplo unos 30 registros. 
Elimino el numero 30 y lo vuelvo a grabar y me acepta, pero trato de aumentar 
al registro 31, y en el lado del cliente se “resetea”.
 
Creí que era por la versión nueva de Postgresql, y subí a la versión, 9.1, 
pero todo funciona bien, pero se mantiene el que no puedo pasar de cierto 
número de registros en las transacciones. Como les digo, las transacciones de 
1 o 2 registros funcionan súper bien, pero subo a mas de 30 registros (por 
ejemplo) y ya no graba el 31.
 
He investigado por todo lado pero ya se me agotaron las alternativas. Creo que 
podría ser alguna configuración del Windows server 2008, o el IIS7 hacia la 
instalación de Postgresql, y quería ver si a alguien le pasó algo similar y lo 
resolvió de alguna manera.
 
Estoy resuelto a que Postgresql sea mi Base de Datos, por ello acudo a ustedes.
 
Postgresql 8.3 y 9.1, Npgsql 1, .Net, Windows Server 2008 32 bits, IIS7
 
Gracias por su tiempo o sus ideas.
 
Saludos Cordiales.
 
Fabrizzio
 



Re: [pgsql-es-ayuda] Mejorar performance de un maestro detalle

2012-06-08 Por tema Alejandro Carrillo
Pregunta: ¿Esos 2 campos del índice pertenecen a la llave primaria por la tabla 
maestro? Si es asi, no se q otra cosa pueda ser, sino debes colocar un indice 
solo al campo de la llave primaria.





 De: SYSWARP - Carlos Enrique Perez carlos.pe...@syswarp.com.ar
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Alvaro Herrera alvhe...@alvh.no-ip.org; Juan 
smalltalker.marc...@gmail.com; Ayuda pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 8 de junio de 2012 7:17
Asunto: Re: [pgsql-es-ayuda] Mejorar performance de un maestro detalle
 

Gracias por las respuestas, lamentablemente omiti poner en el mail inicial que 
el indice en el detalle invocando a la cabecera si existe.

CREATE INDEX ix_pedeta_pedcabe
  ON pedidos_deta
  USING btree
  (idpedido_cabe , idempresa );



-- 
Carlos Enrique Perez   
Direccion Syswarp SRL www.syswarp.com.ar Cuando está bien hecho, el software 
es invisible 

 
El jue, 07-06-2012 a las 23:23 +0100, Alejandro Carrillo escribió: 
La respuesta es fácil amigo. Falta un indice en la llave foránea del campo 
idpedido_cabe, tabla pedidos_deta. Esto no solo afecta las consultas, también 
afecta las actualizaciones y borrados.






 
De:Alvaro Herrera alvhe...@alvh.no-ip.org
Para:Juan smalltalker.marc...@gmail.com 
CC:SYSWARP - Carlos Enrique Perez carlos.pe...@syswarp.com.ar; Ayuda 
pgsql-es-ayuda@postgresql.org 
Enviado:Jueves 7 de junio de 2012 16:52
Asunto:Re: [pgsql-es-ayuda] Mejorar performance de un maestro detalle




Excerpts from Juan's message of jue jun 07 17:35:24 -0400 2012:
 Carlos (lista)
 
 No se si te entendi mal , cual son las queries que andan lentas?

Sí, eso faltó.

 ademas como primera observacion no veo indices. :(

están las primary keys, que generan índices.  Lo que me causa dudas es
el ID en la tabla de detalle ... normalmente no sirve para nada.  La
llave primaria debería ser el PK de la cabecera más un número de línea.

-- 
�lvaro Herrera alvhe...@alvh.no-ip.org
-
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] Mejorar performance de un maestro detalle

2012-06-07 Por tema Alejandro Carrillo
La respuesta es fácil amigo. Falta un indice en la llave foránea del campo  
idpedido_cabe, tabla pedidos_deta. Esto no solo afecta las consultas, también 
afecta las actualizaciones y borrados.





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Juan smalltalker.marc...@gmail.com 
CC: SYSWARP - Carlos Enrique Perez carlos.pe...@syswarp.com.ar; Ayuda 
pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 7 de junio de 2012 16:52
Asunto: Re: [pgsql-es-ayuda] Mejorar performance de un maestro detalle
 

Excerpts from Juan's message of jue jun 07 17:35:24 -0400 2012:
 Carlos (lista)
 
 No se si te entendi mal , cual son las queries que andan lentas?

Sí, eso faltó.

 ademas como primera observacion no veo indices. :(

están las primary keys, que generan índices.  Lo que me causa dudas es
el ID en la tabla de detalle ... normalmente no sirve para nada.  La
llave primaria debería ser el PK de la cabecera más un número de línea.

-- 
�lvaro Herrera alvhe...@alvh.no-ip.org
-
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] Busqueda sobre pg_class

2012-06-01 Por tema Alejandro Carrillo
Es más rápido por el nombre que por el oid. O por lo menos a mi me salio así, 
igual ambos se van por indices.





 De: Lazaro Ruben Garcia Martinez lgarc...@uci.cu
Para: POSTGRES pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 1 de junio de 2012 10:01
Asunto: [pgsql-es-ayuda] Busqueda sobre pg_class
 

Hola a todos en la lista. Cuando se busca sobre la tabla del catalogo 
pg_class, existe alguna ventaja en utilizar el campo oid respecto al campo 
relname?

Ej:

Select * from pg_class where oid = 'relation'::regclass;

o 

select * from pg_class where relname = 'relation';


Saludos a todos.

 




Re: [pgsql-es-ayuda] instalar servicio de postgres en windows

2012-05-30 Por tema Alejandro Carrillo
1) q es xxx/yyy?
2) porque no usas una versión en zip de postgresql? asi cuando te toque 
formatear/cambiar de equipo, solo necesitas copiar todo el directorio de 
postgresql a donde quieras y listo:
http://www.enterprisedb.com/products-services-training/pgbindownload
ó
http://sourceforge.net/projects/pgsqlportable/

Para iniciar, detener y reiniciar el cluster:
%CD%\bin\pg_ctl.exe stop -D %CD%\data
%CD%\bin\pg_ctl.exe start -D %CD%\data
%CD%\bin\pg_ctl.exe restart -D %CD%\data

Donde %CD% es el directorio actual que en este caso está en 
C:\postgresql-9.1.0-1-windows-binaries listo\pgsql
Asi no necesitas crear un usuario en Windows para ello.





 De: raul andrez gutierrez alejo rauland...@gmail.com
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Miércoles 30 de Mayo de 2012 11:15
Asunto: [pgsql-es-ayuda] instalar servicio de postgres en windows
 

hola necesito instalar portgres como servicio en windows, hay una db pequeña 
que funciona como localhost en un equipo de escritorio, por cuestión de 
mantenimiento los formatearon, la instalación la realice en la partición D:/ y 
ninguna archivo se perdió, ya inicie posgres pg_ctl.exe ,  abro pgadmin3 y 
me puedo conectar al servidor y a la db postgres, pero no puedo conectarme a 
la db que necesito, porque dice no tiene permisos para la relación xxx/yyy, 
yo cree el usuario postgres en windows con la misma contraseña que tenia 
anteriormente, como se debe crear para que no aparezca como opción en login de 
windows?, el usuario de la db no era postgres, revise y no fue eliminado, 
actualice la contraseña y me conecta usando ese usuario y se conecto, pero no 
tiene permisos tampoco, creo que el problema es de permisos de 
lectura/escritura en los directorios, pero ya permití el control total de 
usuario postgres/windows a la
 carpeta donde esta instalado postgres, no se que mas hacer, alguna sugerencia?


como 


-- 
Raul Andres Gutierrez Alejo




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-29 Por tema Alejandro Carrillo
También intenté con pageinspect 

 SELECT * FROM heap_page_items(get_raw_page('gps_datos', 0));

1;8152;1;40;6275;0;0;(0,1);3;10498;24;;
2;8104;1;44;6379;6381;0;(0,2);3;1282;24;;
3;8056;1;44;6380;0;0;(0,3);3;2306;24;;


Me dice que el registro 2 esta eliminado (y si es cierto), pero como lo puedo 
hacer visible asi sea usando el usuario postgresql?

Muchas gracias





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com; Quijada Edwin listas_quij...@hotmail.com; Gonzalez 
Rodrigo lis...@estrads.com.ar 
Enviado: Miércoles 23 de Mayo de 2012 11:57
Asunto: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Y despues de tanto intentar me sale esto:


Compilador: Default compiler
Building Makefile: C:\Documents and 
Settings\Administrador\Escritorio\pg_dirtyread\Makefile.win
Ejecutando  make...
make.exe -f C:\Documents and 
Settings\Administrador\Escritorio\pg_dirtyread\Makefile.win all
dllwrap.exe --output-def libpg_dirtyread.def --implib libpg_dirtyread.a 
pg_dirtyread.o  -LC:/Dev-Cpp/lib -LC:/postgresql-9.1.0-1-windows-binaries 
listo/pgsql/lib --no-export-all-symbols --add-stdcall-alias  -o 
pg_dirtyread.dll

gcc: ommon\Too    : No such file or directory

dllwrap.exe: no export definition file provided.
Creating one, but that may not be what you want
dllwrap.exe: gcc exited with status 1

make.exe: ***
 [pg_dirtyread.dll] Error 1

Ejecución Terminada

¿Que estoy haciendo mal? ¡¡¡Ayuda!!!





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; Alvaro Herrera 
alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Miércoles 23 de Mayo de 2012 10:55
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: 
[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Estaba compilando con Visual C++ 6, ahora estoy compilando con dev c++ y me 
sale esto : #error must have a working 64-bit integer datatype





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; Alvaro Herrera 
alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Martes 22 de Mayo de 2012 17:00
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: 
[pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Por favor alguien sabe como resolver esto?





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Domingo 8 de abril de 2012 22:17
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] 
Recuperar borrado físico de registro.
 



Al compilar tengo error en el archivo postgres.h

typedef uintptr_t Datum;
d:\postgresql\postgresql-9.1.0-1-windows-binaries 
listo\pgsql\include\server\postgres.h(302) : error C2061: syntax error : 
identifier 'Datum'



 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Viernes 6 de abril de 2012 10:22
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Pero ... ¿Como puedo compilar las fuentes para Windows o encontrar un 
compilado para Windows?





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Jueves 5 de abril de 2012 22:26
Asunto: Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Excerpts from Alejandro Carrillo's message of jue abr 05 23:56:27 -0300 
2012:
 Hola,
 
 Alguno sabe como recuperar (sin backups, sin pg_audit,
 sin borrado logico), un registro de una tabla de la BD. He estado investigando 
y al parecer todo apunta a HeapTupleSatisfiesVisibility(), que debe estar en 
true para ver los registros borrados de
 todas las tablas, que no se le han hecho vacuum. El lio radica, en que no se 
puede volver a compilar postgresql para hacer esta maniobra. 

tienes suerte
http://www.depesz.com/2012/04/04/lets-talk-dirty/

-- 
�lvaro Herrera alvhe...@alvh.no-ip.org
-
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] [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-29 Por tema Alejandro Carrillo
Hola Alvaro,

¿Por favor cual archivo edito? Pues esta consulta la hice instalando la 
extensión de pageinspect y usando esa function.

Gracias





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com; Quijada Edwin listas_quij...@hotmail.com; Gonzalez 
Rodrigo lis...@estrads.com.ar 
Enviado: Martes 29 de Mayo de 2012 12:20
Asunto: Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Excerpts from Alejandro Carrillo's message of mar may 29 13:11:28 -0400 2012:
 También intenté con pageinspect 
 
  SELECT * FROM heap_page_items(get_raw_page('gps_datos', 0));
 
 1;8152;1;40;6275;0;0;(0,1);3;10498;24;;
 2;8104;1;44;6379;6381;0;(0,2);3;1282;24;;
 3;8056;1;44;6380;0;0;(0,3);3;2306;24;;
 
 
 Me dice que el registro 2 esta eliminado (y si es cierto), pero como lo 
 puedo hacer visible asi sea usando el usuario postgresql?

Baja el servicio, edita el archivo con un hex editor y quita el hint bit
de xmax committed y pon el valor de xmax en 0.  Eso hará que el
registro sea visible.  Es importante hacerlo cuando la página no está en
shared buffers, por eso lo de bajar el servicio.

Recomendaría sacar una copia de la página (yo lo haría con dd en Linux)
antes de tocar cualquier bit en ella, por si Murphy aparece.

-- 
Álvaro Herrera alvhe...@alvh.no-ip.org




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-29 Por tema Alejandro Carrillo
Ok, entiendo. Ya llegue a ese archivo a través de la ruta pgsql\data\base\16641 
y copie el archivo 58031. ¿Ahora como quito el hint bit
de xmax committed y coloco el valor de xmax en 0, usando el editor 
hexadecimal (en donde coloco en el archivo esos cambios)?





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com; Quijada Edwin listas_quij...@hotmail.com; Gonzalez 
Rodrigo lis...@estrads.com.ar 
Enviado: Martes 29 de Mayo de 2012 12:36
Asunto: Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Excerpts from Alejandro Carrillo's message of mar may 29 13:30:34 -0400 2012:
 Hola Alvaro,
 
 驴Por favor cual archivo edito? Pues esta consulta la hice instalando la 
 extensi贸n de pageinspect y usando esa function.

select relfilenode from pg_class where relname = 'gps_datos';

Est谩 en un directorio que se llama seg[un el OID de la base de datos
select oid, datname from pg_database;

-- 
脕lvaro Herrera alvhe...@alvh.no-ip.org
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci髇:
http://www.postgresql.org/mailpref/pgsql-es-ayuda




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-29 Por tema Alejandro Carrillo
Hola

Ya coloque con un editor hexadecimal el valor de xmax en 0 (LO SÉ poque 
reemplacé el archivo y volvi a consultar select * from 
heap_page_items(get_raw_page('gps_datos',0))), sin embargo no me sale el dato 
eliminado. Creo que me falta el bit con xmax commited en el registro eliminado, 
pero no sé donde ponerlo en el archivo.

Por favor ayudame.


Gracias





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com; Quijada Edwin listas_quij...@hotmail.com; Gonzalez 
Rodrigo lis...@estrads.com.ar 
Enviado: Martes 29 de Mayo de 2012 14:28
Asunto: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar 
borrado físico de registro.
 

Excerpts from Alejandro Carrillo's message of mar may 29 14:15:18 -0400 2012:
 Ok, entiendo. Ya llegue a ese archivo a través de la ruta 
 pgsql\data\base\16641 y copie el archivo 58031. ¿Ahora como quito el hint bit
 de xmax committed y coloco el valor de xmax en 0, usando el editor 
 hexadecimal (en donde coloco en el archivo esos cambios)?

Usa pg_filedump para averiguar el offset de cada tupla.  Luego mira en
htup.h la definición de HeapTupleHeaderData para saber en qué posición
de la cabecera de tupla está cada elemento; tú buscas t_infomask y
t_xmax.  Una forma simple puede ser ver el pg_filedump de cada tupla qué
valor tiene cada campo, y encontrar ese valor en el editor (ojo con
valores little endian: los bytes se ponen al revés).  Tocas el archivo,
grabas, y luego un nuevo pg_filedump te dirá si has modificado la
posición correcta.

Otra opción que se me acaba de ocurrir es tener el servidor corriendo, y
usando GDB modificar los valores en caliente en el buffer que tiene la
página de datos correspondiente.  Neceesitas saber suficiente de GDB
y tener familiaridad con el código de Postgres para saber qué tocar y
cómo .. pero al menos no tienes que estar moviendo bytes a mano.  Como
nunca lo he hecho, no explicaré cómo se hace porque no lo sé.

-- 
Álvaro Herrera alvhe...@alvh.no-ip.org




[pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-29 Por tema Alejandro Carrillo
Muchas gracias amigo. Busque ese valor 02 05 en el editor hexadecimal XVI32, le 
cambie el 05 por 01, reinicie el servidor de postgresql y funcionó 
perfectamente. Eso era lo que me hacia falta, incluso soporta hacerle vacuum a 
la tabla y no me borra ese registro.

Pasos:
--1) Buscar el oid de la BD
select oid from pg_database d where d.datname ='pruebas';
--2) Buscar la ruta del archivo donde se encuentra la tabla, el OID de la BD 
debe coincidir con el OID de la ruta
SELECT pg_relation_filenode('gps_datos'),pg_relation_filepath('gps_datos');
--3) Buscar esa ruta en el directorio data de la carpeta donde se encuentra 
postgresql
--4) Abrir el archivo donde se encuentra la tabla con un editor hexadecimal 
(pueden usar el de su preferencia)
--5) Instalar la extensión pageinspect
CREATE EXTENSION pageinspect;
--6) Usar las funciones heap_page_items y get_raw_page para obtener información 
de los registros en la tabla. 
 Los registros a recuperar contienen un valor diferente a 0 en la columna 
t_xmax (transacción que eliminó el registro)
select * from heap_page_items(get_raw_page('gps_datos',0));
--7) Usando el editor hexadecimal, ir a la posicion que esta en la columna 
lp_off del registro a recuperar
--7.1) Los primeros 4 bytes son el t_xmin, los siguientes 4 bytes son t_xmax, 
se debe cambiar el valor de cada uno de estos 4 bytes (t_xmax) a cero(00). 
Ambos se leen de derecha a izquierda.
--7.2) Es necesario resetear los bits XMAX_COMMITTED, para ello se toma el 
valor de la columna t_infomask, obtenida del query en el punto 6, para el 
registro a recuperar(en mi caso 1282)
-  y se convierte el valor de esa columna a hexadecimal (0502 en mi caso), 
luego cuenta 13 bytes hacia adelante para llegar al infomask, el cual permite 
visualizar el registro (posiciones: 
http://www.postgresql.org/docs/9.0/interactive/storage-page-layout.html)
-  por ultimo, se le resta 0x0400(XMAX_COMMITTED) al valor hexa (0502 en mi 
caso) y el resultado (0102 en mi caso), se coloca reemplazando el valor del 
infomask actual (se escribe de derecha a izquierda, 02 01 en mi caso).


Estos pasos se deben hacer para cada registro a recuperar.



 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com; Quijada Edwin listas_quij...@hotmail.com; Gonzalez 
Rodrigo lis...@estrads.com.ar 
Enviado: Martes 29 de Mayo de 2012 15:10
Asunto: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar 
borrado físico de registro.
 

Excerpts from Alejandro Carrillo's message of mar may 29 15:59:41 -0400 2012:
 Hola
 
 Ya coloque con un editor hexadecimal el valor de xmax en 0 (LO SÉ poque 
 reemplacé el archivo y volvi a consultar select * from 
 heap_page_items(get_raw_page('gps_datos',0))), sin embargo no me sale el 
 dato eliminado. Creo que me falta el bit con xmax commited en el registro 
 eliminado, pero no sé donde ponerlo en el archivo.

El numero que dice 1282 debe ser el infomask; en hex es 502.
XMAX_COMMITTED es 0x0400, así que debes cambiar el 502 por 102 para
resetear ese bit.

-- 
Álvaro Herrera alvhe...@alvh.no-ip.org




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-29 Por tema Alejandro Carrillo
Por cierto, ¿alguien sabe si esta persona subió el recuperador y donde se puede 
descargar?
http://archives.postgresql.org/pgsql-es-ayuda/2006-02/msg00300.php
German Gonzalez




 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; SQL Ayuda Postgre 
pgsql-es-ayuda@postgresql.org 
CC: Herrera Alvaro alvhe...@alvh.no-ip.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Martes 29 de Mayo de 2012 17:50
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Reenvío la respuesta ya que no aparece en los email de la lista (y creo q 
sería una respuesta ), excepto en 
http://web.archiveorange.com/archive/v/dFNxkHpJO8h9alMLvR0w

Muchas gracias amigo. Busque ese valor 02 05 en el editor 
hexadecimal XVI32, le cambie el 05 por 01, reinicie el servidor de 
postgresql y funcionó perfectamente. Eso era lo que me hacia falta, 
incluso soporta hacerle vacuum a la tabla y no me borra ese registro.

Pasos:
--1) Buscar el oid de la BD
select oid from pg_database d where d.datname ='pruebas';
--2) Buscar la ruta del archivo donde se encuentra la tabla, el OID de la BD 
debe coincidir con el OID de la ruta
SELECT pg_relation_filenode('gps_datos'),pg_relation_filepath('gps_datos');
--3) Buscar esa ruta en el directorio data de la carpeta donde se encuentra 
postgresql
--4) Abrir el archivo donde se encuentra la tabla con un editor hexadecimal 
(pueden usar el de su preferencia)
--5) Instalar la extensión
 pageinspect
CREATE EXTENSION pageinspect;
--6) Usar las funciones heap_page_items y get_raw_page para obtener 
información de los registros en la tabla. 
 Los registros a recuperar contienen un valor diferente a 0 en la columna 
t_xmax (transacción que eliminó el registro)
select * from heap_page_items(get_raw_page('gps_datos',0));
--7) Usando el editor hexadecimal, ir a la posicion que esta en la columna 
lp_off del registro a recuperar
--7.1)
 Los primeros 4 bytes son el t_xmin, los siguientes 4 bytes son t_xmax, 
se debe cambiar el valor de cada uno de estos 4 bytes (t_xmax) a 
cero(00). Ambos se leen de derecha a izquierda.
--7.2) Es necesario 
resetear los bits XMAX_COMMITTED, para ello se toma el valor de la 
columna t_infomask, obtenida del query en el punto 6, para el registro a
 recuperar(en mi caso 1282)
-  y se convierte el valor de esa 
columna a hexadecimal (0502 en mi caso), luego cuenta 13 bytes hacia
 adelante para llegar al infomask, el cual permite visualizar el 
registro (posiciones: 
http://www.postgresql.org/docs/9.0/interactive/storage-page-layout.html)
- 
 por ultimo, se le resta 0x0400(XMAX_COMMITTED) al valor hexa (0502 en 
mi caso) y el resultado (0102 en mi caso), se coloca reemplazando el 
valor del infomask actual (se escribe de derecha a izquierda, 02 01 en 
mi caso).


Estos pasos se deben hacer para cada registro a recuperar.




 De: Alejandro Carrillo faster...@yahoo.es
Para: SQL Ayuda Postgre pgsql-es-ayuda@postgresql.org 
CC: Herrera Alvaro alvhe...@alvh.no-ip.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Jueves 5 de abril de 2012 21:56
Asunto: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Hola,


Alguno sabe como recuperar (sin backups, sin pg_audit, sin borrado logico), 
un registro de una tabla de la BD. He estado investigando y al parecer todo 
apunta a HeapTupleSatisfiesVisibility(), que debe estar en true para ver los 
registros borrados de todas las tablas, que no se le han hecho vacuum. El lio 
radica, en que no se puede volver a compilar postgresql para hacer esta 
maniobra. 



Gracias






[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Insert automáticos en tablas (Ejecución programada mensual)

2012-05-24 Por tema Alejandro Carrillo
cron  de linux o tarea programada en windows.
Tambien puedes usar pgagent para que ejecute un copy from stdin y el archivo 
debe estar en el servidor.





 De: listaconsu...@cuentasdelcondominio.com.ve 
 listaconsu...@cuentasdelcondominio.com.ve
Para: pgsql-es-ayuda@postgresql.org 
Enviado: Jueves 24 de Mayo de 2012 11:10
Asunto: [pgsql-es-ayuda] Insert automáticos en tablas (Ejecución programada 
mensual)
 
Buenos días, reenvio mi consulta porque al parecer no llegó a su destino.

Saludos compañeros, estoy programando un pequeño sistema administrativo
y requiero hacer un proceso o script para insertar en una tabla lo que
sería el registro de cargos automáticos para la empresa, por concepto de
seguridad social, política habitacional y otros cargos, para cada
empleado de la empresa.

Mensualmente debo insertar estos cargos en la tabla respectiva de manera
automática, para cada empleado, para ello consulto el registro de cada
empleado donde tengo la información de su salario y el porcentaje de
deducción por cada item mencionado.

¿Por qué lo quiero de manera automática? porque quiero evitar que el
componente humano olvide cargar el descuento, originándose cualquier
problema contable posterior.

El script o query con el insert (.sql) ya lo tengo creado, lo que no se
hacer es la programación en mi servidor.

cron?

Base de datos: Postgresql
S.O: linux Ubuntu version 12.04

Podría alguien orientarme como debo enfocar mi requerimiento?

De antemano muchas gracias por sus sugerencias o consejos.

-
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] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-23 Por tema Alejandro Carrillo
Estaba compilando con Visual C++ 6, ahora estoy compilando con dev c++ y me 
sale esto : #error must have a working 64-bit integer datatype





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; Alvaro Herrera 
alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Martes 22 de Mayo de 2012 17:00
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: 
[pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Por favor alguien sabe como resolver esto?





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Domingo 8 de abril de 2012 22:17
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar 
borrado físico de registro.
 



Al compilar tengo error en el archivo postgres.h

typedef uintptr_t Datum;
d:\postgresql\postgresql-9.1.0-1-windows-binaries 
listo\pgsql\include\server\postgres.h(302) : error C2061: syntax error : 
identifier 'Datum'



 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Viernes 6 de abril de 2012 10:22
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Pero ... ¿Como puedo compilar las fuentes para Windows o encontrar un 
compilado para Windows?





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Jueves 5 de abril de 2012 22:26
Asunto: Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Excerpts from Alejandro Carrillo's message of jue abr 05 23:56:27 -0300 
2012:
 Hola,
 
 Alguno sabe como recuperar (sin backups, sin pg_audit,
 sin borrado logico), un registro de una tabla de la BD. He estado investigando 
y al parecer todo apunta a HeapTupleSatisfiesVisibility(), que debe estar en 
true para ver los registros borrados de
 todas las tablas, que no se le han hecho vacuum. El lio radica, en que no se 
puede volver a compilar postgresql para hacer esta maniobra. 

tienes suerte
http://www.depesz.com/2012/04/04/lets-talk-dirty/

-- 
�lvaro Herrera alvhe...@alvh.no-ip.org
-
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] [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-23 Por tema Alejandro Carrillo
Y despues de tanto intentar me sale esto:

Compilador: Default compiler
Building Makefile: C:\Documents and 
Settings\Administrador\Escritorio\pg_dirtyread\Makefile.win
Ejecutando  make...
make.exe -f C:\Documents and 
Settings\Administrador\Escritorio\pg_dirtyread\Makefile.win all
dllwrap.exe --output-def libpg_dirtyread.def --implib libpg_dirtyread.a 
pg_dirtyread.o  -LC:/Dev-Cpp/lib -LC:/postgresql-9.1.0-1-windows-binaries 
listo/pgsql/lib --no-export-all-symbols --add-stdcall-alias  -o 
pg_dirtyread.dll

gcc: ommon\Too    : No such file or directory

dllwrap.exe: no export definition file provided.
Creating one, but that may not be what you want
dllwrap.exe: gcc exited with status 1

make.exe: *** [pg_dirtyread.dll] Error 1

Ejecución Terminada


¿Que estoy haciendo mal? ¡¡¡Ayuda!!!





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; Alvaro Herrera 
alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Miércoles 23 de Mayo de 2012 10:55
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: 
[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Estaba compilando con Visual C++ 6, ahora estoy compilando con dev c++ y me 
sale esto : #error must have a working 64-bit integer datatype





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alejandro Carrillo faster...@yahoo.es; Alvaro Herrera 
alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Martes 22 de Mayo de 2012 17:00
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: 
[pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Por favor alguien sabe como resolver esto?





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Domingo 8 de abril de 2012 22:17
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar 
borrado físico de registro.
 



Al compilar tengo error en el archivo postgres.h

typedef uintptr_t Datum;
d:\postgresql\postgresql-9.1.0-1-windows-binaries 
listo\pgsql\include\server\postgres.h(302) : error C2061: syntax error : 
identifier 'Datum'



 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Viernes 6 de abril de 2012 10:22
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Pero ... ¿Como puedo compilar las fuentes para Windows o encontrar un 
compilado para Windows?





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Jueves 5 de abril de 2012 22:26
Asunto: Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Excerpts from Alejandro Carrillo's message of jue abr 05 23:56:27 -0300 
2012:
 Hola,
 
 Alguno sabe como recuperar (sin backups, sin pg_audit,
 sin borrado logico), un registro de una tabla de la BD. He estado investigando 
y al parecer todo apunta a HeapTupleSatisfiesVisibility(), que debe estar en 
true para ver los registros borrados de
 todas las tablas, que no se le han hecho vacuum. El lio radica, en que no se 
puede volver a compilar postgresql para hacer esta maniobra. 

tienes suerte
http://www.depesz.com/2012/04/04/lets-talk-dirty/

-- 
�lvaro Herrera alvhe...@alvh.no-ip.org
-
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] Consulta SQL

2012-05-22 Por tema Alejandro Carrillo
Te vuelvo a repetir la respuesta COMPLETA:

1) Te recomiendo no tomes este hilo para hacer esta pregunta. Crea uno nuevo y 
publicalo en la lista.
2) Si todas las tablas tienen triggers(es decir, cuando borras las padre 
se activa el trigger que alamcena cada tabla hija en el log), podrías 
crear una function que recupere la info que esté borrada, teniendo en 
cuenta las relaciones ACTUALES EN EL MODELO DE LA BD.


Para consultar las tablas que son hijas de la tabla padre:
SELECT
    tc.constraint_name, tc.table_name, kcu.column_name, 
    ccu.table_name AS NOMBRETABLAFORANEA,
    ccu.column_name AS NOMBRECOLFORANEA 
    ,CCU.*
FROM 
    information_schema.table_constraints AS tc 
    JOIN
 information_schema.key_column_usage AS kcu ON tc.constraint_name = 
kcu.constraint_name
    JOIN information_schema.constraint_column_usage AS ccu ON 
ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY' AND ccu.table_name='clientes' AND 
CCU.TABLE_SCHEMA ='public' ;

Tomado de: 
http://stackoverflow.com/questions/1152260/postgres-sql-to-list-table-foreign-keys 
Modifique para que permitiera consultar por schemas.

ó

SELECT fkn.nspname AS fk_namespace, fkr.relname AS fk_relation, fka.attname AS 
fk_column, fka.attnotnull AS fk_notnull,
 (EXISTS
 (SELECT pg_index.indexrelid, pg_index.indrelid, pg_index.indkey, 
pg_index.indclass, pg_index.indnatts, pg_index.indisunique, 
pg_index.indisprimary, pg_index.indisclustered, pg_index.indexprs, 
pg_index.indpred FROM pg_index WHERE ((pg_index.indrelid = fkr.oid) AND 
(pg_index.indkey[0] =
 fka.attnum AS fk_indexed,
  pkn.nspname AS pk_namespace, pkr.relname AS pk_relation, pka.attname AS 
pk_column, 
 
 (EXISTS (SELECT pg_index.indexrelid, pg_index.indrelid, 
pg_index.indkey, pg_index.indclass, pg_index.indnatts, 
pg_index.indisunique, pg_index.indisprimary, pg_index.indisclustered, 
pg_index.indexprs, pg_index.indpred FROM pg_index WHERE 
((pg_index.indrelid = pkr.oid) AND (pg_index.indkey[0] = pka.attnum 
AS pk_indexed, 
  ((c.confupdtype)::text || (c.confdeltype)::text) AS ud, cn.nspname AS 
c_namespace, c.conname AS c_name 
 
 FROM (((pg_constraint c JOIN pg_namespace cn ON ((cn.oid = 
c.connamespace))) JOIN pg_class fkr ON ((fkr.oid = c.conrelid))) 
  
JOIN pg_namespace fkn ON ((fkn.oid = fkr.relnamespace))) JOIN 
pg_attribute fka ON (((fka.attrelid = c.conrelid) AND (fka.attnum = ANY 
(c.conkey) 
  JOIN pg_class pkr ON ((pkr.oid = c.confrelid))) JOIN pg_namespace pkn ON 
((pkn.oid =
 pkr.relnamespace))) JOIN pg_attribute pka ON (((pka.attrelid = c.confrelid) 
  AND (pka.attnum = ANY (c.confkey) WHERE (c.contype = 'f'::char) and 
pkn.nspname ='public' and pkr.relname ='clientes';

Tomado de: http://code.google.com/p/pgutils/downloads/list 

Modifique para que permitiera consultar por schema y tabla.

La solución sería: Cuando se recupere una tabla 
padre, se deben recuperar todos los registros de las tablas hijas. Para 
saber cuales son las tablas hijas, ahi estan las consultas. Aunque 
podrías hacer la inversa para recuperar un registro, verifique las 
tablas padre de esta tabla y recupere esos registros de ls tablas padre y luego 
recupere el registro de la tabla hija.

Cuidate




 De: Alexis Camue aca...@estudiantes.uci.cu
Para: Alejandro Carrillo faster...@yahoo.es 
Enviado: Domingo 20 de Mayo de 2012 0:08
Asunto: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Efectuar 
copy desde un archivo con más columnas que la tabla
 
Buenas le escribo porque tengo una duda  con postgres:


Le explico mi problema:
Tengo hecha una aplicación que controla las
operaciones (INSERT, UPDATE, DELETE) realizadas en una base de datos
postgreSQL a travéz de triggers. Todos estos datos son guardados en
tablas de manera tal que en esa base datos no se pierda información y
que el usuario pueda recuperarla cuando desee. Ej: Un usuario borra de
una tabla PERSONA a la PERSONA(id=1, nombre =alejandro), estos datos a
travéz de triggers se guardan en una tabla creada con anterioridad
llamada PERSONA_delete, si el usuario quiere deshacer esta acción,
selecciona desde la aplicación este registro guardado y lo recupera (La
aplicación se encarga de hacer esto a travéz de una consulta insert).
Esto me funciona perfecto en una base de datos con tablas NO
RELACIONADAS pero cuando voy a recuperar una entidad que pertenece a
una tabla X que presenta una relación z con la tabla Y, postgre me
envia error de primary key, forein key etc. Pienso que esto tenga que
ver con borrar e insertar en CASCADA, pero desconozco como funciona
este proceso y no he podido encontrar una bibliografia o pagina donde
se explique este proceso para poder automatizarlo (si se puede) tiene usted 
alguna idea de como es__???. 

Le agradecería cualquier contribución al respecto.


saludos



Quien quiere hacer busca medios...quien no quiere hacer busca justificaciones
Cada persona desconocida, es un amigo esperando por ti

Re: [pgsql-es-ayuda] Consumir TXT Tabulado de Oracle para Postgresql

2012-05-22 Por tema Alejandro Carrillo
Creo que no es de ancho fijo. Puedes usar un cron para hacer esto (no te 
sugiero pgagent ya que este es solo para tareas de postgresql y no para tareas 
de S.O.) de Unix o tareas programadas de Windows para ejecutar un sh o un bat 
que haga toda esa labor (estar leyendo cada tanto, si existe usar copy from 
stdin enviandole el archivo como entrada estandar, después del cargue exitoso 
borrar el archivo y en caso de fallo mostrar el log de error.) O también puedes 
usar un ETL (no conozco bien cual sería el apropiado para esa tarea)





 De: Lennin Caro lennin.c...@yahoo.com
Para: Ayuda pgsql-es-ayuda@postgresql.org; ruben avila galindo 
ruben2...@gmail.com 
Enviado: Lunes 21 de Mayo de 2012 14:39
Asunto: Re: [pgsql-es-ayuda] Consumir TXT Tabulado de Oracle para Postgresql
 


Si tu archivo es de anchura fija te puede servir un modulo que hice en python, 
el cual convierte el archivo de texto en un COPY


Ing. Lennin Caro Pérez
Usuario:GNU/LINUX
PostgreSQL DBA
Oracle DBA
Linux  counter id 474393

--- On Mon, 5/21/12, ruben avila galindo ruben2...@gmail.com wrote:


From: ruben avila galindo ruben2...@gmail.com
Subject: [pgsql-es-ayuda] Consumir TXT Tabulado de Oracle para Postgresql
To: Ayuda pgsql-es-ayuda@postgresql.org
Date: Monday, May 21, 2012, 7:06 PM


Hola buenos dias quiciera saber si podria consumir median Postgresql un 
archivo Tabulado en Txt algo asi:




11 Ruben Avila Galindo 34.56 12/12/2009
232323 Melissa Miracal        50.80 14/02/2012


..




Lo que pasa tengo que Cargar datos traidos de un Hosting para mi sistema 
hecho en PHP con Postgresql para alimentar todo los dias mis maestros se 
puede hacer que sea 
automatico que solito baje depositen a un carpeta y este leyendo la Carpeta y 
si vee el archivo lo lee y de ahi terminada lo elimine.


Alguna sugerencia o experiencia en hacer eso.




Saludos




Ruben Avila G
Peru 



[pgsql-es-ayuda] Preguntas de Lord

2012-05-22 Por tema Alejandro Carrillo
Hola,

Para hacerles unas preguntas (si se pueden hacer desde un function de 
postgresql (sea plpgsql u otro lenguaje) y como se pueden hacer):
1) ¿Se puede enviar por ftp un archivo desde postgresql?
2) ¿Se puede crear un archivo en un directorio especificado del servidor sin 
usar un query?
3) ¿Se puede consumir un webservice desde postgresql?
4) ¿En la versión de desarrollo, están implementadas las referencias entre 
bases de datos?

Gracias


Re: [pgsql-es-ayuda] Preguntas de Lord

2012-05-22 Por tema Alejandro Carrillo
jajaja no. Aunque es buena la pregunta para aclarar. Las hago es por 
funcionalidad, para saber si soporta algunas o ninguna y si están en desarrollo 
o no.





 De: Cesar Erices caeri...@gmail.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: SQL Ayuda Postgre pgsql-es-ayuda@postgresql.org; Herrera Alvaro 
alvhe...@alvh.no-ip.org 
Enviado: Martes 22 de Mayo de 2012 14:17
Asunto: Re: [pgsql-es-ayuda] Preguntas de Lord
 

Es una tarea de Universidad?

atte.


El 22 de mayo de 2012 15:09, Alejandro Carrillo faster...@yahoo.es escribió:

Hola,


Para hacerles unas preguntas (si se pueden hacer desde un function de 
postgresql (sea plpgsql u otro lenguaje) y como se pueden hacer):
1) ¿Se puede enviar por ftp un archivo desde postgresql?
2) ¿Se puede crear un archivo en un directorio especificado del servidor sin 
usar un query?
3) ¿Se puede consumir un webservice desde postgresql?
4) ¿En la versión de desarrollo, están implementadas las referencias entre 
bases de datos?


Gracias



-- 
Sin más que decir se despide de Usted, muy atentamente 

Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema

Santiago - Chile




Re: [pgsql-es-ayuda] Preguntas de Lord

2012-05-22 Por tema Alejandro Carrillo
no. necesitas usar dblink o si solo quieres leer FDW
Con respecto a esta respuesta, tiene información acerca de si existe pgsql_fdw 
para windows?

Gracias.






 De: Jaime Casanova ja...@2ndquadrant.com
Para: Alejandro Carrillo faster...@yahoo.es 
CC: SQL Ayuda Postgre pgsql-es-ayuda@postgresql.org; Herrera Alvaro 
alvhe...@alvh.no-ip.org 
Enviado: Martes 22 de Mayo de 2012 14:46
Asunto: Re: [pgsql-es-ayuda] Preguntas de Lord
 
2012/5/22 Alejandro Carrillo faster...@yahoo.es:

 1) ¿Se puede enviar por ftp un archivo desde postgresql?

usando lenguajes untrusted (ej: plpythonu) puedes hacer lo que sea.
tambien podrias usar pl/sh (http://plsh.projects.postgresql.org/) para
crear scripts en bash

 2) ¿Se puede crear un archivo en un directorio especificado del servidor sin
 usar un query?

usando lenguajes untrusted (ej: plpythonu) puedes hacer lo que sea.
tambien podrias usar pl/sh (http://plsh.projects.postgresql.org/) para
crear scripts en bash

como minimo deberas ejecutar select funcion(), que cuenta como query

 3) ¿Se puede consumir un webservice desde postgresql?

usando lenguajes untrusted (ej: plpythonu) puedes hacer lo que sea.
tambien podrias usar pl/sh (http://plsh.projects.postgresql.org/) para
crear scripts en bash

 4) ¿En la versión de desarrollo, están implementadas las referencias entre
 bases de datos?


no. necesitas usar dblink o si solo quieres leer FDW

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




[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.

2012-05-22 Por tema Alejandro Carrillo
Por favor alguien sabe como resolver esto?





 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Domingo 8 de abril de 2012 22:17
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar 
borrado físico de registro.
 



Al compilar tengo error en el archivo postgres.h

typedef uintptr_t Datum;
d:\postgresql\postgresql-9.1.0-1-windows-binaries 
listo\pgsql\include\server\postgres.h(302) : error C2061: syntax error : 
identifier 'Datum'



 De: Alejandro Carrillo faster...@yahoo.es
Para: Alvaro Herrera alvhe...@alvh.no-ip.org 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Viernes 6 de abril de 2012 10:22
Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Recuperar borrado físico de 
registro.
 

Pero ... ¿Como puedo compilar las fuentes para Windows o encontrar un 
compilado para Windows?





 De: Alvaro Herrera alvhe...@alvh.no-ip.org
Para: Alejandro Carrillo faster...@yahoo.es 
CC: Ayuda pgsql-es-ayuda@postgresql.org; Casanova Jaime 
ja...@2ndquadrant.com 
Enviado: Jueves 5 de abril de 2012 22:26
Asunto: Re: [pgsql-es-ayuda] Recuperar borrado físico de registro.
 

Excerpts from Alejandro Carrillo's message of jue abr 05 23:56:27 -0300 2012:
 Hola,
 
 Alguno sabe como recuperar (sin backups, sin pg_audit, sin borrado 
 logico), un registro de una tabla de la BD. He estado investigando y al 
 parecer todo apunta a HeapTupleSatisfiesVisibility(), que debe estar en 
 true para ver los registros borrados de
 todas las tablas, que no se le han hecho vacuum. El lio radica, en que no se 
puede volver a compilar postgresql para hacer esta maniobra. 

tienes suerte
http://www.depesz.com/2012/04/04/lets-talk-dirty/

-- 
�lvaro Herrera alvhe...@alvh.no-ip.org
-
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] Re: [pgsql-es-ayuda] Efectuar copy desde un archivo con más columnas que la tabla

2012-05-18 Por tema Alejandro Carrillo
Solo por cultura general sin ánimo de nada. Fzpgloader carga a través de red 
LAN (100 MBits/seg) un archivo de 2 millones de registros(csv de 174 MB), 
colocando o quitando columnas, en 1 minuto y 20-40 segundos dependiendo de la 
velocidad de acceso al disco del cliente que posee el archivo a cargar.





 De: Edwin Quijada listas_quij...@hotmail.com
Para: svh.pg...@gmail.com; faster...@yahoo.es 
CC: pgsql-es-ayuda@postgresql.org 
Enviado: Viernes 18 de Mayo de 2012 8:19
Asunto: RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Efectuar copy desde un 
archivo con más columnas que la tabla
 

 
No entiendo porque no modificas el COPY y le agregas las dos columnas. Como es 
un comando de la consola no creo que tengas que compilar y agregar nuevas 
cosas. Y te entiendo la rapidez es bastante buena en COPY y entrar 4M de otrra 
forma es un poco lento, bueno depende mucho del serve tambien.




Date: Wed, 16 May 2012 18:09:25 -0400
Subject: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Efectuar copy desde un archivo 
con más columnas que la tabla
From: svh.pg...@gmail.com
To: faster...@yahoo.es
CC: pgsql-es-ayuda@postgresql.org




El 16 de mayo de 2012 16:19, Alejandro Carrillo faster...@yahoo.es escribió:

Leyendo la doc a vuelo de pajaro creería que no tienes salida más que usar el 
fzpgloader (http://sourceforge.net/projects/fzpgloader/) o el pgloader 
(http://pgfoundry.org/projects/pgloader/). Sin embargo, leete la doc: 
http://www.postgresql.org/docs/9.0/static/sql-copy.html

En realidad quiero evitar el uso de herramientas externas, pues copy es 
bastante rápido para la carga de datos y no se como es el rendimiento de las 
herramientas que me indicas.
Voy a mirar las características de ambas, pero tambien probaré con Kettle 
(Pentaho) que es un ETL que utilizo con frecuencia.

Gracias,

-- 
Sergio Valdés H.




  1   2   3   4   >