Cómo instalar PostgreSQL en Ubuntu 22.04

PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto y uno de los más populares. Implementa el lenguaje de consulta SQL y ofrece una gran estabilidad, rendimiento e integridad de los datos. Puedes utilizar la base de datos PostgreSQL para ejecutar aplicaciones de misión crítica. PostgreSQL tiene características como las transacciones Nest, el control de concurrencia multiversión, la herencia de tablas, la replicación asíncrona, la integridad referencial de claves foráneas y mucho más.

Este post te mostrará cómo instalar la base de datos PostgreSQL en Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

En primer lugar, actualiza y mejora todos los paquetes del sistema a la última versión utilizando el siguiente comando:

apt update -y
apt upgrade -y

Una vez que tu sistema esté actualizado, puedes instalar otras dependencias necesarias utilizando el siguiente comando:

apt install wget curl gnupg2 -y

Tras instalar todas las dependencias, puedes proceder a instalar InfluxDB.

Añadir repositorio PostgreSQL

Por defecto, la última versión de PostgreSQL no está disponible en el repositorio por defecto de Ubuntu 22.04. Así que tendrás que añadir el repositorio oficial de PostgreSQL a tu sistema.

Puedes añadir el repositorio PostgreSQL y la clave GPG utilizando el siguiente comando:

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null

A continuación, actualiza el repositorio PostgreSQL utilizando el siguiente comando:

apt update -y

Instalar PostgreSQL en Ubuntu 22.04

Ahora puedes instalar PostgreSQL 15 ejecutando el siguiente comando:

apt install postgresql postgresql-client -y

Una vez instalado PostgreSQL, comprueba el estado de PostgreSQL utilizando el siguiente comando:

systemctl status postgresql

Deberías obtener la siguiente salida:

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-12-05 14:28:18 UTC; 1min 57s ago
   Main PID: 10824 (code=exited, status=0/SUCCESS)
        CPU: 4ms

Dec 05 14:28:18 ubuntu2204 systemd[1]: Starting PostgreSQL RDBMS...
Dec 05 14:28:18 ubuntu2204 systemd[1]: Finished PostgreSQL RDBMS.

Para comprobar la versión de PostgreSQL, ejecuta el siguiente comando:

sudo -u postgres psql -c "SELECT version();"

Obtendrás la siguiente salida:

                                                              version                                                              
-----------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 15.1 (Ubuntu 15.1-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit
(1 row)

Configurar PostgreSQL para conexión remota

Por defecto, PostgreSQL sólo permite conexiones desde el localhost. Si quieres permitir la conexión remota, tendrás que editar el archivo de configuración de PostgreSQL y definir el método de autenticación. Puedes hacerlo editando el siguiente archivo:

nano /etc/postgresql/15/main/pg_hba.conf

Cambia las siguientes líneas:

local   all             all                                     trust

host    all             all             0.0.0.0/0                md5

Guarda y cierra el archivo cuando hayas terminado. A continuación, edita el archivo de configuración principal de PostgreSQL y cambia el puerto de escucha:

nano /etc/postgresql/15/main/postgresql.conf

Cambia la siguiente línea:

listen_addresses='*'

Guarda y cierra el archivo y reinicia el servicio PostgreSQL para aplicar los cambios:

systemctl restart postgresql

Crear un usuario administrativo

Es una buena idea crear un usuario administrativo para gestionar otros usuarios y bases de datos. En primer lugar, inicia sesión en el shell de PostgreSQL utilizando el siguiente comando:

sudo -u postgres psql

Una vez que hayas iniciado sesión, obtendrás el siguiente intérprete de comandos:

psql (15.1 (Ubuntu 15.1-1.pgdg22.04+1))
Type "help" for help.

postgres=# 

A continuación, crea un usuario admin y establece una contraseña con el siguiente comando:

CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'password';

A continuación, verifica el usuario creado utilizando el siguiente comando:

\du

Deberías ver la siguiente salida:

                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create role, Create DB                          | {}


Crear una Base de Datos y un Usuario en PostgreSQL

En esta sección, te mostraremos cómo crear una base de datos y un usuario en PostgreSQL.

Para crear una base de datos llamada wpdb en PostgreSQL, ejecuta el siguiente comando:

create database wpdb;

Para crear un usuario llamado wpuser en PostgreSQL, ejecuta el siguiente comando:

create user wpuser with encrypted password 'password';

Para conceder todos los privilegios a la base de datos wpdb, ejecuta el siguiente comando:

grant all privileges on database wpdb to wpuser;

Puedes listar todas las bases de datos utilizando el siguiente comando:

\l

Deberías obtener una lista de todas las bases de datos en la siguiente salida:

                                                 List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 wpdb      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =Tc/postgres         +
           |          |          |             |             |            |                 | postgres=CTc/postgres+
           |          |          |             |             |            |                 | wpuser=CTc/postgres
(4 rows)

Cómo conectar PostgreSQL desde la máquina remota

En este punto, PostgreSQL está instalado y configurado para permitir conexiones desde los hosts remotos. Para verificar la conexión remota PostgreSQL, ejecuta el siguiente comando:

psql 'postgres://wpuser:password@postgres-ip-address:5432/wpdb?sslmode=disable'

Conclusión

Enhorabuena! has instalado y configurado correctamente el servidor PostgreSQL en Ubuntu 22.04. Ahora puedes utilizar PostgreSQL en un entorno de producción para conseguir un alto rendimiento y la integridad de los datos. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...