<html><div style='background-color:'><P>Hola a todos.. estoy tratando de mejorar el rendimiento en mi Db debido a que mi aplicacion se ha lentilizado desde que salio a produccion, he añadido mas indices y respaldos periodicos.. pero alguien sabe.. como puedo mejorar el rendimiento de mi DB y que no mas deberia tomar en cuenta.</P>
<P>ME gustaria saber ademas como puedo saber cuantas conexiones tengo activas para ver si es que alguna es que se me cuelga y ese es mi problema...</P>
<P>Esperando alguno de ustedes me pueda ayudar, les doy las gracias de antemano....</P>
<P>saludos,<BR></P>
<DIV><STRONG><EM><FONT color=#000099><IMG height=12 src="http://graphics.hotmail.com/emrose.gif" width=12> <FONT face="Verdana, Geneva, Arial, Sans-serif"><FONT face="" size=3>Yessenia Villacis C.</FONT></FONT></FONT></EM></STRONG></DIV><BR>PD. tengo la version 7.4 bajo red-hat<BR><BR>>From: Alvaro Herrera <alvherre(at)surnet(dot)cl><BR>>To: Grover Navia <grover8navia(at)yahoo(dot)es><BR>>CC: pgsql-es-ayuda(at)postgresql(dot)org<BR>>Subject: Re: [pgsql-es-ayuda] Control de acceso a tablas<BR>>Date: Wed, 11 May 2005 11:10:05 -0400<BR>><BR>>On Wed, May 11, 2005 at 04:24:09PM +0200, Grover Navia wrote:<BR>><BR>>Hola,<BR>><BR>> > Esto es lo que requiero hacer, tengo una tabla "miTabla", al cual debe<BR>> > acceder un solo usuario del sistema a la ves (desde una estación de<BR>> > trabajo), ya sea para lectura o escritura, mientras el seguno,<BR>>
> tercero, etc. no deben tener acceso a "miTabla" mientras el primero en<BR>> > acceder NO haya terminado toda sus operaciones de lectura o escritura.<BR>> > ¿Como puedo hacer esto ??<BR>><BR>>Usando LOCK TABLE.<BR>><BR>> > Entiendo que las Transacciones de Postgresql no pueden operar de esta<BR>> > manera (ojala me equivoque en esto, pero es asi como entendi al leer<BR>> > el documento de Transaction Processing in PostgreSQL).<BR>><BR>>Sospecho que tu problema es que la politica de bloqueo no esta bien<BR>>definida. Si quieres bloquear todos los usuarios de una tabla mientras<BR>>uno hace algo, tiene que ser con LOCK TABLE. Pero probablemente no es<BR>>eso realmente lo que quieres, sino lo que tu crees que quieres :-)<BR>><BR>>Porque llevando ese argumento al extremo, seria mucho mejor si hubiera<BR>>en todo momento solo
un usuario conectado, no es asi? De esa manera el<BR>>resto no interferiria. Pero creo que no es realmente una salida<BR>>satisfactoria. Entonces mejor bloquear solo la tabla? Quizas siga<BR>>siendo insatisfactoria. Que tal bloquear solo el registro en cuestion?<BR>>Para eso podrias usar SELECT FOR UPDATE; pero mucho ojo con las<BR>>transacciones. Quizas lo que necesites sea userlocks. Pero si es un<BR>>sistema PHP o similar vas a tener muchos problemas para mantener a un<BR>>usuario dentro de una misma conexion ==> mas problemas.<BR>><BR>>Quizas lo que _realmente_ necesitas es que el programa sea mucho mas<BR>>inteligente y actue con cuidado al actualizar un registro, fijandose si<BR>>lo que va a sobreescribir es lo mismo que habia cuando el usuario empezo<BR>>a modificar el registro; si hay cambios, tiene que avisarle al usuario<BR>>para que
haga un "merge".<BR>><BR>>--<BR>>Alvaro Herrera (<alvherre[a]surnet.cl>)<BR>>"Postgres is bloatware by design: it was built to house<BR>> PhD theses." (Joey Hellerstein, SIGMOD annual conference 2002)<BR>><BR>>---------------------------(fin del mensaje)---------------------------<BR>>TIP 5: ¿Has leído nuestro extenso FAQ?<BR>><BR>> http://www.postgresql.org/files/documentation/faqs/FAQ.html<BR></div></html>