0% encontró este documento útil (0 votos)
92 vistas16 páginas

PostgreSQL en Rocky Linux: Guía de Instalación

Este documento proporciona instrucciones para instalar PostgreSQL en un sistema Rocky Linux. Describe cómo descargar e instalar el repositorio PostgreSQL, instalar el servidor PostgreSQL, configurar la autenticación y conectividad remota, y optimizar la configuración de PostgreSQL mediante el ajuste de parámetros como shared_buffers y work_mem. También explica cómo configurar el firewall para permitir conexiones remotas a PostgreSQL y revisar el estado y procesos del servidor PostgreSQL.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
92 vistas16 páginas

PostgreSQL en Rocky Linux: Guía de Instalación

Este documento proporciona instrucciones para instalar PostgreSQL en un sistema Rocky Linux. Describe cómo descargar e instalar el repositorio PostgreSQL, instalar el servidor PostgreSQL, configurar la autenticación y conectividad remota, y optimizar la configuración de PostgreSQL mediante el ajuste de parámetros como shared_buffers y work_mem. También explica cómo configurar el firewall para permitir conexiones remotas a PostgreSQL y revisar el estado y procesos del servidor PostgreSQL.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UPEA – INGENIERÍA DE SISTEMAS – ADM.

BASE DE DATOS – ABD 631 “C”


MATERIAL RECOPILADO BY: fac

INSTALACIÓN DE POSTGRESQL en ROCKY LINUX


lsblk
dnf update
En el FIREFOX

Click en Download

Click in Linux

Click en Red Hat/Rocky/CentOS

Click en direct download

Instalación de PostgreSQL en ROCKY-LINUX Pag. 1


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

Click en RHEL / Rocky Linux 9 – x86_64

Descargamos el archive (pgdg-redhat-repo-42.0-32.noarch.rpm)

Como root
cp -a /home/falanoca/Descargas/pgdg-redhat-repo-42.0-32.noarch.rpm .

Instalación de PostgreSQL en ROCKY-LINUX Pag. 2


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

ls
rpm -ivh pgdg-redhat-repo-42.0-32.noarch.rpm – instalando el repositorio
dnf list module postgresql* -- descarga las llaves
dnf list module postgresql14*
dnf install postgresql14-server.x86_64 postgresql14-contrib.x86_64
ls -l /usr/pgsql-14/bin
cat /etc/passwd | grep postgres
passwd postgres
systemctl status postgresql-14.service
su - postgres
nano .bash_profile -- trabajamos con variables de entorno

exit
su - postgres
ls /var/lib/pgsql/14/

ls /var/lib/pgsql/14/data

Está vacía la carpeta, entonces no está inicializado el cluster


cd /var/lib/pgsql/14/data
initdb -D /var/lib/pqsql/14/data/ -- inicializando el CLUSTER

Instalación de PostgreSQL en ROCKY-LINUX Pag. 3


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

ENTONCES EL CLUSTER YA ESTA INICIALIZADO...


pg_ctl start -- INICIAMOS EL SERVIDOR

pg_ctl status

pg_ctl stop
exit
VIENDO COMO SUBIR EL POSTGRES DE OTRA MANERA, COMO root

systemctl start postgresql-14.service


systemctl status postgresql-14.service

Instalación de PostgreSQL en ROCKY-LINUX Pag. 4


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

AHORA VEMOS QUE PROCESOS ESTAN CORRIENDO A NIVEL DE POSTGRES

ps -ef | grep postgres

Hay un proceso PADRE, aquí es postmaster y se encarga de inicializar todos los procesos

Matando el proceso 3748


kill -9 3748
ps -ef | grep postgres

Y vemos que otra vez se generó background write

AHORA ENTRAMOS A postgres PARA VERIFICAR SI ESTA EN EJECUCIÓN


su - postgres
pg_ctl status

Instalación de PostgreSQL en ROCKY-LINUX Pag. 5


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

psql - Entramos a postgresql


Creando contraseña al usuario postgres en la BD

Directorio de trabajo

Puerto predeterminado del postgres

Verificando la versión

Base de datos predeterminada

Usuario actual

Necesitamos ver la dirección IP y sale vacío (solo está trabajando a nivel local), no recibe conexiones
remotas.

\q
exit
PROBANDO CONECTIVIDAD ENTRE SERVIDORES LOCALES (tenemos 2 servidores: 192.168.0.22 y el
192.168.0.23
ssh [email protected]

Instalación de PostgreSQL en ROCKY-LINUX Pag. 6


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

CONFIGURANDO POSTGRES PARA CONEXIONES REMOTAS, SERVIDOR 1


su - postgres
cd /var/lib/pgsql/14/data/
ls
Intentando conectar desde el servidor 2 al 1
su - postgres
psql -h 192.168.0.22 -p 5432 -U postgres postgres

VOLVEMOS AL SERVIDOR 1 (como postgres)


cd /var/lib/pgsql/14/data/
nano -l postgresql.conf

ESTE ARCHIVO pg_hba.conf ES EL ENCARGADO DE MANTENER LISTAS DE CONEXIÓN Y


AUTENTICACIÓN
nano -l pg_hba.conf – SOLO CAMBIAMOS LA LÍNEA 91

REINICIAMOS (restart) EL SERVIDOR PARA LOS CAMBIOS


pg_ctl restart

VOLVEMOS AL SERVIDOR 2 Y PROBAMOS SI SE CONECTA, SIGUE DANDO EL MISMO ERROR


psql -h 192.168.0.22 -p 5432 -U postgres postgres

EL ERROR VIENE POR EL TEMA DEL FIREWALL, VOLVEMOS AL SERVIDOR 1

Instalación de PostgreSQL en ROCKY-LINUX Pag. 7


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

iptables -L

ESTA TODO VACÍO, EL iptables ES CADUCO  TRABAJAMOS DIRECTAMENTE CON EL FIREWALLD


EN AMBOS SERVIDORES CON LO SIGUIENTE (COMO root):
systemctl status firewalld

ESTA CORRIENDO EL FIREWALLD Y POR ESO NO DEJA CONECTAR REMOTAMENTE


systemctl stop firewalld -- PARAMOS EL SERVICIO DEL FIREWALLD
systemctl status firewalld -- YA ESTA INACTIVO COMO VEMOS EN LA SIGUIENTE PANTALLA

PROBAMOS DESDE EL SERVIDOR 2


psql -h 192.168.0.22 -p 5432 -U postgres postgres
YA HAY CONEXIÓN

Instalación de PostgreSQL en ROCKY-LINUX Pag. 8


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

\conninfo – PIDIENDO DETALLES DE LA CONEXIÓN

PARA QUE HAYA CONEXIÓN LO BAJAMOS EL FIREWALLD PERO POR SEGURIDAD TIENE QUE ESTAR
ARRIBA (CORRIENDO) === > EN AMBOS SERVIDORES LEVANTAMOS EL FIREWALLD (ROOT)
systemctl start firewalld
¿QUE ES LO CORRECTO? ENTONCES HAY QUE AGREGAR UNA REGLA
firewall-cmd --zone=public --add-port=5432/tcp

Firewall-cmd –list-ports – LISTAMOS LOS PUERTOS

ENTRAMOS AL SERVIDOR 2
psql -h 192.168.0.22 -p 5432 -U postgres postgres
YA HAY CONEXIÓN

\conninfo -- PIDIENDO DETALLES DE LA CONEXIÓN

OPTIMIZACIÓN DE LOS SERVIDORES (TUNEADOS)


Postgres viene con una configuración muy baja por defecto (no es insuficiente para ponerle en
producción)
su - postgres
psql

Instalación de PostgreSQL en ROCKY-LINUX Pag. 9


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

pg_ctl restart

show max_connections;

OTRA MANERA DE VERIFICAR LO ANTERIOR


select * from pg_settings where name=’max_connections’; NOS MUESTRA AMONTONADO

ACTIVAMOS EL DESPLIEGUE EXTENDIDO


\x

select * from pg_settings where name=’max_connections’;

Instalación de PostgreSQL en ROCKY-LINUX Pag. 10


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

PARA VOLVER AL ESTADO ANTERIOR


\x
VERIFICAMOS EL REGISTRO DE EVENTOS (ESTA APAGADO)
show log_connections;

OTRA MANERA DE MODIFICAR LOS PARÁMETROS ANTERIORES


alter system set log_connections='on';

VEMOS QUE NO HIZO LOS CAMBIOS


show log_connections;

ENTONCES SALIMOS
\q
CON postgres
pg_ctl reload

ENTRAMOS AL SERVIDOR Y VERIFICAMOS QUE YA ESTA EN on


psql

Instalación de PostgreSQL en ROCKY-LINUX Pag. 11


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

show log_connections;

LAS MODIFICACIONES QUE ESTAMOS HACIENDO CON EL alter system NO ESTAN AFECTANDO EL
ARCHIVO DE postgresql.conf, ENTONCES DONDE SE HIZO LA MODIFICACIÓN, YA QUE ESTA EN on?
\q
cd /var/lib/pgsql/14/data/
ls
ESTA AFECTANDO AL ARCHIVO postgresql.auto.conf

REVISANDO
cat postgresql.auto.conf

EL ARCHIVO postgresql.auto.conf PREVALECERÁ SOBRE postgresql.conf, A NIVEL DE JERARQUÍA

MIRAMOS EL PARÁMETRO wal_buffers, QUE ES EL REGISTRO DE ARCHIVOS A NIVEL DE MEMORIA


INTERMEDIA, ¿CUÁL ES EL VALOR REAL? (EN MEGAS QUE ESTA UTILIZANDO)

\q
cd /var/lib/pgsql/14/data
ls
nano postgresql.com

Aquí está en -1
psql
show wal_buffers; VEMOS QUE ESTÁ EN 4mb

\x

Instalación de PostgreSQL en ROCKY-LINUX Pag. 12


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

select * from pg_settings where name='wal_buffers';

ESTOS VALORES PODRÍAMOS CAMBIARLOS DE FORMA TEMPORAL


show work_mem; ahí abajo dice que el trabajo de memoria es de 4 mb

AUMENTAMOS LA MEMORIA DE MANERA TEMPORAL


set session work_mem='8MB';

PROBANDO LA TEMPORALIDAD
\q
psql
show work_mem; sigue en 4mb, COMO ERA TEMPORAL

AJUSTANDO LA MEMORIA DEL SERVIDOR


SE TIENE QUE ASIGNAR EL 25% DE LA MEMORIA AL SHARED_BUFFER
\q
Exit
CUANTO DE MEMORIA TENEMOS (8 gb)

Instalación de PostgreSQL en ROCKY-LINUX Pag. 13


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

cat /proc/meminfo | grep MemTotal

su - postgres
psql
alter system set shared_buffers='2GB';
\q
pg_ctl restart

psql
show shared_buffers;

PARA QUE SIRVE EL work_mem: ESPECIFICA LA CANTIDAD DE MEMORIA QUE VA A UTILIZAN LAS
OPERACIONES INTERNAS COMO, POR EJEMPLO; ORDER BY-UNIONES DE TABLAS CON JOIN-
TRABAJAR CON TABLAS HASH ANTES DE QUE LOS DATOS SE ESCRIBAN EN ARCHIVO TEMPORALES
EN EL DISCO
show work_mem;

¿QUE HACE postgres CUANDO NO TIENE MAS MEMORIA EN EL work_mem? Postgres EMPIEZA A
CREAR ARCHIVOS TEMPORALES EN EL DISCO PARA TERMINAR DE CONCLUÍR ESE PROCESO.
CUANDO HAY MUCHOS ARCHIVOS TEMPORALES, TENEMOS QUE SUBIR EL work_mem.
MEMORIA SECUNDARIA = DISCO
DE QUE TAMAÑO TIENE QUE SER EL work_mem. DEL 2 AL 4% DE LA MEMORIA RAM TOTAL
APROXIMADAMENTE

alter system set work_mem='256MB';

Instalación de PostgreSQL en ROCKY-LINUX Pag. 14


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

\q
pg_ctl restart

psql
show work_mem;

¿COMO SABER EL NRO DE ARCHIVOS TEMPORALES Y EL TAMAÑO DE ESOS ARCHIVOS QUE SE


FUERON GENERANDO?
\x
select * from pg_stat_database;

EL work_mem TRABAJA CON OTROS PARÁMETROS


AQUÍ CONCLUYEN LOS AJUSTES AL postgresql

¿CÓMO SE AJUSTAN LOS PROCESOS DEL SERVIDOR?


PROCESOS:

Instalación de PostgreSQL en ROCKY-LINUX Pag. 15


UPEA – INGENIERÍA DE SISTEMAS – ADM. BASE DE DATOS – ABD 631 “C”
MATERIAL RECOPILADO BY: fac

CHECKPOINTER SE ENCARGA DE COPIAR LOS BLOQUES SUCIOS DEL BUFFER_SHARED AL DISCO.
EL TAMAÑO DE UN BLOQUE ES DE 8KB

ENTONCES 256/8 = 32 BLOQUES


¿CADA CUANTO SE EJECUTA UN CHECKPOINT?

ME DICE DONDE ESTOY TRABAJANDO CON LOS ARCHIVOS DE CONFIGURACIÓN. $PGDATA ES LA


VARIABLE DE ENTORNO

Instalación de PostgreSQL en ROCKY-LINUX Pag. 16

También podría gustarte