赞
踩
常用命令:
\? #所有命令帮助
\c [database_name] #切换到指定的数据库
\c #显示当前数据库名称和用户
\conninfo #显示客户端的连接信息
\d #列出数据库中所有表
\d+ #列出数据库中所有表和详细信息
\dt #列出数据库中所有表
\d [table_name] #显示指定表的结构
\di #列出数据库中所有 index
\dv #列出数据库中所有 view
\du #显示所有用户
\dn #显示数据库中的schema
\h #sql命令帮助
\pset border 0|1|2 #更改查询结果边框显示风格
\q #退出连接
\set [参数名] [参数值] #修改参数,参数名大小写敏感;不加参数,则显示当前参数;
\timing #显示命令执行消耗的时间
\l #列出所有数据库
\encoding #显示字符集
\i testdb.sql #执行sql文件
\x #扩展展示结果信息,相当于MySQL的\G
\o /tmp/t1.txt #将下一条sql执行结果导入文件中
CREATE USER|ROLE name [[WITH] option […]]
option可以是:
SUPERUSER|NOSUPERUSER
CREATEDB|NOCREATEDB
CREATEROLE|NOCREATEROLE
LOGIN|NOLOGIN
…
系统用户表:pg_user
系统角色表:pg_roles
select rolname from pg_roles;
select usename from pg_user;
创建后,用户默认是可以登录的,而角色不能登录;
创建用户时,会默认创建同名的角色,而创建角色只会创建角色。而当创建角色时赋予了登录权限时,才会在系统用户表中新增,也代表着可以使用角色名(成为用户)登录了。
DROP user|role “name” ,删除用户|角色:
当用户拥有表时,会提示不能删除;转换关系:用户<—登录权限–>角色
PostgreSQL的不同类型的权限:
SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER,CREATE,CONNECT,TEMPORARY,EXECUTE和USAGE;
GRANT <权限列表> on <数据库对象> to <用户或角色> -- 授权
GRANT <权限列表> on <数据库对象> to <用户或角色> with grant option; -- 授权+授权权限
-- 任意一列的授权;
GRANT <权限列表>(<数据库对象的属性>) on <数据库对象> to <用户或角色> [ with grant option ];
REVOKE <权限列表> on <数据库对象> FROM <用户或角色>;
服务自动更新维护,不需要人工维护;
-- 系统表、视图
\dS [type]
-- pg_tables
-- pg_views
-- pg_indexs
-- pg_trigger
-- pg_constraints
查看支持的系统函数:
SELECT
pg_proc.proname AS "函数名称",
pg_type.typname AS "返回值数据类型",
pg_proc.pronargs AS "参数个数"
FROM
pg_proc
JOIN pg_type ON (pg_proc.prorettype = pg_type.oid);
"函数名称",
pg_type.typname AS "返回值数据类型",
pg_proc.pronargs AS "参数个数"
FROM
pg_proc
JOIN pg_type ON (pg_proc.prorettype = pg_type.oid);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。