PostgreSQL基础(概念篇)

1、PGSQL是什么?

PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。

2、PGSQL特点是什么?

 

  • PostgreSQL可在所有主要操作系统Windows和Linux
  • PostgreSQL支持文本,图像,声音和视频,并包括用于C/C++,Java,Perl,Python,Ruby,Tcl和开放数据库连接(ODBC)的编程接口。
  • PostgreSQL支持SQL的许多功能,例如复杂SQL查询,SQL子选择,外键,触发器,视图,事务,多进程并发控制(MVCC),流式复制(9.0),热备(9.0))。
  • 在PostgreSQL中,表可以设置为从“父”表继承其特征。
  • 可以安装多个扩展以向PostgreSQL添加附加功能。

3、PGSQL的数据类型有哪些?

PGSQL主要有三种类型的数据:数值类型、字符串类型、时间\日期 

4、存储过程

      PostgreSQL函数也称为PostgreSQL存储过程。 PostgreSQL函数或存储过程是存储在数据库服务器上并可以使用SQL界面调用的一组SQL和过程语句(声明,分配,循环,控制流程等)。 它有助于您执行通常在数据库中的单个函数中进行多次查询和往返操作的操作。 

5、索引

      索引是用于加速从数据库检索数据的特殊查找表。数据库索引类似于书的索引(目录)。 索引为出现在索引列中的每个值创建一个条目。 

索引的特点:

(1)索引使用SELECT查询和WHERE子句加速数据输出,但是会减慢使用INSERTUPDATE语句输入的数据。

(2)您可以在不影响数据的情况下创建或删除索引。

(3)可以通过使用CREATE INDEX语句创建索引,指定创建索引的索引名称和表或列名称。

(4)还可以创建一个唯一索引,类似于唯一约束,该索引防止列或列的组合上有一个索引重复的项。

6、PGSQL的权限

GRANT的语法GRANT命令的基本语法如下:
GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }

privilege值可以是:SELECT,INSERT,UPDATE,DELETE,RULE,ALL。
object:要向其授予访问权限的对象的名称。 
可能的对象是:表,视图,序列PUBLIC:表示所有用户的简短形式。
GROUP group:授予权限的组。username:授予权限的用户的名称。 PUBLIC是表示所有用户的简短形式。

REVOKE的语法REVOKE命令的基本语法如下:
REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP groupname | username }

privilege值可以是:SELECT,INSERT,UPDATE,DELETE,RULE,ALL。
object: 授予访问权限的对象的名称。 可能的对象是:表,视图,序列。
PUBLIC:表示所有用户的简短形式。
GROUP group:授予权限的组。
username:授予权限的用户的名称。 PUBLIC是表示所有用户的简短形式。
示例如要理解权限,我们先创建一个USER,如下所示:
yiibai_db=# CREATE USER manisha WITH PASSWORD 'password';
CREATE ROLE
SQL
语句CREATE ROLE 表示创建了一个用户名为manisha。
考虑 COMPANY 表有以下记录:
yiibai_db# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

接下来,让我们给予用户“manisha”在表COMPANY上授予所有权限,如下所示:
yiibai_db=# GRANT ALL ON COMPANY TO manisha;
GRANT

语句GRANT指示所有在COMPANY表上的权限都分配给用户“manisha”。
接下来,让我们从用户“manisha”中撤销权限,如下所示:
yiibai_db=# REVOKE ALL ON COMPANY FROM manisha;
REVOKE

REVOKE表示从用户“manisha”撤消所有权限。甚至可以删除用户,如下所示:
yiibai_db=# DROP USER manisha;
DROP ROLE

DROP ROLE表示从数据库中删除用户“manisha”。

					


 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值