postgreSQL 修改、创建表空间
1、表空间的概念
PostgreSQL中的表空间允许在文件系统中定义用来存放表示数据库对象的文件的位置。在PostgreSQL中表空间实际上就是给表指定一个存储目录。
2、表空间的作用
- 官方解释:
通过使用表空间,管理员可以控制一个PostgreSQL安装的磁盘布局。这么做至少有两个用处。
- 如果初始化集簇所在的分区或者卷用光了空间,而又不能在逻辑上扩展或者做别的什么操作,那么表空间可以被创建在一个不同的分区上,直到系统可以被重新配置。
- 表空间允许管理员根据数据库对象的使用模式来优化性能。例如,一个很频繁使用的索引可以被放在非常快并且非常可靠的磁盘上,如一种非常贵的固态设备。同时,一个很少使用的或者对性能要求不高的存储归档数据的表可以存储在一个便宜但比较慢的磁盘系统上。
- 用一句话来讲:能合理利用磁盘性能和空间,制定最优的物理存储方式来管理数据库表和索引。
3、表空间的作用
- 在Oracle数据库中;一个表空间只属于一个数据库使用;而一个数据库可以拥有多个表空间。属于"一对多"的关系
- 在PostgreSQL集群中;一个表空间可以让多个数据库使用;而一个数据库可以使用多个表空间。属于"多对多"的关系。
4、系统自带表空间
- 表空间pg_default是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。对应存储目录$PADATA/base/
- 表空间pg_global用来存放系统字典表;对应存储目录$PADATA/global/
5、查看表空间
- psql客户端 方式
archive=# \db List of tablespaces Name | Owner | Location
------------+---------+------------- data1 | archive | /data/data1 pg_default | sa | pg_global | sa |
(3 rows) archive=# select oid,* from pg_tablespace; oid | spcname | spcowner | spcacl | spcoptions
-------+------------+----------+--------+------------1663 | pg_default | 10 | | 1664 | pg_global | 10 | | 23976 | data1 | 18997 | |
(3 rows)
6、创建表空间
create tablespace data2 owner archive location '/data/data2';
7、权限分配
表空间的创建本身必须作为一个数据库超级用户完成,但在创建完之后之后你可以允许普通数据库用户来使用它.要这样做,给数据库普通用户授予表空间上的CREATE权限。表、索引和整个数据库都可以被分配到特定的表空间.
示例用户"rax":为普通用户。
GRANT CREATE ON TABLESPACE data2 TO archive;
8、为数据库指定默认的表空间
CREATE DATABASE archive_all owner archive;ALTER DATABASE archive_all SET TABLESPACE data2
注意1:执行该操作;不能连着对应数据库操作
ERROR: annot change the tablespace of the currently open database
注意2:执行该操作;对应的数据库不能存在表或者索引已经指定默认的表空间
ERROR: some relations of database "archive_all" are already in tablespace "data2"
9、维表指定默认的表空间
ALTER TABLE name SET TABLESPACE new_tablespace
- 注意:操作是会锁表
postgreSQL 修改、创建表空间相关推荐
- PostgreSQL主库创建表空间导致备库宕机
PostgreSQL主库创建表空间导致备库宕机 PG版本:11.7 最后编辑时间:2022年1月23日00:17:06 主库创建表空间 [postgres@rhel6wcb /]$ mkdir -p ...
- oracle已经创建表空间不存在,oracle表空间的创建、删除、查看、表空间不存在、及修改默认表空间详解...
一.创建表空间 ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地 ...
- db2 修改表空间自增长_db2 创建表空间、增大表空间以及增加临时表空间
一.创建表空间 db2 "CREATE REGULAR TABLESPACE DMS_DBDATA IN DATABASE PARTITION GROUP IBMDEFAULTGROUP P ...
- oracle取消表空间自增长,oracle_创建表空间_临时表空间_修改表空间_以及自增长...
管理员用户登录oracle数据库 [oracle@DBORACLE ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on ...
- oracle创建表空间 扩展表空间文件 修改表空间自动增长
1. 创建表空间 create tablespace SIRM2 datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 10 ...
- 如何创建oracle临时表空间,oracle_创建表空间_临时表空间_修改表空间_以及自增长...
管理员用户登录oracle数据库 [oracle@DBORACLE ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on ...
- 统信下人大金仓创建表空间及导入oracle数据
因为国产化,数据库采用国产的人大金仓,原先存放于oracle 12c的数据也要迁移过来. 人大金仓,改自开源的数据库项目pg(postgreSql),这点人大金仓自己也承认.因此目前查人大金仓,如果资 ...
- oracle创建directirtory,oracle11g使用Direct NFS创建表空间
NFS SERVER 10.10.10.22 NFS CLIENT 10.10.10.12 1.nfs server需要启动的服务: #service portmap start Starting p ...
- Oracle安装完成后如何创建表空间及用户
1.select file_Name from dba_data_files;(查询表空间) 2.create tablespace QUAN datafile '/app/ADMINISTRATOR ...
最新文章
- php 访问类成员,PHP类成员的访问方式和权限_PHP教程
- Obj-C的hello,world 2
- 软件工程师不可不知的10个概念
- 如何选择 Git 分支模式?
- 如何做一份出色的竞品分析?(一)
- JS笔记(20): JS中的同步编程和异步编程
- python 之configparser模块
- 《Head First设计模式》批注系列(一)——观察者设计模式
- 《我的视频我做主:Premiere Pro CS5实战精粹》——第一部分 基础篇 第1章 非线性剪辑基础 1.1 认识非线性剪辑...
- PHP的curl实现get,post 和 cookie(几个实例)
- 【flink】RocksDB介绍以及Flink对RocksDB的支持
- POS机商户巡检系统 后台+手机APP
- DSP 6678的NETCP
- 『搬运』分享一些国内外的专利搜索网站
- android qq 邮箱格式,qq邮箱怎么填写格式 qq邮箱格式写法介绍
- R语言实现单变量分析教程
- 微信自动投票的php代码
- “No JSON object could be decoded“问题定位
- 怎么合并或注销重复LinkedIn领英帐号?
- 互联网新机遇: 移动社交电商将成为下一个风口?