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---nltk工具包安装
先在pycharm里安装nltk cmd进入Python输入 import nltk nltk.download()如果下载失败在github上下载语料库:https://github.com/nlt ...
- .net跨平台运行实践
一个偶然的机会,一个朋友想做一个程序,同时支持windows和linux,本来想用go来写,奈何不太熟练,突然想到.net不是也支持跨平台了吗,还没有操作过,刚好可以试验一下. 最新的.net 6已经 ...
- #斜率优化,单调栈#洛谷 5504 [JSOI2011] 柠檬
题目 分析 设\(dp[i]\)表示前\(i\)个贝壳可以获得的最大收益, 则\(dp[i]=\max\{dp[j-1]+S(c[i]-c[j]+1)^2\}[s_i==s_j]\) 可以发现当且仅当 ...
- 快捷转换/互转 Markdown 文档和 TypeScript/TypeDoc 注释
背景 作为文档工具人,经常需要把代码里面的注释转换成语义化的 Markdown 文档,有时也需要进行反向操作.以前是写正则表达式全局匹配,时间长了这种方式也变得繁琐乏味.所以写了脚本来互转,增加一些便 ...
- ubuntu环境下安装perf工具
检查当前环境内核的版本,执行如下命令: uname -a 输出信息如下: Linux jackie-ubuntu 5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 ...
- 网站优化之开启tomcat的gzip压缩传输特性
本文于2015年底完成,发布在个人博客网站上. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 基于tomcat 8.0.x版本的文档,可以了解到tomcat支持基于g ...
- [P4551] 最长异或路径 题解
过程 手写利用DFS求出每个点到根节点的异或距离 不难得出 xor_dis[x][y]=xor_dis[0][x]^xor_dis[0][y] 于是树上异或问题转换成了Trie上异或问题. 代码 直接 ...
- Spring内存马分析
环境搭建 踩了很多坑....,不过还好最后还是成功了 IDEA直接新建javaEE项目,然后记得把index.jsp删了,不然DispatcherServlet会失效 导入依赖: <depend ...
- Qt将程序最小角化到系统托盘
#include "test.h" #include "QPushButton" #include <QSystemTrayIcon> Test:: ...
- HarmonyOS NEXT调优工具Smart Perf Host高效使用指南
在软件开发的过程中,很多开发者都经常会遇到一些性能问题,比如应用启动慢.点击滑动卡顿.应用后台被杀等,想要解决这些问题势必需要收集大量系统数据.而在收集数据的过程中,开发者则需要在各种工具和命令之 ...