毕业论文

当前位置: 毕业论文 > 范文 >

postgresql命令大全postgresql常用命令(12)

时间:2022-09-12 15:51来源:优尔论文
输入 help 来获取帮助信息。 lib1= 删除用户 user1: 自己删除自己失败: lib1= drop user user1; 错误: 删除角色的权限不够 lib1= 超级用户postgres登录后,居然也不

输入 "help" 来获取帮助信息。

lib1=>

删除用户 user1:

自己删除自己失败:

lib1=> drop user user1;

错误:  删除角色的权限不够

lib1=>

超级用户postgres登录后,居然也不能删除用户 user1!

>psql -U postgres

用户 postgres 的口令:

psql (10。18)

输入 "help" 来获取帮助信息。

postgres=# drop user user1;

错误:  无法删除"user1"因为有其它对象倚赖它

描述:  数据库 lib1的权限

postgres=#

删除失败,看来,删除不像想象的那么简单啊。

先撤销权限,再删除。

postgres=# revoke all privileges on database lib1 from user1;

REVOKE

postgres=#

postgres=# drop user user1;

DROP ROLE

postgres=#

postgres=# select * from pg_user;

 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |  passwd  | valuntil | useconfig

----------+----------+-------------+----------+---------+--------------+----------+----------+-----------

 postgres |       10 | t           | t        | t       | t            | ******** |          |

(1 行记录)

除了权限、密码,还可以限制 用户的连接数:

CONNECTION LIMIT 连接限制

还可以 限制到期时间:

VALID UNTIL '时间戳'

还可以设置 GROUP、ROLE。

疑问:

psql中的 user、role 是同一个意思?

怎么查看视图的创建语句?

菜鸟教程:

PostgreSQL 视图是只读的,因此可能无法在视图上执行 DELETE、INSERT 或 UPDATE 语句。

但是可以在视图上创建一个触发器,当尝试 DELETE、INSERT 或 UPDATE 视图时触发,需要做

的动作在触发器内容中定义。

\? 命令:

  \sf[+]  FUNCNAME       显示一个函数的定义

  \sv[+]  VIEWNAME       显示一个视图的定义

  \z      [模式]    和\dp的功能相同

前后省略了很多行

原来是 \sv[+] 命令:

postgres=# \sv pg_user

CREATE OR REPLACE VIEW pg_catalog。pg_user AS

 SELECT pg_shadow。usename,

    pg_shadow。usesysid,

    pg_shadow。usecreatedb,

    pg_shadow。usesuper,

    pg_shadow。userepl,

    pg_shadow。usebypassrls,

    '********'::text AS passwd,

    pg_shadow。valuntil,

    pg_shadow。useconfig

   FROM pg_shadow

postgres=#

postgres=# \sv pg_group

CREATE OR REPLACE VIEW pg_catalog。pg_group AS

 SELECT pg_authid。rolname AS groname,

    pg_authid。oid AS grosysid,

    ARRAY( SELECT pg_auth_members。member

           FROM pg_auth_members

          WHERE pg_auth_members。roleid = pg_authid。oid) AS grolist

   FROM pg_authid

  WHERE NOT pg_authid。rolcanlogin

postgres=# \sv pg_roles

CREATE OR REPLACE VIEW pg_catalog。pg_roles AS

 SELECT pg_authid。rolname,

    pg_authid。rolsuper,

    pg_authid。rolinherit,

    pg_authid。rolcreaterole, postgresql命令大全postgresql常用命令(12):http://www.youerw.com/fanwen/lunwen_99316.html

------分隔线----------------------------
推荐内容