sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man skapar en användare med PSQL

Anslut till din PostgreSQL-serverinstans med följande kommando:

sudo -u postgres psql

Välj den databas du vill ansluta till Chartio:

\c databasename;

Skapa en ny roll för din Chartio skrivskyddade användare:

CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';

Ge den nya användaren nödvändiga rättigheter att ansluta till din
databas:

GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;

Kör följande kommando för att generera frågorna som ger select
åtkomst till din nya användare:

SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;

Du kommer att se en lista med GRANT-uttalanden som liknar följande:

Kopiera GRANT-satserna som genereras av frågan och klistra sedan in dem i ditt terminalfönster. För att begränsa åtkomsten till en delmängd av tabeller, kör bara GRANT-satserna för motsvarande tabeller. För att begränsa åtkomst till specifika kolumner, läs hur du begränsar PostgreSQL-åtkomst med hjälp av schema.

GRANT SELECT ON public."album" TO chartio_read_only_user;
GRANT SELECT ON public."artist" TO chartio_read_only_user;
GRANT SELECT ON public."customer" TO chartio_read_only_user;
GRANT SELECT ON public."employee" TO chartio_read_only_user;
GRANT SELECT ON public."genre" TO chartio_read_only_user;
GRANT SELECT ON public."invoice" TO chartio_read_only_user;
GRANT SELECT ON public."invoiceline" TO chartio_read_only_user;
GRANT SELECT ON public."mediatype" TO chartio_read_only_user;
GRANT SELECT ON public."playlist" TO chartio_read_only_user;
GRANT SELECT ON public."playlisttrack" TO chartio_read_only_user;
GRANT SELECT ON public."track" TO chartio_read_only_user;

Din nya skrivskyddade användare har nu nödvändiga behörigheter för att Chartio ska kunna ansluta till din databas.


  1. Oracle SQL-sats utvärderingsordning

  2. Virtualmin:Du har inte tillgång till den här MySQL-databasen efter att ha ändrat lösenord

  3. Kör PostgreSQL-frågor från kommandoraden

  4. SQLite exempeldatabas