PostgreSQL大總結,小白最適合了

語言: CN / TW / HK

theme: awesome-green

📢📢📢📣📣📣\ 哈嘍!大家好,我是【IT邦德】,江湖人稱jeames007,10年DBA工作經驗\ 中國DBA聯盟(ACDU)成員,目前從事DBA及程式程式設計😜😜😜\ 擅長Oracle、MySQL、PG 運維開發,備份恢復,安裝遷移,效能優化、故障應急處理等。\ ❤️❤️❤️感謝各位大可愛小可愛!❤️❤️❤️

⛳️ 1.PG簡介

官網連結:https://www.postgresql.org

image.png

● PostgreSQL是加州大學伯克利分校計算機系開發的,一個開源免費的關係式資料庫管理系統, 經過長達15年以上的積極開發和不斷改進,PostgreSQL已在可靠性、穩定性、資料一致性等獲得了業內相對高的聲譽。 ● PostgreSQL可以執行在所有主流作業系統上,包括Linux、AIX、HP-UX、Solaris和Windows等34種平臺。 ● PostgreSQL是完全的事務安全性資料庫, 完整地支援外來鍵、聯合、檢視、觸發器和儲存過程(並支援多種語言開發儲存過程)。 ● PostgreSQL支援了大多數SQL標準的資料型別, 包括整型、數值型、布林型、位元組型、字元型、日期型、時間型、二進位制的大對像(圖片、聲音和視訊)。 ● PostgreSQL的儲存過程開發可以使用眾多的程式語言, 包括Java、Perl、Python、Ruby、Tcl、C/C++和自帶的PL/pgSQL, 其中的PL/pgSQL與Oracle的PL/SQL很相似,內建了數百個函式, 功能從基本的算術計算和字串處理到加密邏輯計算並與Oracle有高度相容性。 ● PostgreSQL對很多高階開發語言有原生的程式設計介面, 如C/C++、Java、.Net、Perl、Python、Ruby、Tcl和ODBC以及其他語言等,也包含各種文件。 ● PostgreSQL有很多高階功能,像多版本併發控制(MVCC)、按時間點恢復(PITR)、表空間、非同步複製、巢狀事務、線上熱備、複雜查詢的規劃和優化以及為容錯而進行的預寫日誌等。 ● PostgreSQL支援國際字符集、多位元組編碼並支援使用當地語言進行排序、大小寫處理和格式化等操作。 ● PostqreSQL有很多高品質的圖形化的PostgreSQL管理工具軟體,包括開源和商業性質的。 ● PostgreSQL的原始碼可以自由獲取,它的授權是在非常自由的開源授權下, 這種授權允許使用者在各種開源或是閉源專案中使用、修改和釋出PostgreSQL的原始碼。 使用者對原始碼的可以按使用者意願進行任何修改、改進。 ● 目前有不少業務系統使用PostgreSQL在實際生產環境下管理著超過4TB的資料。 ● PostgreSQL的快速發展是由於MySQL被Oracle公司收購導致的, 同時在2019年微軟官宣收購PostgreSQL初創公司Citus Data。

⛳️ 2.PG安裝

PG安裝方法很多,和MySQL類似,給使用者提供很大的選擇空間。\ 如:RPM包安裝(線上、離線)、原始碼編譯安裝、二進位制安裝(直接解壓,PG10以後不支援Linux)

🐴 2.1 Windows環境安裝

image.png

詳細安裝點選部落格:Windows環境PostgreSQL安裝部署

🐴 2.2 Linux環境安裝

image.png

詳細安裝點選部落格:Linux原始碼安裝PostgreSQL

🐴 2.3 docker中直接使用

``` 倉庫:https://hub.docker.com/_/postgres\ [root@centos7 ~]# docker pull postgres:13.3

白名單配置

cat << EOF > /tmp/pg_hba.conf

TYPE DATABASE USER ADDRESS METHOD

local all all trust host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 md5 host replication all 0.0.0.0/0 md5 local replication all trust EOF

[root@centos7 ~]# docker ps -a --format “table {undefined{.ID}}\t{undefined{.Names}}\t{undefined{.Status}}” ```

image.png

[root@centos7 ~]# docker exec -it jempg133 bash root@jempg133:/# su - postgres postgres@jempg133:~$ psql postgres=# select version();

image.png

⛳️ 3.PG客戶端工具

Navicat連線如下

image.png

pgAdmin4連線如下:

pgAdmin4 是開源資料庫 PostgreSQL 的圖形管理工具, 是桌面版圖形管理工具pgAdmin3 的重寫, 遵循 PostgreSQL協議 是開源、免費、可商用的。 pgAdmin4 是python開發的web應用程式,既可以部署為web模式通過瀏覽器訪問, 可以部署為桌面模式獨立執行。 下載:https://www.pgadmin.org/download/

image.png

⛳️ 4.PG資料型別

點選部落格檢視:PostgreSQL資料型別大總結,一家老小都在這裡

image.png

⛳️ 5.PG體系架構

image.png

點選部落格:想學明白PostgreSQL,得先捋一捋體系架構

🐴 5.1 物理結構

image.png

🐴 5.2 記憶體結構

image.png

⛳️ 6. Zabbix監控PG

點選部落格:Zabbix監控PG,企業必備,經典之作

image.png

⛳️ 7. PG備份恢復

🐴 7.1 邏輯備份恢復

pg_dump支援指定所要備份的物件:可以單獨備份表、schema或者database; pg_dumpall僅支援匯出全庫資料。 pg_dump可以將資料備份為SQL文字檔案格式,也支援備份為使用者自定義的壓縮格式或者TAR包格式。 PostgreSQL支援以下兩種資料恢復方法: 1、使用psql恢復pg_dump或pg_dumpall工具生成的SQL文字格式的資料備份。 2、使用pg_restore工具來恢復由pg_dump工具生成的自定義壓縮格式(-Fc)、 TAR包格式(-Ft)或者目錄格式(-Fd)備份。

🐴 7.2 PG物理備份恢復

pg_rman-是一個開源的PG備份軟體,第三方, 本質是一個檔案的拷貝,必須和Server安裝在一起 支援基於時間的恢復,支援線上的全備和增備 同時還可以支援WAL的備份過期刪除 體系化掌握PG備份恢復,https://www.bilibili.com/video/BV1af4y1K7c7

相關推薦閱讀:\ 90天精通Oracle-實戰系列\ Oracle高可用實戰系列\ MySQL從入門到實戰\ 如何成為SQL高手\ PostgreSQL從入門到實戰

大家可以點贊、收藏、關注、評論我啦 、有資料庫相關的問題隨時聯絡我或交流喲~!

image.png