En la jaula de un geek

Los README son para los cobardes. Sé valiente. Ejecuta el programa.

«

Ago 04

Instalación de PostgreSQL en OpenSuSE Leap 15.1

Últimamente PostgreSQL es la base de datos que más está siendo implementada, debido a su origen OpenSource y su potencial que le permite estar a la altura de las grandes bases de datos de pago.

También hay que sumar la cantidad de años que tiene, lo que la hace una base de datos sólida, y con más funcionalidad que MariaDB, si principal rival en el OpenSource.

Actualmente muchas aplicaciones aceptan (e incluso recomiendan) su uso, si a eso añadimos que también está ganando dentro del mundo cloud y contenedores, la convierte en una base de datos a tener en cuenta.

0- Previos

A partir de la versión 10, PostgreSQL ya no está en los repositorios oficiales de OpenSuSE, pero tiene un repositorio oficial para esta distribución, debido a que la última versión implementa muchas nuevas funcionalidades, partiré de ella. Esto se debe tener en cuenta para próximas actualizaciones tanto de PostgreSQL como del propio OpenSuSE.

Todos los comandos se ejecutarán como root, aunque la gestión propia de PostgreSQL se hace con el usuario postgres, generado automáticamente por el instalador.

1- Instalación

En la página de descarga tenemos la lista de sistemas operativos oficiales y su documentación, en mi caso utilizo un OpenSuSE así que requiero esta documentación.

Para cada distribución tenemos varias opciones, en mi caso quiero añadir el repositorio para disponer de las últimas versiones, así que la documentación redirige a la instalación con Zypper.

En el momento de redactar este artículo, la versión 13 está en pruebas, así que utilizaré la versión 12.

Añadimos el repositorio.

Actualizamos el índice de repositorios, al conectar por primera vez, nos preguntará si queremos confiar en este, así que utilizaremos la opción de Trust always (a) para aceptarla y que no nos vuelva a preguntar.

A partir de aquí ya podemos instalar como siempre, si buscáramos nos saldrían todas las versiones disponibles (incluyendo la del repositorio oficial), yo instalaré la última disponible.

Una vez instalada, habrá que inicializar, activar el autoarranque y abrir el puerto.

Como suele pasar en estas bases de datos, por defecto no admiten conexiones remotas y se debe abrir por cada IP, rango, base de datos y/o usuario. Debido a que en muchos casos la seguridad procede de la propia red, en mi caso abriré todo hacia cualquier IP que esté dentro del rango 192.168.1.0/24.

Primero abrimos el puerto para conexiones remotas.

Cambiando el siguiente valor.

A partir de aquí hay que abrir los usuarios y bases de datos accesibles, ya que PostgreSQL permite un control diferente para cada una de ellas.

En mi caso abro todo hacia mi rango.

También es posible abrir todo a todos los rangos.

Finalmente iniciamos PostgreSQL y ya lo tendremos funcionando.

El fichero de configuración tiene muchas opciones, desde la documentación oficial se puede encontrar

2- Mover carpeta de datos

La instalación deja la carpeta de datos en un lugar predefinido, pero esta no tiene que estar en la partición donde se dispone de todo el espacio, así que antes de nada la moveré a un nuevo lugar.

Lo primero es saber dónde está la carpeta por defecto, similar a MariaDB, deberemos conectar al servicio y lanzar la consulta. Así que empezamos conectando, para ello lanzaré el comando con el usuario postgres.

Lanzamos la pregunta.

Con lo que obtendremos algo así.

Salimos con el comando \q y vamos a copiar la carpeta.

Antes de copiar la carpeta, se debe tener en cuenta que el fichero principal de configuración (psotgresql.conf) se seguirá leyendo de este directorio, el resto será leído de la carpeta nueva (por ejemplo, el pg_hba.conf que contiene los accesos)

Paramos el servicio y sincronizamos la carpeta hacia su nuevo destino, manteniendo los permisos.

Ahora editamos el fichero original.

Indicando la nueva carpeta.

Y ya podemos volver a iniciar el servicio.

Si quisiéramos asegurarnos de que todo ha funcionado bien, simplemente tendríamos que lanzar los pasos iniciales para preguntar dónde está la carpeta.

3- Crear una base de datos

La creación básica de bases de datos y usuarios es muy similar a la de MariaDB, aunque siempre hay que recordar que PostgreSQL es algo puñetero y debemos usar minúsculas en nombres de bases de datos, usuarios y campos, si utilizamos mayúsculas nos podemos encontrar con problemas, o que el propio sistema los cambie.

Empezamos conectado con el usuario de postgres.

En este ejemplo crearé una base de datos llamada ‘database_name‘, con el usuario ‘user_name‘, contraseña ‘password‘ y con todos los permisos a esa base de datos.

Esta es una configuración básica, pero se puede modificar para aplicar los permisos que queramos.

4- Copias de seguridad notificadas con Nagios

Siguiendo los pasos que ya expliqué para las copias de seguridad con Nagios, utilizando el comando original de exportación (pg_dump), he preparado un script para que se pueda automatizar.

Se puede descargar desde aquí.

Estos son los campos que varían al original:

Nombre Descripción Valor por defecto
POSTGRESQL_PORT Puerto de PostgreSQL, únicamente utilizado para confirmar que esté activo 5432
POSTGRESQL_USER Usuario que de PostgreSQL para utilizar el comando de exportación postgres
POSTGRESQL_DATABASES Lista de bases de datos, separadas por coma.

Y los permisos del script:

Ruta Permisos
/opt/scripts/backup/backup_PostgreSQL.sh 700

Final

En algunos puntos, PostgreSQL es algo diferente al resto, el problema de que todo debe estar en minúsculas choca con el mismo problema hacia mayúsculas de Oracle, y algunos comandos, como para listar o salir, son bastante peculiares, pero en general, es, posiblemente, la mejor opción entre las bases de datos OpenSource sin envidiar nada de las empresariales, y aunque los pasos para instalar también son algo diferentes a lo normal al no encontrarse en los repositorios locales, al final no se requiere mucho tiempo para tenerla lista y funcionando.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar