发布于 2016-04-21 08:20:08 | 120 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的PostgreSQL指南,程序狗速度看过来!

PostgreSQL关系型数据库管理系统

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。


 

PostgreSQL 9.5 发布了,PostgreSQL 9.5 此次更新增加了许多新的功能,比如增加新的JSONB函数,新的GROUPING函数等。RLS(Row Level Security)功能在此次更新中也得到相应的提升。RLS是一种表格行安全机制,利用为每一个表加上你需要使用数据库角色作为一个主要的安全机制。

以下是一个RLS示例:

example_schema

创建表、修改表、创建策略:使用RLS

 CREATE TABLE ratings2 (  
  user_role_name NAME,
  rating_type_name TEXT,
  artist_name TEXT,
  rating INTEGER
);

ALTER TABLE ratings2 ENABLE ROW LEVEL SECURITY;

CREATE POLICY ratings2_user ON ratings2  
  USING(user_role_name = current_user);

上述封装了RLS最简单的例子。策略为每行返回一个布尔值。

这还可以通过声明每一种类型的声明以及它如何被授权的方式来定义。如果需要,选择和插入可以创建一个可读的附加表限于个人用户:

CREATE POLICY ratings2_user_select ON ratings2  
  FOR SELECT
  USING(user_role_name = current_user);

CREATE POLICY ratings2_user_insert ON ratings2  
  FOR INSERT 
  WITH CHECK(user_role_name = current_user);

或者,采用以下方式:

CREATE POLICY ratings2_user ON ratings2  
  USING(pg_has_role(current_user, user_role_name, 'member'));

用户组权限的改变,使用范围也随之改变。

CREATE ROLE group1;  
GRANT ALL ON ratings2 TO group1;

CREATE ROLE music1 LOGIN PASSWORD 'change';  
GRANT group1 to music1;

CREATE ROLE music2 LOGIN PASSWORD 'change';  
GRANT group1 TO music2;

更多完整发布信息,请看这里



历史版本 :
PostgreSQL 六版齐发,修复 3 个安全漏洞
PostgreSQL 10 正式版发布,显著的性能提升!
PostgreSQL 10 首个候选版本 RC1 发布,修复部分 bug
PostgreSQL 10 Beta 4 发布,以及全系列更新
PostgreSQL 10 Beta 4 发布,多版本更新
PostgreSQL 10 Beta 3 发布,数据库管理系统
PostgreSQL 10 Beta 3 发布,以及对所有支持版本的更新
PostgreSQL 10 Beta 2 发布,Bug 修复
PostgreSQL 10 首个测试版发布,新增特性一览
PostgreSQL 9.6.3, 9.5.7, 9.4.12, 9.3.17 和 9.2.21 发布
PostgreSQL 10 新增特性
PostgreSQL 五版齐发,修复了超过 75个 bug
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务