Parancs a PostgreSQL felhasználói fiókok felsorolására?

Vannak createuser & dropuser parancsok:

createuser - define a new PostgreSQL user account dropuser - remove a PostgreSQL user account 

Van-e megfelelő mód a felhasználói fiókok felsorolására?

Ez a két parancs nem megköveteli a felhasználótól, hogy hívja meg a psql alkalmazást, és nem érti a használat részleteit.

Válasz

Használja a psql héjat és:

\deu[+] [PATTERN], például:

postgres=# \deu+ List of user mappings Server | User name | FDW Options --------+-----------+------------- (0 rows) 

És minden felhasználó számára:

postgres=# \du List of roles Role name | Attributes | Member of ------------+------------------------------------------------+----------- chpert.net | | {} postgres | Superuser, Create role, Create DB, Replication | {} 

A MySQL-hez hasonlóan megteheti:

$ psql -c "\du" List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- chpert | | {} postgres | Superuser, Create role, Create DB, Replication | {} test | | {} 

Megjegyzések

  • a terminálról: psql -c '\du'

Válasz

A kimenet csak a felhasználónévre való korlátozásához egyszerűen tegye a következőket: psql shell vagy a helyi shell / terminálról

psql -c "SELECT u.usename AS "User Name" FROM pg_catalog.pg_user u;" 

Míg a gyors m az ethod, amint arra egy korábbi válasz rámutatott, 3 oszlopot mutat; beleértve a felhasználónév , Szerepkör-attribútumok listáját és szerepkör (ek) tagja.

psql -c "\du" 

Végül, amint arra egy későbbi válasz rámutatott, a háttérben futó PostgreSQL parancsok az \du parancshoz az” alapértelmezett “oszlopokat mutatják a következő hívással:

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; 

(a psql mit csinál a kulisszák mögött, amikor \ du gépel)

Az utolsó részt a PostgreSQL levelezőlistáról másoltuk.

Válasz

Egyszerűbb válaszért …

A psql-en belül:

\du 

A terminálról:

psql -c "\du" 

Segít emlékezni arra, hogy d gyakran használják d leír valamit, és u u sers.

Válasz

SQL megoldás, amelyet általában a psql \ du végez:

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; 

Ref: https://www.postgresql.org/message-id/[email protected]

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük