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 ...
随机推荐
- 一篇文章了解CI/CD管道全流程
从CI/CD过程开始,包含所有阶段并负责创建自动化和无缝的软件交付的一系列步骤称为CI/CD管道工作流.使用CI/CD管道,软件发布工件可以从代码提交阶段到测试.构建.部署和生产阶段在管道中移动和前进 ...
- 性能对比 Go、Python、Perl、Ruby、Rust、C/C++、PHP、Node.js、Java.. 等多编
1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或 其它版本 Python 的话,性能更快.但 pypy 还不完善,pypy ...
- 全平台GPU通用AI视频补帧超分教程
全平台GPU通用AI视频补帧超分教程 本教程只发布于https://www.cnblogs.com/Icys 注意:本教程需要一定的命令行和视频编码知识,请谨慎食用. 软件准备 realcugan-n ...
- IE8页面失去焦点,动态删除element
当页面失去焦点(切换到其他标签页 / 切换到其他软件),触发失焦事件,然后动态删除element 兼容IE8 if(window.ActiveXObject){ window.attachEvent( ...
- 当JDBC遇上返回Cursor
当 JDBC 遇上返回 Cursor 本文出处:https://www.modb.pro/db/400426 使用 jdbc 访问 PostgreSQL 或者 MogDB(openGauss)数据库里 ...
- C#/.NET/.NET Core拾遗补漏合集(24年4月更新)
前言 在这个快速发展的技术世界中,时常会有一些重要的知识点.信息或细节被忽略或遗漏.<C#/.NET/.NET Core拾遗补漏>专栏我们将探讨一些可能被忽略或遗漏的重要知识点.信息或细节 ...
- OpenStack实战安装部署
OpenStack安装部署 一.基础准备工作 部署环境:CentOS 7 64 1.关闭本地iptables防火墙并设置开机不自启动 <span style="color:#33333 ...
- Cache Aside Pattern缓存+数据库读写模式的分析
1.Cache Aside Pattern(1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应 (2)更新的时候,先删除缓存,然后再更新数据库 2.为什么是删除 ...
- 最最最简单使用Docker部署Wordpress
普通Docker部署 这种方式我用过,但是总体来说是比较麻烦的.但是可以简单说一下流程,总体流程如下: 安装Docker环境 拉取Wordpress镜像,运行镜像 拉取MySql镜像,运行镜像 Wor ...
- 如何将 ASP.NET Core MVC 项目的视图分离到另一个项目
如何将 ASP.NET Core MVC 项目的视图分离到另一个项目 在当下这个年代 SPA 已是主流,人们早已忘记了 MVC 以及 Razor 的故事.但是在某些场景下 SSR 还是有意想不到效果. ...