小编Eon*_*nil的帖子

如何关闭生产服务器上的所有 RAISE NOTICE?

为了调试目的,我在函数中放置了很多 RAISE NOTICE。我认为这会影响性能,所以应该在生产环境中删除它们。有没有办法仅在特定条件下选择退出这些日志记录/断言功能?

postgresql logs plpgsql

3
推荐指数
1
解决办法
1879
查看次数

如何在撤销表时仅授予功能?

我是 PostgreSQL 的新手,正在配置一个新数据库。

我写了几个间接访问(读/写)数据的函数,我想禁止所有对表的直接访问。

GRANT CONNECT ON DATABASE db1 TO role1;
GRANT USAGE ON SCHEMA schema1 TO role1;

REVOKE ALL ON table1 FROM role1;
GRANT ALL ON ALL FUNCTIONS IN SCHEMA schema1 TO role1;
Run Code Online (Sandbox Code Playgroud)

如果我不 REVOKE 表权限,将允许直接表访问。如果我 REVOKE 表特权和 GRANT 函数,用户访问这些函数但看到表访问限制错误。

psql:./test1.psql:6: ERROR:  permission denied for relation table1
Run Code Online (Sandbox Code Playgroud)

如何让用户role1只能使用函数访问数据,同时禁止对表的所有直接访问?我想我错过了一些东西,但我无法弄清楚。

PS 我使用的是 Postgres 9.2.x。

postgresql permissions

2
推荐指数
1
解决办法
2858
查看次数

标签 统计

postgresql ×2

logs ×1

permissions ×1

plpgsql ×1