MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

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

2018年8月23日 星期四

在 docker container 裡面執行 systemd 服務(測試環境用~)

RHEL 7 之後引進了 SystemD 這個萬惡的 INIT 系統,以其 Process 的控制上很龜毛嚴謹著稱。
Docker 容器與 Virtual Machine 不同,它本質上是一個運作環境被隔離起來的系統子程序,在 Host 上共用了底層的資源,例如 Linux 核心。
當上述兩者相遇,就有不直覺的事情產生了:當我們打包一些程式,裡面包含了 SystemD Service File,若我們希望可以在 Docker Container 裡面透過 systemd 的指令 systemctl 啟動程序的話,需要一些先決條件跟額外處置才行。

2018年8月17日 星期五

偷跑篇:EDB11新的小功能 — PRAGMA AUTONOMOUS TRANSACTION

關聯式資料庫有交易的概念,確保多用戶進行資料的查詢/異動有一個規範。有一些 Oracle 用戶會使用到更進階的交易,叫做 Autonomous Transaction,能夠從當前交易中「再」分支的一個交易。
通常聽到這功能的用途,是有一些作業,需要避免會被當前作業的成敗所影響,最常見的就是額外的 Log 紀錄。
這種功能在 PostgreSQL 裡面其實一直都從缺(可能是因為 PGSQL 社群上開發的人都偏好扁平式的系統設計&規劃?),但是在一些習慣 Oracle 的用戶來說,已經有一些既定的規範,非得使用這種功能才行。
之前已經有一次筆記,演練這個功能的 Workaround 手法,不過現在(2018 年 8 月),下一版的 EDB Postgres 企業版 v11 總算補上了這個「Oracle 相容」功能~

2018年8月6日 星期一

PGSQL內建加密模組—pgcrypto 練習

Postgres 裡面有很豐富的資料加密函數可以使用,叫做 pgcrypto 模組,可以用來實作資料加密的規劃。
pgcrypto 模組支援資料單向的 hash 處理,摻鹽巴算 hash,加密碼算 hash,GnuPG 的金鑰整合等等功能。

這裡作一個相關的使用練習。

2018年7月10日 星期二

沒有 Primary Key 或 Unique Key 的 PGSQL 表格,怎麼去除重複的資料

有時候可能某些表格沒有建立 Primary Key 或 Unique Key(真糟糕~),這時候可能有完全重複的資料,這時候要怎麼抓出來?或是只保留一筆?

2018年6月13日 星期三

在 CentOS7 簡單裝 JupyterHub — 使用 Software Collections

JupyterHub 是多人登入版的 Python Jupyter Notebook,讓多人可以連線使用~
由於 JupyterHub 還沒有提供 RPM 安裝檔,安裝之後還有一點點帳號上的眉角,所以這裡紀錄一下安裝方式。

2018年6月12日 星期二

PGSQL 9.6 與 PGSQL 10 的 pg_basebackup 功能差異之一

PostgreSQL 的 pg_basebackup 是資料庫全備份的工具。在這個指令出現之前,通常是自己呼叫 SELECT pg_start_backup() 與 SELECT pg_stop_backup(),搭配各自備份的功能(tarball,rsync,上磁帶指令等等),分別備份資料庫的 $PGDATA 以及 WAL 目錄內容(PGSQL 9.x 的 $PGDATA/pg_xlog/,或是 PGSQL 10 的 $PGDATA/pg_wal/)。在 PGSQL 9.1 之後,把這過程打包成 pg_basebackup 指令,簡化備份過程(讓人變懶惰??)這指令的功能也隨著版本演進而越加豐富齊全。

最近在使用上,發現一個使用細節的改進,在 PGSQL 10 上是一個重要的改進~

2018年5月15日 星期二

在 Slackware 14.2 裡面下載 LXC Image

類似 Docker 但不同設計目的的 LXC,也有一個小小的 Image Repository,以及相對應的工具叫做 LXD,也可以提供使用者拉一些其他 Linix DIstribution 的 Container。這裡便簡單的紀錄一下在 Slackware 裡面的 LXC 拉取映像檔的方式。