dandole seguimiento...te respondo el error y algo que consegui...

On 01/21/2021 12:03 a.m., Jaime Casanova wrote:
On Wed, Jan 20, 2021 at 4:36 PM Javier Lugo Porras<jlu...@hotmail.com>  wrote:
Hola a todos,
esta funcion que les copio me trabaja muy bien con postgresql 9-5, migre
a la 10.15, y no esta funcionando a traves de un proceso .cmd en
windows, sin embargo lo ejecuto usando pgadmin Y trabaja muy bien.  El
user que lo llama es SUPERUSUARIO, me manda un error  en la Linea 1...No
es cuestion de ROLES, ya que si realiza otras sentencias (INSERT) sin
problemas.

Y cual es el mensaje de error?
TE LO ESCRIBO:
ERROR: error de sintanxis en cerca de...Y MUESTRA UNOS CARACTERES ASCII....


encontre un agente del pgadmin el cual lo puedo AUTOMATIZAR,,,se ve bien!...voy a probarlo...


 Creating a pgAgent Job¶
 
<https://www.pgadmin.org/docs/pgadmin4/development/pgagent_jobs.html#creating-a-pgagent-job>

pgAgent is a scheduling agent that runs and manages jobs; each job consists of steps and schedules.
https://www.pgadmin.org/docs/pgadmin4/development/pgagent_jobs.html

si alguno lo ha utilizado, agradecere sus comentarios!...SE PUEDE usar en LINUX O WINDOWS. seria como una 2da. opcion....ya que con los comandos usando psql funcionan bien!...







además, no es que desconfíe de ti pero puedes mostrar el resultado de
la consulta:
SELECT rolname, rolsuper FROM pg_authid WHERE rolname = 'nombre del usuario';

otras cosas que puedes revisar, estas seguro que estas conectado a la
base de datos correcta?

El proceso  elimina los usuarios conectados a la bd CONECTADOS,  despues
de 1hora y superiores a 15minutos,  (para liberar las conexiones
muertas). Migre a la version 10 y no me esta trabajando,   Este proceso
lo tengo a ejecutarse cada 15 minutos y me mantiene el sitio
FRESH!...PERO ahora tengo que estar REVISANDO!...
la función sigue funcionando, el problema tiene que forzosamente estar
de tu lado porque no es falla de la base.

por cierto, el problema real es el que describes (que se quedan
conexiones abiertas tanto tiempo) y no que pg_terminate_backend() por
algún motivo "no esté funcionando". has analizado porque se quedan
tanto tiempo esas conexiones?

mi teoría, sin ninguna evidencia a la mano, es que las consultas que
no se están muriendo está aún ejecutando alguna consulta (state =
'active') y la consulta está en un punto que no acepta señales

SELECT pg_terminate_backend(pid)
FROM   pg_stat_activity
WHERE  pid<>  pg_backend_pid()
AND (datname = 'CLIENTE') AND (usename = 'U1' or usename = 'U2')
AND (extract(hour from (current_timestamp - state_change))>= 1
OR  extract(minute from (current_timestamp - state_change))>= 15);

Esta consulta no considera el estado de las consultas, le da igual si
están en ejecución ('active'), esperando actividad ('idle') o
esperando actividad en una transacción ('idle in transaction'). es a
proposito?

quizá te sirvan los parámetros
(https://www.postgresql.org/docs/10/runtime-config-client.html):
- statement_timeout
- idle_in_transaction_session_timeout




--
Este correo electrónico ha sido comprobado en busca de virus por AVG.
http://www.avg.com

Reply via email to