sql >> Database >  >> RDS >> PostgreSQL

Alleen-lezen gebruiker maken in PostgreSQL

Alleen-lezen gebruikers zijn erg handig voor rapportagedoeleinden omdat ze beperkte alleen-lezen toegang hebben tot databases, tabellen en velden. In dit artikel zullen we bekijken hoe u een alleen-lezen gebruiker kunt maken in PostgreSQL.


Een alleen-lezen gebruiker maken

Dit zijn de stappen om een ​​alleen-lezen gebruiker te maken in PostgreSQL.


1. Rol creëren

Log in op PostgreSQL en voer de volgende opdracht uit om een ​​alleen-lezen rol readaccess te maken . Vervang de rolnaam volgens uw vereisten.

postgres-# CREATE ROLE readaccess;


2. Toestemming toewijzen

Voer de volgende opdrachten uit om toegang toe te wijzen aan de nieuw aangemaakte rol, voor database mydb . U kunt de databasenaam naar wens wijzigen.

postgres-# GRANT CONNECT ON DATABASE mydb TO readaccess;

Verder zullen we toegang verlenen tot alle tabellen in openbaar schema. U kunt de schemanaam wijzigen volgens uw vereisten.

postgres-# GRANT USAGE ON SCHEMA public TO readaccess;
postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;

Als u select-toestemming wilt verlenen voor specifieke tabellen (bijv. mytable), voert u de volgende opdracht uit

postgres-# GRANT SELECT ON mytable IN SCHEMA public TO readaccess;

Lees ook:Top 5 hulpprogramma's voor databaseontwerp


3. Gebruiker maken

Ten slotte maken we een PostgreSQL-gebruiker aan en wijzen we de nieuw aangemaakte rol toe aan die gebruiker. Update read_user en read_password in onderstaande commando's met uw gebruikersnaam en wachtwoord.

postgres-# CREATE USER read_user WITH PASSWORD 'read_password';
postgres-# GRANT readaccess TO read_user;

Hopelijk helpt dit artikel u bij het maken van een alleen-lezen gebruiker in PostgreSQL. Ubiq maakt het eenvoudig om data te visualiseren en te monitoren in realtime dashboards. Probeer Ubiq gratis.

  1. SQL DROP-KOLOM voor beginners

  2. Record geretourneerd door functie heeft kolommen aaneengeschakeld

  3. Een opgeslagen procedure maken in SQL Server 2017

  4. Wat is de fout Elke afgeleide tabel moet zijn eigen alias hebben in MySQL?