Cómo crear un usuario en PostgreSQL Usando PgAdmin

⚡ Resumen inteligente

Crear un usuario en PostgreSQL Esto se puede hacer visualmente en pgAdmin o con el comando CREATE USER en la consola SQL. Luego, puede otorgar privilegios con GRANT, modificar roles con ALTER USER y eliminar cuentas con DROP USER.

  • 🖱️ Crear en pgAdmin: Haz clic con el botón derecho en Inicio de sesión/Roles de grupo, introduce un nombre, establece una contraseña y los privilegios, y guarda para crear el usuario.
  • 💻 Comando CREAR USUARIO: En la consola SQL, el comando CREATE USER nombre_de_USUARIO WITH opciones establece el nombre de usuario, el superusuario y la contraseña en un solo comando.
  • 🔑 Autorizará el acceso: GRANT ALL PRIVILEGES ON DATABASE db TO user otorga a un usuario existente acceso a una base de datos.
  • 🔧 MODIFICAR USUARIO: ALTER USER ajusta los permisos de un rol, añadiendo o revocando privilegios como SUPERUSUARIO.
  • 🗑️ DEJAR USUARIO: DROP USER elimina una cuenta, pero solo después de que ya no posea ningún objeto de la base de datos.
  • 🧾 Rol vs. Usuario: La función CREATE USER utiliza por defecto LOGIN, mientras que CREATE ROLE utiliza por defecto NOLOGIN; por lo demás, son iguales.

Cómo crear un usuario en PostgreSQL Usando PgAdmin

Cómo crear PostgreSQL Usuario en PgAdmin

A continuación se muestra un proceso paso a paso sobre cómo crear un usuario en PostgreSQL Administrador de página:

Paso 1) Haga clic derecho en Iniciar sesión

En el primer paso, haga clic derecho en Rol de grupo de inicio de sesión -> Crear -> Haga clic en Rol de grupo de inicio de sesión...

Crear PostgreSQL Usuario en PgAdmin

Paso 2) Crear inicio de sesión/rol de grupo

Ahora, ingrese el nombre para iniciar sesión.

Crear PostgreSQL Usuario en PgAdmin

Paso 3) Haga clic en Definición e ingrese detalles

  1. Introducir la contraseña
  2. Una fecha de vencimiento para la cuenta.

Crear PostgreSQL Usuario en PgAdmin

Paso 4) La sección de privilegios

  1. Toggle Puede iniciar sesión en SÍ
  2. Toggle Superusuario a SÍ

Crear PostgreSQL Usuario en PgAdmin

Paso 5) El SQL ,

  1. Verá la consulta SQL para crear un usuario según las selecciones realizadas en los pasos anteriores.
  2. Haga clic en el botón Guardar

Crear PostgreSQL Usuario en PgAdmin

Paso 6) Se crea el rol

Ahora, el rol se refleja en el árbol de objetos.

Crear PostgreSQL Usuario en PgAdmin

Paso 7) Créar un Database

Ahora, asígnele el propietario myguru como se muestra en el siguiente ejemplo de creación de usuario de Postgres.

Crear PostgreSQL Usuario en PgAdmin

Paso 8) La linea de comando

Ahora puedes ver que el propietario es myguru.

Crear PostgreSQL Usuario en PgAdmin

PostgreSQL Crear un SQLShell de usuario (línea de comando)

Puede crear un usuario utilizando el comando de línea de comandos

CREAR USUARIO

Este método de creación de usuario con contraseña de Postgres es más conveniente para programadores y administradores ya que tienen acceso a la consola de PostgreSQL servidor. Además, necesitan crear usuarios de Postgres y ejecutarlos con un solo comando en lugar de iniciar sesión y utilizar la interfaz del PostgreSQL cliente.

Sintaxis:

CREATE USER name [ WITH ] option [ ... ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

Ejemplo:

CREATE USER tom;

creará un usuario tom

CREATE USER tom WITH SUPERUSER;

Se creará un usuario llamado Tom con privilegios de superusuario. Veamos el siguiente ejemplo.

Paso 1) Estamos creando un superusuario válido hasta las 3rd Abril de 2025, 11:50:38 IST. Introduzca el siguiente comando.

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30'
	PASSWORD '123456';

Crear un SQLShell de usuario

Paso 2) Ingrese el comando \du en la lista de verificación de usuarios

Crear un SQLShell de usuario

NOTA: El comando CREATE USER es equivalente al comando CREATE ROLE. La diferencia radica en que, al escribir el comando CREATE USER en Postgres, se utiliza por defecto el estado LOGIN, mientras que al usar la opción CREATE ROLE se asume NOLOGIN.

Agregar un usuario existente a una base de datos

Puede otorgar privilegios a un usuario para acceder a una base de datos.

Ejemplo, otorgamos al usuario "mytest" todos los privilegios sobre el usuario guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Agregar un usuario existente a una base de datos

Después de la ejecución del PostgreSQL Agregue el comando de usuario, el usuario podrá acceder a la base de datos con los permisos otorgados.

El comando GRANT es muy poderoso. Puede otorgar privilegios granulares como Seleccionar, Insertar, Actualizar a un usuario.

PostgreSQL Actualizando USUARIO

Modificar los permisos de usuario existentes

Ahora que existe nuestro nuevo usuario "mytest", puede usar ALTER USER para cambiar los permisos otorgados al bibliotecario.

El formato de ALTER USER Postgres incluye el nombre del usuario seguido de algunas opciones para indicar PostgreSQL qué modificaciones permisivas hacer:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revaceptar permisos

Debe utilizar este comando cuando cometa un error y asigne incorrectamente un permiso que desee revocar. Puede utilizar el comando ALTER USER sin prefijo antes de las opciones permisivas.

Por ejemplo, podemos eliminar el estado SUPERUSUARIO de mytest como:

ALTER USER mytest WITH NOSUPERUSER;

Al usar \du, observará que se elimina el privilegio de Superusuario.

Revaceptar permisos

Asignar permiso

Puede utilizar el permiso SUPERUSUARIO del usuario “mytest” utilizando el siguiente comando

ALTER USER mytest WITH SUPERUSER;

Usando \du, observará que se agrega el privilegio de Superusuario.

Asignar permiso

PostgreSQL Eliminación de usuario

Puede utilizar eliminar cualquier usuario si está seguro de que el usuario específico ya no está en su base de datos. Tenga en cuenta que eliminar usuarios nunca afectará la base de datos real.

Syntax: DROP USER [user]

Para eliminar un usuario, debe asegurarse de que sea el propietario de la base de datos. De lo contrario, puede recibir un mensaje de error.

ERROR:  role "username" cannot be dropped because some objects depend on it

Ejemplo:

  1. La cuenta "myguru" es propietaria de la base de datos "demoDB".
  2. Ingrese el comando DROP USER myguru
  3. Se muestra el error

PostgreSQL Eliminación de usuario

Una vez que cambiamos el propietario de la base de datos, el usuario puede ser eliminado.

PostgreSQL Eliminación de usuario

Hoja de trucos

Aquí hay comandos importantes.

Comandos Mareas Ideales para Lecciones
CREATE USER [user]
Comando para crear un usuario
ALTER USER role_specification
Modificar los permisos de usuario existentes
ALTER USER [user]
Revaceptar permisos
ALTER USER [user name] WITH SUPERUSER
Asignar permiso
DROP USER [user]
Comando para eliminar un usuario

Preguntas Frecuentes

En la consola de psql, ejecute el comando \du para listar todos los roles y sus atributos. También puede consultar el catálogo del sistema con SELECT rolname FROM pg_roles para obtener la misma información mediante programación.

Utilice ALTER USER, por ejemplo, ALTER USER mytest WITH PASSWORD 'nuevacontraseña'. El cambio se aplica inmediatamente. Las contraseñas se almacenan cifradas y solo los superusuarios o el propio usuario pueden modificarlas.

In PostgreSQLLos usuarios y los roles son el mismo objeto. CREATE USER crea un rol que puede iniciar sesión por defecto, mientras que CREATE ROLE crea uno que no puede iniciar sesión a menos que se le añada el atributo LOGIN.

La IA puede generar sentencias CREATE USER, GRANT y ALTER USER a partir de una descripción simple del acceso que necesita, y explicar cada privilegio. Esto le ayuda a aplicar la seguridad de mínimo privilegio sin necesidad de memorizar la sintaxis.

Sí. La IA puede sugerir comandos GRANT detallados que otorguen solo los privilegios necesarios, advertir sobre la concesión de acceso de superusuario amplio y recomendar el uso de roles para agrupar permisos para una gestión más sencilla y segura.

Resumir este post con: