postgres经常使用命令

1.登陆sql

psql -U pname -d database  // pname 表示postgres的登陆用户名,database 则表示要访问的数据库 数据库

2.查看全部的数据库服务器

\l函数

3.查看全部的表(这里的红色部分根据你要查看的数据库的名字来改变)post

\d database spa

4.查看表的结构(这里的红色部分根据你要查看的表的名字来改变)orm

\d tablename对象

5.切换数据库索引

\c databaseit

6.退出登陆

\q

7. 建立database

CREATE DATEBASE database_name;

8. 建立schema

CREATE SCHEMA schema_name;

9.查看数据库下面全部的schema

select * from information_schema.schemata;

10.查看一个schema下面全部的表

select * from information_schema.tables where table_schema = 'schema_name';

11.建立角色

CREATE ROLE role_name [...];

[...]为可多选角色属性参数,参数可分别为:

  1. 登录(login):具备login属性的角色能够链接数据库,一个带有login属性的角色能够等同于“数据库用户”,由于数据库用户建立的时候默认自带login属性.
  2. 超级用户(superuser):超级用户拥有至高无上的权限,可是这个权限分配的时候,必定要当心,想要建立超级用户,必须使用带超级用户的角色去建立带“超级用户”的角色 .
  3. 建立数据库(createdb):建立数据库属性,顾名思义就是拥有“建立数据库”属性的角色能够建立数据库,对于超级用户的角色来讲,自身能够建立数据库,不用带“建立数据库”属性 .
  4. 建立角色(createrole):带有“建立角色”属性的角色能够建立其余角色。通常带有“建立角色”属性的角色还能够删除和更改其余角色(删除和更改只限于普通用户) 
  5. 口令(password):只有在客户认证方法要求与数据库创建链接必须使用口令的时候, 口令才比较重要.

在建立好角色后,若是须要修改的话,可使用alter role语句修改

12.权限设置

将名字为schema_name的schema的全部权限给予role_name角色;

grant all on schema schema_name to role_name;

将名字为schema_name的schema下面全部的表的操做权限给予role_name角色;

grant all on all tables in schema schema_name to role_name;

若是你不许备将全部的权限都给予role_name角色,能够给予部分的权限,每一个权限值之间以逗号分隔,而权限的明细以下:

  • SELECT:该权限用来查询表或是表上的某些列,或是视图,序列。
  • INSERT:该权限容许对表或是视图进行插入数据操做,也可使用COPY FROM进行数据的插入。
  • UPDATE:该权限容许对表或是或是表上特定的列或是视图进行更新操做。
  • DELETE:该权限容许对表或是视图进行删除数据的操做。
  • TRUNCATE:容许对表进行清空操做。
  • REFERENCES:容许给参照列和被参照列上建立外键约束。
  • TRIGGER:容许在表上建立触发器。
  • CREATE:对于数据库,容许在数据库上建立Schema;对于Schema,容许对Schema上建立数据库对象;对于表空间,容许把表或是索引指定到对应的表空间上(在Oracle中,咱们是用quota子句或是unlimited tablespace权限来控制)。该权限与Oracle上的CREATE类权限彻底不一样了。
  • CONNECT:容许用户链接到指定的数据库上。
  • TEMPORARY或是TEMP:容许在指定数据库的时候建立临时表。
  • EXECUTE:容许执行某个函数。
  • USAGE:对于程序语言来讲,容许使用指定的程序语言建立函数;对于Schema来讲,容许查找该Schema下的对象;对于序列来讲,容许使用currval和nextval函数;对于外部封装器来讲,容许使用外部封装器来建立外部服务器;对于外部服务器来讲,容许建立外部表。
  • ALL PRIVILEGES:表示一次性给予能够授予的权限。
相关文章
相关标签/搜索