PostgreSQL lijst Gebruikers

PostgreSQL lijst Gebruikers

PostgreSQL lijst Gebruikers

Inleiding tot PostgreSQL lijst Gebruikers

in elke database moeten we meerdere gebruikers aanmaken en hebben die toegang hebben tot de database. Elke gebruiker moet bepaalde toegangsrechten hebben en moet geautoriseerd zijn, de gebruiker. Standaard, in PostgreSQL database server heeft een standaard gebruiker genaamd Postgres. Dit is de superuser die alle rechten en privileges heeft verleend voor alle databases en tabellen. Hij kan zelf nieuwe gebruikers maken en rollen aan hen toewijzen, machtigingen verlenen en intrekken aan andere gebruikers en ga zo maar door. Vaak moet de superuser of de databasebeheerder op de hoogte zijn van alle gebruikers die aanwezig zijn in de huidige databaseserver. In dit artikel, we zullen leren hoe we een lijst van alle gebruikers die aanwezig zijn in onze huidige database server. Laten we beginnen met te onderzoeken waar de gebruikersgerelateerde gegevens worden opgeslagen en gemanipuleerd in de database.

PostgreSQL-Lijstgebruikers

Hieronder staan de drie verschillende Lijstgebruikers:

begin uw gratis cursus Data Science

Hadoop, Data Science, Statistics & andere

1. Gebruikersgegevens in PostgreSQL

alle gebruikersgerelateerde gegevens worden opgeslagen in de tabel met de naam pg_user, die behoort tot het schema met de naam pg_catalog. Deze tabel bevat alle informatie zoals gebruikersnaam, usesysid, usecreatedb, usesuper, userepl, usebypassrls, passwd, valuntil en useconfig. Username, usesysid, en passwd zijn de naam, id en wachtwoord opgeslagen in het MD5 hash encryptie systeem van de gebruiker. Tegelijkertijd zijn alle andere parameters de Booleaanse parameters die aangeven of de gebruiker die bevoegdheid heeft, zoals usesuper, die aangeeft of die gebruiker een superuser is of niet. Zo ja, dan bevat het waarde als t die staat voor waar anders f dat onwaar betekent. Laten we eens kijken wat alle andere velden in de praktijk betekenen.

  • Usecreatedb: dit veld vertelt ons of die specifieke gebruiker een nieuwe database kan aanmaken en de bevoegdheid heeft om dit te doen.
  • Userepl: we kunnen replicaties maken van een enkele tabel in vele andere databases. Alleen een specifieke gebruiker met dat privilege kan dit doen. Als de gebruiker dus het recht heeft om nieuwe replica ‘ s te maken, is dit veld ingesteld op true.
  • Usebypassrls: dit veld is alleen ingeschakeld als de gebruiker de RLS

mag omzeilen. we zullen eerst zien hoe we de gebruikersgerelateerde informatie uit de pg_user-tabel kunnen ophalen. We moeten onze query op de volgende manier opbouwen-

Code:

SELECT * FROM pg_catalog.pg_user;

uitvoer:

PostgreSQL-Lijstgebruikers- 1

PostgreSQL lijst Gebruikers - 1

Als u alleen de lijst met gebruikers met de namen wilt krijgen, kunt u de volgende query afvuren.

Code:

SELECT usename FROM pg_catalog.pg_user;

Uitvoer:

PostgreSQL Lijst Gebruikers - 2

PostgreSQL Lijst Gebruikers - 2

2. Het gebruik van Metacommands

PostgreSQL biedt ons een prachtige tool genaamd psql, waar we metaCommands kunnen gebruiken. MetaCommands zijn de korte kant-en-klare hulpprogramma ‘ s die beschikbaar zijn om te gebruiken, waardoor het werk van de database administrator zeer eenvoudig. Voor het ophalen van de gebruikersgerelateerde gegevens \, du is het meta-commando dat kan worden gebruikt. Hiervoor moet u de PSQL command prompt in PostgreSQL gebruiken. Laten we dit commando afvuren en zien dat dit het resultaat is dat we krijgen:

Code:

\du

uitvoer:

PostgreSQL lijst Gebruikers - 3

PostgreSQL lijst Gebruikers - 3
  • hier is rolnaam de naam van de gebruiker. Lijst van rollen, d.w.z. attributen die de rollen zijn die een bepaalde gebruiker voor zichzelf heeft. Superuser, create role, Create DB, replicatie, Bypass RLS zijn regels die zijn toegewezen aan de superuser, wat betekent dat de superuser de nieuwe rollen en gebruikers kan maken, nieuwe databases kan maken, replicaties van de bestaande objecten uit te voeren en de RLS te omzeilen.
  • het veld “lid van” geeft aan of de gebruiker lid is van een groep. In PostgreSQL kan de databasebeheerder meerdere groepen maken en verschillende gebruikers toevoegen aan verschillende groepen, wat hem helpt om de gebruikers goed te beheren terwijl hij machtigingen rooster en intrekt. Als er dergelijke groepen zijn en die specifieke gebruiker tot een bepaalde groep behoort, dan wordt de naam van die groep voor die gebruiker getoond in het veld lid van kolom.
  • deze metaCommands start intern een query op de tabel pg_catalog. pg_user om de gebruikersinformatie op te halen. Hier krijgen we de rolnaam als de naam van de gebruiker, en een lijst met functies attributen helpt ons om te weten welke privileges worden verleend aan die specifieke gebruiker, terwijl een lid van het veld ons vertelt of de gebruiker lid is van een bepaalde groep, indien aanwezig. De query die intern vuur krijgt na het gebruik van \du metacommand is enigszins vergelijkbaar met de onderstaande query statement:

Code:

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. Pg_shadow

een andere manier om de lijst van de gebruikers te krijgen is door de tabel pg_shadow te gebruiken die ook informatie bevat over de gebruikers in de PostgreSQL server. Deze tabel wordt bewaard voor achterwaartse compatibiliteit voor de versies van PostgreSQL die voorafgaan aan 8.1. Deze tabel slaat de rollen op die in kunnen loggen en rolcanlogin kunnen markeren als 1 in de pg_authid tabel. Pg_user is de weergave gemaakt op de basistabel pg_shadow tabel, die openbaar beschikbaar is. pg_shadow is alleen toegankelijk voor de superuser. pg_user view bevat het wachtwoord veld als leeg om de veiligheid te handhaven. De pg_ shadow tabel bevat gebruikersnaam, usesysid, usecreatedb, usesuper, userepl, usebypassrls, passwd, valuntil en useconfig velden voor alle gebruikers in de database server.

Code:

SELECT * FROM pg_shadow;

Uitgang:

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;

Uitgang:

pg_shadow

pg_shadow

Conclusie

In de PostgreSQL database server, kunnen we het ophalen van de gegevens van de gebruiker door het ophalen van records uit de tabel pg_user dat behoort tot pg_catalog schema. Een andere manier is om het meta-Commando \du te gebruiken, dat intern de query op de pg_user tabel zelf afvuurt. Anders dan dit, is er nog een tabel genaamd pg_shadow, die informatie over de gebruikers opslaat en verder kan worden gebruikt om alle gebruikers in de PostgreSQL database server weer te geven. Merk op dat de reikwijdte van al deze methoden de hele database server is.

Aanbevolen artikelen

dit is een gids voor gebruikers van de PostgreSQL-lijst. Hier bespreken we gebruikersgegevens, user metaCommand en user pg_shadow met voorbeelden om te implementeren. U kunt ook gaan door onze andere gerelateerde artikelen om meer te leren–

  1. PostgreSQL FETCH
  2. Foreign Key in PostgreSQL
  3. PostgreSQL Table
  4. PostgreSQL Queries / Introduction / Examples
  5. PostgreSQL REGEXP_MATCHES ()
  6. Guide to SQL REGEXP
0 aandelen

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

Previous post Tropical Homesteading: hoe kokosnoot te oogsten voor zoet Water en vlees
Next post Bio-antenne Locomotion 2011