夜色av网/黄色aa级片/84pao国产成人高清在线/免费av资源

大數(shù)據(jù)就業(yè)實戰(zhàn)培訓(xùn) Oracle就業(yè)實戰(zhàn)培訓(xùn)

CUUG,以就業(yè)為導(dǎo)向,讓學(xué)員學(xué)到真正實用的技術(shù)

當(dāng)前位置: CUUG培訓(xùn)-優(yōu)技培訓(xùn) >> 關(guān)于我們 >

PG技術(shù)大講堂 - Part 11:PostgreSQL控制文件作用與管理

PG技術(shù)大講堂 - Part 11:PostgreSQL控制文件作用與管理

來源:CUUG培訓(xùn)-優(yōu)技培訓(xùn)    更新時間:2023/3/16 16:23:00    閱讀次數(shù):

PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內(nèi)容包括對PG基礎(chǔ)的認(rèn)知、包括安裝使用、包括角色權(quán)限、包括維護(hù)管理、、等內(nèi)容,希望對熱愛PG、學(xué)習(xí)PG的同學(xué)們有幫助,歡迎持續(xù)關(guān)注CUUG PG技術(shù)大講堂。

Part 11:PostgreSQL控制文件作用與管理

內(nèi)容1:PostgreSQL控制文件位置

內(nèi)容2:PostgreSQL控制文件內(nèi)容

內(nèi)容3:PostgreSQL控制文件維護(hù)

內(nèi)容4:PostgreSQL控制文件備份

內(nèi)容5:PostgreSQL控制文件恢復(fù)


11.1、控制文件位置

控制文件位置與大小

邏輯位置:存放在pg_global表空間中

物理位置與名字:$PGDATA/global/pg_control

控制文件的物理大小是8K

控制文件內(nèi)容盡量保持小于512個字節(jié)


11.2、控制文件內(nèi)容

· initdb時生成的靜態(tài)信息

pg_control version number: 1201

Catalog version number: 201909212

Database system identifier: 6744130188358323871

Maximum data alignment: 8

Database block size: 8192

Blocks per segment of large relation: 131072

WAL block size: 16384

Bytes per WAL segment: 16777216

Maximum length of identifiers: 64

Maximum columns in an index: 32

Maximum size of a TOAST chunk: 1996

Date/time type storage: 64-bit integers

Float4 argument passing: by value

Float8 argument passing: by value

· postgresql.conf中的配置信息

wal_level setting: replica

wal_log_hints setting: on

max_connections setting: 1000

max_worker_processes setting: 8

max_wal_senders setting: 10

max_prepared_xacts setting: 0

max_locks_per_xact setting: 64

track_commit_timestamp setting: off

· write-ahead logging以及checkpoint的動態(tài)信息

Latest checkpoint location: 2E/CD32D270

Latest checkpoint's REDO location: 2E/CD32D270

Latest checkpoint's REDO WAL file: 000000110000002E000000CD

Latest checkpoint's TimeLineID: 17

Latest checkpoint's PrevTimeLineID: 17

Latest checkpoint's full_page_writes: on

Latest checkpoint's NextXID: 0:538902

Latest checkpoint's NextOID: 385511

Latest checkpoint's NextMultiXactId: 5

……

Time of latest checkpoint: Sat 18 Jul 2020 10:11:14 PM EDT

Fake LSN counter for unlogged rels: 0/3E8

Backup start location: 0/0

Backup end location: 0/0

End-of-backup record required: no


11.3、控制文件維護(hù)

1、固定部分

 初始化數(shù)據(jù)庫時產(chǎn)生,固定不變

2、有些信息隨時更新

 如果發(fā)生檢查點、備份、日志切換等操作,則自動更新

3、postgres.conf相關(guān)參數(shù)被更新

 如果配置文件中重要的相關(guān)參數(shù)被修改,則也會自動更新

4、數(shù)據(jù)庫備份時會一起備份

5、不能手動修改該文件

6、啟動和恢復(fù)數(shù)據(jù)庫時需要,當(dāng)前沒有避免發(fā)生單一故障點而設(shè)計的保護(hù)策略


11.4、控制文件備份

備份方式(與數(shù)據(jù)庫備份一起備份,一起恢復(fù),不能單獨備份)

1、tar命令

tar -jcv -f baseline.tar.bz2 $PGDATA

2、pg_basebackup命令

pg_basebackup -D bk1 -Ft -z –P

3、pg_rman命令

pg_rman backup --backup-mode=full -B /home/postgres/pg_rman_bk/ -C -P


11.5、控制文件恢復(fù)

重建控制文件

Pg10版本以前版本使用pg_resetxlog工具

Pg10及以后版本使用pg_resetwal工具

pg_resetwal工具需要下面四個參數(shù):

· 1、

-l XLOGFILE force minimum WAL starting location for new transaction log

 ( XLOGFILE強制新事務(wù)日志的最小WAL起始位置)

定位辦法:pg_wal下面創(chuàng)建的最大的日志文件,編號+1

cd /usr/local/pg12.2/data/pg_wal/

ll

-rw------- 1 postgres postgres 270 Mar 21 09:40 00000010.history

-rw------- 1 postgres postgres 16777216 Jul 19 06:19 0000001100000038000000C4

-rw------- 1 postgres postgres 16777216 Jul 19 06:16 0000001100000038000000C5

-rw------- 1 postgres postgres 16777216 Jul 19 06:17 0000001100000038000000C6

-rw------- 1 postgres postgres 16777216 Jul 19 06:17 0000001100000038000000C7

確定-l 的參數(shù)值為:

-l 0000001100000038000000C8

· 2、

-O OFFSET set next multitransaction offset

在pg_multixact/members下面,取最大值加1然后乘以65536.轉(zhuǎn)換成16進(jìn)制為100000,然后末尾添加4個0

-O=0x1000000000

步驟:

1、進(jìn)入相應(yīng)目錄

cd $PGDATA/pg_multixact/members/

2、查看文件

ll-rwxr-x--- 1 postgres postgres 8192 Jul 18 22:11 0000

3、計算結(jié)果

-O=0x1000000000

· 3、

-m =MXID,MXID set next and oldest multitransaction ID

在pg_multixact/offsets下面,找到最大的文件編號,+1 后面跟上4個0

如:0000

-m =0x00010000,0x00010000

步驟:1、進(jìn)入相應(yīng)目錄

cd $PGDATA/pg_multixact/offsets

2、查看文件

-rwxr-x--- 1 postgres postgres 8192 Jul 19 05:57 0000

3、計算結(jié)果

-m=0x00010000,0x00010000

· 4、

-x XID set next transaction ID

在pg_xact下面,找到最大的文件編號,+1 后面跟上5個0

如:0000

-x = 0x000100000

步驟:1、進(jìn)入相應(yīng)目錄

cd $PGDATA/pg_xact/

2、查看當(dāng)前文件

lltotal 140-rwxr-x--- 1 postgres postgres 139264 Jul 18 23:21 0000

3、計算-x值

-x=0x000100000


執(zhí)行重建控制文件語句:

cd $PGDATA/global

touch pg_control

pg_resetwal -l 0000001100000038000000CC -O 0x1000000000 \

-m 0x00010000,0x00010000 -x 0x000100000 -f $PGDATA

pg_controldata

啟動數(shù)據(jù)庫:

pg_ctl start


以上就是Part 11 - PostgreSQL控制文件作用與管理 的內(nèi)容,歡迎進(jìn)群一起探討交流QQ交流群:752027153

微信交流群:聯(lián)系客服拉你進(jìn)微信PG交流群

釘釘交流群:35822460,釘釘群有專門講解公開課

往期課程及視頻,聯(lián)系cuug咨詢老師

071考試
大數(shù)據(jù)課程
WDP
oracle機構(gòu)
oracle認(rèn)證
oracle課程
oracle視頻
CUUG就業(yè)實戰(zhàn)培訓(xùn)
CUUG與ORACLE公司建立最核心、最權(quán)威、最深層次的戰(zhàn)略合作伙伴關(guān)系;
CUUG是唯一一家只做DBA就業(yè)培訓(xùn)和oracle認(rèn)證的授權(quán)機構(gòu),28年培養(yǎng)數(shù)萬名oracle技術(shù)人才;
CUUG金牌講師授課,來自一線的資深ORACLE OCM技術(shù)專家團(tuán)隊;
CUUG頂尖完善的學(xué)習(xí)體系,以甲骨文原廠ORACLE數(shù)據(jù)庫核心技術(shù)為教學(xué)課程;

報名入口 點擊進(jìn)入

課程咨詢:400-0909-964

考試咨詢:400-0909-964

QQ:點擊獲取

E-mail:yuezt@cuug.com