我可以作为自定义用户/角色连接到postgresql db吗?

时间:2017-04-29 08:47:19

标签: .net database postgresql plpgsql npgsql

我在postgres db中创建了一个用户/角色,并将默认的search_path设置为特定的模式。现在我想要实现的是使用新用户/角色连接到数据库,并且能够对该模式处理所有对数据库的查询。

CREATE ROLE ltv_dev WITH PASSWORD '<some password>';

所以我希望我能使用Npgsql从.net核心Web客户端使用连接字符串连接到数据库。

我之前的连接字符串是。

"NpgsqlConnectionStringOptions": {
        "Server": "server_location",
        "Port": 5432,
        "Database": "db_name",
        "UserId": "original_user_id",
        "Password": "pwd"
      }

我尝试将UserId从之前的连接字符串更改为新用户/角色和密码。

我的新连接字符串

"NpgsqlConnectionStringOptions": {
        "Server": "server_location",
        "Port": 5432,
        "Database": "db_name",
        "UserId": "ltv_dev",
        "Password": "password_for_the_role"
      }

但它没有用。

我是否可以使用Npgsql从.net客户端使用自定义用户/角色连接到数据库,还是有另一种方法可以解决此问题?感谢

1 个答案:

答案 0 :(得分:2)

您创建了一个没有LOGIN特权的角色,默认情况下NOLOGIN选项在CREATE ROLE中,或者您可以使用CREATE USER:

CREATE USER ltv_dev PASSWORD '<some password>';

你可以在文档中看到它

CREATE ROLE