您好,登錄后才能下訂單哦!
本篇內容介紹了“PG體系結構是怎樣的”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
##pg 結構 --邏輯結構 --數據庫實例通常指數據庫集簇(database cluster),單個實例管理數據庫集合 --一個數據庫集簇包含用戶、數據庫,可為每個數據庫指定單獨的用戶,每個數據庫下面包含schemas(命名空間),默認為public,每個schemas下面包含表、索引、視圖、序列等。 --物理結構 --數據文件、參數文件、控制文件、數據庫運行日志及預寫日志 --可通過以下命令查看目錄文件,具體作用可參考《Postgresql實戰》98頁 tree -L 1 -d /pgdata/10/data --控制文件位置 [postgres@pgtest global]$ pwd /pgdata/data/global [postgres@pgtest global]$ ls -l pg_control -rw------- 1 postgres postgres 8192 Dec 7 04:56 pg_control --數據文件布局 --oid,所有數據庫對象都有各自的對象標識符(oid)進行內部管理,它們是無符號的4字節整數,例如 select oid,datname from pg_database; select oid,relname,relkind from pg_class; --表空間,最大的邏輯存儲單位 --默認兩個表空間,pg_global表空間,目錄為global,保存系統表;pg_default表空間的物理文件位置在base目錄,是template0和template1數據庫的默認表空間, --創建表空間需要先創建目錄,表空間可以解決以后磁盤空不足問題、分配性能不同的磁盤上,提高數據庫性能 mkdir -p /pgdata/10/mytblspc create tablespace myspc location '/pgdata/10/mytblspc'; create table t(id int4) tablespace myspc; --數據文件命名,對于表大小超出1g,pg會自動切分多個文件,oid.順序號,真正管理表文件的是pg_class的relfilenode --查看表的大小 select pg_size_pretty(pg_relation_size('tb1'::regclass)); --表文件內部結構 --pg中,保存在磁盤中的塊稱為Page,內存中的塊稱為Buffer,表和索引稱為Relation,行稱為Tuple。數據讀寫以Page為最小單位,Page默認8KB ##進程結構 --守護進程與服務進程 --postmaster進程主要職責 數據庫的啟停 監聽客戶端連接 為每個客戶端連接fork單獨的postgres服務進程 當服務進程出錯時進行修復 管理數據文件 管理與數據庫運行相關的輔助進程 --輔助進程 background writer:bgwriter進程,搜索共享緩沖池找到被修改的頁,并將它們從共享緩沖池刷出 autovacuum launcher: 自動清理回收垃圾進程 WAL writer: 定期將WAL緩沖區上的WAL數據寫入磁盤 statistics collector: 統計信息收集進程 logging collector: 日志進程,將消息或者錯誤信息寫入日志 archiver:WAL歸檔進程 checkpointer:檢查點進程 ##內存結構 --本地內存主要給后端進程使用,主要三部分 work_mem: 當使用order by 或distinct會使用到 maintenance_work_mem: 維護操作,例如VACUUM REINDEX CREATE INDEX等操作 temp_buffers: 臨時表相關操作使用 --共享內存,在服務器啟動時分配,由所有后端進程共同使用 shared buffer pool :PostgreSQL將表和索引頁面從持久存儲裝載到這里,并直接操作它們 WAL buffer: WAL文件持久化之前的緩沖區 CommitLog buffer:PostgreSQL 在Commit Log中保存事務的狀態,并將這些狀態保留在共享內存緩沖區中,在整個事務處理過程中使用
“PG體系結構是怎樣的”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。