PostgreSQL 表空间
PostgreSQL 表空间
一 介绍
使用表空间可以将不同的表放到不同的存储介质或不同的文件系统下,实际上是为表指定一个存储的目录。
创建数据库,表,索引时可以指定表空间,将数据库,表,索引放到指定的目录下。
二 使用示例
创建表空间
create tablespace tbs_data location '/home/postgres/tbs_data';
查看
\db
List of tablespaces
Name | Owner | Location
------------+----------+-------------------------
pg_default | postgres |
pg_global | postgres |
tbs_data | postgres | /home/postgres/tbs_data
(3 rows)
创建数据库
create database db_tbs tablespace tbs_data;
更改数据库
alter database db_tbs set tablespace tbs_data;
查看
\l+ db_tbs
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description
--------+----------+----------+-------------+-------------+-------------------+---------+------------+-------------
db_tbs | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 6984 kB | tbs_data |
(1 row)
创建表
create table t_tbs1(id int ,name varchar,t text) tablespace tbs_data;
alter table t_tbs1 set tablespace tbs_data;
\d+ t_tbs1
Table "public.t_tbs1"
Column | Type | Modifiers | Storage | Stats target | Description
--------+-------------------+-----------+----------+--------------+-------------
id | integer | | plain | |
name | character varying | | extended | |
t | text | | extended | |
Tablespace: "tbs_data"
三 表空间目录说明
默认表空间pg_deflaut 的目录位置为base文件夹
ls /var/lib/postgresql/9.5/main/base/
1 12410 12415 126072 16384 23868 27602 pgsql_tmp
ls /home/postgres/tbs_data/PG_9.5_201510051/
128848 130024 27602
ls -al /var/lib/postgresql/9.5/main/pg_tblspc/
total 8
drwx------ 2 postgres postgres 4096 9月 19 14:45 .
drwx------ 19 postgres postgres 4096 9月 19 15:02 ..
lrwxrwxrwx 1 postgres postgres 23 9月 19 14:45 129008 -> /home/postgres/tbs_data
select oid,datname from pg_database ;
oid | datname
--------+------------------
1 | template1
12410 | template0
12415 | postgres
16384 | index_t
128848 | pgbench
130024 | db_tbs
23868 | sentry
27602 | new_test
进一步查看表存储位置
tree 27602/
27602/
├── 130015
├── 130015_fsm
├── 130015_vm
├── 130016
├── 130016_fsm
├── 130016_vm
├── 130017
├── 130018
├── 130021
├── 130023
├── 130025
├── 130028
└── 130030
new_test=# \d+
List of relations
Schema | Name | Type | Owner | Size | Description
--------+----------------+-------+----------+------------+-------------
public | score | table | postgres | 0 bytes |
public | student | table | postgres | 0 bytes |
public | t_fillfactor | table | postgres | 8192 bytes |
public | t_fillfactor01 | table | postgres | 8192 bytes |
public | t_tbs | table | postgres | 6240 kB |
select oid,relname , reltablespace ,relfilenode from pg_class where relname = 't_tbs';
oid | relname | reltablespace | relfilenode
--------+---------+---------------+-------------
129009 | t_tbs | 129008 | 130015
PostgreSQL 表空间的更多相关文章
- PostgreSQL表空间、模式、表、用户/角色之间的关系
PostgreSQL表空间.模式.表.用户/角色之间的关系是本文我们主要要介绍的内容,表空间,数据库,模式,表,用户,角色之间的关系到底是怎样的呢?接下来我们就开始介绍这一过程. 实验出角色与用户的关 ...
- PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系
看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉.下面我来还原我 ...
- PostgreSQL表空间
postgres=# \h create tablespace Command: CREATE TABLESPACEDescription: define a new tablespaceSyntax ...
- 创建postgresql表空间
mkdir -p /data/pg_data/tsp sudo chown -R postgres:postgres /data/pg_data/tsp 用下面的命令断开其它的链接 登陆服务器psql ...
- postgresql 表空间创建、删除
表空间:字面上理解就是表存储的物理空间,其实包括数据库的表.索引.序列等. 可以将表空间创建在服务器的不同分区,这样做的好处有: 一.如果初始化集群所在分区已经用光,可以方便的其他分区上创建表空间已达 ...
- postgresql基本操作:查看数据库、索引、表、表空间大小
一.简介 PostgreSQL 提供了多个系统管理函数来查看表,索引,表空间及数据库的大小,下面详细介绍一下. 二.数据库对象尺寸函数 函数名 返回类型 描述 pg_column_size(any) ...
- PostgreSQL的表空间
1. 表空间的概念 PostgreSQL中的表空间允许在文件系统中定义用来存放表示数据库对象的文件的位置.在PostgreSQL中表空间实际上就是给表指定一个存储目录. 2. 表空间的作用 官方解释 ...
- postgresql 数据库,模式,表空间的关系
数据库与模式模式(schema)是对数据库(database)逻辑分割在数据库创建的同时,就已经默认为数据库创建了一个模式--public,这也是该数据库的默认模式.所有为此数据库创建的对象(表.函数 ...
- PostgreSQL在不同的表空间移动数据文件
一.背景 在工作中,可能会遇到将表从一个表空间移动另一个表空间.例如 * 对数据进行冷处理 * 表空间所在的磁盘空间不足 * 建表时分配错了表空间 以上等等,可能需要你将一个表移动表空间. 二.表空间 ...
随机推荐
- 1021 docker搭建mysql、网络模式、grid
1.搭建并连接mysql服务 1.1.mysql官方命令 https://hub.docker.com/_/mysql/ #下载mysql镜像: docker pull mysql #启动mysql: ...
- Unity3D的坑系列:动态加载dll
我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以动态加载dll的,有了这个就可以实现代码 ...
- 读取配置文件工具demo
//读取配置文件public class ResourcesUtils { /* * @description:根据属性获取文件名 * * @param:propertyName文件的属性名 * * ...
- delete,truncate,drop的区别
操作 删除对象 表和索引的空间 是否回滚 时间 delete table和view的数据,可以使用where精确删除,删除会触发触发器 表或索引的空间不变化 是dml,可以rollback回滚 最慢 ...
- windows拖动文件到Ubuntu
只需要安装 sudo apt install lrzsz
- CSS 第1练 搜索
1.搜索 效果: <!DOCTYPE HTML> <html> <head> <meta charset="gbk" /> < ...
- C#中StreamWriter与BinaryWriter的区别兼谈编码。
原文:http://www.cnblogs.com/ybwang/archive/2010/06/12/1757409.html 参考: 1. <C#高级编程>第六版 2. 文件流和数据 ...
- liquibase使用
1. 创建表 drop database if exists mybatis; create database mybatis; use mybatis; create table mybatis.C ...
- 【转】简述TCP的三次握手过程
TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确 ...
- Python_03-数据类型
1.1 数据类型 基本数据类型:字符串,整数,浮点数,布尔型 集合类型:列表(list), 元组(tuple), 字典(dictionary或hash) 列表(list)的定义: aList = ...