最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

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

2023-03-15 16:22 作者:北京CUUG  | 我要投稿



PostgreSQL從小白到專家,是從入門逐漸能力提升的一個(gè)系列教程,內(nèi)容包括對(duì)PG基礎(chǔ)的認(rèn)知、包括安裝使用、包括角色權(quán)限、包括維護(hù)管理、、等內(nèi)容,希望對(duì)熱愛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個(gè)字節(jié)


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

· initdb時(shí)生成的靜態(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的動(dòng)態(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ù)庫(kù)時(shí)產(chǎn)生,固定不變

2、有些信息隨時(shí)更新

?如果發(fā)生檢查點(diǎn)、備份、日志切換等操作,則自動(dòng)更新

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

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

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

5、不能手動(dòng)修改該文件

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


11.4、控制文件備份

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

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工具需要下面四個(gè)參數(shù):

· 1、

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

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

定位辦法:pg_wal下面創(chuàng)建的最大的日志文件,編號(hào)+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個(gè)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、計(jì)算結(jié)果

-O=0x1000000000

· 3、

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

在pg_multixact/offsets下面,找到最大的文件編號(hào),+1 后面跟上4個(gè)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、計(jì)算結(jié)果

-m=0x00010000,0x00010000

· 4、

-x XID set next transaction ID

在pg_xact下面,找到最大的文件編號(hào),+1 后面跟上5個(gè)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、計(jì)算-x值

-x=0x000100000


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

cd $PGDATA/global

touch pg_control

pg_resetwal -l 0000001100000038000000CC -O 0x1000000000 \

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


pg_controldata

?啟動(dòng)數(shù)據(jù)庫(kù):


pg_ctl start




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

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

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

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


PostgreSQL教程 - Part 11:PostgreSQL控制文件作用與管理的評(píng)論 (共 條)

使用qq登录你需要登录后才可以评论。
酉阳| 祁阳县| 大冶市| 太仆寺旗| 山丹县| 吴江市| 中江县| 襄樊市| 柳州市| 金坛市| 合阳县| 青州市| 沧州市| 益阳市| 游戏| 西乌| 宁国市| 乌鲁木齐县| 洮南市| 梁平县| 宣汉县| 拉萨市| 仙游县| 台北县| 桦甸市| 荥阳市| 北海市| 蒙山县| 宝丰县| 尼勒克县| 宝应县| 北宁市| 福清市| 松江区| 彭泽县| 河北区| 玛沁县| 南通市| 花莲县| 洪江市| 荃湾区|