Re: [pgsql-es-ayuda] Problema de seguridad con pg_dump
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)
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
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
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/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