本篇內容介紹了“PG體系結構是怎樣的”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設計、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務安次,十年網(wǎng)站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220##pg 結構 --邏輯結構 --數(shù)據(jù)庫實例通常指數(shù)據(jù)庫集簇(database cluster),單個實例管理數(shù)據(jù)庫集合 --一個數(shù)據(jù)庫集簇包含用戶、數(shù)據(jù)庫,可為每個數(shù)據(jù)庫指定單獨的用戶,每個數(shù)據(jù)庫下面包含schemas(命名空間),默認為public,每個schemas下面包含表、索引、視圖、序列等。 --物理結構 --數(shù)據(jù)文件、參數(shù)文件、控制文件、數(shù)據(jù)庫運行日志及預寫日志 --可通過以下命令查看目錄文件,具體作用可參考《Postgresql實戰(zhàn)》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 --數(shù)據(jù)文件布局 --oid,所有數(shù)據(jù)庫對象都有各自的對象標識符(oid)進行內部管理,它們是無符號的4字節(jié)整數(shù),例如 select oid,datname from pg_database; select oid,relname,relkind from pg_class; --表空間,大的邏輯存儲單位 --默認兩個表空間,pg_global表空間,目錄為global,保存系統(tǒng)表;pg_default表空間的物理文件位置在base目錄,是template0和template1數(shù)據(jù)庫的默認表空間, --創(chuàng)建表空間需要先創(chuàng)建目錄,表空間可以解決以后磁盤空不足問題、分配性能不同的磁盤上,提高數(shù)據(jù)庫性能 mkdir -p /pgdata/10/mytblspc create tablespace myspc location '/pgdata/10/mytblspc'; create table t(id int4) tablespace myspc; --數(shù)據(jù)文件命名,對于表大小超出1g,pg會自動切分多個文件,oid.順序號,真正管理表文件的是pg_class的relfilenode --查看表的大小 select pg_size_pretty(pg_relation_size('tb1'::regclass)); --表文件內部結構 --pg中,保存在磁盤中的塊稱為Page,內存中的塊稱為Buffer,表和索引稱為Relation,行稱為Tuple。數(shù)據(jù)讀寫以Page為最小單位,Page默認8KB ##進程結構 --守護進程與服務進程 --postmaster進程主要職責 數(shù)據(jù)庫的啟停 監(jiān)聽客戶端連接 為每個客戶端連接fork單獨的postgres服務進程 當服務進程出錯時進行修復 管理數(shù)據(jù)文件 管理與數(shù)據(jù)庫運行相關的輔助進程 --輔助進程 background writer:bgwriter進程,搜索共享緩沖池找到被修改的頁,并將它們從共享緩沖池刷出 autovacuum launcher: 自動清理回收垃圾進程 WAL writer: 定期將WAL緩沖區(qū)上的WAL數(shù)據(jù)寫入磁盤 statistics collector: 統(tǒng)計信息收集進程 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文件持久化之前的緩沖區(qū) CommitLog buffer:PostgreSQL 在Commit Log中保存事務的狀態(tài),并將這些狀態(tài)保留在共享內存緩沖區(qū)中,在整個事務處理過程中使用
“PG體系結構是怎樣的”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
名稱欄目:PG體系結構是怎樣的-創(chuàng)新互聯(lián)
瀏覽路徑:http://aaarwkj.com/article12/codggc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、手機網(wǎng)站建設、品牌網(wǎng)站設計、定制開發(fā)、虛擬主機、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容