Tutoriales

Cómo instalar y usar PostgreSQL en Ubuntu 24.04

PostgreSQL (Postgres En resumen) es un sistema de base de datos de documentos relacionales estable, potente, avanzado, de alto rendimiento y de código abierto que amplía el lenguaje SQL e incluye una amplia gama de funciones para el almacenamiento y la gestión seguros de datos.

Es eficiente, confiable y escalable para manejar grandes cantidades de datos complejos y establecer entornos tolerantes a fallas de nivel empresarial al tiempo que garantiza una alta integridad de los datos.

Postgres También es altamente escalable, con funciones como indexación avanzada, búsqueda de texto completo y viene con una API para que pueda desarrollar sus propias soluciones para resolver sus desafíos de almacenamiento de datos.

En este artículo explicaremos cómo instalar PostgreSQL 18 (Recién publicado en 25 de septiembre de 2025) en un Ubuntu 24.04 LTS servidor y aprenda los conceptos básicos para usarlo de manera efectiva.

Cómo instalar PostgreSQL en Ubuntu 24.04

PostgreSQL Todo viene preenvasado ubuntu Versión predeterminada. Sin embargo, ubuntu incluir un «específicoInstantánea» de PostgreSQL Permanece fijo durante toda su vida ubuntu liberar.

Si quieres acceder a la actualización PostgreSQL versión, entonces puede usar el siguiente script de configuración automática del repositorio para configurar automáticamente el archivo oficial Apartamento PostgreSQL repositorio.

sudo apt install -y postgresql-common ca-certificates
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Ahora actualice la lista de paquetes e instale PostgreSQL (La última versión es PostgreSQL 18 A partir de hoy):

sudo apt update
sudo apt install postgresql-18 postgresql-contrib-18
Instalar PostgreSQL 18 en Ubuntu

Instale pgAdmin 4 para la gestión de PostgreSQL

Si prefieres una interfaz gráfica para gestionar tu PostgreSQL base de datos que puedes instalar pgadmin 4,oficial PostgreSQL Herramienta de administración que le permite administrar bases de datos, usuarios, consultas y más a través de un panel basado en web.

existir Ubuntu24.04, pgadmin 4 No está disponible en el repositorio predeterminado, por lo que usaremos el oficial Grupo de administradores repositorio.

sudo apt install -y curl ca-certificates gnupg
curl -fsS  | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg]  -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

una vez Grupo de administradores El repositorio ha sido agregado y puedes instalarlo. pgadmin 4 Como se muestra en la imagen.

# Install for both desktop and web modes
sudo apt install pgadmin4

# Install for desktop mode only
sudo apt install pgadmin4-desktop

# Install for web mode only 
sudo apt install pgadmin4-web 

# Configure the webserver, if you installed pgadmin4-web:
sudo /usr/pgadmin4/bin/setup-web.sh

Una vez completada la instalación, PostgreSQL El servicio debería iniciarse automáticamente y puede confirmar su estado ejecutando el siguiente comando:

sudo systemctl status postgresql

Para permitir que PostgreSQL se inicie al arrancar (si aún no está habilitado):

sudo systemctl enable postgresql

Puedes abrirlo después de ejecutar Grupo de administradores En tu navegador:

Herramienta de gestión pgAdmin para PostgreSQL
Herramienta de gestión pgAdmin para PostgreSQL

Cómo utilizar roles y bases de datos de PostgreSQL

existir PostgreSQLla autenticación del cliente se realiza mediante /etc/postgresql/18/main/pg_hba.conf Archivo de configuración (el número de versión puede variar según su instalación).

El método de autenticación predeterminado es "peer" Para un administrador de base de datos, esto significa que obtiene el nombre de usuario del sistema operativo del cliente y verifica si coincide con el nombre de usuario de la base de datos solicitado para permitir el acceso a la conexión local.

Durante la instalación, se llama a la cuenta de usuario del sistema. postgres Creado sin contraseña, este también es el nombre de usuario predeterminado del administrador de la base de datos.

sudo nano /etc/postgresql/18/main/pg_hba.conf

Comprender el rol de PostgreSQL

existir PostgreSQLla gestión de derechos de acceso a la base de datos se realiza a través de Role. Un rol puede considerarse un usuario de base de datos o un grupo de usuarios de base de datos, dependiendo de cómo esté configurado el rol.

El rol predeterminado también es postgres. Es importante destacar que los roles de la base de datos son conceptualmente completamente independientes de los usuarios del sistema operativo, pero en la práctica pueden estar vinculados (especialmente con fines de autenticación).

Los roles pueden:

  • Objetos de base de datos propios (tablas, vistas, funciones, etc.).
  • Asigne permisos sobre estos objetos a otros roles.
  • Otorgar membresía de un rol a otro rol (herencia de roles).

Habilite contraseñas cifradas para el rol de PostgreSQL

Para configurar la función para usar contraseñas cifradas en lugar de autenticación de pares, debe modificar pg_hba.conf documento. Cambiar método de autenticación peer llegar scram-sha-256 (métodos de seguridad modernos) o md5 Se utiliza para la verificación de contraseña.

sudo nano /etc/postgresql/18/main/pg_hba.conf

Encuentra la línea que se parece a esta:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     peer

y cambiar a:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             postgres                                peer
local   all             all                                     scram-sha-256

Esto mantiene peer Autenticación postgres usuario, pero requiere la contraseña de otro usuario.

Configurar roles de PostgreSQL con contraseñas cifradas
Configurar roles de PostgreSQL con contraseñas cifradas

luego reinicia PostgreSQL Servicio para aplicar cambios a:

sudo systemctl restart postgresql

Cómo usar PostgreSQL en Ubuntu

Una vez que todo esté configurado, podrás acceder postgres cuenta del sistema usando el siguiente comando, donde -i la bandera dice sudo Ejecuta el shell especificado por la entrada de la base de datos de contraseñas del usuario de destino como shell de inicio de sesión.

sudo -i -u postgres
psql    # to launch the postgres shell program

Para acceder al shell de Postgres directamente sin acceder primero a la cuenta de usuario de Postgres, ejecute:

sudo -u postgres psql

Puede salir/salir del shell de postgres escribiendo \q o presione Ctrl+D.

\q
Inicie sesión en la cuenta del sistema PostgreSQL
Inicie sesión en la cuenta del sistema PostgreSQL

Crear un rol de base de datos PostgreSQL

Cree una nueva función de usuario usando el siguiente comando:

CREATE ROLE tecmint;

Crear un rol LOGIN Propiedades (rol vs. LOGIN Las propiedades pueden considerarse las mismas que las de los usuarios de la base de datos):

CREATE ROLE tecmint LOGIN;

O usar CREATE USER Comando, con función de inicio de sesión por defecto:

CREATE USER tecmint;

Crear un rol con una contraseña

También se pueden crear roles usando contraseñas, lo cual es fundamental si configura el método de autenticación de su cliente para que requiera una contraseña cifrada:

CREATE ROLE tecmint WITH LOGIN PASSWORD 'secure_password_here';

O usar CREATE USER sintaxis:

CREATE USER tecmint WITH PASSWORD 'secure_password_here';

Crear un rol con permisos adicionales

Puedes crear un rol con privilegios de superusuario (úsalo con precaución):

CREATE ROLE admin WITH LOGIN PASSWORD 'admin_password' SUPERUSER;

O cree un rol que pueda crear bases de datos:

CREATE ROLE developer WITH LOGIN PASSWORD 'dev_password' CREATEDB;

Listar roles de base de datos PostgreSQL existentes

Para enumerar las funciones de usuario existentes, utilice cualquiera de los siguientes comandos:

\du              -- shows actual users with details

o:

SELECT rolname FROM pg_roles;

Para ver información más detallada:

\du+

Modificar el rol de la base de datos PostgreSQL

Para cambiar la contraseña de un rol:

ALTER ROLE tecmint WITH PASSWORD 'new_password';

Otorgue privilegios de superusuario a una función existente:

ALTER ROLE tecmint WITH SUPERUSER;

Revocar privilegios de superusuario:

ALTER ROLE tecmint WITH NOSUPERUSER;

Eliminar función de base de datos PostgreSQL

Para eliminar una función de usuario existente, utilice DROP ROLE Orden:

DROP ROLE tecmint;

notas: No puede eliminar una función que posee objetos de base de datos; primero debe reasignar o eliminar los objetos.

Crear una base de datos PostgreSQL

Una vez que crea un rol con un nombre específico (p. ej. tecmint usuario), puede crear una base de datos administrada por este rol:

CREATE DATABASE tecmint;

Para crear una base de datos propiedad de un rol específico:

CREATE DATABASE tecmint OWNER tecmint;

Para crear una base de datos con una codificación específica:

CREATE DATABASE tecmint ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' OWNER tecmint;

Conceder permisos a roles

Después de crear la base de datos, otorgue al rol todos los permisos:

GRANT ALL PRIVILEGES ON DATABASE tecmint TO tecmint;

Ahora a gestionar la base de datos. tecmintaccede al shell de postgres tecmint Role:

psql -U tecmint -d tecmint

Si se le solicita una contraseña, ingrese la contraseña que estableció para el rol.

Crear tabla PostgreSQL

Crearemos una tabla de prueba llamada authorsque almacena información sobre TecMint.com autor:

CREATE TABLE authors (
    code      SERIAL PRIMARY KEY,
    name      VARCHAR(40) NOT NULL,
    city      VARCHAR(40) NOT NULL,
    joined_on DATE NOT NULL
);

notas: estamos usando SERIAL Para las claves primarias, genera automáticamente números de serie, lo cual es más práctico que asignar códigos manualmente.

Insertar datos en la tabla PostgreSQL

Después de crear la tabla, complétela con algunos datos:

INSERT INTO authors (name, city, joined_on) VALUES 
    ('Ravi Saive', 'Mumbai', '2012-08-15'),
    ('Aaron Kili', 'Nairobi', '2014-03-20'),
    ('Matei Cezar', 'Bucharest', '2015-06-10');

Consultar datos de la tabla PostgreSQL

Para ver los datos almacenados en la tabla, ejecute el comando SELECT:

SELECT * FROM authors;

Para una columna específica:

SELECT name, city FROM authors;

Con filtro:

SELECT * FROM authors WHERE city = 'Mumbai';

Con pedido:

SELECT * FROM authors ORDER BY joined_on DESC;

Actualizar datos en la tabla PostgreSQL

Modificar datos existentes:

UPDATE authors SET city = 'Delhi' WHERE name="Ravi Saive";

Eliminar datos de la tabla PostgreSQL

Para eliminar filas específicas:

DELETE FROM authors WHERE name="Ravi Saive";

Listar tablas de bases de datos PostgreSQL

Puede enumerar todas las tablas de la base de datos actual utilizando el siguiente comando:

\dt

Para más detalles:

\dt+

Ver estructura de la tabla:

\d authors

Cambiar la estructura de la tabla PostgreSQL

Para agregar nuevas columnas a una tabla existente:

ALTER TABLE authors ADD COLUMN email VARCHAR(100);

Eliminar columnas:

ALTER TABLE authors DROP COLUMN email;

Para cambiar el nombre de las columnas:

ALTER TABLE authors RENAME COLUMN code TO author_id;

Eliminar/eliminar tabla PostgreSQL

Eliminar una tabla en la base de datos actual:

DROP TABLE authors;

Utilice la eliminación en cascada (elimine objetos dependientes):

DROP TABLE authors CASCADE;

Listar todas las bases de datos PostgreSQL

Para enumerar todas las bases de datos, utilice cualquiera de los siguientes comandos:

SELECT datname FROM pg_database;

O ver instrucciones detalladas:

\list

O abreviado:

\l

Eliminar/eliminar base de datos PostgreSQL

Si desea eliminar la base de datos:

DROP DATABASE tecmint;

advertir: Esto eliminará permanentemente todos los datos de la base de datos.

Cambiar a otra base de datos PostgreSQL

Puede cambiar fácilmente de una base de datos a otra:

\connect database_name

O abreviado:

\c database_name

Configurar PostgreSQL para acceso remoto

Por defecto, PostgreSQL Solo acepta conexiones de servidor local.

Para permitir conexiones remotas es necesario editar postgresql.conf documento.

sudo nano /etc/postgresql/18/main/postgresql.conf

Encuentra esta línea:

#listen_addresses="localhost"

Cámbielo a:

listen_addresses="*"

A continuación, edite pg_hba.conf documento.

sudo nano /etc/postgresql/18/main/pg_hba.conf

Agregue una línea para permitir conexiones desde su red (reemplace 192.168.1.0/24 con su red):

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.1.0/24          scram-sha-256

O permitir desde cualquier IP (menos seguro):

host    all             all             0.0.0.0/0               scram-sha-256

Permitir PostgreSQL a través del firewall:

sudo ufw allow 5432/tcp

Finalmente, reinicie PostgreSQL.

sudo systemctl restart postgresql

Ajuste básico del rendimiento de PostgreSQL

Para un mejor rendimiento Ubuntu24.04considere ajustar esta configuración postgresql.conf:

sudo nano /etc/postgresql/18/main/postgresql.conf

Cambios recomendados (ajustar a la RAM de tu servidor):

shared_buffers = 256MB              # 25% of RAM
effective_cache_size = 1GB          # 50-75% of RAM
maintenance_work_mem = 64MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 4MB

Después de realizar los cambios, reinicie PostgreSQL:

sudo systemctl restart postgresql

Realizar una copia de seguridad y restaurar la base de datos PostgreSQL

Haga una copia de seguridad de una única base de datos:

pg_dump -U postgres tecmint > tecmint_backup.sql

Haga una copia de seguridad de todas las bases de datos.

pg_dumpall -U postgres > all_databases_backup.sql

Restaurar la base de datos.

psql -U postgres tecmint < tecmint_backup.sql

Referencia útil de comandos de PostgreSQL

Esta es una referencia rápida de uso común. PostgreSQL Orden:

Ordendescribir
\l o \listListar todas las bases de datos
\c dbnameConectarse a la base de datos
\dtenumerar todas las tablas
\d tablenameDescribir la estructura de la tabla
\duListar todos los roles/usuarios
\dnListar todos los modos
\dfenumerar todas las funciones
\dvenumerar todas las vistas
\timingAlternar tiempo de consulta
\xAlternar visualización extendida
\i filenameEjecutar comando desde archivo
\qSalir de psql
\hayuda del comando SQL
\?Ayuda con comandos psql
en conclusión

¡Eso es todo! En este artículo explicamos cómo instalar y utilizar PostgreSQL El sistema de gestión de bases de datos se pone en línea Ubuntu 24.04 LTS.

Cubrimos instalación, administración de usuarios, operaciones de bases de datos, configuración de acceso remoto, ajuste del rendimiento y estrategias de respaldo. Puede enviarnos sus preguntas o pensamientos en los comentarios a continuación.

Para obtener más información, consulte Documentación oficial de PostgreSQL 18o explore sitios web útiles para aprender PostgreSQL.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba