Instalar PostgreSQL 18 en Debian 13.x

Que es Postgres ?

PostgreSQL es un Sistema de Gestión de Bases de Datos  (SGDB) relacional orientado a objetos además libre, publicado bajo la licencia PostgreSQL.

Para instalar la versión 18.4 – siendo la más actualizada la momento de realizar este tutorial – es fundamental colocar el archivo que referencia al repositorio; en este caso usaremos el nuevo método que permite organizar de mejor manera el acceso a los repositorios.

Instalación de repositorio

Para Debian 13.x este paso ya no es necesario – OJO –

Para ello primero debemos traer las firmas que validan la autenticidad del repositorio con los siguientes comando:

# apt install curl ca-certificates
# sudo install -d /usr/share/postgresql-common/pgdg
# curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc –fail https://www.postgresql.org/media/keys/ACCC4CF8.asc

Con esto ya tenemos las firmas correctas; ahora debemos crear el fichero (archivo) que contiene el repositorio:

Ejecutamos:

# nano /etc/apt/sources.list.d/pgdg.sources

Se crea una archivo vacío y dentro colocamos lo siguiente:

Types: deb deb-src
URIs: https://apt.postgresql.org/pub/repos/apt
Suites: trixie-pgdg
Architectures: amd64
Components: main
Signed-By: /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc

Guardamos con Ctrl+o y salimos con Ctrl+x

Ahora si podemos ejecutar la actualización del sistema y por ende de este nuevo repositorio.

# sudo apt update

Una ves actualizado ya podemos instalar el postgresql versión 18.x, con la siguiente línea de comandos:

# apt install postgresql-18

Esperamos que el proceso finalice.

➡ Para las nuevas versiones de Debian empieza aquí

Instalación de postgres en nuestro Debian 13.x

# apt install -y postgresql postgresql-contrib

Verificamos si se instaló correctamente y esta activo con

# systemctl status postgresql

Si ese no es el caso podemos usar estas instrucciones para iniciar y activar los servicios

# sudo systemctl start postgresql
# sudo systemctl enable postgresql

Comprobar la instalación

Una vez realizado los pasos anteriores verificamos que el servicio de SGDB postgresql, se encuentre operando usamos para ello el comando:

# systemctl status postgresql

Donde veremos que efectivamente se encuentra Activo.

Si deseamos verificar la versión usamos el comando:

# psql -V

Crear una bases de datos

Crear una base de datos es muy sencillo, desde la consola de postgres usamos la sentencia SQL y listo

$ CREATE DATABASE mi_base_de_datos;

Para listar las bases de datos disponible, simplemente podemos hacerlo de dos maneras, la primera es suponiendo que estamos dentro de la consola de postgres, simplemente colocamos el siguiente comando:

\l

Y si estamos fuera de la consola de postgres, pero dentro del shell de usuario postgres colocamos:

$ psql -l

También lo puedes hacer con una consulta directa SQL , suponiendo que estas dentro de la terminal de postgres, con la lineal

$ SELECT datname FROM pg_database;

y listo!

Eliminar una base de datos

Desde la consola de postgres lo hacemos con la instrucción SQL:

$ DROP DATABASE [IF EXISTS] nombre_de_la_base [WITH (FORCE)];

Crear Usuarios

Crear un usuario administrador del sistema al que llamamos «postgres»

Para eso ingresamos en modo administrador con este usuario – que previamente al instalar se creo, pero no tiene permisos ni claves –  nos logeamos con:

# su – postgres

Luego ingresamos al motor de postgres con

# psql

CREATE USER emilio WITH PASSWORD ‘password-del-usuario-emilio’;

GRANT ALL PRIVILEGES ON DATABASE facturas TO emilio;

para salir solo digita \q

Crear SUPERusuario para gestionar todas las bases de datos

Usamos la siguiente lineal de comandos a nivel de SQL:

$ CREATE ROLE nombre_usuario WITH SUPERUSER LOGIN PASSWORD ‘tu_contraseña’;

También podemos darle esos privilegios a un usuario común previamente creado:

$ ALTER ROLE nombre_usuario SUPERUSER;

Y así mismo otorgarle privilegios sobre una base de datos determinada

$ GRANT ALL PRIVILEGES ON DATABASE nombre_base_de_datos TO nombre_usuario;

Eliminar usuarios de las bases de datos postgres

A veces es necesario eliminar algún usuario creado en el motor de base de datos de postgres, para ello podemos usar varias tánicas, pero la mas usada y directa es la instrucción SQL, suponiendo obviamente que estamos dentro de la consola de postgres:

DROP USER nombre_del_usuario;

O desde el shell del usuario «postgres», colocamos la siguiente línea directamente

$ dropuser nombre_del_usuario

se puede colocar una lista de usuarios solo separándolos con comas entre ellos.

Algunos comando para mostrar privilegios de los Usuarios

\du

Muestra una lista de todos los roles (usuarios) del clúster, sus atributos (como superusuario o capacidad de crear bases de datos) y los grupos a los que pertenecen.

\du+

Muestra una versión extendida con información adicional de cada rol (como descripción o comentarios asignados).

\l

Muestra las bases de datos existentes junto con su propietario (dueño) y los permisos de acceso de cada una.

Pero también lo puedes hacer desde las instrucciones SQL asi:

SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin FROM pg_roles;

ó

SELECT usename, usesysid, usecreatedb, usesuper, userepl FROM pg_user;

Y finalmente así:

SELECT datname, datacl FROM pg_database;

Esta entrada ha sido publicada en Bases de datos, Debian, Debian 13, LAMP, Postgres, Repositorios, SQL y etiquetada como . Guarda el enlace permanente.