最近被問到PG線上擴容的問題,本文整理了整個過程,之前寫過一篇文章,供大家參考:《PosgreSQL三種表空間使用方式》https://www.modb.pro/db/14119。
1. 檢視表空間
可以看到這裡沒有自定義表空間,預設使用pg_default 表空間
2. 建立示範資料庫和使用者
使用新的資料庫app,并且owner為app使用者來進行示範
3. 建立表空間
建立表空間需要超級使用者權限
4. 資料庫app使用新表空間作為預設表空間
可以看到在app資料庫下建立的表預設變到tbl_app表空間下,即oid為356916。
5. 修改使用者app預設表空間為tbl_app
先恢複下上面的配置
退出psql再重新連接配接
可以看到使用者app建立的表預設變到tbl_app表空間下,其他使用者不受影響。
6. 總結
如果要遷移資料表的表空間,會鎖表,要注意對業務的影響。
建立表修改database級别或者user級别(一般還是database級别)的預設表空間,隻需配置一次,原有的資料表存儲不改變,這種方式是推薦的。