表空間
概念:
表空間是PostgreSQL在磁盤上的一個位置,PostgreSQL在其中存儲包含數據庫對象(例如索引和表)的數據文件。 PostgreSQL使用表空間將邏輯名映射到磁盤上的物理位置。
默認表空間
PostgreSQL帶有兩個默認表空間:
pg_default tablespace存儲所有用戶數據。
pg_global tablespace存儲所有全局數據。
使用表空間好處
控制postgresql的磁盤佈局,
優點,如果初始化集羣的分區空間不足,可以在其他的分區上創建新的表空間,並使用它,直到重新分配的系統使用完爲止。
其次,可以使用數據庫對象使用情況的統計信息來優化數據庫的性能。例如,您可以將頻繁訪問索引或表放置在執行速度非常快的設備(例如固態設備)上,然後將包含存檔數據的表放到速度較慢的設備上很少使用。
創建表空間語句
CREATE TABLESPACE tablespace_name
OWNER user_name
LOCATION directory_path;
1 創建表空間名字不要使用pg_開頭 因爲這是系統的預留字段。
2 默認的執行創建表空間的人擁有表空間。
3 表空間的目錄必須是pg 這個用戶擁有的,有讀和寫的權限。
4 只要表空間一旦創建,就能在上面創建數據庫 和 表等數據對象。
CREATE TABLESPACE test LOCATION 'c:\data\test';