`
wangchaovsjava
  • 浏览: 68495 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

PostgreSQL权限问题

阅读更多
权限
如果你创建了一个数据库对象,那么你就成为它的所有者。缺省时,只有对象的所有者可以在对象上做任何事情。为了允许其它用户使用它,我们必须赋予他们权限。不过超级用户总是可以操作任何对象。

有好多种不同的权限:SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, USAGE 。适用于特定对象的权限因对象类型(表/函数等)不同而不同。有关 PostgreSQL 所支持的不同类型的权限的完整信息,请参考 GRANT 的手册页。下面的章节将为你展示如何利用这些权限。

修改或者删除一个对象的权限永远是所有者独有的权限。

【注意】要改变一个表、索引、序列、或者视图的所有者,使用 ALTER TABLE 命令,以及对应其它对象类型的 ALTER 命令。

使用 GRANT 命令赋予权限。因此,如果 joe 是一个已经存在的用户,而 accounts 是一个已经存在的表,更新表的权限可以用下面的命令赋予:

GRANT UPDATE ON accounts TO joe;在权限的位置写上 ALL 则赋予所有与该对象类型相关的权限。

名为 PUBLIC 的特殊"用户"可以用于将权限赋予系统中的所有用户。另外,还可以使用"组"角色来帮助管理一群用户的权限,细节可参见章18。

可以使用 REVOKE 命令撤销权限:

REVOKE ALL ON accounts FROM PUBLIC;对象所有者的特殊权限(也就是 DROP, GRANT, REVOKE 等权限)总是隐含地属于所有者,并且不能赋予或者撤销。但是对象所有者可以选择撤销自己的普通权限,比如把一个表做成对自己和别人都是只读的。

最初,只有对象所有者(或者超级用户)可以赋予或者撤销对象的权限。但是,我们可以赋予一个"with grant option"权限,这样就允许接受权限的人将该权限转授他人。如果授权选项后来被撤销,那么所有那些从这个接受者接受了权限的用户(直接或间级)都将失去该权限。
分享到:
评论

相关推荐

    PostgreSQL权限限制插件

    PostgreSQL hook机制编写插件限制超级用户权限。安装方法:在contrib下建立目录:limitsuperuserdrop,将C代码文件和Makefile放入其中,使用make ; make install编译安装。将data目录下的postgresql.conf中的shared_...

    postgrest和postgresql权限认证,jwt插件

    在PostgreSQL中,权限系统非常灵活,可以通过角色、用户、表级权限、函数权限等方式进行管理。PostgREST进一步扩展了这一功能,它支持基于HTTP请求的权限验证,使API的访问控制更加直观。 JWT插件为PostgreSQL提供...

    PostgreSQL中文手册9.2

    PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (角色和权限 角色和权限 角色和权限 ) 52 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据库管理 数据库管理 数据库管理 ) 54 一、...

    如何恢复PostgreSQL数据库

    PostgreSQL 数据库恢复方法 PostgreSQL 是一个功能强大且...在恢复过程中,需要了解数据库的结构和权限设置,避免权限不足和版本不兼容的问题。同时,需要对系统和数据库进行详细的分析和处理,以避免重复出现的问题。

    Postgresql-10安装包

    - 管理员权限:安装 PostgreSQL 需要具有系统的管理员权限。 **三、安装步骤** 1. **下载安装包**:从官方网站或提供的压缩包中获取 PostgreSQL-10 的安装程序。 2. **解压安装文件**:将 `postgresql_dir` ...

    postgresql-embedded,嵌入式PostgreSQL服务器.zip

    在【unittests】中使用嵌入式PostgreSQL服务器,可以方便地进行数据库相关的测试,因为无需安装或配置额外的服务器实例,同时也避免了测试环境与生产环境间的差异问题。 PostgreSQL是一个功能强大的【开源关系型...

    postgresql

    7. **安全与权限**:PostgreSQL提供了精细的权限控制机制,允许管理员设置用户访问权限、角色、表和函数的权限,以保证数据的安全。 8. **备份与恢复**:定期备份是数据库管理的重要环节。PostgreSQL支持多种备份...

    PostgreSQL_8.2.3.rar_postgresql_windows 8

    PostgreSQL是一种开源关系型数据库管理系统(RDBMS),它的版本8.2.3是该系统的一个重要里程碑。这个版本在2006年发布,带来了许多改进和新特性,使得PostgreSQL在当时更加稳定和功能强大。对于Windows 8用户来说,...

    Postgresql修炼之道 pdf

    10. 监控与日志分析:监控Postgresql实例的性能状况,分析日志文件中的信息,帮助识别和解决可能存在的问题。 学习和掌握以上知识点,可以帮助技术人员在Postgresql方面从初学者逐步成长为经验丰富的专家。不过,...

    PostgreSQL实战

    《PostgreSQL实战》将介绍权限控制、角色管理、加密选项等,确保数据库的安全运行。同时,也会讨论备份与恢复策略,以应对可能的数据丢失风险。 最后,本书还会涉及监控和性能调优。通过监控工具和性能指标,可以...

    postgresql离线安装包及依赖库

    8. 升级和迁移:对于已经安装了旧版本PostgreSQL的用户,离线安装包可能还提供了升级指南,说明如何从旧版本平滑升级到新版本,同时处理数据迁移问题。 9. 社区支持:PostgreSQL作为开源项目,拥有庞大的社区和丰富...

    postgresql9.6.zip

    PostgreSQL 9.6是PostgreSQL数据库管理系统的一个版本,它是一个开源的关系型数据库系统,以其稳定性和强大的功能而受到广泛赞誉。此“postgresql9.6.zip”压缩包包含了一系列RPM(Red Hat Package Manager)安装包...

    postgresql 离线安装教程

    ### PostgreSQL离线安装详解 #### 一、简介 PostgreSQL是一款功能强大且全面的开源对象-关系型数据库管理...至此,PostgreSQL已成功安装,并且配置了远程访问权限。用户可以根据实际需求进一步定制和管理数据库环境。

    PostgreSQL12.2中文手册.chm.7z

    5. **安全性与权限**:PostgreSQL有强大的用户管理和权限控制机制,手册会指导如何设置用户、角色,以及如何分配权限和访问控制。 6. **复制与高可用性**:PostgreSQL支持多种复制模式,如物理复制、逻辑复制,以及...

    PostgreSQL 9.6 RPM包

    7. **设置权限和防火墙**:确保PostgreSQL服务可以被允许的用户访问,可能需要调整`pg_hba.conf`配置文件和Linux防火墙规则,通常允许本地连接或者特定IP地址。 8. **管理数据库**:通过`psql`命令行客户端连接到...

    PostGreSQL安装部署系列:Centos 7.9 安装指定PostGreSQL-15版本数据库

    初始化完成后,将会创建数据库目录并设置默认权限。 ##### 3.4 启动服务 启动PostgreSQL服务: ```bash sudo systemctl start postgresql-15 ``` 查看服务状态: ```bash sudo systemctl status postgresql-15 ...

    postgresql分布式安装部署

    - 创建归档目录,并将其权限赋予`postgres`用户 - 在`postgres`用户的`.bash_profile`文件中添加环境变量,并通过`source .bash_profile`命令激活环境变量 ##### 3. 数据库超级用户配置 - 配置数据库超级用户`...

    postgresql12主从集群安装

    【PostgreSQL 12主从集群安装】 在搭建PostgreSQL 12主从集群时,首先需要理解主从复制的概念...此外,确保对数据进行定期备份,并了解如何在出现问题时恢复到某个已知的健康状态,这对于任何生产环境都是至关重要的。

    PostgreSQL帮助文档 html

    **PostgreSQL帮助文档HTML**是数据库管理员、开发者和学习者的重要资源,提供了关于PostgreSQL数据库系统的详尽信息。...这份文档是学习和解决PostgreSQL相关问题的重要工具,值得每个使用者收藏和深入研究。

Global site tag (gtag.js) - Google Analytics