Cómo instalar PostgreSQL en Ubuntu 20.04 LTS

En esta ocasión veremos cómo instalar PostgreSQL en Ubuntu 20.04 LTS Focal Fossa paso a paso, de manera que puedas trabajar con este potente servicio de bases de datos relacionales desde tu servidor o VPS Ubuntu.

Antes de instalar PostgreSQL en Ubuntu 20.04 LTS

Si tienes intención de completar esta guía de instalación de PostgreSQL en Ubuntu 20.04 LTS sólo debes tener en cuenta estos pocos requisitos básicos:

  • Una máquina Ubuntu 20.04 LTS Focal Fossa actualizada.
  • Acceso a línea de comandos con un usuario con permisos de sudo.
  • Conexión a Internet.

Como seguramente ya cumples los requisitos anteriores, es el momento de regular la altura adecuada de tu mesa y abrir tu terminal de consola favorita para empezar a trabajar.

¡Ahorra 44,00 EUR!Bestseller No. 1 SANODESK QS1 110 x 60 cm Escritorio Elevable Eléctrico con Tablero Escritorio Regulable en Altura Eléctrico Telescópico Bidireccional con Control de Memoria y Tecnología Anticolisión (Blanco)
¡Ahorra 30,00 EUR!Bestseller No. 2 SONGMICS VASAGLE Escritorio Eléctrico Regulable, 60 x 120 x (72-120) cm, Ajuste Continuo, Función de Memoria con 4 Alturas, Marrón Rústico LSD172X01, 60x120x120cm
¡Ahorra 48,00 EUR!Bestseller No. 3 VASAGLE Escritorio Regulable en Altura, Mesa Regulable, Enchufe y CajÓn, 60 x 140 cm de Encimera, Ajuste Continuo, 4 Funciones de Memoria de Altura, MarrÓn RÚstico y Negro LSD114X01

Cómo instalar PostgreSQL en Ubuntu 20.04

Vamos a instalar PostgreSQL en Ubuntu 20.04 LTS desde los repositorios de la propia distribución, en los que está incluida la versión 12 de este servicio de bases de datos.

Empezamos actualizando las listas de paquetes:

~$ sudo apt update

El paquete que necesitamos es postgresql-12 que instalaremos con apt:

~$ sudo apt install -y postgresql-12

Tras la descarga e instalación de PostgreSQL y sus dependencias se crea un nuevo servicio en Ubuntu 20.04, el servicio postgresql.service o simplemente postgresql, que queda inicializado, en ejecución y habilitado para su inicio automático con cada arranque del sistema.

Podemos comprobar el estado del servicio en cualquier momento con el comando systemctl status postgresql:

como instalar postgresql en ubuntu 20.04 lts focal fossa

Instalar el cliente de PostgreSQL en Ubuntu 20.04

Si sólo quieres instalar el cliente de PostgreSQL para Ubuntu 20.04 LTS el paquete que necesitas es postgresql-client-12, que incluye el cliente de consola psql. Si has instalado el servidor no será necesario instalar este paquete, puesto que es una de las dependecias.

Cómo probar el servicio PostgreSQL

Para conectar con el cliente psql al servicio PostgreSQL en Ubuntu 20.04, inicialmente sólo disponemos del usuario administrador postgres, que tendremos que usar a través de sudo:

~$ sudo -u postgres psql
psql (12.10 (Ubuntu 12.10-0ubuntu0.20.04.1))
Type "help" for help.

postgres=#

Para cerrar la conexión usaremos el comando exit:

postgres=# exit

Cómo crear un rol de PostgresQL para tu usuario de Ubuntu 20.04 LTS

Inicialmente sólo podemos usar el usuario postgres (creado durante la instalación del servicio) porque es el único que dispone de un rol de PostgreSQL. Puedes trabajar con sudo y postgres para administrar el servicio, pero quizás prefieras crear otro rol administrativo para tu usuario de Ubuntu 20.04.

Creamos el rol de PostgreSQL con el comando createuser:

~$ sudo -u postgres createuser --interactive chacho
Shall the new role be a superuser? (y/n) y

Ahora disponemos de un rol administrativo con el mismo nombre que nuestro usuario de Ubuntu 20.04, por lo que no será necesario volver a usar postgres con sudo.

Además de un rol, necesitamos una base de datos de PostgreSQL con el mismo nombre que el rol (y el usuario de Ubuntu 20.04), que podemos crear con el comando createdb. Pero ahora ya podemos usar nuestro propio usuario y rol directamente:

~$ createdb chacho -O chacho

Ya tenemos todo lo necesario, un usuario de Ubuntu 20.04, un rol del servicio de bases de datos y una base de datos asociada al rol, todo ello con el mismo nombre. Podemos conectar directamente desde consola con psql:

~$ psql
psql (12.10 (Ubuntu 12.10-0ubuntu0.20.04.1))
Type "help" for help.

chacho=#

De igual forma, podremos crear nuevos roles y bases de datos cada vez que lo necesitemos, como cuando lo requieran ciertas aplicaciones que instalemos:

~$ createuser juan
~$ createdb juan -O juan

Configurar PostgreSQL en Ubuntu 20.04 LTS

Vamos a ver cómo configurar PostgreSQL en Ubuntu 20.04 a través de algunos usos comunes, teniendo en cuenta que los archivos de configuración de este servicio se organizan bajo la ruta /etc/postgresql/.

Uso de contraseñas

Por defecto el acceso local a PostgreSQL no requiere contraseña, como ya hemos visto, aunque es posible que queramos activar su uso.

El primer paso será crear las contraseñas, para lo que conectaremos con el servicio:

~$ psql

Crearemos una contraseña para nuestro rol con el comando \password:

chacho=# \password
Enter new password:
Enter it again:
chacho=#

Como nuestro rol es administrativo, podemos asignar contraseñas para otros roles:

chacho=# \password juan
Enter new password:
Enter it again:
chacho=#

No basta con crear las contraseñas, es necesario activar su uso realizando algún ajuste en el archivo pg_hba.conf:

~$ sudo nano /etc/postgresql/12/main/pg_hba.conf

Buscamos la siguiente línea:

...
# "local" is for Unix domain socket connections only
local   all             all                                     peer
...

El valor peer indica que la autenticación local se produce buscando un rol con el mismo nombre que el del usuario de Ubuntu 20.04 que realiza la conexión. Si cambiamos peer por md5:

...
local   all             all                                     md5
...

La autenticación se producirá a través de contraseña (la que creamos anteriormente).

Guardamos los cambios y recargamos la configuración del servicio PostgreSQL.

~$ sudo systemctl reload postgresql

Al conectar de nuevo al servicio con nuestro usuario se nos solicitará la contraseña:

~$ psql
Password for user chacho:
psql (12.10 (Ubuntu 12.10-0ubuntu0.20.04.1))
Type "help" for help.

chacho=#

Acceso remoto a PostgreSQL en Ubuntu 20.04 LTS

Por defecto PostgreSQL en Ubuntu 20.04 sólo escucha conexiones locales. Si queremos que acepte peticiones desde red tendremos que realizar ajustes de configuración en postgresql.conf:

~$ sudo nano /etc/postgresql/12/main/postgresql.conf

Buscamos la directiva listen_addresses:

...
#listen_addresses = 'localhost'         # what IP address(es) to listen on;
...

Esta directiva está desactivada, así que eliminaremos el carácter # al inicio de línea y sustituiremos el valor localhost por *:

...
listen_addresses = '*'                  # what IP address(es) to listen on;
...

Guardamos los cambios.

Además de este ajuste, hay que permitir las conexiones en el archivo pg_hba.conf:

~$ sudo nano /etc/postgresql/12/main/pg_hba.conf

Y en la zona de las directivas host añadimos esta otra:

...
host    all             all             all                     md5
...

Guardamos los cambios y reiniciamos el servicio PostgreSQL para aplicar todos estos cambios:

~$ sudo systemctl restart postgresql

Configuración del firewall

Si tienes activado el firewall UFW en Ubuntu 20.04 LTS será necesario añadir una regla para PostgreSQL si quieres permitir las conexiones desde red:

~$ sudo ufw allow postgresql

Cómo probar el acceso remoto a PostgreSQL en Ubuntu 20.04

Desde otro sistema en red podemos comprobar la conexión mediante un cliente de PostgreSQL como psql, indicando con el parámetro -h la dirección IP o nombre DNS del servidor Ubuntu 20.04 y con el parámetro -U el rol con el que queremos conectar:

~$ psql -h ubuntu2004.local.lan -U chacho

instalar y configurar postgresql en ubuntu 20.04 lts focal fossa

¡Así de fácil!

Conclusión

Ahora que sabes cómo instalar PostgreSQL en Ubuntu 20.04 LTS Focal Fossa ya puedes trabajar con este magnífico motor de bases de datos relacionales, tanto para tus propios desarrollos como para ser la base o requerimiento de terceras aplicaciones.

Si tienes alguna duda o pregunta, crees que el artículo necesita mejoras o actualización, quieres notificar algún error, etc. puedes dejar un comentario.

¡Apoya comoinstalar.me!

¿Ya funciona este potente servicio de bases de datos relacionales en tu propia máquina gracias a nuestra guía rápida de instalación y configuración? Si es así y te apetece agracecérnoslo es posible hacerlo mediante una mínima contribución destinanda al mantenimiento de este sitio y la elaboración de próximos tutoriales y guías.

Puedes ayudarnos dejando tan sólo 1 $ de propina en PayPal con la calderilla que no usas:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (4 votos)

5 comentarios en «Cómo instalar PostgreSQL en Ubuntu 20.04 LTS»

  1. Perdone, al realizar las configuraciones en el archivo /etc/postgresql/12/main/pg_hba.conf, al hacer la autenticación no me acepta la contraseña.

    Responder
    • Hola, Milton. No das mucha información del problema, como lo que hiciste exactamente, cuáles son los mensajes de error que obtienes, etc.

      Si se trata de que simplemente se rechaza la contraseña de tu usuario puedes probar con lo siguiente:

      • Edita el archivo pg_hba.conf de PostgreSQL en Ubuntu 20.04
      • Cambia en la línea «local all all md5» el valor md5 por peer
      • Guarda los cambios
      • Recarga la configuración del servicio
      • Inicia sesión con el cliente psql (no te debería pedir contraseña)
      • Crea una contraseña con el comando «\password» asegurándote de teclearla correctamente las dos veces
      • Edita de nuevo pg_hba.conf
      • Cambia en la línea «local all all peer» el valor peer por md5
      • Guarda los cambios
      • Recarga la configuración del servicio
      • Inicia sesión con psql, probando la nueva contraseña
      Responder

Deja un comentario