0

search_path为整个数据库或 PostgreSQL 中的模式设置特定用户以使其通过Npgsql工作的适当方法是什么?

让我们以我的用户reader为例。

我尝试reader's通过在数据库本身中设置 search_path

alter default privileges in schema auth grant select on tables to reader;

我试过在postgresql.conf文件(search_path = 'auth')中设置它。

我已经尝试在节点()web.config的文件中设置它。connectionString...;searchpath=auth;...

这些似乎都不起作用。当我尝试使用我的连接访问名为 的表users时,出现错误

ERROR: 42P01: relation "users" does not exist

如果我指定架构(e.g. "select * from auth.users ..."),那么它将起作用。

(实际上此时我得到了错误ERROR: 42501: permission denied for schema auth1,这是我必须解决的下一个问题,但 search_path 问题似乎已解决)。

那么在使用Npgsql时,我需要做什么来为特定用户设置 search_path ?

注意:我正在使用 dapper dot net 并且可以使用我的超级用户成功进行查询postgres

4

1 回答 1

1

重新启动 IIS Express 和 PostgreSQL 并没有做任何事情,但是在重新启动我的机器后,我不再需要提供模式,尽管我不确定这三种方法中的哪一种确实起到了作用。仅供任何可能遇到此问题的人参考。

于 2013-05-19T04:08:32.837 回答