App-Link #1027 PostgreSQL -- Zugriff auf Daten auf Zeilenebene zu steuern

per
- User
- Rollen-Hierarchie
- Grundberechtigungen lesen, einfügen, ändern und löschen
- und POLICIES

/public/sql_berechtigungen.png


--> https://www.postgresql.org/docs/current/ddl-rowsecurity.html

##2086 demo-online -- z.B.:




INTRANET-User (z.B. für interne Verwaltung mit Nutzung von Browser und Anwendungen mit direktem SQL-Connect(Office))
-------------


GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE a_todo4.ATodo_Pos TO a_todorole;

CREATE POLICY Todo_Pos_a_todorole_select ON a_todo4.ATodo_Pos
AS PERMISSIVE
FOR ALL TO a_todorole USING (true);

##2087 demo-online -- z.B.




ONLINE-User (z.B. für Aussendienst)
-----------


GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE a_todo4.ATodo_Pos TO a_todoonlineuser_role;

CREATE POLICY Todo_Pos_a_todoonlineuser_role ON a_todo4.ATodo_Pos
AS PERMISSIVE
FOR ALL TO a_todoonlineuser_role
USING ( TODO_ID in ( select TODO_ID from a_todo4.ATodo where current_setting('app.client_user', true) = adressnr ) )
WITH CHECK ( TODO_ID in ( select TODO_ID from a_todo4.ATodo where current_setting('app.client_user', true) = adressnr ) );

##2088 demo-online -- z.B.:




DEMO-User
---------


GRANT SELECT ON TABLE a_todo4.ATodo_Pos TO ahp_w3_extuser_role;

CREATE POLICY Todo_Pos_DEMO_ahp_w3_extuser_role ON a_todo4.ATodo_Pos
AS PERMISSIVE FOR SELECT TO ahp_w3_extuser_role
USING ( TODO_ID in ( select TODO_ID from a_todo4.ATodo where 'demo-online' = adressnr ) );
- 1 -    (TxtDoc-sql-policies2026-05-23.html)

download