小编Ale*_*der的帖子

面试SQL问题

给定一个表“员工”

 employee_id | salary | department_id 
-------------+--------+---------------
Run Code Online (Sandbox Code Playgroud)

仅使用 SQL 查找从一个部门到另一个部门的员工调动的所有变体,因此“出发”和“到达”部门的平均工资都增长了。

PS 我在面试中被问到这个问题,从来没有给出答案,谷歌也帮不上什么忙。

interview-question

19
推荐指数
2
解决办法
2073
查看次数

无法更改默认权限

我按照以下步骤操作。

  1. 我安装了 PostgreSQL。
  2. 我是postgres通过 ( sudo -i -u postgres)登录的
  3. new_user通过 shell 脚本创建了新用户createuser --interactive
  4. 我授予该用户创建数据库的权限。
  5. 我创建了数据库:createdb new_db.

现在我想授予new_user权限,能够对他自己创建的表执行所有默认的 DML 操作(下面的命令取自这个问题),所以我输入:

postgres=# ALTER DEFAULT PRIVILEGES FOR new_user IN SCHEMA 
    public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO new_user;
Run Code Online (Sandbox Code Playgroud)

但是得到了一个错误:

ERROR:  syntax error at or near "new_user"
LINE 1: ALTER DEFAULT PRIVILEGES FOR new_user IN SCHEMA public GRANT...
Run Code Online (Sandbox Code Playgroud)

我不知道为什么这个命令不起作用。

postgresql permissions

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