PG技術大講堂 - Part 4:PostgreSQL例項結構
PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內容包括對PG基礎的認知、包括安裝使用、包括角色許可權、包括維護管理、、等內容,希望對熱愛PG、學習PG的同學們有幫助,歡迎持續關注CUUG PG技術大講堂。
Part 4:PG例項結構
內容1:PostgreSQL例項簡介
內容2:PostgreSQL初始化引數檔案
內容3:PostgreSQL記憶體結構
內容4:PostgreSQL後臺程式
1.1、PG例項簡介
PostgreSQL例項:用來訪問PostgreSQL資料庫
一個例項對應一個資料庫集簇
由記憶體和後臺程式組成
1.2、建立一個連線和建立一個會話
連線到一個PostgreSQL例項建立一個使用者連線
建立一個會話
2、初始化引數檔案
兩種型別的引數顯式:在檔案中對引數進行設定
隱式:檔案中沒有設定,使用Postgres預設值
可以存在多個初始化引數檔案靜態引數檔案:postgresql.conf
動態引數檔案:postgresql.auto.conf
可選引數檔案:postgresql.conf.user
讀取順序postgresql.conf
postgresql.auto.conf
postgresql.conf.user
2.1、postgresql.conf引數檔案
postgresql.conf引數檔案文字檔案
使用作業系統編輯器修改
手動修改
更改將在下次啟動時生效
僅在例項啟動期間讀取
預設位置為$PGDATA
2.2、postgresql.auto.conf引數檔案
postgresql.auto.conf引數檔案文字檔案
由Postgres伺服器維護
支援用文字編輯器修改(不推薦)
ALTER SYSTEM命令修改的引數儲存在該檔案
能夠在關閉和啟動期間持續進行更改
可以實現自我調整引數值
預設位置為$PGDATA
改變一個引數的值,會在檔案中自動新增引數
ALTER SYSTEM SET archive_mode = on;
恢復一個引數預設值,會在檔案中自動刪除引數
ALTER SYSTEM RESET archive_mode;
2.3、引數生效條件
引數生效條件 sighup:表示需要超級管理員修改,reload就能夠生效。
superuser:表示使用超級管理員可以為普通使用者、資料庫、或者超級管理員自己修改。(注:有些引數是可以針對使用者、資料庫、例項)
postmaster:表示需要超級管理員修改,需要重啟才能夠生效。
user:表示普通使用者可以修改該引數值,立即生效。
3、Memory Architecture
PostgreSQL中的記憶體架構可以分為兩大類:Local memory area –由每個後端程式分配給自己使用
Shared memory area –由PostgreSQL伺服器的所有程式使用
3.1、Memory Architecture
Local Memory Area:
Shared Memory Area:
4、Process Architecture
PostgreSQL程式結構:
postgres server process :postgres伺服器程式是與資料庫群集管理相關的所有程式的父程式。
backend process:每個後端程式處理連線的客戶端發出的所有查詢和語句。
background processes:各種後臺程式執行用於資料庫管理的每個特性的程式(例如清空和檢查點程式)。
replication associated processes:在與複製相關聯的程式中,它們執行流式複製。
background worker process-:在版本9.3支援的後臺工作程式中,它可以執行使用者實現的任何處理。
PostgreSQL程式結構:
4.1、Postgres Server Process
Postgres Server Processpostgres伺服器程式是PostgreSQL伺服器中所有程式的父程式。早期版本它被稱為“postmaster”。
pg_ctl實用程式啟動該程式,然後派生出各個後臺程式。同時分配共享記憶體區域。
一個postgres伺服器程式偵聽一個網路埠,預設埠為5432。
4.2、Backend Processes
Backend Processes後端程式(也稱為postgres)由postgres伺服器程式啟動,並處理一個連線的客戶端發出的所有查詢。
PostgreSQL允許多個客戶端同時連線;配置引數max_connections控制客戶端的最大數量。
Background Processes
postgres> pstree -p 9687-+= 00001 root /sbin/launchd\-+- 09687 postgres /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data |--= 09688 postgres postgres: logger process|--= 09690 postgres postgres: checkpointer process |--= 09691 postgres postgres: writer process|--= 09692 postgres postgres: wal writer process|--= 09693 postgres postgres: autovacuum launcher process |--= 09694 postgres postgres: archiver process|--= 09695 postgres postgres: stats collector process|--= 09697 postgres postgres: postgres sampledb 192.168.1.100(54924) idle\--= 09717 postgres postgres: postgres sampledb 192.168.1.100(54964) idle in transaction
相關閱讀:
從小白到專家 PG技術大講堂 - Part 1:PG簡介
從小白到專家 PG技術大講堂 - Part 2:PG原始碼安裝
從小白到專家 PG技術大講堂 - Part 3:PG建庫與使用
以上就是Part 4 - PG例項結構 的內容,大家練習的時候如果遇到困難,可以進群一起探討,釘釘交流群:35,82,24,60
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544987/viewspace-2937193/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PG技術大講堂 - Part 10:PostgreSQL資料庫管理SQL資料庫
- PostgreSQL技術大講堂 - Part 9:pg_hba.conf配置SQL
- PG技術大講堂 - Part 3:PostgreSQL建庫與使用SQL
- 從小白到專家 PostgreSQL技術大講堂 - Part 5:PG資料庫結構SQL資料庫
- PostgreSQL技術大講堂 - Part 8:PG物件許可權管理SQL物件
- PostgreSQL技術大講堂 - Part 6:PG使用者與角色管理SQL
- PostgreSQL技術大講堂 - Part 7:PG使用者schema相互關係SQL
- PostgreSQL技術大講堂 - Part 2:PostgreSQL原始碼安裝SQL原始碼
- 從小白到專家 PG技術大講堂 - Part 2:PG原始碼安裝原始碼
- PG技術大講堂 - 第13講:PostgreSQL Full-Page Writes 全頁寫SQL
- PostgreSQL技術大講堂 - 第31講:SQL調優技巧SQL
- PostgreSQL技術大講堂 - 第34講:調優工具pgBagder部署SQL
- PostgreSQL技術大講堂 - 第46講:poc-tpch測試SQL
- PostgreSQL技術大講堂 - 第45講:poc-tpcc測試SQL
- PostgreSQL技術大講堂 - 第33講:並行查詢管理SQL並行
- PostgreSQL技術大講堂 - 第32講:資料庫引數調整SQL資料庫
- PostgreSQL技術大講堂 - 第72講:索引與SQL調優之禁忌之戀SQL索引
- PostgreSQL pg_rewind例項--could not find previous WAL record at %X/%XSQL
- PostgreSQL-PG體系結構之WAL(五)SQL
- 【PG體系結構】Postgresql 配置檔案詳解SQL
- 沃趣微講堂 | Oracle叢集技術(一)Oracle
- 今天開講,6 大演講主題、5 位技術大咖!龍蜥大講堂 5 月精彩直播預告搶先看
- 直播預告丨一名PGer帶你走進PostgreSQL的世界 - 雲和恩墨大講堂PG系列分享(1)SQL
- F5怎麼樣?結合例項解讀容器雲新技術架構架構
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- java class例項代表哪些結構Java
- PostgreSQL DBA(4) - PG 11 New Features#1SQL
- 中美技術人才矽谷大講堂 | JTalk 掘金線下活動第六期
- 工信部ICpower大講堂(南京)開班,特邀國際名家做核心技術分享
- JVM指令分析例項二(算術運算、常量池、控制結構)JVM
- 【PG體系結構】PG體系結構簡單說明
- 大資料測試技術——課堂測試大資料
- 7 大主題、9 位技術大咖!龍蜥大講堂7月硬核直播預告搶先看,今天見
- 資料結構基礎第4講資料結構
- 例項分析JAVA CLASS的檔案結構Java
- Java Class檔案結構例項分析(下)Java
- Java Class檔案結構例項分析(上)Java
- 沃趣微講堂 | Oracle叢集技術(二):GI與Oracle RACOracle