從小白到專家 PostgreSQL技術大講堂 - Part 5:PG資料庫結構
PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內容包括對PG基礎的認知、包括安裝使用、包括角色許可權、包括維護管理、、等內容,希望對熱愛PG、學習PG的同學們有幫助,歡迎持續關注CUUG PG技術大講堂。
Part 5:PG資料庫結構
內容1:PostgreSQL邏輯結構
內容2:PostgreSQL物理結構
內容3:PostgreSQL表空間結構
1.1、資料庫集簇邏輯結構
資料庫集簇邏輯結構 :
1.2、物件識別符號
PostgreSQL中的所有資料庫物件都由各自的物件識別符號(oid)在內部管理。
這些物件識別符號是無符號的4位元組整數。資料庫物件和相應的oid之間的關係儲存在適當的系統目錄中,具體取決於物件的型別。
資料庫的oid儲存在pg_database中。
資料庫的oid與對應的資料庫目錄名是一致的
2、資料庫集簇物理結構
每個資料庫是base子目錄下的子目錄;資料庫目錄名與相應的oid相同。例如,當資料庫sampledb的OID為16384時,其子目錄名為16384。
cd $PGDATA
ls -ld base/16384
drwx------ 213 postgres postgres 7242 8 26 16:33 16384
2.1、其它目錄結構
資料庫叢集的佈局的主要檔案和子目錄如下所示:
3、Tablespaces
PostgreSQL Tablespaces
PostgreSQL中的表空間是基本目錄之外的附加資料區域,此功能已在版本8.0中實現。
初始化資料庫後預設的表空間有pg_default、pg_global。
pg_global表空間的物理檔案位置在資料目錄的global目錄中,它用來儲存系統表。
pg_default表空間的物理檔案位置在資料目錄的base子目錄中,是template0和template1資料庫的預設表空間。
建立資料庫時,預設從template1資料庫進行克隆,因此除非特別指定了新建資料庫的表空間,否則預設使用template1使用的表空間,即pg_default表空間。
PostgreSQL表空間物理檔案位置
建立表空間時產生的目錄命名規則PG _ 'Major version' _ 'Catalogue version number'
例如:
sampledb=# create tablespace new_tblspc location '/home/postgres/tblspc';
$ ls -l /home/postgres/tblspc/ total 4
drwx------ 4 postgres postgres PG_12_201909212
新建表空間的目錄由pg_tblspc子目錄中的軟連結定址,連結名與表空間的OID值相同
如果在表空間下建立一個新的資料庫(OID是90209),那麼它的目錄將在版本特定的子目錄下建立
ls -l /home/postgres/tblspc/PG_12_201909212 total 4
drwxr-x---. 2 postgres postgres 4096 Mar 30 09:27 90209
在base目錄下建立的資料庫上建立新表指定到新建的表空間
testdb=# create table test1 (id int) tablespace new_tblspc;
testdb=# SELECT pg_relation_filepath('test1'); pg_relation_filepath
---------------------------------------------
pg_tblspc/90208/PG_12_201909212/16385/90210 #在新表空間目錄下建立資料庫目錄
以上就是Part 5 - PG資料庫結構 的內容,大家可以進群一起探討,QQ交流群:75202 7153
釘釘交流群:3582 2460,1月13日晚上8點會有公開課專門講解此內容
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544987/viewspace-2931780/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從小白到專家 PG技術大講堂 - Part 2:PG原始碼安裝原始碼
- PG技術大講堂 - Part 10:PostgreSQL資料庫管理SQL資料庫
- PG技術大講堂 - Part 4:PostgreSQL例項結構SQL
- PG技術大講堂 - Part 3:PostgreSQL建庫與使用SQL
- PostgreSQL技術大講堂 - Part 9:pg_hba.conf配置SQL
- PostgreSQL技術大講堂 - Part 8:PG物件許可權管理SQL物件
- PostgreSQL技術大講堂 - Part 6:PG使用者與角色管理SQL
- PostgreSQL技術大講堂 - Part 7:PG使用者schema相互關係SQL
- PostgreSQL技術大講堂 - Part 2:PostgreSQL原始碼安裝SQL原始碼
- PostgreSQL技術大講堂 - 第32講:資料庫引數調整SQL資料庫
- PG技術大講堂 - 第13講:PostgreSQL Full-Page Writes 全頁寫SQL
- PostgreSQL技術大講堂 - 第31講:SQL調優技巧SQL
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- PostgreSQL技術大講堂 - 第34講:調優工具pgBagder部署SQL
- PostgreSQL技術大講堂 - 第46講:poc-tpch測試SQL
- PostgreSQL技術大講堂 - 第45講:poc-tpcc測試SQL
- PostgreSQL技術大講堂 - 第33講:並行查詢管理SQL並行
- PostgreSQL技術大講堂 - 第72講:索引與SQL調優之禁忌之戀SQL索引
- CSDN 資料庫Meetup|OceanBase 技術專家講述 SQL 的一生資料庫SQL
- PostgreSQL從小白到高手教程 - 第47講:JMETER工具使用SQLJMeter
- PG 資料庫 從阿里雲pg rds 同步資料。資料庫阿里
- 【PG管理】postgresql資料庫管理相關SQL資料庫
- PostgreSQL從入門到精通 - 第40講:資料庫不完全恢復SQL資料庫
- 今天開講,6 大演講主題、5 位技術大咖!龍蜥大講堂 5 月精彩直播預告搶先看
- 技術乾貨 | 阿里雲資料庫PostgreSQL 13大版本揭秘阿里資料庫SQL
- 從技術到工具再到落地,Pivotal多位技術專家詳解Greenplum
- 四年,如何從前端小白蛻變為前端技術專家?前端
- 大資料測試技術——課堂測試大資料
- 從Java程式設計師到架構師,從工程師到技術專家,迷茫之路如何點亮Java程式設計師架構工程師
- PostgreSQL 資料庫學習 - 1.資料庫體系結構之儲存結構SQL資料庫
- Redis 5大資料結構Redis大資料資料結構
- 資料結構小白系列之資料結構概述資料結構
- PostgreSQL 資料庫結構(DDL)比對工具 pgquarrelSQL資料庫
- Postgresql資料庫體系結構-程式和記憶體結構SQL資料庫記憶體
- LLM大模型向量資料庫技術架構淺析大模型資料庫架構
- 運維大師講堂,7天從入門到進階運維
- 大資料技術與應用課堂測試-資料清洗同步大資料
- PostgreSQL-PG體系結構之WAL(五)SQL