You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
986 B
28 lines
986 B
1 year ago
|
package UnitTest;
|
||
|
|
||
|
import java.sql.Connection;
|
||
|
import java.sql.DriverManager;
|
||
|
import java.sql.Statement;
|
||
|
|
||
|
public class TestPgRole {
|
||
|
|
||
|
public static void main(String[] args) {
|
||
|
String url = "jdbc:postgresql://10.10.14.71:5432/szjz_db";
|
||
|
String user = "postgres";
|
||
|
String password = "DsideaL147258369";
|
||
|
|
||
|
try (Connection conn = DriverManager.getConnection(url, user, password);
|
||
|
Statement stmt = conn.createStatement()) {
|
||
|
// 创建新用户
|
||
|
stmt.executeUpdate("CREATE USER newuser WITH PASSWORD 'password';");
|
||
|
// 创建角色并授予权限
|
||
|
stmt.executeUpdate("CREATE ROLE read_only;");
|
||
|
stmt.executeUpdate("GRANT USAGE, SELECT ON ALL TABLES IN SCHEMA public TO read_only;");
|
||
|
// 将角色授予用户
|
||
|
stmt.executeUpdate("GRANT read_only TO newuser;");
|
||
|
} catch (Exception e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
}
|
||
|
}
|