PosgreSQL scripts

TAREAS PROGRAMADAS
crontab -e (editar cron)
30 4,12,20 * * 1-6 /opt/backupsigedabddoc.sh   (Ejecuta respaldos)
0 3 * * * /var/lib/pgsql/10/backups/db_mdmq_obscat* -mtime +2 -exec rm {} \;  (Borras respaldos mas antiguos a 2 dias)

VER TAMAÑO DE LA BASE DE DATOS INGRESAR POR COMANDO psql
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database;
 
PROGRAMAS PARA RESPALDOS  

[root@srv11sigedabddoc01 ~]# cat /opt/backupsigedabddoc.sh  
#!/bin/bash
fecha=`date +”%Y-%B-%d-%A_%T”`
/usr/pgsql-10/bin/pg_dump -h 127.0.0.1 -Fc -f /opt/respaldos/”db_sigedadoc_$fecha.backup” -Z9 -U USUARIO BASEDEDATOS
La clave debe estar en la carpeta /root en el archivo oculto .pgpass
/root
.pgpass
[root@srv11sigedabddoc01 ~]# cat .pgpass  
127.0.0.1:5432:BASEDEDATOS:USUARIO:CLAVE
————————————————————————————————————————–
OTRO EJEMPLO  
[root@srv11sigedabddoc01 ~]# crontab -l
@hourly ntpdate -u 172.20.24.5  > /dev/null 2>&1  (Actualiza el reloj)
#30 4,12,20 * * 1-6 /opt/backupsigedabddoc.sh (Ejecuta respaldo)
#0 3 * * * find /opt/respaldos/db_sigedadoc* -mtime +2 -exec rm {} \;  (Borra respaldos antiguos)

PROGRAMA PARA EJECUTAR VACUUM AUTOMATICO
[root@srv11sigedabdtra01 opt]# cat cron_ejecutar_vacuum.sh  
#!/bin/sh
su – postgres -c “vacuumdb –all –full –analyze”
su – postgres -c ‘psql -t -c “select datname from pg_database where datallowconn=true order by datname;” | xargs -n 1 -I”{}” — psql -U postgres {} -c “reindex database {};”‘

MINI INSTRUCTIVO DE COMANDOS POSTGRESQL

comandos postgresql

\l   (listar bases de datos)

\c quipux_bodega (conectar a una base)

\d (lista las tablas de la base de datos conectada quipux_bodega)

\d+ usuarios (lista los campos de la tabla usuarios)

Para ver el tamaño de las bases de datos ejecutar lo siguiente
SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database;

Ejemplos 

select count(*) from usuarios;
select * from usuarios where usua_cedula=´1713347902´; 

INSTALAR POSTGRESQL 10 

rpm -Uvh Https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

yum install postgresql10-server

/usr/pgsql-10/bin/postgresql-10-setup initdb

systemctl start postgresql-10.service

systemctl enable postgresql-10.service

vim /var/lib/pgsql/10/data/postgresql.conf

    listen_addresses = ‘*’

vim /var/lib/pgsql/10/data/pg_hba.conf

    host    all             all             0.0.0.0/0               md5

INSTALAR POSTGIS   

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum install postgis24_10 postgis24_10-utils.x86_64 postgis24_10-client.x86_64 -y

—————

CREACIÓN DE TABLESPACE

CREATE TABLESPACE screwy OWNER yourself LOCATION ‘/home/yourself/data’;

CREACIÓN DE ESQUEMA ASIGNADO A TABLESPACE

CREATE DATABASE yourself TABLESPACE screwy;

ACTUALIZACIÓN DE ROL A OTRO TABLESPACE

ALTER ROLE yourself SET DEFAULT_TABLESPACE TO screwy;

https://dba.stackexchange.com/questions/68753/how-to-make-postgresql-default-tablespace-work-properly

INSTRUCTIVO DE COMANDOS

  1. Ingresar al linux con un putty

            Confirmar la  

            ip a

            su postgres

           bash-4.2$  psql