PostgreSQL lista felhasználók

PostgreSQL Felhasználók listája

PostgreSQL lista felhasználók

Bevezetés A PostgreSQL lista felhasználókhoz

bármely adatbázisban létre kell hoznunk és több felhasználóval kell rendelkeznünk, akik hozzáférhetnek az adatbázishoz. Minden felhasználónak rendelkeznie kell bizonyos hozzáférési jogosultságokkal, és engedélyezni kell a felhasználót. Alapértelmezés szerint a PostgreSQL adatbázis szerver egy alapértelmezett felhasználó nevű Postgres. Ez a superuser, aki az összes adatbázishoz és táblához biztosított összes joggal és jogosultsággal rendelkezik. Ő maga hozhat létre új felhasználókat, és szerepeket rendelhet hozzájuk, engedélyeket adhat és visszavonhat más felhasználóknak stb. Gyakran a rendszergazdának vagy az adatbázis-adminisztrátornak tudnia kell az aktuális adatbázis-kiszolgálón jelen lévő összes felhasználóról. Ebben a cikkben megtanuljuk, hogyan tudjuk felsorolni az összes olyan felhasználót, aki jelen van a jelenlegi adatbázis-kiszolgálónkban. Kezdjük azzal, hogy megvizsgáljuk, hol tárolják és manipulálják a felhasználóval kapcsolatos adatokat az adatbázisban.

PostgreSQL lista felhasználók

az alábbiakban a három különböző lista felhasználók:

indítsa el ingyenes Data Science tanfolyamát

Hadoop, Data Science, Statistics & egyéb

1. Felhasználói adatok a PostgreSQL-ben

az összes felhasználóval kapcsolatos adatot a pg_user nevű tábla tárolja, amely a pg_catalog nevű sémához tartozik. Ez a táblázat tartalmazza az összes olyan információt, mint a username, usesysid, usecreatedb, usesuper, userepl, usebypassrls, passwd, valuntil és useconfig. A felhasználónév, a usesysid és a passwd a felhasználó md5 hash titkosítási rendszerében tárolt név, azonosító és jelszó. Ezzel egyidejűleg az összes többi paraméter az a logikai paraméter, amely meghatározza, hogy a felhasználó rendelkezik-e ezzel a jogosultsággal, például a usesuper, amely meghatározza, hogy a felhasználó superuser-e vagy sem. Ha igen, akkor t értéket tartalmaz, amely igaz mást jelent f ami hamis. Lássuk, mit jelent az összes többi letöltött mező a gyakorlatiasságban.

  • Usecreatedb: ez a mező megmondja, hogy az adott felhasználó létrehozhat-e új adatbázist, és jogosult-e erre.
  • Userepl: egyetlen tábla replikációját sok más adatbázisban is létrehozhatjuk. Csak egy adott felhasználó, aki rendelkezik ezzel a jogosultsággal. Ezért, ha a felhasználó jogosult új másolatok létrehozására, ez a mező igaz értékre van állítva.
  • Usebypassrls: ez a mező csak akkor igaz, ha a felhasználó megkerülheti az RLS

először meglátjuk, hogyan tudjuk letölteni a felhasználóval kapcsolatos információkat a pg_user táblából. A lekérdezést a következő módon kell felépítenünk –

Kód:

SELECT * FROM pg_catalog.pg_user;

kimenet:

 PostgreSQL Felhasználók listája - 1

PostgreSQL Felhasználók listája - 1

ha csak a nevét tartalmazó felhasználók listáját szeretné megkapni, akkor a következő lekérdezést indíthatja el.

Kód:

SELECT usename FROM pg_catalog.pg_user;

Kimenet:

PostgreSQL Felhasználók Listája - 2

PostgreSQL Felhasználók Listája - 2

2. Használata MetaCommands

PostgreSQL biztosít számunkra egy csodálatos segédprogram nevű psql, ahol tudjuk használni metaCommands. A MetaCommands a rövid, kész segédprogramok, amelyek elérhetőek, így az adatbázis-adminisztrátor munkája nagyon egyszerű. A felhasználóval kapcsolatos adatok \ lekéréséhez a du a használható metaparancs. Ehhez a psql parancssort kell használnia a PostgreSQL-ben. Indítsuk el ezt a parancsot, és lássuk, milyen eredményt kapunk:

Kód:

\du

kimenet:

PostgreSQL Felhasználók listája - 3

PostgreSQL Felhasználók listája - 3
  • itt a szerep neve a felhasználó neve. A szerepek listája, pl. attribútumok, amelyek azok a szerepek, amelyeket egy adott felhasználó magának visel. A Superuser, a Create role, A create DB, A replikáció, az RLS megkerülése a superuserhez rendelt szabályok, ami azt jelenti, hogy a superuser létrehozhatja az új szerepeket és felhasználókat, új adatbázisokat hozhat létre, elvégezheti a meglévő objektumok replikációját és megkerülheti az RLS-t.
  • “tagja” mező megadja, hogy a felhasználó tagja-e bármely csoportnak. A PostgreSQL-ben az adatbázis-adminisztrátor több csoportot hozhat létre, és különböző felhasználókat adhat hozzá különböző csoportokhoz, ami segít neki a felhasználók megfelelő kezelésében az engedélyek rácsozása és visszavonása közben. Ha vannak ilyen csoportok, és az adott felhasználó egy adott csoporthoz tartozik, akkor a csoport neve megjelenik a felhasználó előtt az oszlop mezőtagjában.
  • ez a metaCommands belsőleg elindít egy lekérdezést a pg_catalog.pg_user táblán a felhasználói információk lekéréséhez. Itt megkapjuk a szerep nevét a felhasználó neveként, és a szerepkörök attribútumainak listája segít megtudni, hogy mely jogosultságokat adják meg az adott felhasználónak, miközben a mező egyik tagja megmondja, hogy a felhasználó tagja-e egy adott csoportnak, ha van ilyen. A lekérdezés, amely belsőleg tüzet okoz a \du metacommand használata után, némileg hasonlít az alábbi lekérdezési utasításhoz:

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. Használata pg_shadow

még egy módja annak, hogy a lista a felhasználók segítségével a táblázat pg_shadow, amely szintén tartalmaz információkat a felhasználók a PostgreSQL szerver. Ez a táblázat a PostgreSQL 8.1 előtti verzióinak visszamenőleges kompatibilitása érdekében kerül megőrzésre. Ez a táblázat tárolja azokat a szerepeket, amelyek bejelentkezhetnek, és a rolcanlogint 1-ként jelölhetik meg a pg_authid táblában. A Pg_user az alaptáblán létrehozott nézet pg_shadow tábla, amely nyilvánosan elérhető. a pg_shadow csak a superuser által érhető el. a pg_user nézet a jelszó mezőt üresen tartalmazza a biztonság fenntartása érdekében. A pg_ shadow tábla username, usesysid, usecreatedb, usesuper, userepl, usebypassrls, passwd, valuntil és useconfig mezőket tartalmaz az adatbázis-kiszolgáló összes felhasználójához.

Kód:

SELECT * FROM pg_shadow;

kimenet:

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;

kimenet:

pg_shadow

pg_shadow

következtetés

a PostgreSQL adatbázis-kiszolgálón a felhasználó adatait úgy tudjuk lekérni, hogy a pg_catalog sémához tartozó pg_user táblából lekérjük a rekordokat. Még egy módszer a \du metaparancs használata, amely belsőleg elindítja a lekérdezést a pg_user táblán. Ezen kívül van még egy pg_shadow nevű tábla, amely információkat tárol a felhasználókról, és tovább használható a PostgreSQL adatbázis-kiszolgáló összes felhasználójának felsorolására. Vegye figyelembe, hogy ezeknek a módszereknek a hatóköre a teljes adatbázis-kiszolgáló.

ajánlott cikkek

ez egy útmutató a PostgreSQL lista felhasználóinak. Itt megvitatjuk a felhasználói adatokat, a felhasználói metacommandot és a felhasználói pg_shadow-t a megvalósítandó példákkal. Azt is megy át a többi kapcsolódó cikkeket, hogy többet–

  1. PostgreSQL FETCH
  2. idegen kulcs a PostgreSQL-ben
  3. PostgreSQL táblázat
  4. PostgreSQL lekérdezések | Bevezetés | példák
  5. PostgreSQL REGEXP_MATCHES()
  6. útmutató az SQL REGEXP-hez
0 részvények

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

Az e-mail-címet nem tesszük közzé.

Previous post Tropical Homesteading: hogyan betakarítás Kókusz édesvíz és a hús
Next post Bio-légi mozgás 2011