MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

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

2022年12月13日 星期二

PGSQL uuid 欄位搭配 hash index 草草筆記

UUID 是一個很像亂碼的東東,有些時候需要用他當作資料識別號。這時就要稍稍了解一下這個在 PGSQL 的加速方式。

2022年12月9日 星期五

在 PGSQL 把巢狀 JSON 攤平

儘管 PGSQL 已經提供超級全面的 JSON 功能存取內容(JSON operatorJSON pathJSON subscripting),但有時候考慮存取效率(JSON/JSONB 資料是整筆放到單一欄位,並且大多為 TOAST 壓縮結構,存取一個 attribute 的內部運作上跟存取一個欄位不太一樣),還是傾向拆解欄位好好的放資料。
目前還沒找到有超簡單攤平 JSON 的方法,不過在 PGSQL 倒是有系統性的手法展開欄位。
這篇筆記會分狀況說明拆解方式,並且拿一兩個開放資料的實際範例作拆解。

Note:這篇筆記使用套色標示~使用黑白螢幕(電子紙或是映像管~!?)的人要留意一下~

2022年9月26日 星期一

抓出 PGSQL 使用暫存表的 Session PID

 PGSQL 的暫存表(temp table)跟 Oracle 不同:PGSQL 的暫存表是 DB Session 私用的;暫存表的生命週期只在 Session 活動期間,登出後就在資料庫裡完全消失。

因此有時候遇到稍微惱人的使用狀況,像是開了很大的暫存表,或是活的很久的暫存表(常駐 AP 咬住的 DB Session),有辦法找出 DB Session 對應的暫存表的話,就蠻有用處的~

2022年7月18日 星期一

ActiveMQ Artemis — AMQP v1.0 協定的測試(一):環境設置筆記

 這陣子總是碰到一些 queue 的環境,因此弄了一些測試環境。

這篇紀錄的是 ActiveMQ 環境,主要是要測試上面提供的 AMQP 協定。

2022年7月12日 星期二

Python 的 ConfigParser 混搭 JSON Array

 有時候非得處理一些功能,需要寫一點小小像樣的程式。這時可能會安排稍微多一些可調控的設定,因此會自訂參數設定檔案。

參數檔格式有很多,有傳統的類 shell 的 Key/Value 變數填寫、Windows 有時會見到用中括號標示小節的 INI,比較新的 JSON 或 YAML 等類型。

在 Python 底下有 ConfigParser,可以快速建構一個 Config 設定,不用靠自己讀檔與 readline 判讀。

不過 ConfigParsor 預設為 INI 風格,通常只有 Key/Value。

要是有些設定值想要吃多個值,有沒有好一點的處理手法?

EDB14.4 新功能:針對表格作 CRUD 稽核 (table-level auditing)

不少公司會要求相當程度重要性的軟體系統要在資料庫設定活動稽核紀錄(Audit Logging)以備意外發生時保留可追蹤的依據。不過稽核日誌通常會紀錄「一大堆」的活動,有時候會讓人困擾要怎麼收納。

不過在資料庫裡面,有時候不見得要全部活動都紀錄,而只要針對重要資料的活動作紀錄就可以了。

在 Oracle 內有 table-level auditing(上網查好像叫做 DBA_AUDIT_TRAIL package 還是 Fine-Grained Auditing 的樣子。。?)可以針對指定表格的存取作稽核紀錄。不過 EDB/PGSQL 過往都不太便於設置指定表格作稽核紀錄的設置。

不過在 EDB 14 開始,也支援類比功能~不過實作機制沒有模仿 Oracle,但其實設定上還蠻簡單的。

這邊就做一點紀錄。

2022年3月8日 星期二

PGSQL 的 queryid 跟 planid 功能的外掛—pg_store_plans 筆記

 EDB/PGSQL 預設僅能透過 auto_explain 紀錄執行 SQL 的執行計畫到 DB Log 檔案內。

PGSQL 查看當前/歷史執行計畫的社群擴充外掛,可以直接以表查詢運行 SQL 的執行計畫,有以下兩個(截至 2022 年三月中為止):