PostgreSQL DBA實(shí)戰(zhàn)視頻教程
PostgreSQL DBA實(shí)戰(zhàn)視頻教程
資料地址1:https://pan.baidu.com/s/1KWdObXy6kkhFL9QBpI3fGw 提取碼:akgw?
資料地址2:https://share.weiyun.com/nG8FHa60 密碼:5e8xf5
PostgreSQL DBA實(shí)戰(zhàn)視頻教程2023|PostgreSQL1 4.6教程
課程1、PostgreSQL安裝與管理
課程2、PostgreSQL數(shù)據(jù)庫SQL基礎(chǔ)
課程3、PostgreSQL表詳解
課程4、PostgreSQL索引詳解
課程5、PostgreSQL對象管理
課程6、PostgreSQL安全管理
課程7、PostgreSQL并發(fā)控制
文檔資料
想要理解PostgreSQL的數(shù)據(jù)庫結(jié)構(gòu),需要先了解一些重要的概念。
數(shù)據(jù)庫相關(guān)概念:
PostgreSQL由一系列數(shù)據(jù)庫組成。一套PostgreSQL程序稱之為一個(gè)數(shù)據(jù)庫群集。
當(dāng)initdb()命令執(zhí)行后,template0 , template1 , 和postgres數(shù)據(jù)庫被創(chuàng)建。
template0和template1數(shù)據(jù)庫是創(chuàng)建用戶數(shù)據(jù)庫時(shí)使用的模版數(shù)據(jù)庫,他們包含系統(tǒng)元數(shù)據(jù)表。
initdb()剛完成后,template0和template1數(shù)據(jù)庫中的表是一樣的。但是template1數(shù)據(jù)庫可以根據(jù)用戶需要?jiǎng)?chuàng)建對象。
用戶數(shù)據(jù)庫是通過克隆template1數(shù)據(jù)庫來創(chuàng)建的;
表空間相關(guān)概念:
initdb()后馬上創(chuàng)建pg_default和pg_global表空間。
建表時(shí)如果沒有指定特定的表空間,表默認(rèn)被存在pg_default表空間中。
用于管理整個(gè)數(shù)據(jù)庫集群的表默認(rèn)被存儲在pg_global表空間中。
pg_default表空間的物理位置為$PGDATA\base目錄。
pg_global表空間的物理位置為$PGDATA\global目錄。
一個(gè)表空間可以被多個(gè)數(shù)據(jù)庫同時(shí)使用。此時(shí),每一個(gè)數(shù)據(jù)庫都會在表空間路徑下創(chuàng)建為一個(gè)新的子路徑。
創(chuàng)建一個(gè)用戶表空間會在$PGDATA\pg_tblspc目錄下面創(chuàng)建一個(gè)軟連接,連接到表空間制定的目錄位置。
表相關(guān)概念:
每個(gè)表有三個(gè)數(shù)據(jù)文件。
一個(gè)文件用于存儲數(shù)據(jù),文件名是表的OID。
一個(gè)文件用于管理表的空閑空間,文件名是OID_fsm。
一個(gè)文件用于管理表的塊是否可見,文件名是OID_vm。
索引沒有_vm文件,只有OID和OID_fsm兩個(gè)文件
創(chuàng)建用戶
id postgres -查看是否有postgres用戶
groupadd postgres -添加postgres組
useradd -g postgres postgres -添加postgres用戶
passwd postgres -修改postgres密碼
mkdir -p /data/postgres/13.2/ -創(chuàng)建數(shù)據(jù)庫目錄
chown -R postgres:postgres /data/ -修改數(shù)據(jù)庫目錄權(quán)限
修改環(huán)境變量
目的是為了不需要指定可執(zhí)行文件(如psql、pg_ctl等)的絕對路徑
修改postgres用戶的~/.bash_profile,也可以直接修改~/.bashrc
PATH=xxx:/data/postgres/13.2/bin
PGDATA=/data/postgres/13.2/data
export PATH
export PGDATA
source ~/.bashrc
執(zhí)行psql驗(yàn)證環(huán)境變量修改生效
如何啟停數(shù)據(jù)庫
ps -ef | grep postges -檢查數(shù)據(jù)庫是否運(yùn)行
pg_ctl stop -m fast -停止數(shù)據(jù)庫
pg_ctl start -D /data/postgres/13/2/data -l ~/startup.log -啟動(dòng)數(shù)據(jù)庫
pg_ctl status -檢查數(shù)據(jù)庫狀態(tài)