在PostgreSQL中,表空間其實是爲表指定一個存儲目錄,這樣方便咱們把不一樣的表放在不一樣的存儲介質或者文件系統中。在建立數據庫、表、索引時均可以指定表空間。sql
1. 建立表空間數據庫
--表空間目錄必須是系統中已存在的目錄 test=# create tablespace tb_01 location '/opt/postgresql/data/pg_data'; CREATE TABLESPACE
2. 建立數據庫,指定表空間post
test=# create database test01 tablespace tb_01; CREATE DATABASE
3. 修改數據庫的表空間spa
test=# alter database test01 set tablespace tb_02; ALTER DATABASE
--修改數據庫的默認表空間後,數據庫中表的表空間不會改變。
4. 建表時,指定表空間postgresql
test=# create table t1 (id int,note text) tablespace tb_01; CREATE TABLE
5. 建立索引時,指定表空間code
test=# create index idx_t1_id on t1(id) tablespace tb_02; CREATE INDEX
6. 增長約束時,指定表空間blog
test=# alter table t1 add constraint unique_t1_id unique (id) using index tablespace tb_02; ALTER TABLE test=# alter table t1 add constraint pk_t1_id primary key (id) using index tablespace tb_02; ALTER TABLE
7. 把表移動到新的表空間索引
test=# alter table t1 set tablespace tb_02; ALTER TABLE --表移動過程當中會被鎖定,全部的操做都被阻塞,包括Select,因此要選擇合適的時間移動表。
The End!io
2017-08-20table