MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

2021年6月9日 星期三

透過 XFS Project Quota 功能控制 PGSQL 個別帳號的空間用量

PGSQL 作為萬用型資料庫,有時候會有作中小型資料分析系統使用,這種系統有時候有不同人員需要使用,為避免使用者揮霍空間,就會有限制使用帳號可用資料量的想法,有一點像雲端的個人儲存空間~

但是 PGSQL 本身並沒有提供這種功能,只有一兩個稍嫌老舊的外掛雛型(應該還是能用)。。。有一個 Postgres 的延伸專案 Greenplum 由於是資料倉儲軟體,因此內建有 diskquota 外掛,不過 PGSQL 社群看起來不是很感興趣~

因此這邊透過 OS 內建功能達成:利用 Linux 底下 XFS 檔案系統才有的 Project Quota 功能,演練帳號空間控制~

PGSQL 有兩類型的 tablespace:
 - 普通用來放資料的,由 default_tablespace 指定
 - 暫存表跟查詢過程 temp file,由 temp_tablespace 指定

一般使用上,沒有需要特別指定 tablespace,資料跟暫存表都會放到 $PGDATA/base/ 跟 $PGDATA/base/pgsql_tmp/ 底下。

原則上這邊要限制的是 default_tablespace,至於 temp_tablespace 會涉及查詢成敗,因此要不是額外用較高速的共通磁碟空間,搭配 temp_file_limit 控制。

於是,這篇筆記目標就是使用 xfs_quota 的 Project Quota 功能控制個別 DB 帳號的個人使用空間(defaut_tablespace)。