Re: [pgsql-es-ayuda] Problema de seguridad con pg_dump

2010-05-16 Por tema Horacio Miranda
ehhh, si le das permiso a que cualquier hijo de vecino se conecto sin
clave, (es tu culpa), si le das permisos solo a la base de datos sin
password (es tu culpa)... si le das permiso con password ? no es tu
culpa (a menos que le des la clave a todo el mundo, en ese caso es tu
culpa).

(de hecho si me das login y password de root de tu maquina) es tu
culpa tambien, puede sonar pesado, pero cual es la idea de la pregunta
? quieres restringir accesos sin tener una politica de manejo de
claves ? o de limitaciones a que base de datos se conectan ?

2010/5/15 Edwin Quijada :
>
>
>
>
>> CC: pgsql-es-ayuda@postgresql.org
>> Subject: Re: [pgsql-es-ayuda] Problema de seguridad con pg_dump
>> From: alvhe...@alvh.no-ip.org
>> To: listas_quij...@hotmail.com
>> Date: Fri, 14 May 2010 16:21:00 -0400
>>
>> Excerpts from Edwin Quijada's message of vie may 14 15:56:28 -0400 2010:
>> >
>> > Estoy restaurando varios dump en forma de prueba y me he encontrado con
>> > algo preocupante. He notado que cualquier usuario con acceso a la BD puede
>> > ejecutar un dump. Me cree un usuario de prueba y oh! sorpresa me 
>> > permitieron
>> > ejecutar el dump con ese usuario desde otra maquina usando la opcion -h.
>>
>> Probablemente necesitas
>> REVOKE FROM PUBLIC
>>
>> Si tu pg_hba.conf permite conexiones desde otra maquina, es tu culpa.
>> --
>
> Obviamente necesito permitir conexiones desde otra maquina sino como
> funciona
>
> *---*
> *-Edwin Quijada
> *-Developer DataBase
> *-JQ Microsistemas
> *-Soporte PostgreSQL
> *-www.jqmicrosistemas.com
> *-809-849-8087
> *---*
>
>
>
>
> 



-- 
Saludos,
Horacio Miranda Aguilera.
RedHat Certified Engineer
DBA Oracle - Large databases
+56 2  8974500
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] Optimizacion de select(pregunta de novato)

2010-05-16 Por tema Horacio Miranda
De casualidad reviaste lo que te mensionaron de los FK (ForeingKey). La
razon es simple, cuando haces un insert y ese esta asociado a una llave
foranea (el motor revisa que este el valor referenciado) si no tiene indice
el FK se hace un full scan. a mas registros mas IO. Esta bien que la CPU
este a un 100% si estas procesando indices, pero revisa que ese 100%
efectivamente este con indices, revisa el IO con iostat -m -x 2 /dev/sd?

Ahora si un proceso esta lento mi olfato me dice que te vayas a revisar el
codigo especialmente si tienes un update por ahi, y revisa el where de ese
update (puede ser que te falte una condicion estes haciendo un update a toda
una tabla)... pero es especulacion sin mayor informacion :( ...

2010/5/15 uno dos 

>   Bueno. en efecto, yo creo que tanto el código de la aplicación, así como
> el diseño de la base de datos pueden ser optimizados, es por eso que lo
> estoy revisando con gran detalle, sin embargo, he notado que el rendimiento
> ha disminuido inclusive en secciones, en donde realizo consultas tan
> simples, como un INSERT, sin pasar por triggers, ni nada.
>
> Para el trigger, mi plan es reducir el tamaño de la tabla, pasando
> registros mas viejos a una nueva tabla reduciendo así, el número de
> registros, que son constatemente usados de 22000 a 2000. Aunque claro,
> debiera crear un trigger before y otro after para la misma tabla. Debo
> decir, que nunca he creado 2 triggers para una misma tabla, pero, no creo
> que postgres se resienta.
>
>
> Saludos, y gracias por responder.
>
> --- On *Fri, 5/14/10, Alvaro Herrera * wrote:
>
>
> From: Alvaro Herrera 
>
> Subject: Re: [pgsql-es-ayuda] Optimizacion de select(pregunta de novato)
> To: "uno dos" 
> Cc: "Alejandro D. Burne" , "pgsql-es-ayuda" <
> pgsql-es-ayuda@postgresql.org>
> Date: Friday, May 14, 2010, 10:22 PM
>
>
> Excerpts from uno dos's message of vie may 14 22:15:57 -0400 2010:
> > Ok, el autovacuum cada 1 minuto lo configuró el encargado(yo sólo estoy a
> cargo del código). Según él, leyó en la documentación que este era el tiempo
> recomendado.
>
> Sí, creo que fue eso lo que escribí en la documentación.  El chequeo es
> muy barato de ejecutar, así que no es problema ejecutarlo muy
> frecuentemente siempre que los parámetros que determinan cuándo lanzar
> un vacuum o un analyze sean apropiados.  Si no han cambiado mucho los
> parámetros de autovacuum, es difícil que esté en un estado muy malo.
>
> > Con respecto al trigger, no es tan grande, pero resulta que es un
> documento del tipo egreso, que tiene n-líneas. cada línea es una fila en la
> tabla, y por cada línea se ejecuta un trigger before. Yo creo que esta bien,
> ya que cada línea comprueba el stock, ya que cada línea representa a un
> producto en particular, pero como  pueden haber egresos con unas 100 líneas,
> la comprobación por cada una, aunque necesaria, puede hacer bastante lento
> el proceso.
>
> Es posible que tu trigger sea mucho más ineficiente de lo que podría
> ser.
>
> --
>
>
>


-- 
Saludos,
Horacio Miranda Aguilera.
RedHat Certified Engineer
DBA Oracle - Large databases
+56 2  8974500


Re: [pgsql-es-ayuda] Ayuda con campo BYTE y pg_unescape_bytea

2010-05-16 Por tema Horacio Miranda
que tal, puedes cambiar esto por favor y ver como te va.

$consulta = "SELECT * FROM  preguntas WHERE ".$t."cCodPre".$t."='$cod'";

Por

Los campos y donde sea bytea pone esto

coalesce(archivo_bytea,'-1') as archivo_bytea

y revisa este link, tengo un sitio de pruebas andando con bytea y oid
y funciona bien, hay un ejemplo bueno aca.
http://www.buayacorp.com/archivos/guardar-y-recuperar-un-archivo-en-un-campo-blob-de-postgresql-con-php/

Espero te sirva.

2010/5/14 Alfredo Zea García Calderón :
> Hola, necesito ayuda porfavor. Estoy tratando de descargar un archivo subido
> a un campo BYTEA, mi problema es que al momento de descargarlo se muestran
> solo caracteres y en el caso de ser una imagen me sale un error que dice
> archivo corrupto.
>
> Este es el codigo con el que inserto el archivo en la BD:
>
> $conexion_bd = pg_connect("host=localhost dbname=ISO17799 user=postgres
> password=postgres")
>    or die('No pudo conectarse: ' . pg_last_error());
>
>
> $file = "C:\Users\Alfredo\Desktop\imagen.jpg";
>
> $data = file_get_contents($file);
>
> $escaped = pg_escape_bytea($data);
>
> $t='"';
> $cod = "0";
>
> $consulta = "UPDATE preguntas SET ".$t."bArchiv".$t."=E'$escaped'::bytea
> WHERE ".$t."cCodPre".$t."='$cod'";
>
> $resultado = pg_query($consulta) or die('Consulta fallida: ' .
> pg_last_error());
>
>
>
>
> Y este es el codigo con el que descargo el archivo:
>
>
> header('Content-type: image/jpg');
>
> $conexion_bd = pg_connect("host=localhost dbname=ISO17799 user=postgres
> password=postgres")
>    or die('No pudo conectarse: ' . pg_last_error());
>
> $cod = "0";
> $t = '"';
> $consulta = "SELECT * FROM  preguntas WHERE ".$t."cCodPre".$t."='$cod'";
> $resultado =  pg_query($consulta) or die('Consulta fallida: ' .
> pg_last_error());
>
> $row = pg_fetch_array($resultado);
>
> pg_free_result($resultado);
>
> header("Cache-control: private");
>
> //$row[4] es la columna de la tabla que tiene el campo BYTEA
> $file=pg_unescape_bytea($row[4]);
>
>
> header("Content-Disposition: attachment; filename=imagen.jpg");
>
> print $file;
>
>
>
> Porfavor espero puedan ayudarme, no se como arreglar esto. Gracias.
>
> Saludos.



-- 
Saludos,
Horacio Miranda Aguilera.
RedHat Certified Engineer
DBA Oracle - Large databases
+56 2  8974500
-
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] Error en pg_dump

2010-05-16 Por tema Jaime Casanova
2009/11/10 Luis :
> Hola:
>
> Al hacer un pg_dump en un server Suse con Postgres 8.3.1 tengo el siguiente
> error:
>
>
> pg_dump: SQL command failed
> pg_dump: Error message from server: ERROR:  character 0xe2809c of encoding
> "UTF8" has no equivalent in "LATIN1"

Revisando correos viejos encontre este, probablemente ya lo resolviste
pero para el
registro la solución es usar pg_dump -E UTF8

-- 
Jaime Casanova www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
-
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 al restaurar una db de 2.4 gb.

2010-05-16 Por tema Jaime Casanova
2010/5/10  :
> Hola que tal, me han pasado una dase de datos en postgresql 8.1 yo la
> estoy tratando de restaurar de  la siguiente forma:
> psql -v -a -d carlos < temp/var/lib/pgsql/DUMP2010.dump

bu! no... ese archivo .dump es probablemente un archivo en formato
binario (no sql) generado con pg_dump -Fc o pg_dump -Ft y por lo tanto
se lo debe restaurar usando pg_restore no psql (el psql es un
interprete de comandos sql no de archivos binarios)

Prueba algo como:

pg_restore -C -c -d tu_base temp/var/lib/pgsql/DUMP2010.dump

-- 
Jaime Casanova www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
-
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