File tree 1 file changed +7
-0
lines changed 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ impl Postgres {
31
31
32
32
let query_create_user = format ! ( "create user \" {username}\" with password '{password}';" ) ;
33
33
let query_grant = format ! ( "grant select on all tables in schema public to \" {username}\" ;" ) ;
34
+ let query_privileges = format ! ( "alter default privileges in schema public grant all privileges on tables to \" {username}\" ;" ) ;
34
35
35
36
let timeout = get_config ( ) . statement_timeout ;
36
37
let query_set_timeout =
@@ -53,6 +54,12 @@ impl Postgres {
53
54
return Err ( Error :: PgError ( err. to_string ( ) ) ) ;
54
55
}
55
56
57
+ let privileges_stmt = tx. prepare ( & query_privileges) . await ?;
58
+ if let Err ( err) = tx. execute ( & privileges_stmt, & [ ] ) . await {
59
+ tx. rollback ( ) . await ?;
60
+ return Err ( Error :: PgError ( err. to_string ( ) ) ) ;
61
+ }
62
+
56
63
let set_timeout_stmt = tx. prepare ( & query_set_timeout) . await ?;
57
64
let set_timeout_result = tx. execute ( & set_timeout_stmt, & [ ] ) . await ;
58
65
if let Err ( err) = set_timeout_result {
You can’t perform that action at this time.
0 commit comments