Para limitar la salida solo al nombre de usuario, simplemente haga lo siguiente desde el psql
shell o desde el shell / terminal local como
psql -c "SELECT u.usename AS "User Name" FROM pg_catalog.pg_user u;"
Mientras que el método rápido, como se señaló en una respuesta anterior, muestra 3 columnas; incluidos el nombre de usuario , la lista de atributos de roles y el miembro de los grupos de roles.
psql -c "\du"
Finalmente, como se señaló en una respuesta posterior, los comandos PostgreSQL que se ejecutan en segundo plano para el \du
comando muestran esas columnas "predeterminadas" llamando a:
SELECT u.usename AS "User name",
u.usesysid AS "User ID",
CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('superuser, create
database' AS pg_catalog.text)
WHEN u.usesuper THEN CAST('superuser' AS pg_catalog.text)
WHEN u.usecreatedb THEN CAST('create database' AS
pg_catalog.text)
ELSE CAST('' AS pg_catalog.text)
END AS "Attributes"
FROM pg_catalog.pg_user u
ORDER BY 1;
(lo que hace psql detrás de escena cuando escribe \ du)
La última parte se copió de la lista de correo de PostgreSQL .
psql -c '\du'