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(); } } }