PostgreSQL从创建数据库到赋予和删除权限

下面是一个完整的 PostgreSQL 示例,展示了如何创建数据库、用户、模式(schema)、表、视图、函数,并赋予用户权限以及删除权限的步骤。假设你已经安装并配置了 PostgreSQL。
首先,登录到 PostgreSQL 的命令行客户端(psql),然后执行以下命令创建数据库:

-- 创建数据库
CREATE DATABASE mydb;-- 创建用户
CREATE USER myuser WITH PASSWORD 'mypassword';-- 连接到数据库 mydb
\c mydb-- 创建 schema
CREATE SCHEMA myschema;-- 创建表
CREATE TABLE myschema.mytable (id SERIAL PRIMARY KEY,name VARCHAR(50),age INT
);-- 创建视图
CREATE VIEW myschema.myview AS
SELECT name, age FROM myschema.mytable;-- 创建函数
CREATE OR REPLACE FUNCTION myschema.get_age(name VARCHAR)
RETURNS INT AS $$
BEGINRETURN (SELECT age FROM myschema.mytable WHERE mytable.name = name);
END;
$$ LANGUAGE plpgsql;-- 赋予用户权限
GRANT CONNECT ON DATABASE mydb TO myuser;
GRANT USAGE ON SCHEMA myschema TO myuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA myschema TO myuser;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA myschema TO myuser;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA myschema TO myuser;-- 删除用户权限
REVOKE ALL ON DATABASE mydb FROM myuser;
REVOKE ALL ON SCHEMA myschema FROM myuser;
REVOKE ALL ON ALL TABLES IN SCHEMA myschema FROM myuser;
REVOKE ALL ON ALL SEQUENCES IN SCHEMA myschema FROM myuser;
REVOKE ALL ON ALL FUNCTIONS IN SCHEMA myschema FROM myuser;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中石化加油卡有什么用?

对于有车一族来说,有一张加油卡真的可以省下不少钱 但是像我们这种没车的人,即使得到加油卡也毫无用武之地 久而久之,难免会造成卡过期的情况出现 还好,前两天把我手上堆积了好久的加油卡在收卡云上卖出去了,99折真…

低代码开发:引领HR数字化变革新时代

引言 低代码开发是一种创新的软件开发方法,它允许开发人员通过图形用户界面和配置而非传统的计算机编程来创建应用程序。这种方法与传统的代码驱动开发模式形成了鲜明的对比,后者要求开发者具备深厚的编程技能,并花费大量时间编写和调试代码。…

nodejs从基础到实战学习笔记-模块化、包

二、模块化 2.1 什么是模块化 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。 2.1.1 把代码进行模块化拆分的好处 提高了代码的复用性提高了代码的可维护性可以实现按需…

Docker 镜像库国内加速的几种方法

在国内,拉取 Docker 镜像速度慢 / 时不时断线 / 无账号导致限流等,比较痛苦。 这里提供几个当前可用的镜像仓库,更新到/etc/docker/daemon.json即可。 更新完记得运行: sudo systemctl daemon-reload sudo systemctl restart …

打印水仙花数

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个“水仙花数”,因为153 1的三次方 +5的三次方+3的三次方。 程序分析&#xff…

axios文件上传

var formData new FormData(); //file是文件对象 formData.append("file",file.raw); axios.post("/SchoolApi/Center/ImportStudentData", formData, { headers: { Content-type: multipart/form-data} }) .then(res > {// 上传成功后的处理console.…

外文文献下载资源大全

外文文献下载资源通常指可以免费或付费下载英文或其他语言学术文献的平台。这些资源可以按照不同行业或学科进行分类,以便用户更容易找到他们需要的文献。以下是一些主要的资源平台,它们提供不同行业的文献下载服务: 1、PubMed 学科&#x…

百元价位真无线蓝牙耳机怎么选?四款宝藏平价机型盘点

在繁忙的现代生活中,真无线蓝牙耳机凭借其便携性、无线连接以及出色的音质,已经成为了许多人的必备配件,面对市场上琳琅满目的产品,如何在百元价位内挑选出一款性价比高、性能出色的真无线蓝牙耳机,确实是一个值得深思…

【前端】前端权限管理的实现方式:基于Vue项目的详细指南

前端权限管理的实现方式:基于Vue项目的详细指南 在Web开发中,前端权限管理是一个确保应用安全性和优化用户体验的关键部分。本文将详细介绍前端权限管理的几种实现方式,并通过Vue项目中的代码示例来演示具体实现方法。 前端权限管理的基本实…

低代码智能协同办公:开启高效办公新时代

随着科技的飞速发展,人工智能逐渐成为各行各业的重要组成部分。低代码智能协同办公作为一种创新型的办公方式,正逐步改变着人们的办公习惯,为企业带来更高的效率和更优的体验。本文将从低代码智能协同办公的定义、特点、应用场景等方面展开论…

赶紧收藏!2024 年最常见 20道设计模式面试题(九)

上一篇地址:赶紧收藏!2024 年最常见 20道设计模式面试题(八)-CSDN博客 十七、迭代器模式如何提供对集合对象的迭代访问? 迭代器模式(Iterator Pattern)是一种行为型设计模式,它允许…

【Android】【Compose】Compose的简单介绍

前言 Jetpack Compose 是谷歌推出的用于构建现代化 Android 应用界面的工具包。它采用了声明式的方式来定义用户界面,与传统的 XML 布局和视图层次结构相比,Compose 提供了更直观、更简洁的方式来创建和管理界面组件。 需求配置 Android 版本要求 An…

马斯克的Grok-1:开源AI模型的突破与挑战

在人工智能(AI)飞速发展的当下,xAI公司推出的最新作品Grok-1,不仅标志着技术的一大突破,也预示着AI领域的一次重大里程碑。这个经过四个月辛勤开发的模型,拥有高达3140亿参数的专家混合体系结构&#xff0c…

IT行业目前正处于快速发展和变革之中,未来也将持续呈现多种趋势。

现状 数字化转型: 企业和组织正在大规模进行数字化转型,加速采用云计算、大数据分析、人工智能等技术来提升效率和创新能力。安全和隐私: 随着信息泄露和网络攻击的频发,信息安全和隐私保护成为了IT行业的重要议题,企…

iOS开发工具-网络封包分析工具Charles

一、Charles简介 Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求…

百度地图上设置挖空效果的电子围栏

公司项目有个需求是要在百度地图上设置电子围栏,电子围栏很简单嘛,就是一个覆盖物就能搞定了,然而UI又在搞事情,设计的效果图中电子围栏外卖填充颜色,电子围栏内不填充颜色。 最后我还是写出了这个效果,浅浅的复盘一下: 狗狗太可爱了给他用电子围栏描个边边 我是怎么…

海思NNIE精度对比详细操作指南

海思NNIE部署推理经常会遇到精度下降问题,但是又摸不着头脑究竟是什么原因,因此需要做精度分析来排查是不是算子问题或者是具体哪个算子问题。本文撰写详细操作说明文档,具体可以参考资料:海思NNIE之Mobilefacenet量化部署-腾讯云开发者社区-腾讯云 1.打开日志等级 不知道…

应用案例 | 冷藏集装箱基于云的WiFi无线温度监测系统COMET Cloud

一、集装箱的作用和分类 集装箱运输是国际贸易货物多式联运过程中的重要运输方式。由于集装箱运输具有标准化高、密封性好,破损率低、集约化、规模化、班轮化、成本低、质量好等优点,大大提高了货物运输的安全和效率。 集装箱种类很多,按所…

Java按照每日,每周,每月,每季度,每半年,每年计算周期

1. 通过传入计划的开始时间 - 截止时间 , 自动计算出今日所在是第几周期, 并返回当前周期的开始时间的结束时间 import java.time.DayOfWeek; import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; import java.time.temporal.C…

崩铁自动小助手ASR开发实录

文章目录 崩铁小助手ASR功能计划功能实现操作的模拟窗口的识别游戏窗口识别副本导航和平指南页面识别页面中高亮位置的寻找右侧具体副本的寻找 未完待续开源地址 崩铁小助手ASR 天下苦二游上班坐牢久矣。方舟有MAA造福大众,免去日常之苦,能让我专心于关…