1
1
CREATE EXTENSION test_pg_db_role_setting;
2
- CREATE USERsuper_user SUPERUSER;
3
- CREATE USERregular_user ;
4
- \c -regular_user
2
+ CREATE USERregress_super_user SUPERUSER;
3
+ CREATE USERregress_regular_user ;
4
+ \c -regress_regular_user
5
5
-- successfully set a placeholder value
6
6
SET test_pg_db_role_setting.superuser_param = 'aaa';
7
7
-- module is loaded, the placeholder value is thrown away
@@ -24,24 +24,24 @@ SHOW test_pg_db_role_setting.user_param;
24
24
user_param_value
25
25
(1 row)
26
26
27
- \c -regular_user
27
+ \c -regress_regular_user
28
28
-- fail, not privileges
29
- ALTER ROLEregular_user SET test_pg_db_role_setting.superuser_param = 'aaa';
29
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.superuser_param = 'aaa';
30
30
ERROR: permission denied to set parameter "test_pg_db_role_setting.superuser_param"
31
- ALTER ROLEregular_user SET test_pg_db_role_setting.user_param = 'bbb';
31
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.user_param = 'bbb';
32
32
ERROR: permission denied to set parameter "test_pg_db_role_setting.user_param"
33
33
-- success for USER SET parameters
34
- ALTER ROLEregular_user SET test_pg_db_role_setting.superuser_param = 'aaa' USER SET;
35
- ALTER ROLEregular_user SET test_pg_db_role_setting.user_param = 'bbb' USER SET;
36
- \drdsregular_user
37
- List of settings
38
- Role | Database | Settings | User set
39
- --------------+----------+---------------------------------------------+----------
40
- regular_user | | test_pg_db_role_setting.superuser_param=aaa+| t +
41
- | | test_pg_db_role_setting.user_param=bbb | t
34
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.superuser_param = 'aaa' USER SET;
35
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.user_param = 'bbb' USER SET;
36
+ \drdsregress_regular_user
37
+ List of settings
38
+ Role | Database | Settings | User set
39
+ ---------------------- +----------+---------------------------------------------+----------
40
+ regress_regular_user | | test_pg_db_role_setting.superuser_param=aaa+| t +
41
+ | | test_pg_db_role_setting.user_param=bbb | t
42
42
(1 row)
43
43
44
- \c -regular_user
44
+ \c -regress_regular_user
45
45
-- successfully set placeholders
46
46
SHOW test_pg_db_role_setting.superuser_param;
47
47
test_pg_db_role_setting.superuser_param
@@ -75,40 +75,40 @@ SHOW test_pg_db_role_setting.user_param;
75
75
bbb
76
76
(1 row)
77
77
78
- \c -super_user
79
- ALTER ROLEregular_user SET test_pg_db_role_setting.superuser_param = 'aaa';
80
- \drdsregular_user
81
- List of settings
82
- Role | Database | Settings | User set
83
- --------------+----------+---------------------------------------------+----------
84
- regular_user | | test_pg_db_role_setting.superuser_param=aaa+| f +
85
- | | test_pg_db_role_setting.user_param=bbb | t
78
+ \c -regress_super_user
79
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.superuser_param = 'aaa';
80
+ \drdsregress_regular_user
81
+ List of settings
82
+ Role | Database | Settings | User set
83
+ ---------------------- +----------+---------------------------------------------+----------
84
+ regress_regular_user | | test_pg_db_role_setting.superuser_param=aaa+| f +
85
+ | | test_pg_db_role_setting.user_param=bbb | t
86
86
(1 row)
87
87
88
- \c -regular_user
88
+ \c -regress_regular_user
89
89
-- don't have a priviledge to change superuser value to user set one
90
- ALTER ROLEregular_user SET test_pg_db_role_setting.superuser_param = 'ccc' USER SET;
90
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.superuser_param = 'ccc' USER SET;
91
91
ERROR: permission denied to set parameter "test_pg_db_role_setting.superuser_param"
92
- \c -super_user
92
+ \c -regress_super_user
93
93
SELECT load_test_pg_db_role_setting();
94
94
load_test_pg_db_role_setting
95
95
------------------------------
96
96
97
97
(1 row)
98
98
99
99
-- give the privilege to set SUSET param to the regular user
100
- GRANT SET ON PARAMETER test_pg_db_role_setting.superuser_param TOregular_user ;
101
- \c -regular_user
102
- ALTER ROLEregular_user SET test_pg_db_role_setting.superuser_param = 'ccc';
103
- \drdsregular_user
104
- List of settings
105
- Role | Database | Settings | User set
106
- --------------+----------+---------------------------------------------+----------
107
- regular_user | | test_pg_db_role_setting.superuser_param=ccc+| f +
108
- | | test_pg_db_role_setting.user_param=bbb | t
109
- (1 row)
110
-
111
- \c -regular_user
100
+ GRANT SET ON PARAMETER test_pg_db_role_setting.superuser_param TOregress_regular_user ;
101
+ \c -regress_regular_user
102
+ ALTER ROLEregress_regular_user SET test_pg_db_role_setting.superuser_param = 'ccc';
103
+ \drdsregress_regular_user
104
+ List of settings
105
+ Role | Database | Settings | User set
106
+ ---------------------- +----------+---------------------------------------------+----------
107
+ regress_regular_user | | test_pg_db_role_setting.superuser_param=ccc+| f +
108
+ | | test_pg_db_role_setting.user_param=bbb | t
109
+ (1 row)
110
+
111
+ \c -regress_regular_user
112
112
-- successfully set placeholders
113
113
SHOW test_pg_db_role_setting.superuser_param;
114
114
test_pg_db_role_setting.superuser_param