postgresql建表空间、建库、建模式、建用户的规范
一、官方概念说明
1、表空间(表空间位置不应该位于数据目录内)
- 性能优化:您可以将高I/O的表和索引放在高速磁盘上,而将不经常访问的表放在普通的磁盘上。
- 管理磁盘空间:当数据库存储空间不足时,可以通过表空间在其他磁盘上创建更多的存储空间。
如果没有上面2个诉求,可以使用默认表空间。
2、模式
官方推荐:在管理员创建一个具体数据库后,应该为所有可以连接到该数据库的用户分别创建一个与用户名相同的模式,然后,将search_path设置为"$user"(即缺省模式为与用户名相同的模式),这样,任何当某个用户连接上来后,会默认将查找或者定义的对象都定位到与之同名的模式中。这是一个好的设计架构。
二、数据库创建
1、表空间管理
创建表空间
create tablespace dynamic owner postgres location 'E:\programs\PostgreSQL\14\data\space_dynamic';
删除表空间
drop tablespace dynamic
2、用户管理
创建用户:
CREATE USER test WITH PASSWORD 'abcd@1234';
修改用户密码:
ALTER USER postgres WITH PASSWORD 'new_password';
删除用户:
DROP USER username;
用户授权:
GRANT SELECT ON sales_db TO sales_user;--赋予用户sales_db这个数据库的读取权限
给单个表赋所有权限
GRANT ALL PRIVILEGES ON TABLE tablename TO username;
用户授权:给所有表的增删改查权限,(他可以建表,可以删他自己的表,不能删别人建的表)
grant ALL PRIVILEGES on schema dynamic to dynamic;
3、数据库管理
建数据库:
CREATE DATABASE test WITH OWNER=user ENCODING='UTF-8';
删除数据库:
DROP DATABASE sales_db;
4、模式管理
创建模式:
CREATE SCHEMA sales_schema;
删除模式:
DROP SCHEMA sales_schema;
让用户默认查询的就是该指定模式下的表数据
show search_path;
ALTER USER dynamic SET search_path to "dynamic";
最后附件:用户赋权限示例,来自chatGPT。


最后给一套完整建库sql语句标准模板:
--创建表空间
create tablespace dynamic owner postgres location 'E:\programs\PostgreSQL\14\data\space_dynamic';
--创建用户
CREATE USER dynamic_user WITH PASSWORD 'xtkfqHbgydx@20230824566232738.xtHbj';
--创建数据库
CREATE DATABASE dynamic WITH TABLESPACE dynamic OWNER=dynamic_user ENCODING='UTF-8';
--创建模式
CREATE SCHEMA dynamic AUTHORIZATION dynamic_user --设置用户的默认模式
show search_path;
ALTER USER dynamic_user SET search_path to "dynamic";
--给用户赋予权限
grant ALL PRIVILEGES on schema dynamic to dynamic_user;
--给dynamic_user用户在dynamic模式所有表的增删改查权限,他可以建表,删他自己的表,不能删别人建的表
postgresql建表空间、建库、建模式、建用户的规范的更多相关文章
- oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库
首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于o ...
- Oracle数据库-建库、建表空间,建用户
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistan ...
- PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系
看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我 ...
- oracle建库及plsql建表空间的用法
所有程序—>ORACLE-JHEMR----------->配置和移植工具----->DataBase Configuration Assistant-------中间就需要改一个数 ...
- Oracle新建用户、角色,授权,建表空间
oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...
- Oracle创建用户、角色、授权、建表空间
oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...
- ORACLE创建用户,建表空间,授予权限
1.创建用户表空间 CREATE TABLESPACE my_tsLOGGINGDATAFILE 'D:\app\win7\oradata\orcl\my_ts.dbf' SIZE 10M AUTOE ...
- SQL-Oracle-创建表空间,用户,授权
--创建表空间 create tablespace imark datafile 'E:\oracle\product\10.2.0\oradata\orcl\imark.dbf' size 500M ...
- PostgreSQL的表空间
1. 表空间的概念 PostgreSQL中的表空间允许在文件系统中定义用来存放表示数据库对象的文件的位置.在PostgreSQL中表空间实际上就是给表指定一个存储目录. 2. 表空间的作用 官方解释 ...
- mysql迁移:ibd表空间迁移库表
问题描述:将一个库中的表迁移到另一个数据库或实例下,利用ibd文件物理迁移,可适用情况为数据库起不来,强制迁移数据文件恢复 将数据库中的zabbix数据迁移到另一个库中 frm:存储表的列信息 ibd ...
随机推荐
- Python 列表list方法clear( )和直接list [ ]的区别
x.clear()是将内存地址清空, x=[ ]会新开辟一个内存空间.
- JavaScript二代公民身份证号验证
身份证号码中的校验码是身份证号码的最后一位,是根据[中华人民共和国国家标准GB 11643-1999]中有关公民身份号码的规定, 根据精密的计算公式计算出来的,公民身份号码是特征组合码,由十七位数字本 ...
- 赵海鹏:如何进行 OpenHarmony 音频特性架构设计和开发工作
编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献.分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点. 赵海鹏 江苏润和软 ...
- C++ 编程入门指南:深入了解 C++ 语言及其应用领域
C++ 简介 什么是 C++? C++ 是一种跨平台的编程语言,可用于创建高性能应用程序. C++ 是由 Bjarne Stroustrup 开发的,作为 C 语言的扩展. C++ 为程序员提供了对系 ...
- 码力全开!请查收HDC.Together 2023亮点日程
<主题演讲> <技术交流与互动> <妙趣之旅>
- docker 应用篇————docker基本命令[四]
前言 介绍一下一些docker的基本命令. 正文 帮助命令: 首先要学的肯定是docker --help 命令了,因为这样我们就不用经常去查官网. docker version docker info ...
- JavaScript如何判断一个元素是否在可视区域中?
一.用途 可视区域即我们浏览网页的设备肉眼可见的区域,如下图 在日常开发中,我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值(例如 100 px),从而实现一些常用的功能,例如: 图片 ...
- 力扣182(java&python)-数组元素积的符号(简单)
题目: 已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 .如果 x 是负数,返回 -1 .如果 x 是等于 0 ,返回 0 .给你一个整数数组 nums ...
- 【pytorch学习】之自动微分
5 自动微分 求导是几乎所有深度学习优化算法的关键步骤.虽然求导的计算很简单,只需要一些基本的微积分.但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错).深度学习框架通过自动计算导数 ...
- Docker 安装,常用命令
安装Docker 官方所有操作系统安装教程:Install Docker Engine on CentOS | Docker Documentation,其中CentOS安装docker引擎的代码: ...