img conect postgres with mint

(Imagen: Photo by Negative Space from Pexels )

¿Porque alguien querría instalar un motor de base de datos en Linux Mint? Pues es simple, solo para aprender a utilizarlo. En mi caso particular esta distribución de Linux es mi favorita.

Mapa de lo que veremos:

Instalando PostgreSQL usando ATP

Como el repositorio oficial de Linux Mint contiene el paquete de PostgreSQL, usaremos apt package manager para instalarlo, actualizamos primero:

$ sudo apt-get update
$ sudo apt-get upgrade

Y luego lo instalamos:

$ sudo apt install postgresql postgresql-contrib

El paquete -contrib agrega características y funcionalidades adicionales que se encuentran en modo de prueba antes de que se adopten en PostgreSQL oficialmente.

Para el propósito de este post, que es tener PostgreSQL en forma local en nuestra maquina de desarrollo, esto es todo.

Usando los repositorios predeterminados de Linux Mint, hemos instalado la última versión estable. Ahora, si es necesario instalar PostrgreSQL con la última versión, necesitaremos utilizar los repositorios oficiales de Postgres. En este otro post explico como agregarlos, ademas de señalar una pequeña precaución al momento de hacerlo en Linux Mint.

Si se tratara de una instalación en un servidor (tanto físico como cloud) tendrías que habilitar el inicio de PostgreSQL con el arranque de la maquina, así cuando se produzca un reinicio este se pondrá en marcha al terminar de cargar el sistema operativo.

Si el propósito de esta instalación es usarlo en un servidor de producción, tendrías que editar postgresql.conf para habilitar el acceso remoto al servidor. Además pg_hba.conf para dar permisos a un usuario remoto sobre la DB. Como esta es una instalación en local no serán necesarios esos pasos.

El usuario postgres en Linux

Con la instalación del motor de bases de datos se crea por defecto un nuevo usuario en nuestro sistema Linux, este se llama postgres, es un usuario normal que posee los permisos de acceso a la base de datos. A continuación saldremos de nuestra cuenta de usuario y luego ingresaremos a la cuenta de postgres:

$ sudo su -   
[sudo] password for nombre_de_usuario:   
# su - postgres

Esta cuenta de sistema, de forma predeterminada, no está configurada con una contraseña, y tiene acceso total a la DB PostgreSQL.

En la DB de producción hay una serie de precauciones a considerar con la cuenta de sistema de administración postgres. Puedes leer un muy buen post en Emc2Net sobre este tema: Asegurando la cuenta de administrador "postgres". Como la nuestra es solo una instalación para practicar el uso de PostgreSQL, no aplicaremos tanta seguridad.

Comprobar el funcionamiento con psql

psql es el cliente de consola de PostgreSQL, nos permite acceder mediante una terminal a la base de datos. Como tenemos nuestra DB instalada en forma local, para usarlo bastará con colocar psql:

$ psql

Si todo esta bien aparecerá algo como:

psql (11.5 (Ubuntu 11.5-1.pgdg16.04+1))
Digite «help» para obtener ayuda.

postgres=# 

Para salir de esta herramienta de linea comando escribe \q, a partir de aquí puedes volver a la raíz escribiendo exit y a tu sección normal con su nombre_de_usuario.

Roles y Usuarios

En PostgreSQL, como en cualquier base de datos compleja, hay distintos roles y usuarios. Estos tienen diferentes niveles de privilegios sobre el motor de bases de datos, las propias bases de datos y también sobre los esquemas y tablas.

La creación de roles y usuarios es un tema que merece un post propio. Por ahora utilizaremos el rol y usuario que se crearon por defecto durante la instalación; el rol postgres y el usuario postgres.

Es importante notar que al instalar el motor de base de datos se creo un usuario de sistema postgres y a su vez un usuario de DB postgres. Hay algunas precauciones a tomar en cuenta con este usuario de DB cuando se trata de una instalación para producción, como son: asignarle un password o inhabilitarlo. En este articulo de Nano Tutoriales encontraras como crear usuarios, eliminarlos, manejar roles y asignar permisos.

Lo único que aremos con el usuario creado por defecto sera asignarle un password:

Para ello, ingresamos a nuestro usuario Linux postgres y luego a la herramienta psql, una ves en ella escribimos lo siguiente:

postgres=# alter user postgres with password '1234';

Con esta sentencia (nota que termina en ";") cambiamos la contraseña de usuario postgres aleatoria que se le asigno a una que conocemos, que es "1234". Si se produjo de forma correcta veremos en psql.

ALTER ROLE

Aun así, como dejamos todo por defecto en esta instalación, cuando ingresemos en el futuro a la herramienta de linea comando psql con el usuario Linux postgres desde una terminal desde el mismo equipo, no nos pedirá contraseña alguna. Este paso solo es útil al momento de configurar una una conexión como por ejemplo con PgAdmin IV.

Conclusión

Iniciarse en el uso de una base de datos puede ser algo frustrante, hay una gran cantidad de detalles que se deben tener en cuenta. El aprendizaje pude ser menos agobiante si se realiza en forma incremental, dominando conceptos esenciales y luego sumando más complejidad. Si quieres ver como realizar una una instalación más avanzada sigue este link a Phenobarbital con Soda,

Espero que mi pequeño tutorial te haya sido de utilidad.

Written by @EspiFreelancer with StackEdit.


Published

Last Updated

Category

Web developer

Tags

Contact