Re: [pgsql-es-ayuda] Equivalente de @@TRANCOUNT en postgresql
- Mensaje original - De: mauricio pullabuestan jmaurici...@yahoo.es Para: PostgreSQL Lista Castellano pgsql-es-ayuda@postgresql.org Enviados: Viernes, 7 de Agosto 2015 12:16:43 Asunto: [pgsql-es-ayuda] Equivalente de @@TRANCOUNT en postgresql Buen día. Estoy revisando una aplicación que utiliza Postgresql 9.4, al parecer esta dejando abierto un begin transaction, con Sql Server utilizo @@TRANCOUNT para saber si existe una transacción, cual sería el equivalente en PostgreSql. La vista pg_stat_activity es tu amiga. En 9.4, la columna state en 'idle in transaction' deberia corresponderse con un backend que hizo un BEGIN, no ha cerrado la conexion, y se encuentra oscioso. Con la columna pid, client_addr, application_name puedes tener mejor certeza de cual es el aplicativo que se esta comportando de esa manera. http://www.postgresql.org/docs/9.4/static/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW HTH Gerardo - 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] Equivalente de @@TRANCOUNT en postgresql
El vie, 07-08-2015 a las 12:02 -0400, Hector R. De los Santos escribió: Hola Mauricio, Hola Mauricio, Por lo que se, PostgreSQL finaliza las transacciones abiertas cuando termina la sesion (las finaliza con un rollback). Para ver la actividad puedes probar esta consulta: Select pid,datid,datname,usesysid,usename,application_name, backend_start,waiting,state From pg_stat_activity; Saludos, :: HDS Consultores TI Servidores | Redes | Programacion | GNU/Linux | PostgreSQL Web: http://hdsconsultores.net Blog: http://codigohds.com Linux User #:320363 El 7 de agosto de 2015, 11:16 a. m., mauricio pullabuestanjmaurici...@yahoo.es escribió: Buen día. Estoy revisando una aplicación que utiliza Postgresql 9.4, al parecer esta dejando abierto un begin transaction, con Sql Server utilizo @@TRANCOUNT para saber si existe una transacción, cual sería el equivalente en PostgreSql. Hay manera de revisar el historial de DML que afectaron una db y ver si existen transacciones pendientes. Puedes habilitar el log de dichas sentencias modificando el parámetro de configuración del postgresql.conf a: log_statement= 'dml'; # puede tomar valores ddl, mod, all Si quieres también puedes guardar en una base de datos esos logs y hacer la búsqueda que comentabas. El servidor esta en una maquina virtual con centos 5.4 me conecto a esta por navicat o PGAdmin III, existe manera de mandar a reiniciar PostgreSql desde navicat o pgAdmin o tengo que hacerlo desde la maquina virtual cual serían los comandos. Lo normal es hacerlo a través del script de servicio del postgresql. En linux suele estar en /etc/init.d/ y con un nombre que contiene *postgres* se puede ejecutar la acción restart. Saludos Mauricio. -- Jaime Soler Gómez HOPLA Software EnterpriseDB exclusive distributor ES/PT/IT LatAm - 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] Equivalente de @@TRANCOUNT en postgresql
Mauricio, Si inicias una transaccion te aseguro que si la sesión finaliza PostgreSQL hace un rollback de la transaccion. Para los datos que necesitas estan el la misma tabla: pg_stat_activity Puedes hacer un Select * from pg_stat_activity para que mires que campos son los que necesitas. Revisa los campos: query,client_addr,waiting, state Saludos, :: HDS Consultores TI Servidores | Redes | Programacion | GNU/Linux | PostgreSQL Web: http://hdsconsultores.net Blog: http://codigohds.com Linux User #:320363 El 10 de agosto de 2015, 4:37 a. m., jaime solerjaime.so...@gmail.com escribió: El vie, 07-08-2015 a las 12:02 -0400, Hector R. De los Santos escribió: Hola Mauricio, Hola Mauricio, Por lo que se, PostgreSQL finaliza las transacciones abiertas cuando termina la sesion (las finaliza con un rollback). Para ver la actividad puedes probar esta consulta: Select pid,datid,datname,usesysid,usename,application_name, backend_start,waiting,state From pg_stat_activity; Saludos, :: HDS Consultores TI Servidores | Redes | Programacion | GNU/Linux | PostgreSQL Web: http://hdsconsultores.net Blog: http://codigohds.com Linux User #:320363 El 7 de agosto de 2015, 11:16 a. m., mauricio pullabuestanjmaurici...@yahoo.es escribió: Buen día. Estoy revisando una aplicación que utiliza Postgresql 9.4, al parecer esta dejando abierto un begin transaction, con Sql Server utilizo @@TRANCOUNT para saber si existe una transacción, cual sería el equivalente en PostgreSql. Hay manera de revisar el historial de DML que afectaron una db y ver si existen transacciones pendientes. Puedes habilitar el log de dichas sentencias modificando el parámetro de configuración del postgresql.conf a: log_statement= 'dml'; # puede tomar valores ddl, mod, all Si quieres también puedes guardar en una base de datos esos logs y hacer la búsqueda que comentabas. El servidor esta en una maquina virtual con centos 5.4 me conecto a esta por navicat o PGAdmin III, existe manera de mandar a reiniciar PostgreSql desde navicat o pgAdmin o tengo que hacerlo desde la maquina virtual cual serían los comandos. Lo normal es hacerlo a través del script de servicio del postgresql. En linux suele estar en /etc/init.d/ y con un nombre que contiene *postgres* se puede ejecutar la acción restart. Saludos Mauricio.
Re: [pgsql-es-ayuda] Equivalente de @@TRANCOUNT en postgresql
El vie, 07-08-2015 a las 12:02 -0400, Hector R. De los Santos escribió: Hola Mauricio, Hola Mauricio, Por lo que se, PostgreSQL finaliza las transacciones abiertas cuando termina la sesion (las finaliza con un rollback). Para ver la actividad puedes probar esta consulta: Select pid,datid,datname,usesysid,usename,application_name, backend_start,waiting,state From pg_stat_activity; Saludos, :: HDS Consultores TI Servidores | Redes | Programacion | GNU/Linux | PostgreSQL Web: http://hdsconsultores.net Blog: http://codigohds.com Linux User #:320363 El 7 de agosto de 2015, 11:16 a. m., mauricio pullabuestanjmaurici...@yahoo.es escribió: Buen día. Estoy revisando una aplicación que utiliza Postgresql 9.4, al parecer esta dejando abierto un begin transaction, con Sql Server utilizo @@TRANCOUNT para saber si existe una transacción, cual sería el equivalente en PostgreSql. Hay manera de revisar el historial de DML que afectaron una db y ver si existen transacciones pendientes. Puedes habilitar el log de dichas sentencias modificando el parámetro de configuración del postgresql.conf a: log_statement= 'dml'; # puede tomar valores ddl, mod, all Si quieres también puedes guardar en una base de datos esos logs y hacer la búsqueda que comentabas. El servidor esta en una maquina virtual con centos 5.4 me conecto a esta por navicat o PGAdmin III, existe manera de mandar a reiniciar PostgreSql desde navicat o pgAdmin o tengo que hacerlo desde la maquina virtual cual serían los comandos. Lo normal es hacerlo a través del script de servicio del postgresql. En linux suele estar en /etc/init.d/ y con un nombre que contiene *postgres* se puede ejecutar la acción restart. Saludos Mauricio. - 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] Equivalente de @@TRANCOUNT en postgresql
Buen día. Estoy revisando una aplicación que utiliza Postgresql 9.4, al parecer esta dejando abierto un begin transaction, con Sql Server utilizo @@TRANCOUNT para saber si existe una transacción, cual sería el equivalente en PostgreSql. Hay manera de revisar el historial de DML que afectaron una db y ver si existen transacciones pendientes. El servidor esta en una maquina virtual con centos 5.4 me conecto a esta por navicat o PGAdmin III, existe manera de mandar a reiniciar PostgreSql desde navicat o pgAdmin o tengo que hacerlo desde la maquina virtual cual serían los comandos. Saludos Mauricio.
Re: [pgsql-es-ayuda] Equivalente de @@TRANCOUNT en postgresql
Hola Mauricio, Por lo que se, PostgreSQL finaliza las transacciones abiertas cuando termina la sesion (las finaliza con un rollback). Para ver la actividad puedes probar esta consulta: Select pid,datid,datname,usesysid,usename,application_name, backend_start,waiting,state From pg_stat_activity; Saludos, :: HDS Consultores TI Servidores | Redes | Programacion | GNU/Linux | PostgreSQL Web: http://hdsconsultores.net Blog: http://codigohds.com Linux User #:320363 El 7 de agosto de 2015, 11:16 a. m., mauricio pullabuestan jmaurici...@yahoo.es escribió: Buen día. Estoy revisando una aplicación que utiliza Postgresql 9.4, al parecer esta dejando abierto un begin transaction, con Sql Server utilizo @@TRANCOUNT para saber si existe una transacción, cual sería el equivalente en PostgreSql. Hay manera de revisar el historial de DML que afectaron una db y ver si existen transacciones pendientes. El servidor esta en una maquina virtual con centos 5.4 me conecto a esta por navicat o PGAdmin III, existe manera de mandar a reiniciar PostgreSql desde navicat o pgAdmin o tengo que hacerlo desde la maquina virtual cual serían los comandos. Saludos Mauricio.