因此這邊紀錄新的 Streaming Replication 設置方式。
MathJax
MathJax-2
MathJax-3
Google Code Prettify
置頂入手筆記
EnterproseDB Quickstart — 快速入門筆記
由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:
2019年12月1日 星期日
再探 Streaming Replication — PGSQL 12 上面的設定筆記
在 PGSQL 12 開始,recovery.conf 檔案正式與 postgresql.conf / postgresql.auto.conf 合併,由同一份檔案設定所有資料庫參數了。
2019年10月7日 星期一
LXD 裡面的 CentOS 7 Container 必要功能補完
LXC/LXD Container 用途與 Docker 不同,主要用來提供完整的 Linux 操作環境。不過由於取得的 Image 是精簡版本的 OS,啟動一個 Container 之後,有一些常常用的小功能要補上。
這邊紀錄目前使用 LXD CentOS 7 Image 遇到的功能補完。
這邊紀錄目前使用 LXD CentOS 7 Image 遇到的功能補完。
2019年10月2日 星期三
PGSQL 的表格最後交易時間 (9.5+ 適用)
在某些情況下,會想要查看表格最後異動時間。不幸的是,PostgreSQL 沒有這種功能。
表格最後異動時間,在 Greenplum 某些結構表單裡面有紀錄(Append-Only Table 儲存結構)。但是截至 Postgres 12 為止,沒有這種儲存結構(還只有 Heap Table 的結構)。通常有這樣的需要時,就得增加一個時戳欄位,搭配 AP 上面要有相應的設計或是加一點 Trigger 才行。
然而,Postgres 在 v9.5 之後有提供 track_commit_timestamp 功能,可以用來接近這樣的需求~
表格最後異動時間,在 Greenplum 某些結構表單裡面有紀錄(Append-Only Table 儲存結構)。但是截至 Postgres 12 為止,沒有這種儲存結構(還只有 Heap Table 的結構)。通常有這樣的需要時,就得增加一個時戳欄位,搭配 AP 上面要有相應的設計或是加一點 Trigger 才行。
然而,Postgres 在 v9.5 之後有提供 track_commit_timestamp 功能,可以用來接近這樣的需求~
2019年9月6日 星期五
在 LXD 3 裡面設置 Docker 19.03.2 的 Swarm 叢集~
日前在嘗試用 LXC/LXD 模擬 Docker Swarm 節點,遇到設置上無法生效的狀況。。。因此之前的筆記只有基本的 Docker 功能
不過,現在捲土重來了~原來是之前遺漏了幾篇參考教學才會做不出來~~
主要的解法,在於 LXD 支援的 linux.kernel_modules 參數。現在就補上這個紀錄,以後確定也可以在 LXD 裡面練習 Docker Swarm 了~~
不過,現在捲土重來了~原來是之前遺漏了幾篇參考教學才會做不出來~~
主要的解法,在於 LXD 支援的 linux.kernel_modules 參數。現在就補上這個紀錄,以後確定也可以在 LXD 裡面練習 Docker Swarm 了~~
2019年9月1日 星期日
在 Postgres 用 PGroonga 作正體中文全文檢索簡單測試筆記
PGSQL 內建有不錯的全文檢索功能,而且支援多種語言。但是,內建的全文檢索功能沒有直接支援東亞的 CJK 語言。
中文的部份的全文檢索,目前看到的資訊,只有中國的社群開發的簡體中文相關外掛,但這不夠適合台灣的正體中文使用;這主要是兩國文化不同,適用中國的字典檔在切詞上不完全適用於台灣的關係。
不過,還有其他的方案,主要是由日本社群所採用的外掛,分別有 pg_bigm 以及 PGroonga 也支援 CJK 的全文檢索。
最近剛好看到,PGroonga 針對 PGDG YUM Repo 的版本有提供 RHEL 現成的套件(不好意思,我很懶惰,只想用現成的。。。),在台灣 PGroonga 這個套件有點少人提到,因此這邊就嘗試看看,看看可不可以用來作為正體中文的全文檢索工具。
中文的部份的全文檢索,目前看到的資訊,只有中國的社群開發的簡體中文相關外掛,但這不夠適合台灣的正體中文使用;這主要是兩國文化不同,適用中國的字典檔在切詞上不完全適用於台灣的關係。
不過,還有其他的方案,主要是由日本社群所採用的外掛,分別有 pg_bigm 以及 PGroonga 也支援 CJK 的全文檢索。
最近剛好看到,PGroonga 針對 PGDG YUM Repo 的版本有提供 RHEL 現成的套件(不好意思,我很懶惰,只想用現成的。。。),在台灣 PGroonga 這個套件有點少人提到,因此這邊就嘗試看看,看看可不可以用來作為正體中文的全文檢索工具。
2019年8月1日 星期四
找出 PGSQL 裡面被綁太久的 Table Lock
在 Postgres 裡面,Lock 是一套狀態標記系統,資料庫裡面每個動作,一定有一個 Lock 等級標誌著;這個標記表現行為的優先順序,有點像是階級一樣。。。。因此,在 PGSQL 裡面看到 Lock 的話,千萬不要馬上套用其他資料庫的經驗,馬上把 Session 砍掉。
然而,實際使用上,資料庫常常會因為 Lock 遇到一些狀況。這邊用一個模擬狀況,示範日常需要的 Lock 監控要怎麼在 PGSQL 進行。
本處所示範的情況
- 是習慣其他關聯式資料庫的人所熟知的日常監控與剔除的目標
- 但是在 PGSQL 裡面,不叫做 Dead Lock!!!
然而,實際使用上,資料庫常常會因為 Lock 遇到一些狀況。這邊用一個模擬狀況,示範日常需要的 Lock 監控要怎麼在 PGSQL 進行。
本處所示範的情況
- 是習慣其他關聯式資料庫的人所熟知的日常監控與剔除的目標
- 但是在 PGSQL 裡面,不叫做 Dead Lock!!!
2019年7月28日 星期日
Postgres 10+ 的正體中文筆劃排序
多數資料庫在語系設定上,有一種叫做 Collation 的功能,這個東西負責決定排序規則。
通常只有數字/英文字母的資料,排序上很單純,就依照英文字母歌的順序一樣~
但是遇到其他語言的文字。。。就需要好好設定 Collation 了。
目前作業系統都會內建多國語言排序模組,例如,在 Linux 就有標準的 libc 函式庫可以用。多數需要用到排序的主流軟體(文書編輯器、資料庫)都會呼叫這個模組以支援多國語言資料排序功能。但這在不同 OS 之間會有不同差異,換了 OS 就有可能就會有些不同。
而 PGSQL 在 v10 之後,額外提供了 ICU 這個標準模組的整合,用來強化排序的跨平台一致性。
這邊會在 EDB PGSQL 11 企業版上以生活中常用的中文筆劃排序的設定練習,簡單紀錄一次~這些步驟在原生的 PGSQL 11 也適用~
通常只有數字/英文字母的資料,排序上很單純,就依照英文字母歌的順序一樣~
但是遇到其他語言的文字。。。就需要好好設定 Collation 了。
目前作業系統都會內建多國語言排序模組,例如,在 Linux 就有標準的 libc 函式庫可以用。多數需要用到排序的主流軟體(文書編輯器、資料庫)都會呼叫這個模組以支援多國語言資料排序功能。但這在不同 OS 之間會有不同差異,換了 OS 就有可能就會有些不同。
而 PGSQL 在 v10 之後,額外提供了 ICU 這個標準模組的整合,用來強化排序的跨平台一致性。
這邊會在 EDB PGSQL 11 企業版上以生活中常用的中文筆劃排序的設定練習,簡單紀錄一次~這些步驟在原生的 PGSQL 11 也適用~
2019年6月9日 星期日
不小心在 EDB 企業版鎖住 Superuser 帳號時。。。
在 EDB 提供的 Postgres 企業版所內建的 Oracle 相容功能中,有提供 Oracle 帳號的 Account Lock 功能。
若。。。不小心把這個功能指定到資料庫的 Superuser(enterprisedb),把 enterprisedb 鎖住了,然後又已經登出了。。
又偏偏沒有其他 Superuser 帳號的話,該怎辦。。。
若。。。不小心把這個功能指定到資料庫的 Superuser(enterprisedb),把 enterprisedb 鎖住了,然後又已經登出了。。
edb=# alter user enterprisedb account lock; ALTER ROLE edb=# \q -bash-4.2$ -bash-4.2$ psql -U enterprisedb psql.bin: FATAL: role "enterprisedb" is locked -bash-4.2$
又偏偏沒有其他 Superuser 帳號的話,該怎辦。。。
2019年6月8日 星期六
在 elementary OS Juno 5.0 (Ubuntu 18.04 延伸版) 裡面使用 LXD(LXC 進化版)
因為稍稍用一點點時間,把一台舊電腦打掉處理成一台裝了 elementary OS (Ubuntu 的延伸版,假 Mac)的測試用電腦。順便決定試著用看看 LXC 進階版的 LXD 作叢集環境演練。
結果。。。竟然發現!三兩下就設置完畢了,而且前面好幾篇的設置,竟然在 LXD 都處理妥當了~
也就是說,使用 LXD 作叢集測試環境,是更加更加方便的~這篇筆記,簡要紀錄一下設置環境
結果。。。竟然發現!三兩下就設置完畢了,而且前面好幾篇的設置,竟然在 LXD 都處理妥當了~
也就是說,使用 LXD 作叢集測試環境,是更加更加方便的~這篇筆記,簡要紀錄一下設置環境
2019年6月1日 星期六
2019年5月13日 星期一
EDB Postgres 對 Hadoop 的外部表:hdfs_fdw v2 筆記 — 透過 Hive 界面
EnterpriseDB 提供能夠連線到 Hadoop 平台的 Foreign Data Wrapper,hdfs_fdw,能夠讓 PostgreSQL 資料庫直接把 Hadoop 上面的資料表當成 PostgreSQL 的表格,如此讓 PostgreSQL 直接存取冷資料。
雖然名稱叫做 HDFS 的 FDW,但是 hdfs_fdw 所溝通的是 Hive 跟 Spark 而非 HDFS 本身 ....
EnterpriseDB 對其所提供的 PostgreSQL 發行版和企業版提供 hdfs_fdw 安裝檔,以及社群 YUM Repo 也有提供相關 RPM,不用自己從原始碼編譯。這裡是功能測試的紀錄。
雖然名稱叫做 HDFS 的 FDW,但是 hdfs_fdw 所溝通的是 Hive 跟 Spark 而非 HDFS 本身 ....
EnterpriseDB 對其所提供的 PostgreSQL 發行版和企業版提供 hdfs_fdw 安裝檔,以及社群 YUM Repo 也有提供相關 RPM,不用自己從原始碼編譯。這裡是功能測試的紀錄。
2019年5月10日 星期五
2019年5月9日 星期四
(安全的)在 PGSQL 11 裡面查看主機目錄內容
PGSQL 有提供一個函數 pg_ls_dir(),用來查看主機底下的目錄內容,一直以來
沒什麼太大用途的感覺。。不過,PGSQL 在 v11 幫這個函數導入一個新功能~
方便我們在綁手綁腳的情況底下(例如,僅能透過 pgAdmin 等 UI 看資料庫,不能
夠使用 SSH 登入主機進行管理、操作),一窺主機的狀況。
沒什麼太大用途的感覺。。不過,PGSQL 在 v11 幫這個函數導入一個新功能~
方便我們在綁手綁腳的情況底下(例如,僅能透過 pgAdmin 等 UI 看資料庫,不能
夠使用 SSH 登入主機進行管理、操作),一窺主機的狀況。
2019年5月2日 星期四
EDB PostgreSQL 企業版資料庫的 RPM 套件安裝方式
EnterpriseDB 在 PostgreSQL 11 釋出之後,調整了資料庫軟體的發行方式:
這篇紀錄一下企業版軟體在 Red Hat 系列作業系統中安裝的方式。
- 對 Windows 以及 Mac OS 仍然有提供 PostgreSQL 互動式安裝程式
- 不再提供 Linux 作業系統下 PostgreSQL 的互動式安裝檔
- 企業版軟體(EDB Postgres Advanced Server,EPAS)也不再提供 Linux 作業系統下的互動式安裝檔
- 不論是原生的 PostgreSQL 或是企業版軟體,對 Linux 的支援,改以維護主流的 OS 發行版的套件庫(YUM 以及 APT)
- 企業版軟體,仍然提供 Windows 平台的互動式安裝檔(近兩大版本的軟體),以提供軟體試用服務
- 提供企業版資料庫的 Docker Image
- 雲端資料庫:在各大公有雲都有提供企業版軟體,以及 EDB 自己的 Cloud Database Service
這篇紀錄一下企業版軟體在 Red Hat 系列作業系統中安裝的方式。
2019年4月4日 星期四
以一個 VM 擋十個 LXC Container — 具有 SystemD 功能的軟體叢集演練環境設置筆記
之前有紀錄一個用 Docker 運作包含 SystemD 的 Container。但是用起來還是有點不順手。因為畢竟 Docker 已經針對 Image 作很多特點上的調整,若用來作單純的 OS 操作,其實並不夠方便。
後來發現 Docker 的前身,LXC,雖然功能不及 Docker 豐富,但是其特性恰巧更適合把 Container 當成 OS 來操作。尤其在演練需要設置叢集的軟體時,更值得用 LXC 節省測試環境的資源開銷。
[Update 2019/6/9] LXD(LXC 強化版)的筆記在這:比這一系列更輕易設定~還可以設定多張虛擬網卡環境喔
[Update 2019/9/7] LXD 裡面確認可以運作 Docker Swarm 叢集了,筆記在這。
後來發現 Docker 的前身,LXC,雖然功能不及 Docker 豐富,但是其特性恰巧更適合把 Container 當成 OS 來操作。尤其在演練需要設置叢集的軟體時,更值得用 LXC 節省測試環境的資源開銷。
[Update 2019/6/9] LXD(LXC 強化版)的筆記在這:比這一系列更輕易設定~還可以設定多張虛擬網卡環境喔
[Update 2019/9/7] LXD 裡面確認可以運作 Docker Swarm 叢集了,筆記在這。
CentOS 7.x 上面的 LXC 測試環境 (7) - 在 LXC Container 裡面執行 Docker CE Engine(Container in Container)
理想上,要演練 docker Swarm 或是 K8S 的功能,通常會需要多個 VM 來測試叢集,不過這樣自己的電腦都會卡卡的。。。有了 LXC,就會想嘗試替代多個 VM,來設置這樣的「多節點」環境,讓電腦更輕鬆的運作這樣的叢集~
但是。。目前的現狀(LXC 2 / LXD 3 以及 Docker 18.09),Docker CE Engine 雖然可以運作,但是 Docker Swarm 部份,會嘗試載入 Kernel Module,以提供正常的 Overlay 網路功能,目前這一部份在 LXC/LXD 裡面還是有些狀況。。。
不過,這邊把目前作的到的,在 LXC 裡面設置 Docker Engine 的筆記,一樣紀錄起來。至於 Docker Swarm,可能要看看以後有沒有機會改善了。。
[Update 2019/9/7] LXD 裡面確認可以運作 Docker Swarm 叢集了,筆記在這。
但是。。目前的現狀(LXC 2 / LXD 3 以及 Docker 18.09),Docker CE Engine 雖然可以運作,但是 Docker Swarm 部份,會嘗試載入 Kernel Module,以提供正常的 Overlay 網路功能,目前這一部份在 LXC/LXD 裡面還是有些狀況。。。
不過,這邊把目前作的到的,在 LXC 裡面設置 Docker Engine 的筆記,一樣紀錄起來。至於 Docker Swarm,可能要看看以後有沒有機會改善了。。
[Update 2019/9/7] LXD 裡面確認可以運作 Docker Swarm 叢集了,筆記在這。
CentOS 7.x 上面的 LXC 測試環境 (6) - 在 CentOS 7 Host 建立 CentOS 6 LXC Container
有時需要準備 CentOS 6 的環境,可以直接利用 LXC Container。
LXC 的進階專案 LXD 提供 Container Image Repository,可以直接抓需要的 Linux Distribution。
這份筆記紀錄在 LXC 產生 CentOS 6 Container 的方式。
Note] 由於 RHEL 6 會在 11/30/2020 EOL,不能確定到時是否 Repository 是否還會提供
LXC 的進階專案 LXD 提供 Container Image Repository,可以直接抓需要的 Linux Distribution。
這份筆記紀錄在 LXC 產生 CentOS 6 Container 的方式。
Note] 由於 RHEL 6 會在 11/30/2020 EOL,不能確定到時是否 Repository 是否還會提供
CentOS 7.x 上面的 LXC 測試環境 (5) - 把 LXC Container 裡面的服務的 Port 轉發到 Host 的 Port
不是所有軟體都靠指令、Confing 互動就可以完成,有些產品需要把服務的 Port 映射到 Host 的 Port 上讓外部可以存取,才有辦法進行進一步的操作跟演練。例如,許多產品有提供 Web UI 的界面作管理操作,若放在 Container 裡面,就會需要把相關網頁服務弄出來,讓外面可以正常用瀏覽器開啟,進行操作。
這邊示範把某個 Apache HTTPd 服務的 Container 的 80 Port 導向 Host VM 的某個 Port(這邊一樣選 Host 的 80 Port),以便讓我們進行操作。
這邊示範把某個 Apache HTTPd 服務的 Container 的 80 Port 導向 Host VM 的某個 Port(這邊一樣選 Host 的 80 Port),以便讓我們進行操作。
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
這份紀錄如何預先下載套件,並建立 Local YUM Repo 讓其他 Container 存取。
這邊會使用到 HTTPD 服務,上一份已經預先處理好了。
這份筆記內容
- 延續上一篇筆記的環境,搭配 EDB 的軟體安裝檔作建立 YUM Repo 的示範。
- 使用 YUM Download Only 功能,預先準備需要的相依 RPM
這邊的範例,也可以適用到其他東西上~
(Note:這篇在 LXC 上面並不顯然喔,需要小小 Workaround 才行~)
(Note:這篇在 LXC 上面並不顯然喔,需要小小 Workaround 才行~)
2019年4月3日 星期三
CentOS 7.x 上面的 LXC 測試環境 (2) - 透過一些簡易 Script 使用 Container
因為篇幅的關係,這篇緊接著前一篇筆記,繼續完成 LXC 的基本使用。
這部份會提供的 Script:
這部份會提供的 Script:
- 建立一個 CentOS 7 Container
- 啟用一組 Container、查看現有 Container
- 登入 Container
- 停用所有 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,比較適合作演練用途。
下圖為設置後的環境範例
這邊使用的 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 可以訪問外面
這邊的 Container 使用的是 Privileged Container,使用 root 啟動、進入後也是 root 帳號,僅作為練習環境用。普通帳號用的 Unprivileged Container 不在這筆記的範圍。
2019年4月1日 星期一
Postgres 設定系統參數 (GUC) 的小小注意事項
PostgreSQL 的設定檔 $PGDATA/postgresql.conf 是一份落落長的文字檔,裡面放了大多數要設定的資料庫參數(稱作 GUC),大多狀況要進行設定的參數僅僅十多項而已,但編輯的時候,總是令人頭昏眼花。
不過,除了直接修改 $PGDATA/postgresql.conf 內容之外,其實還可以用 ALTER SYSTEM 這個 SQL 指令調整這些參數值。
不過,除了直接修改 $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 裡面。
在 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 的物件一多起來,維護人員就會眼花撩亂了~
在這邊整合資料遮碼以及外部表作該功能的練習~
這個功能主要是把資料打叉叉的功能,其實這已經在 SQL Server 跟 Oracle 有提供了,但是 Postgres 需要 DIY 處理,日前 EDB 有提供教學文章~
現在 EDB 直接提供整合的管理,應用上更貼近 SQL Server 跟 Oracle 一些,不用像使用純 PGSQL 要 DIY;而且 DIY 的物件一多起來,維護人員就會眼花撩亂了~
在這邊整合資料遮碼以及外部表作該功能的練習~
2019年1月9日 星期三
把 iris 資料集放進 PGSQL
iris 資料集,是資料分析的入門範例資料集,很多的入門教學都會用到這份資料作範例。這邊把大統計學家 Ronald Fisher 使用的 iris 資料拿來匯入 PGSQL 裡面,用一點點 PGSQL 的功能讓儲存便簡潔一點點,順便把裡面提到的幾項敘述統計量整理成一個 VIew。以便作為延伸學習的敲門磚~~
訂閱:
文章 (Atom)