Supervision des utilisateurs

  • Afficher les connexions existantes.

SELECT pid,datname,usename,client_addr,client_port,state_change, current_database(),pg_backend_pid()

FROM pg_stat_activity;

  • Fermer les connexions existantes à la base de données courante sauf pour la connexion actuellement utilisée.

SELECT pg_terminate_backend(pg_stat_activity.pid),pid,datname,usename,client_addr,client_port,state_change

FROM pg_stat_activity

WHERE pg_stat_activity.datname = current_database() AND pid <> pg_backend_pid();

  • Interdire aux utilisateurs non administrateur d'ouvrir une session sur la base de données courante.

DO $$

--DECLARE base_de_donnes VARCHAR(255) ;

BEGIN

EXECUTE 'ALTER DATABASE "'||current_database()||'" CONNECTION LIMIT 0 ';

END

$$;

  • Autoriser aux utilisateurs non administrateur d'ouvrir une session sur la base de données courante.

DO $$

BEGIN

EXECUTE 'ALTER DATABASE "'||current_database()||'" CONNECTION LIMIT -1 ';

END

$$;