標籤:post text 建立資料庫 add 建立索引 指定 tables alt uniq
在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
【PostgreSQL】資料表空間