¿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.
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!