¿Cómo crear un usuario en Postgresql? (postgresql create user)
Con la creciente necesidad de gestionar grandes volúmenes de datos, los sistemas de bases de datos siguen evolucionando. PostgreSQL destaca como una de las soluciones más fiables y de mayor rendimiento disponibles en la actualidad, ampliamente adoptada tanto para aplicaciones a pequeña como a gran escala.
Esta guía paso a paso le guiará a través de postgresql create user o cómo crear un usuario en Postgresql. También explicaremos cómo instalar un servidor PostgreSQL en Ubuntu utilizando Docker.
¿Qué es PostgreSQL?
PostgreSQL es un potente sistema de gestión de bases de datos relacionales orientadas a objetos (ORDBMS) de código abierto, conocido por su rendimiento, integridad de datos y flexibilidad. Es una opción muy popular entre desarrolladores y empresas debido a su estabilidad y su amplio conjunto de funciones.
PostgreSQL se adhiere a los principios ACID (atomicidad, consistencia, aislamiento y durabilidad), que garantizan transacciones fiables incluso ante fallos del sistema o fallos inesperados.
Características principales de PostgreSQL:
- Soporte avanzado para datos geográficos con indexación y consultas espaciales
- Soporte integrado para la replicación de datos
- Un sólido sistema de control de acceso basado en roles
- Capacidades de búsqueda de texto completo
- Control de concurrencia multiversión (MVCC) para un manejo eficiente de las transacciones
- Soporte flexible para el almacenamiento de claves-valores
Requisitos previos
Antes de empezar, asegúrese de que dispone de lo siguiente:
- Un sistema que ejecute la última versión de Ubuntu
- Docker instalado en su máquina (consulte la documentación oficial de Docker si es necesario)
- Su cuenta de usuario debe pertenecer al grupo Docker, lo que le permitirá ejecutar comandos Docker sin necesidad de privilegios de root cada vez.
Cómo crear un usuario en PostgreSQL: guía paso a paso
Para crear un nuevo usuario (o rol) en PostgreSQL, comenzaremos por configurar una instancia de PostgreSQL dentro de un contenedor Docker. Una vez que el contenedor esté en funcionamiento, nos conectaremos al servidor PostgreSQL utilizando la herramienta de línea de comandos psql y procederemos a crear y gestionar roles, todo ello desde el entorno Docker.
Paso 1: Configurar PostgreSQL con Docker
La forma más fácil de poner en marcha PostgreSQL es utilizando la imagen oficial de Docker mantenida por la comunidad PostgreSQL.
Puede iniciar un contenedor con el siguiente comando:
docker run --name postgres_db -e POSTGRES_PASSWORD=mysecretpassword -d postgres
Reemplaza mysecretpassword por una contraseña segura y resistente de tu elección. Por ejemplo:
# docker run --name postgres_db -e POSTGRES_PASSWORD=password123 -d postgres
Este comando extrae la imagen de PostgreSQL (si aún no se ha descargado) e inicia un contenedor con un usuario predeterminado llamado postgres que tiene privilegios completos de superusuario.
Para verificar que el contenedor funciona correctamente, utilice:
# docker ps
Esto mostrará una lista de todos los contenedores activos, incluida su instancia de PostgreSQL.
Paso 2: Acceder a PostgreSQL a través de psql
Una vez que su contenedor PostgreSQL esté en funcionamiento, puede conectarse a él utilizando psql, que es el terminal interactivo integrado de PostgreSQL.
Utilice el siguiente comando para acceder al shell psql dentro del contenedor:
# docker exec -it postgres_db psql -U postgres
Aquí:
- docker exec le permite ejecutar comandos dentro de un contenedor en ejecución.
- -it habilita el modo interactivo.
- -U postgres especifica que desea conectarse como usuario postgres.
Una vez dentro del shell de PostgreSQL, puede enumerar todos los roles existentes utilizando:
\du
Esto mostrará una lista de roles (usuarios) junto con sus privilegios asignados.
Nota importante: PostgreSQL utiliza el término «rol» para referirse tanto a usuarios como a grupos. Un rol puede tener privilegios de inicio de sesión (como un usuario) o puede actuar como un grupo del que otros roles pueden heredar permisos. Básicamente, los roles sirven como mecanismo de control de acceso en PostgreSQL.
Paso 3: Crear un nuevo usuario en PostgreSQL (psql create user)
En PostgreSQL, un usuario es simplemente un rol que tiene permiso para iniciar sesión. Puede crearlo utilizando el comando CREATE USER, que incluye automáticamente el privilegio LOGIN.
Por ejemplo, para crear un usuario llamado editor con una contraseña:
CREATE USER editor WITH PASSWORD “password123”;
Para verificar que el usuario se ha añadido correctamente, ejecute:
\du
Esto mostrará una lista de todos los roles y sus permisos asignados. El usuario editor aparecerá en la lista con la configuración predeterminada.
Paso 4: Otorgar privilegios adicionales
Una vez creado el usuario, puede asignarle permisos adicionales. Por ejemplo, para permitir que el usuario editor cree nuevas bases de datos, ejecute:
ALTER USER editor CREATEDB;
Vuelva a utilizar el comando \du para confirmar que se ha aplicado el privilegio CREATEDB.
Paso 5: Cambiar al nuevo usuario
Puede cambiar su sesión para actuar como el nuevo usuario con:
SET ROLE editor;
Dado que este usuario ahora tiene permiso para crear bases de datos, puede intentar crear una:
CREATE DATABASE articles_db;
Conclusión
Este tutorial ha mostrado cómo ejecutar un contenedor PostgreSQL utilizando Docker, crear un nuevo usuario (editor), asignar privilegios de base de datos y utilizar el rol para gestionar bases de datos. Para configuraciones más avanzadas, asegúrese de explorar la documentación oficial de PostgreSQL.
Bluevps ofrece una configuración instantánea de KVM VPS en 20 ubicaciones globales, lo que garantiza que su servidor virtual esté listo para funcionar en cuestión de minutos. Tanto si realiza la implementación en Linux como en Windows, obtendrá una flexibilidad total con una amplia gama de paneles de control y recursos 100 % dedicados garantizados a través de la virtualización KVM. Esto garantiza un rendimiento constante y un aislamiento completo para su entorno.
Con un cómodo acceso y control remoto, la gestión de su VPS es sencilla y eficiente, independientemente de dónde se encuentre. Además, Bluevps le respalda con un servicio de atención al cliente 24/7, lo que lo convierte en una opción fiable para desarrolladores, empresas y entusiastas del alojamiento. Elija Bluevps.com para obtener soluciones VPS de alto rendimiento, seguras y disponibles al instante en todo el mundo.
Blog