原创 我花了10個小時,寫出了這篇K8S架構解析

互聯網技術飛速發展的今天,爲了承載請求的高併發和業務的多樣性,微服務的架構成了各個公司的標配. 每個微服務通過 Docker 進行發佈,隨着業務的發展,系統中遍佈着各種各樣的容器。於是,容器的資源調度,部署運行,擴容縮容就是我們要面臨的問

原创 Oracle臨時表空間和臨時表介紹

臨時表空間包含的內容以及作用 中間排序的結果 臨時表和臨時索引 臨時LOBs 臨時B-trees 臨時表空間包含一些臨時數據,只是短暫使用,一般排序操作用到臨時表空間的時候比較多,還有就是創建臨時表的時候。數據庫啓動後默認會創

原创 Postgresql B-tree索引

索引結構 B-tree索引的索引行存在page中,在葉子page中,存儲這索引鍵和指向錶行的TID信息。 B-tree索引的重要特性: B樹是平衡的,也就是說,每個葉子頁面從根節點由相同數量的內部頁面分隔。因此,搜索任何值都花費

原创 FATAL: the database system is in recovery mode解決一例

一個災備恢復的測試庫出現了一下報錯FATAL: the database system is in recovery mode,由於是測試庫,所以數據這塊無關緊要。數據需要恢復,但是也沒見從xlog恢復的動作。爲了業務恢復功能性測

原创 Postgresql12 recovery.conf 併入postgresql.conf以及主備切換函數介紹

從 12版本開始,不再有recovery.conf文件,recovery.conf配置的內容全部併入到postgesql.conf中。 新增了兩個文件recovery.signal和standby.signal,分別代表處於re

原创 Postgresql11.3 下安裝PL/java

Postgesql原生內部不支持java編寫函數,觸發器,存儲過程,這裏需要第三方插件PL/java,這裏介紹一下,如何安裝PL/java。 安裝gcc-c++, gcc, java 1.8.x, openssl # yum

原创 Greenplum gpcopy 安裝使用介紹

首先這款工具是兩個greenplum集羣之間遷移數據的時候使用的,可以遷移完整的數據庫,或者是表,可以跨版本遷移,兼容Greenplum Database 4.3.26 以上版本, 以及5.9 以上, 6.x版本。 效率上面要比

原创 Postgresql管理系列-第九章 WAL(Write Ahead Logging)介紹

事務日誌是數據庫的重要組成部分,因爲即使數據庫發生系統故障,也要求所有數據庫管理系統不能丟失任何數據。它是數據庫系統中所有更改和操作的歷史記錄日誌,以確保沒有數據因故障而丟失,例如電源故障或導致服務器崩潰的其他服務器故障。由於日誌

原创 pg_pathman插件安裝使用

pg_pathman是postgresql的一個分區插件,支持PostgreSQL 9.5, 9.6, 10, 11, 12; 僅支持hash和range分區,一些分區的特性可以參考:https://github.com/post

原创 Postgresql幾個和執行語句相關的timeout參數

在執行相關SQL的時候,相關的幾個timeout說明一下,以免在生產環境中誤用 statement_timeout #語句執行時間超過這個設置時間,終止執行SQL,0爲禁用 idle_in_transaction_session

原创 K8S stolon for postgresql

K8S裏面搭建postgresql集羣,有多種方案,這裏介紹一下stolon方案,先看下架構圖,摘自stolon git https://github.com/sorintlab/stolon 如上圖,主要三個部件組成 kee

原创 使用helm安裝Stolon(Postgresql集羣)實例

爲了部署方便,我們這裏使用helm進行安裝 1. 鏡像推送至私人harbor倉庫,爲了後面安裝更加快速拉取鏡像 docker login https://reg01.sky-mobi.com #登陸harbor docker pu

原创 Postgresql管理系列-第七章Heap Only Tuple and Index-Only Scans

本章介紹與索引掃描相關的兩個功能, 即Heap Only Tuple和Index-Only Scans。 7.1. Heap Only Tuple (HOT) HOT是在8.3版中引入的, 當更新的行存儲在舊行所在的page時,可

原创 Postgresql管理系列-第六章Vacuum Processing

vacuum操作是一個維護進程, 便於PostgreSQL的持久運行。它的兩個主要任務是刪除dead tuples和凍結事務id, 第5.10節中簡要的提到了這兩個問題。 爲了刪除dead tuples, vacuum提供了兩種模

原创 Postgresql管理系列-第十章 基礎備份和PITR(Point-in-Time Recovery)

       數據庫備份大概可以分爲兩類:邏輯備份和物理備份。它們兩者有長處也有短處,比如,邏輯備份需要花費大量的時間,特別是需要花費大量的時間備份大的數據庫,而且需要更多的時間來恢復數據庫。相反的,物理備份相對在較短的時間內備份和恢復數