PostgreSQL Seznam Uživatelů

PostgreSQL Seznam Uživatelů

PostgreSQL Seznam Uživatelů

Úvod do PostgreSQL Seznam Uživatelů

V žádné databázi, musíme vytvořit a mít více uživatelů, kteří mohou přistupovat do databáze. Každý uživatel by měl mít určitá přístupová oprávnění a měl by být oprávněn, uživatel. Ve výchozím nastavení má databázový server PostgreSQL výchozí uživatele s názvem Postgres. Toto je superuživatel, který má Všechna práva a oprávnění udělená pro všechny databáze a tabulky. Sám může vytvářet nové uživatele a přiřazovat jim role, udělovat a odvolávat oprávnění ostatním uživatelům a tak dále. Superuživatel nebo správce databáze často potřebuje vědět o všech uživatelích přítomných na aktuálním databázovém serveru. V tomto článku se dozvíme, jak můžeme vypsat všechny uživatele, kteří jsou přítomni na našem aktuálním databázovém serveru. Začněme studiem, kde jsou data související s uživatelem uložena a manipulována v databázi.

PostgreSQL Seznam Uživatelů

Níže jsou tři různé Seznam Uživatelů:

Začněte Svůj Volný Data Science Kurz

Hadoop, Data Science, Statistiky & ostatní

1. Uživatelská Data v PostgreSQL

všechna uživatelská data jsou uložena v tabulce s názvem pg_user, která patří do schématu s názvem pg_catalog. Tato tabulka obsahuje všechny informace, jako je uživatelské jméno, usesysid, usecreatedb, usesuper, userepl, usebypassrls, passwd, valuntil, a useconfig. Uživatelské jméno, usesysid a passwd jsou jméno, id a heslo uložené v šifrovacím systému md5 hash uživatele. Současně, všechny ostatní parametry jsou booleovské parametry, které určují, zda uživatel má tu výsadu, jako usesuper, která určuje, zda uživatel superuser, nebo ne. Pokud ano, pak obsahuje hodnotu jako t, což znamená true else f, což znamená false. Podívejme se, co všechny ostatní získané obory znamenají v praktičnosti.

  • Usecreatedb: toto pole nám říká, zda tento konkrétní uživatel může vytvořit novou databázi a má k tomu oprávnění.
  • Userepl: můžeme vytvořit replikace jedné tabulky v mnoha dalších databázích. Může tak učinit pouze konkrétní uživatel, který má toto oprávnění. Pokud má tedy uživatel oprávnění vytvářet nové repliky, je toto pole nastaveno na hodnotu true.
  • Usebypassrls: toto pole je nastaveno na hodnotu true pouze v případě, že uživatel může obejít RLS

nejprve uvidíme, jak můžeme získat informace týkající se uživatele z tabulky pg_user. Budeme muset vytvořit náš dotaz následujícím způsobem –

kód:

SELECT * FROM pg_catalog.pg_user;

výstup:

PostgreSQL Seznam Uživatelů - 1

PostgreSQL Seznam Uživatelů - 1

Pokud si jen chcete získat seznam uživatelů, obsahující jeho jména, můžete oheň následující dotaz.

Kód:

SELECT usename FROM pg_catalog.pg_user;

Výstup:

PostgreSQL Seznam Uživatelů - 2

PostgreSQL Seznam Uživatelů - 2

2. Použití MetaCommands

PostgreSQL nám poskytuje skvělý nástroj s názvem psql, kde můžeme použít metaCommands. MetaCommands jsou krátké ready-made nástroje, které jsou k dispozici k použití, takže práce správce databáze velmi snadné. Pro načtení dat souvisejících s uživatelem \, du je meta-příkaz, který lze použít. K tomu budete muset použít příkazový řádek psql v PostgreSQL. Nechal nás oheň tohoto příkazu a uvidíte, že je výsledek dostáváme:

Kód:

\du

Výstup:

PostgreSQL Seznam Uživatelů - 3

PostgreSQL Seznam Uživatelů - 3
  • Tady, Role Name je jméno uživatele. Seznam rolí, tj. atributy, které jsou role, které má konkrétní uživatel pro sebe. Superuser, Vytvořit roli, Vytvořit DB, Replikace, Bypass RLS jsou pravidla přiřazena superuser to znamená, že uživatel může vytvářet nové role a uživatele, vytvářet nové databáze, proveďte replikací stávajících objektů a obejít RLS.
  • pole „člen“ určuje, zda je uživatel členem jakékoli skupiny. V PostgreSQL může správce databáze vytvářet více skupin a přidávat různé uživatele do různých skupin, což mu pomáhá správně spravovat uživatele při mříže a zrušení oprávnění. Pokud existují nějaké takové skupiny a tento konkrétní uživatel patří do určité skupiny, pak je název této skupiny zobrazen před tímto uživatelem v poli člen sloupce.
  • tento metaCommands interně spustí dotaz v tabulce pg_catalog. pg_user pro načtení informací o uživateli. Zde jsme si role název jako jméno uživatele, a seznam rolí atributy pomozte nám vědět, která práva jsou udělena na konkrétní uživatele, zatímco člen pole, nám říká, že pokud uživatel je členem nějaké konkrétní skupiny, pokud je přítomen. Dotaz, který interně dostane oheň po použití \du metacommand je poněkud podobný níže dotaz:

Kód:

SELECT u.usename AS "Role name",
CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('Create DB, Superuser' AS pg_catalog.text)
WHEN u.usesuper THEN CAST('Superuser' AS pg_catalog.text) WHEN u.usecreatedb THEN CAST('Create DB' AS pg_catalog.text)
ELSE CAST('' AS pg_catalog.text) END AS "Attributes"
FROM pg_catalog.pg_user u ORDER BY 1;

3. Použití pg_shadow

dalším způsobem, jak získat seznam uživatelů, je použití tabulky pg_shadow, která obsahuje také informace o uživatelích v PostgreSQL serveru. Tato tabulka je vedena pro zpětnou kompatibilitu pro verze PostgreSQL, které jsou předchozí 8.1. Tato tabulka ukládá role, které se mohou přihlásit a označit rolcanlogin jako 1 v tabulce pg_authid. Pg_user je pohled vytvořený na základní tabulce pg_shadow tabulka, která je veřejně dostupná. pg_shadow je přístupný pouze superuživateli. pg_user view obsahuje pole Heslo jako prázdné, aby byla zachována bezpečnost. Tabulka pg_ shadow obsahuje pole username, usesysid, usecreatedb, usesuper, userepl, usebypassrls, passwd, valuntil a useconfig pro všechny uživatele v databázovém serveru.

Kód:

SELECT * FROM pg_shadow;

Výstup:

pg_shadow

pg_shadow

select usesysid as "Id of User", usename as "User Name",
usesuper as "Whether User Is SuperUser", passwd as "Md5 Encrypted Password", valuntil as "Expiry of Password"
from pg_shadow order by usename;

Výstup:

pg_shadow

pg_shadow

Závěr

V PostgreSQL databázový server, můžeme získat informace uživatele tím, že buď načítání záznamů z tabulky pg_user, že patří do schématu pg_catalog. Dalším způsobem je použití meta-příkazu \du, který interně spustí dotaz na samotné tabulce pg_user. Kromě toho existuje ještě jedna tabulka s názvem pg_shadow, která ukládá informace o Uživatelích a může být dále použita k seznamu všech uživatelů v databázovém serveru PostgreSQL. Všimněte si, že rozsah všech těchto metod je celý databázový server.

doporučené články

Toto je průvodce pro uživatele seznamu PostgreSQL. Zde diskutujeme o uživatelských datech, uživatelských metaCommand a uživatelských pg_shadow s příklady k implementaci. Můžete také projít si naše další související články k dozvědět se více–

  1. PostgreSQL FETCH
  2. Cizí Klíč v PostgreSQL
  3. PostgreSQL Tabulky
  4. PostgreSQL Dotazy | Úvod | Příklady
  5. PostgreSQL REGEXP_MATCHES()
  6. Průvodce SQL REGEXP
0 Akcie a

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Previous post Tropické Homesteading: Jak Sklízet Kokosové Čerstvé Vody a Maso
Next post Bio-aerial Locomotion 2011