另外,EnterpriseDB 公司的 PostgreSQL 企業版在 9.5 版之後提供相當於 Oracle Password Profile 的功能,在這一併簡要說明。
MathJax
MathJax-2
MathJax-3
Google Code Prettify
置頂入手筆記
EnterproseDB Quickstart — 快速入門筆記
由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:
2017年3月7日 星期二
關於 PostgreSQL 裡面的密碼設置,與 EDB 企業版的 Password Profile
PostgreSQL 裡面設定密碼,密碼可以在 pg_shadow 這個系統 View 裡面查找,讓人感覺毛毛的。要怎樣才能不顯示明碼?
另外,EnterpriseDB 公司的 PostgreSQL 企業版在 9.5 版之後提供相當於 Oracle Password Profile 的功能,在這一併簡要說明。
另外,EnterpriseDB 公司的 PostgreSQL 企業版在 9.5 版之後提供相當於 Oracle Password Profile 的功能,在這一併簡要說明。
2017年2月27日 星期一
2017年2月7日 星期二
EDB 功能 - SQL/Protect
有時候,程式開發會使用參數方式組合出 SQL 指令,再往資料庫提請求。但是如果設計有疏忽,沒有對前端使用者的輸入條件進行完整的檢查,或是資料庫維護者不小心忘記限制好帳號的權限,可能會被有心人士設計出恰當的輸入條件,湊出能逾越一般該有權限所能進行的資料庫指令,這一般被稱作 SQL Injction 攻擊。
PostgreSQL 企業版提供了資料庫端的資料防護機制,SQL/Protect,能夠在資料庫端防止異常的 SQL,例如,對於資料需要受保護的資料表進行資料「全部」撈出來的 SQL SELECT 指令,或是怪怪的條件等等。
SQL/Protect 模組,當我們選定一些資料庫帳戶 User 或是帳戶群組 Group Role(以上兩者,在 PostgreSQL 裡面統稱為 Role ~)之後,能提供以下的功能:
- 被動紀錄、警示列管帳戶執行可疑活動
- 主動防止列管帳戶執行可疑活動
而「可疑活動」的界定,則是透過學習模式,預先將該帳號會進行的行為全部演練一次。例如,該帳號會對哪幾個表格輸入/查詢,查詢用到的 SQL 有哪一些型態,等等,全部都預先在 SQL/Protect 學習模式下跑一遍。建立起該帳號的行為比對模式(能存取的表格,能進行的作業,等等)。
學習完之後,只要該帳號發生紀錄過的行為模式「以外」,就會觸發 SQL/Protect 功能。因此這個工具的使用場景,便是針對提供 Application Server 使用帳號進行保護:這類帳號的行為固定,都是由已經開發好的程式進行活動;發生了一般模式之外的行徑,八成是被攻擊,就會受 SQL/Protect 所保護。
以下便紀錄基本的使用筆記:
2017年2月5日 星期日
Postgres 的 UNLOGGED Table 功能
PostgreSQL 資料庫會對交易活動產生 Write-Ahead Log Segment,以達成交易資料庫需要的各種要求。不過產生交易紀錄,在某些程度上,也是會佔用作業系統資源。PostgreSQL 提供了針對個別表格設置不要產生交易紀錄,稱作 Unlogged Table,這麼一來便可以在犧牲資料回復保障的狀況下,加速該表格的讀寫。
2017年2月4日 星期六
2017年1月25日 星期三
把 Pro*C 移到 EDB 9.5 企業版執行 — ECPGPlus 操作筆記
ECPG 是 Postgres 提供的 C 的開發輔助函式庫,提供所謂 Embedded SQL in C 的功能,類似 Oracle Pro*C 一樣的功能。兩者在使用上提供的 API 差異並不大,比較顯著的差別就在所使用的 SQL 指令,Postgres ECPG 和 Oracle Pro*C 步太能直接通用。
EnterpriseDB 則基於 Postgres ECPG 進一步提供移轉 Oracle Pro*C 到 Postgres 的額外功能,叫做 ECPGPlus。ECPGPlus 針對 EnterpriseDB 提供的企業版資料庫所具備的 Oracle 相容特性,提供相對應的 Embedded SQL in C 轉換,以便以最大幅度直接相容 Oracle Pro*C 的程式碼,達到系統移轉時降低改動幅度的目的。
以下自 EDB 的 PostgreSQL 企業版編譯一個 Oracle 的 Pro*C 程式碼,示範 ECPGPlus 的使用。
2017年1月4日 星期三
Logical Replication Slot on PostgreSQL 9.4 觀察 WAL 交易
這是在 PostgreSQL 9.4 推出的功能,稱作 Logical Decoding。也就是解析交易日誌的功能。發展此功能的目標是為了達成 Log-Based Replication 的功能,以便於日後達成 Master-Master Replication 或是負荷比較小的 Rowlevel Filtering Replication。直到 2016 年底,該功能還在發展當中(稱作 Bi-Directional replication,BDR)。不過這個功能的推出,也使的些許基於 PostgreSQL 的 Active-Active 實作方案推出,像是 EnterpriseDB 的 EDB Replication Server 的 Multi-Master Replication,或是社群的 pglogical 專案。
Logical Decoding 的使用,也是透過 Replication Slot 來進行,只是這裡的 Replication Slot 不同於在 Streaming Replication 使用的 (Physical) Replication Slot,而是另一類型,叫做 Logical Replication Slot。
以下用 9.4 版的 PostgreSQL作簡易的示範。看看 Logical Decoding 的功能。
訂閱:
文章 (Atom)