gpt4 book ai didi

postgresql - Postgres 行级策略问题

转载 作者:行者123 更新时间:2023-11-29 12:39:22 25 4
gpt4 key购买 nike

我正在试用 Postgres 行级安全功能,但无法看到它的工作。不确定我错过了什么。

CREATE TABLE tenants (id uuid PRIMARY KEY, name TEXT);

INSERT INTO tenants (id, name) values ('ec5e9a6b-ed71-4e41-bc1e-11dac6808e41', 'Tenant1'), ('a684edc2-19b2-40d6-b679-519a6f736981', 'Tenant2');

ALTER TABLE tenants ENABLE ROW LEVEL SECURITY ;
ALTER TABLE tenants FORCE ROW LEVEL SECURITY;

SET app.tenant_id = 'ec5e9a6b-ed71-4e41-bc1e-11dac6808e41';

CREATE POLICY tenants_policy ON tenants FOR ALL USING ( current_setting('app.tenant_id')::uuid = id );

SELECT * FROM tenants;

对于最后一次选择,我预计它只返回 ID 为“ec5e9a6b-ed71-4e41-bc1e-11dac6808e41”的一行,但它返回了两行。我错过了什么?谢谢!

最佳答案

你的例子对我有用。有几种可能性:

  • 当前用户是 super 用户。

  • 当前用户使用 BYPASSRLS 定义。

  • 配置参数row_securityoff

关于postgresql - Postgres 行级策略问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58864240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com