es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cambio el prompt de la consola de PostgreSQL (psql) para que no muestre “postgres=#”, sino “new_user=#”?

Intento descubrir cómo puedo abrir la consola de psql con un usuario en particular.

Digamos que tengo dos superusuarios: postgres y new_user. Puedo verlos cuando ejecuto \du dentro de la consola de psql.

Cuando ejecuto sudo -u postgres psql, puedo abrir con éxito la consola de psql y veo: postgres=#.

Si ejecuto sudo -u new_user psql, obtengo un error:


sudo: usuario desconocido: new_user
sudo: incapaz de inicializar el plugin de políticas

Aunque puedo crear una nueva base de datos y establecer a new_user como propietario:
postgres=# CREATE DATABASE newdb OWNER new_user;

No encontré una manera de cambiar el usuario dentro de la consola de psql también. ¿Qué hice mal?

Gracias de antemano.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para abrir la consola de psql con un usuario en particular, es necesario asegurarse de que el usuario exista y tenga permisos para acceder a la base de datos. En este caso, parece que el usuario “new_user” no existe en el sistema, por lo que se obtiene un error al intentar abrir la consola de psql con dicho usuario.

    Para solucionarlo, puede crear el usuario “new_user” ejecutando el siguiente comando como usuario “postgres”:
    CREATE USER new_user WITH PASSWORD 'password';

    Reemplace “password” con una contraseña segura para la cuenta “new_user”.

    Después de crear el nuevo usuario, puede otorgarle permisos para acceder a la base de datos deseada ejecutando:
    GRANT ALL PRIVILEGES ON DATABASE newdb TO new_user;

    Luego, debería poder abrir la consola de psql con la cuenta “new_user” ejecutando:
    sudo -u new_user psql

    Una vez dentro de la consola de psql, puede acceder a la base de datos “newdb” ejecutando:
    \c newdb
    Esto cambiará su conexión a la base de datos “newdb” y podrá realizar acciones en ella como cuenta “new_user”.

    ¡Espero que esto ayude!

Comments are closed.