Hvordan sjekke Postgres -privilegier for brukeren?

Hvordan sjekke Postgres -privilegier for brukeren?
I SQL refererer et privilegium til spesifikk tillatelse eller rett-til-ytelse-an-handling på databasene på serveren. I PostgreSQL kan for eksempel privilegier inkludere privilegiet å logge inn på serveren for å utføre forskjellige handlinger.

Denne raske opplæringen vil vise deg hvordan du får privilegert informasjon om en bruker tilgjengelig på serveren.

Typer privilegier

Før vi fortsetter med å spørre PostgreSQL om informasjon om brukerne, la oss fremheve de forskjellige tillatelsene og hva de lar brukeren tilordne dem å gjøre.

Typene privilegier i PostgreSQL DBMS er:

  • PLUKKE UT - SELECT-privilegiet lar en bruker velge verdier fra alle kolonner i ethvert tabelllignende objekt. Tabelllignende objekter i PostgreSQL inkluderer en tabell, en visning, materialisert visning osv.
  • SETT INN - Innleggstillatelse gjør at brukeren kan sette inn nye rader i en tabell. Du kan også gi innsettingsprivilegiet på en bestemt kolonne slik at du bare setter inn rader i de innstilte kolonnene.
  • OPPDATER - Denne privilegietypen gjør det mulig for set-brukeren å oppdatere rader i alle kolonner i en tabell eller visning. I likhet med innsettingstillatelsen, kan du angi den på en bestemt kolonne for å la brukeren bare oppdatere rader med en spesifikk kolonne (er).
  • Slett - Dette vil tillate en bruker å slippe/slette en rad fra ethvert modifiserbart tabelllignende objekt. Dette krever at brukeren har valgt tillatelse siden den må referere til tabellkolonner for å bekrefte radene som skal droppes.
  • KOBLE - Tilkoblingstillatelsen lar en bruker koble seg til serveren. Denne typen tillatelse blir sjekket ved oppstart av tilkoblingen av PG_HBA.Conf -fil.
  • SKAPE - Create Privilege gjør det mulig for en bruker å opprette enten et nytt skjema, en tabell i en angitt database. Det kan også tillate en bruker å installere utvidelser i en database. Hvis denne tillatelsen blir opphevet på en bruker, fjerner den ikke alle eksisterende objekter før termineringspunktet.
  • Avkortet - Som navnet antyder, gir det brukeren tillatelse til å avkutte en tabell.
  • AVTREKKER - Dette gjør en bruker å lage en trigger på bordlignende objekter.
  • MIDLERTIDIG - Lar brukere lage en midlertidig tabell mens de er koblet til en angitt database.
  • HENRETTE - Utfør tillatelse gjør det mulig for en bruker å ringe funksjoner eller prosedyrer. Dette er den eneste typen tillatelse som kan gjelde for funksjoner/prosedyrer.
  • Referanser - Lar en bruker lage utenlandske nøkkelbegrensninger som refererer til en tabell eller kolonner.

Hvordan vise brukerrettigheter

Oppføring av brukerrettigheter er enkelt. I PSQL, bruk spørringen \ du+ som vist i utgangen nedenfor:

$ postgres =# \ du+

Ovennevnte utgang viser postgres og temp -brukere med tilsvarende tillatelser.

En annen måte å gjøre dette på er å bruke informasjons_schema -skjemaet og spørre tabell_privileges -tabellen som:

$ Velg * fra informasjon_schema.tabell_privileges begrenser 5;

Ovennevnte spørring vil vise detaljert informasjon om brukerrettigheter om databaser samt tabeller.

For å filtrere for en bestemt bruker, kan du legge til hvor leddet:

$ Velg * fra informasjon_schema.TABLE_PRIVILEGES WHERE GJØRE = 'Postgres' grense 5;

Konklusjon

Denne korte opplæringen har diskutert måter å hente privilegert informasjon om brukerne i en PostgreSQL -server.