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
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]
psql -c '\du'