MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

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

2019年4月4日 星期四

CentOS 7.x 上面的 LXC 測試環境 (4) - 將 Host 目錄同時掛載到多個 LXC Container 中

LXC 可以讓不同 Container 之間都可以共同存取,用來假裝 NFS 目錄,作一些情境演練。例如,PostgreSQL 的 HA 設置中,需要共用目錄存放 WAL 備份。
當然,直接讓某個 Container 設置 NFS 讓其他 Container 存取也是完全 OK 的~

CentOS 7.x 上面的 LXC 測試環境 (3) - 建立 LXC Container 環境使用的 Local YUM Repo

有些提供 RPM 的軟體產品,需要演練在客戶端離線安裝的狀況。
這份紀錄如何預先下載套件,並建立 Local YUM Repo 讓其他 Container 存取。
這邊會使用到 HTTPD 服務,上一份已經預先處理好了。
這份筆記內容
 - 延續上一篇筆記的環境,搭配 EDB 的軟體安裝檔作建立 YUM Repo 的示範。
 - 使用 YUM Download Only 功能,預先準備需要的相依 RPM
這邊的範例,也可以適用到其他東西上~
(Note:這篇在 LXC 上面並不顯然喔,需要小小 Workaround 才行~)

2019年4月3日 星期三

CentOS 7.x 上面的 LXC 測試環境 (2) - 透過一些簡易 Script 使用 Container

因為篇幅的關係,這篇緊接著前一篇筆記,繼續完成 LXC 的基本使用。
這部份會提供的 Script:

  1. 建立一個 CentOS 7 Container
  2. 啟用一組 Container、查看現有 Container
  3. 登入 Container
  4. 停用所有 Container

CentOS 7.x 上面的 LXC 測試環境 (1) - 建立測試環境

這份筆記要利用 Linux Container(LXC)功能,設置輕量的軟體產品叢集演練環境,並且完整支援 OS 的 INIT 控制指令(CentOS 7 的 SystemD)。相較於使用多個 VM,透過 LXC,記憶體用量與磁碟用量都可以相當比例的節省,可以在一台電腦上撐更多模擬的主機節點,適合用在教育訓練或體驗營中。唯獨 Container 初始化都是精簡的內容,有些指令可能需要手動安裝才行,這需要事前需要先演練一次,才能確認需要補上的 Package。

這邊使用的 Container Host 為 CentOS 7.x,主要的要求是 Linux Kernel 需要 3.x 以上(可以用 CentOS 6.x、但是需要搭配 libvirt),並且採用 SystemD 作為 INIT 系統的 OS(方便後續的演練相容性)。

不使用 Docker 的理由:Docker Container 主在求精鍊,並打包成 Image 透過載入的方式產生運行的軟體服務。Docker Container 也傾向以 “1 image, 1 service” 來處理,不傾向在裡面啟動多個服務。Docker Container 裡面簡化 INIT 的支援,因此把 Docker Container 當成 OS 作演練比較麻煩。LXC Container 單純以 chroot 手法,以實體 OS 目錄運作,且完整支援 SystemD INIT,更加貼近實際架構設置環境,比起 Docker 長的更像一個 VM,比較適合作演練用途。

下圖為設置後的環境範例

這份筆記的範圍:
  • 設置具有 LXC 的 VM 環境(Privileged Container)
  • 設置基本 Container 網路,使 (1) Container 之間互通 (2) Container 可以訪問外面
緊接著在下一篇,會提供幾個簡易的控制 Script(產生 Container、啟動、停止、進入 Console)。

這邊的 Container 使用的是 Privileged Container,使用 root 啟動、進入後也是 root 帳號,僅作為練習環境用。普通帳號用的 Unprivileged Container 不在這筆記的範圍。

2019年4月1日 星期一

Postgres 設定系統參數 (GUC) 的小小注意事項

PostgreSQL 的設定檔 $PGDATA/postgresql.conf 是一份落落長的文字檔,裡面放了大多數要設定的資料庫參數(稱作 GUC),大多狀況要進行設定的參數僅僅十多項而已,但編輯的時候,總是令人頭昏眼花。

不過,除了直接修改 $PGDATA/postgresql.conf 內容之外,其實還可以用 ALTER SYSTEM 這個 SQL 指令調整這些參數值。

2019年3月24日 星期日

從 Postgres 11.2 對 Greenplum 5.17.0 作 Materialized View

好久以前有紀錄從 Postgres 開 postgres_fdw 連線到 Greenplum 的筆記,前一陣子又看到 Materialized Views and Foreign Data Wrappers | EnterpriseDB 這篇文章,拿來試著對 Greenplum 試試看~

在 Postgres 11 的 Materialized View,進行刷新(REFRESH MATERILAIZED VIEW)會把資料整組清掉,重新查詢並把結果拉回來快取。

現在,要透過 Foreign Data Wrapper,搭配 Materialized View,從 Greenplum(基於 PostgreSQL 的延伸專案)把查詢拉到 Postgres 裡面。

2019年2月1日 星期五

EDB 11 新功能 — 內建資料遮碼(Data Redaction)

EDB 的企業版 EDB Postgres Advanced Server 11 新增了幾個內建新功能,其中一個是資料遮碼功能(Data Redaction)。
這個功能主要是把資料打叉叉的功能,其實這已經在 SQL Server 跟 Oracle 有提供了,但是 Postgres 需要 DIY 處理,日前 EDB 有提供教學文章~
現在 EDB 直接提供整合的管理,應用上更貼近 SQL Server 跟 Oracle 一些,不用像使用純 PGSQL 要 DIY;而且 DIY 的物件一多起來,維護人員就會眼花撩亂了~

在這邊整合資料遮碼以及外部表作該功能的練習~