【问题标题】:Unable to use Crate JDBC 2.6.0 in read only mode无法在只读模式下使用 Crate JDBC 2.6.0
【发布时间】:2021-11-18 04:49:54
【问题描述】:

我想限制删除/更新语句

这就是我正在尝试的

ResultSet rs = stmt.executeQuery("delete from test where id=243640033")

理想情况下,JDBC 的executeQuery 方法不应允许更新、删除等。但 Crate 数据库只是执行删除查询。然后我试了connection.setReadOnly(true),还是不行

有什么方法可以限制 Crate JDBC 从stmt.executeQuery(somequery) 方法执行更新/删除/删除操作?

【问题讨论】:

    标签: java jdbc cratedb


    【解决方案1】:

    您可以仅使用Data Query Language (DQL) privileges 创建一个 CrateDB 用户,然后使用该用户连接 JDBC。这将阻止所有 INSERT / UPDATE / DELETE / DROP 操作。

    CREATE USER read_only WITH (password = '<secure-password>');
    GRANT DQL TO read_only;
    

    如果需要,您可以进一步限制对特定架构、表或视图的访问。比较有关如何实现此目的的文档。

    【讨论】:

    • 谢谢,正是我要找的东西
    猜你喜欢
    • 2019-07-31
    • 1970-01-01
    • 2017-03-24
    • 2018-12-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    相关资源
    最近更新 更多