jueves, 1 de octubre de 2015

Matar consultas colgadas postgres

Muchas veces tenemos consultas que estan colgadas por consumir recursos o cualquier otro tema, para matarlas primero tenemos que quedarnos con el pid con la siguiente consulta:

psql -h servidor -U postgres -d postgres (nos conectamos al server)

postgres=# SELECT  * FROM pg_stat_activity WHERE datname='mi base de datos';

Luego podemos matar solo una consulta por el pid

postres=# SELECT pg_terminate_backend(numero de pid);


o matar todas las consultas de una base de datos

postgres=# SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname='mi base de datos';


miércoles, 30 de septiembre de 2015

Ver estructura de tabala en postgreSQL

Para ver la definicion de una tabla en postgres se ejecuta la siguiente consulta

SELECT * FROM information_schema.columns WHERE table_name = 'nombre tabla con comilla simple';



lunes, 28 de septiembre de 2015

Respaldo comprimido de postgres

Para realizar un backup de la base de datos postgres y que ademas este ocupe poco espacio corremos el siguiente script

pg_dump -f /tmp/backup.sql.gz -Z 9 -o -C mibasededatos


Para hacer el restore corremos el siguiente script

gzip -dc /tmp/backup.sql.gz | psql -U postgres

miércoles, 9 de septiembre de 2015

Agrandar partición ext4 en Centos sin perder datos.

Me toco tener un equipo que tenía un disco grande y estaba desaprovechado porque la partición era muy chica por error de instalación. El equipo ya estaba funcionando y no era factible formatear e instalar todo de nuevo, entonces la idea era aumentar el tamaño de la partición.

Con un live cd de gparted, puede aumentar la partición al máximo del disco (esto no lo explicare porque es muy fácil), pero luego al entrar al equipo me seguía devolviendo el tamaño  inicial.
Me base en el siguiente post para arreglarlo y los pasos a seguir son muy fáciles que los resumo abajo


df –h
fdisk –l
pvs
lvextend –L +XXXXGB /dev/mapper/VolGroup-lv_root  (camiar las X por el tamaño que quieran o el maximo que se pueda agrandar)
lvs
mount (no era necesaario en mi caso)
resize2fs /dev/mapper/VolGroup-lv_root (este es el unico cambio del post porque mi disco estaba en ext4)

df –h

Con esto veremos que el disco cambio al tamaño que le pusimos arriba

viernes, 14 de agosto de 2015

Consulta que esta corriendo en postgreSQL

Para saber que consulta esta corriendo en postgreSQL se debe de ejecutar una consulta, lo podes hacer por consola o por cualquier ide de consultas (sugiero utilizar SQL Workbench pero es indistinto)


SELECT * FROM pg_stat_activity ORDER BY 1;


sábado, 18 de julio de 2015

Optimizacion PostgresSql

Cuando trabajamos con BD y movemos de una grandes volúmenes de datos, por ejemplo hacemos un delete de una tabla con miles o millones de registros el sistema la base de datos le cuesta volver a lo optimo que esperábamos que estuviera. En cada motor existe la forma de actualizar las estadísticas, que a muy grosero modo es saber cuantos registros tiene una tabla y cual es su mejor forma de abordarla.

En postgres yo he utilizados estas 2 formas, una para windows y otra para linux, y me ha funcionado bastante bien. Quizás haya otras formas pero con mis pocos conocimientos en postgres con esto pude volver a utilizar una tabla que tenia millones de registros y los borre de una, y cuando intentaba consultar algún registro demoraba muchísimo.


- Para windows
"C:\Program Files\PostgreSQL\9.3\bin\vacuumdb.exe" -a -U postgres -h 127.0.0.1
"C:\Program Files\PostgreSQL\9.3\bin\reindexdb.exe" -a -U postgres -h 127.0.0.1


- Para linux
#!/bin/bash

# reindexado
psql -U usuario postgres -c "reindex database rucaf"

# vacuum sobre todas las bases de datos
su postgres -c "vacuumdb -a"

# actualizacin de estadisticas
su postgres -c "vacuumdb -z rucaf"

jueves, 9 de julio de 2015

Certificados digitales

Copio un link de alguien que ha sufrido con los certificados y nos da una muy buena información. Los agradecimientos y felicitaciones a el por favor.


http://pmoleri.blogspot.com/2015/06/tlsssl-y-los-problemas-con-los.html