För att uppnå ditt mål
du kan skapa:
1) Två scheman:ett för vanliga tabeller, ett för säkerhetssaker som login/pass(hash)-tabell, användarsessionslogg, ändringsloggtabell, etc.
2) Två användare:en vanlig användare, som bara kan använda dml på gemensamt schema (ingen ddl), en superanvändare.
3) Inloggningsfunktion som kontrollerar tillhandahållen användare/pass mot inloggnings-/passeringstabell och loggar lyckade/misslyckade försök i användarsessionsloggen (du behöver SECURITY DEFINER
funktion)
4) Uppsättning granskningsutlösare på vanliga schematabeller som kontrollerar användarbehörigheterna och loggar eventuella ändringar, gjorda av användaren (SECURITY DEFINER
fungerar även här).