Komento PostgreSQL-käyttäjätilien luetteloimiseksi?

createuser & -komennot:

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

Onko vastaava tapa tunnistaa käyttäjätilit?

Nämä kaksi komentoa eivät vaatia käyttäjää kutsumaan psql eikä ymmärtämään sen käytön yksityiskohtia.

Vastaa

Käytä psql -kuorta ja:

\deu[+] [PATTERN] kuten:

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

Ja kaikille käyttäjille:

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

Voit myös tehdä esimerkiksi MySQL: n:

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

kommentit

  • terminaalista: psql -c '\du'

vastaus

Jos haluat rajoittaa lähdön vain käyttäjänimelle, toimi seuraavasti joko psql shell tai paikallisesta shellistä / terminaalista nimellä

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

Vaikka nopea ethod, kuten edellisessä vastauksessa todettiin, näyttää 3 saraketta; mukaan lukien käyttäjätunnus , Roolimääritteiden luettelo ja rooliryhmän jäsen.

psql -c "\du" 

Kuten seuraavassa vastauksessa todettiin, PostgreSQL-komennot, jotka suoritetaan taustalla komennolle \du, näyttävät nämä” oletus ”-sarakkeet soittamalla

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; 

(mitä psql tekee kulissien takana kirjoittaessasi \ du)

Viimeinen osa kopioitiin PostgreSQL-postituslistalta .

Vastaa

Saat yksinkertaisemman vastauksen …

Psql:

\du 

Päätteestä:

psql -c "\du" 

Se auttaa minua muistamaan, että d käytetään usein d kuvataan jotain ja u on tarkoitettu u sers.

Vastaa

SQL-ratkaisu, jonka psql \ du yleensä suorittaa:

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; 

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *