标签: role

PostgreSQL 中 SQL Server 的 db_datareader/db_datawriter 相当于什么?

我正在将应用程序从 SQL Server 移植到 PostgreSQL。其中大部分很简单,因为应用程序只真正执行简单的选择、插入和更新。但是我需要创建一个用户来访问数据库。SQL Sever 代码像这样创建它的用户:

USE [master] CREATE LOGIN [ExampleUserName] WITH PASSWORD = 'ExamplePassword', CHECK_EXPIRATION=OFF, CHECK_POLICY=ON;
USE [ExampleDB];
CREATE USER [ExampleUserName] FOR LOGIN [ExampleUserName];
ALTER ROLE [db_datawriter] ADD MEMBER [ExampleUserName];
ALTER ROLE [db_datareader] ADD MEMBER [ExampleUserName];
Run Code Online (Sandbox Code Playgroud)

什么是 PostgreSQL 中的等价物?

postgresql permissions role

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

对象级安全

我有一个数据库,它将在不同用户的多种相关类型的应用程序之间共享。我希望能够限制每个数据库用户基本上可以完全控制他们自己的对象,而只能对他们没有创建的数据库的其他对象进行读取访问。

这是可能的,实现这一目标的最佳方法是什么?

security sql-server role users logins

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

逗号列表与多条记录

我目前正在构建一个包含许多用户、两个角色和两个组的应用程序。从逻辑上讲,我们希望用户能够成为两个组内其他用户的管理员。

用户表


UserID         varchar    PK
DisplayName
Email
Role           int        FK `role`.`RoleID`

DATA [jschmo,Joe Schmo,joe@schmo.com,1]
Run Code Online (Sandbox Code Playgroud)

角色表


RoleID         int        PK     AI
RoleName       varchar

DATA [1=Master,2=Admin,3=User]
Run Code Online (Sandbox Code Playgroud)

组表


GroupID        int        PK     AI
GroupName

DATA [1=Marketing,2=Infrastructure]
Run Code Online (Sandbox Code Playgroud)

用户可能是两个组的管理员。我没有看到多选外键的选项,但据我了解,在列中使用逗号分隔的列表是一个坏主意,我应该使用多条记录,但我不喜欢拥有多条记录的想法对于每个用户。

问:我如何跟踪用户是哪些组的管理员?

database-design role application-design users

0
推荐指数
1
解决办法
191
查看次数

更改所有架构对象的所有者

我想更改架构中所有对象的所有者。为此,我使用以下函数:

CREATE OR REPLACE FUNCTION chown(in_schema VARCHAR, new_owner VARCHAR) 
RETURNS void AS
$$
DECLARE
  object_types VARCHAR[];
  object_classes VARCHAR[];
  object_type record;

  r record;
BEGIN
  object_types = '{type,table,sequence,index,table,view}';
  object_classes = '{c,t,S,i,r,v}';

  FOR object_type IN 
      SELECT unnest(object_types) type_name, 
                unnest(object_classes) code
  loop
    FOR r IN 
      EXECUTE '
          select n.nspname, c.relname 
          from pg_class c, pg_namespace n 
          where n.oid = c.relnamespace 
            and nspname = ''' || in_schema || '''
            and relkind = ''' || object_type.code || ''''
    loop 
      raise notice 'Changing ownership of % %.% to …
Run Code Online (Sandbox Code Playgroud)

schema postgresql role plpgsql

0
推荐指数
1
解决办法
5345
查看次数

Sql Server 角色

最近有人问我问题 - 标准服务器角色和固定服务器角色之间有什么区别。

我知道固定服务器角色包括:系统管理员、安全管理员等。

我不确定标准服务器角色。

谢谢你。

sql-server permissions role

-1
推荐指数
1
解决办法
131
查看次数