MathJax
MathJax-2
MathJax-3
Google Code Prettify
置頂入手筆記
EnterproseDB Quickstart — 快速入門筆記
由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:
2021年6月9日 星期三
透過 XFS Project Quota 功能控制 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)。
2021年3月5日 星期五
從 Postgres 外部表查看即時的資料庫 Log
聽說 Oracle 資料庫可以從資料庫裡面用表格查看資料庫 Alert Log(難道是把資料庫的 log 存放在資料庫裡面?這樣關掉資料庫不就看不到 log。。。?)
但是 EDB 跟 PGSQL 跟普通的程式一樣,寫檔案到 log 檔案。沒辦法直接用表格查詢查看(這是 SQL 控。。。。!?),對於只想要用 SQL 界面解決大小事的人們不太方便~
不過 PGSQL 有一個外部表模組,可以讀取 csv 檔案~
而 file_fdw 手冊頁面有一個雛型,可以直接查看 csv log 檔案內容;不過實際的 Log 會定時切換檔案,這篇筆記紀錄這樣的內容:透過 file_fdw 查看最目前的 DB log 檔案內容。
2021年1月30日 星期六
PGSQL 9.x 之後的交易流水帳 WAL 的管理變化—從 v9.4 到 v13
2021年1月19日 星期二
在 PGSQL 13 用 Stored Procedure 包裝 VACUUM 與 ANALYZE 指令
使用 ETL 作業作資料匯入,常常會有大量資料匯入或異動。對 PGSQL 來說,這時候若可以在批次資料匯入/異動完畢後執行 ANALYZE 作一次資料表的抽樣統計收集,甚至是 VACUUM 維護作業,會有助於資料的查詢。
然而。在 PGSQL 裡面,可以執行 VACUUM 與 ANALYZE 指令的帳號,只有表格物件擁有者( Table Owner )以及 postgres/enterprisedb 等 Superuser 帳號,但是通常 ETL 程式用的帳號通常不會是這兩個。。。因此若有 vacuum analyze 包裝函數,搭配 Stored Function/Procedure 的 Security Definer 供其他帳戶呼叫,就會方便許多。
這篇筆記紀錄的就是 PGSQL 批次匯入後執行 ANALYZE 的 Stored Procedure,也順便練習 Stored Procedure 一下~
2021年1月2日 星期六
在 EDB13 安裝 tds_fdw 連通 Linux 上的 SQL Server XE
PGSQL 在 PGDG Repo 裡面已經提供現成的 RPM 可以用了(可以載 https://tds-fdw.github.io/yum/tds_fdw.repo,或其實 PGDG 本身裡面就有提供了),因此不用擔心~
2021年1月1日 星期五
在 LXD 安裝 MS SQL Server 2019 XE
為了測試 PostgreSQL 的 tds_fdw 這個外掛,這邊要在測試環境安裝 Linux 版的 SQL Server XE 看看。這邊用的是 2019 版。這邊裝在 LXD Container 裡面,確定可以運作。
2020年11月14日 星期六
解剖 PGSQL 的資料檔:pg_filedump 工具練習
不過在開發資料庫原始碼或是進行罕見問題除錯,還是有一點可能去碰的。
這邊紀錄的一個叫做 pg_filedump 的工具,專門將資料檔的內容「倒出來」。