在PostgreSQL中,表空間實際上是為表指定一個存儲目錄,這樣方便我們把不同的表放在不同的存儲介質或者文件系統中。在創建資料庫、表、索引時都可以指定表空間。 1. 創建表空間 2. 創建資料庫,指定表空間 3. 修改資料庫的表空間 4. 建表時,指定表空間 5. 創建索引時,指定表空間 6. 增 ...
在PostgreSQL中,表空間實際上是為表指定一個存儲目錄,這樣方便我們把不同的表放在不同的存儲介質或者文件系統中。在創建資料庫、表、索引時都可以指定表空間。
1. 創建表空間
--表空間目錄必須是系統中已存在的目錄 test=# create tablespace tb_01 location '/opt/postgresql/data/pg_data'; CREATE TABLESPACE
2. 創建資料庫,指定表空間
test=# create database test01 tablespace tb_01; CREATE DATABASE
3. 修改資料庫的表空間
test=# alter database test01 set tablespace tb_02; ALTER DATABASE
--修改資料庫的預設表空間後,資料庫中表的表空間不會改變。
4. 建表時,指定表空間
test=# create table t1 (id int,note text) tablespace tb_01; CREATE TABLE
5. 創建索引時,指定表空間
test=# create index idx_t1_id on t1(id) tablespace tb_02; CREATE INDEX
6. 增加約束時,指定表空間
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!
2017-08-20