Skip to content

Instantly share code, notes, and snippets.

@abrightwell
Created September 10, 2014 17:21
Show Gist options
  • Select an option

  • Save abrightwell/39ac6d4957fac918c90f to your computer and use it in GitHub Desktop.

Select an option

Save abrightwell/39ac6d4957fac918c90f to your computer and use it in GitHub Desktop.
SET SESSION AUTHORIZATION rls_regress_user0;
CREATE TABLE z1 (a int, b text) WITH OIDS;
GRANT SELECT ON z1 TO rls_regress_group1, rls_regress_group2;
COPY z1 FROM STDIN WITH (OIDS);
101 1 aaa
102 2 bbb
103 3 ccc
104 4 ddd
\.
CREATE POLICY p1 ON z1 TO rls_regress_group1 USING (a % 2 = 0);
CREATE POLICY p2 ON z1 TO rls_regress_group2 USING (a % 2 = 1);
SET SESSION AUTHORIZATION rls_regress_user1;
SELECT * FROM z1 WHERE f_leak(b);
EXPLAIN SELECT * FROM z1 WHERE f_leak(b);
SET ROLE rls_regress_group1;
SELECT * FROM z1 WHERE f_leak(b);
SET SESSION AUTHORIZATION rls_regress_user2;
SELECT * FROM z1 WHERE f_leak(b);
SET ROLE rls_regress_group2;
SELECT * FROM z1 WHERE f_leak(b);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment