pg从小白到专家 -凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 593411
  • 博文数量: 486
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4941
  • 用 户 组: 普通用户
  • 注册时间: 2018-07-05 13:59
个人简介

ocp考试资料群:569933648 验证码:ocp ocp 12c 19c考试题库解析与资料群:钉钉群号:35277291

文章分类

全部博文(486)

文章存档

2024年(3)

2023年(35)

2021年(151)

2020年(37)

2019年(222)

2018年(38)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: mysql/postgresql

2023-03-16 14:14:26


postgresql从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对pg基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱pg、学习pg的同学们有帮助,欢迎持续关注cuug pg技术大讲堂。

part 11:postgresql控制文件作用与管理

内容1:postgresql控制文件位置

内容2:postgresql控制文件内容

内容3:postgresql控制文件维护

内容4:postgresql控制文件备份

内容5:postgresql控制文件恢复


11.1、控制文件位置

控制文件位置与大小

逻辑位置:存放在pg_global表空间中

物理位置与名字:$pgdata/global/pg_control

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

控制文件内容尽量保持小于512个字节


11.2、控制文件内容

· initdb时生成的静态信息

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的动态信息

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、控制文件维护

1、固定部分

 初始化数据库时产生,固定不变

2、有些信息随时更新

 如果发生检查点、备份、日志切换等操作,则自动更新

3、postgres.conf相关参数被更新

 如果配置文件中重要的相关参数被修改,则也会自动更新

4、数据库备份时会一起备份

5、不能手动修改该文件

6、启动和恢复数据库时需要,当前没有避免发生单一故障点而设计的保护策略


11.4、控制文件备份

备份方式(与数据库备份一起备份,一起恢复,不能单独备份)

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、控制文件恢复

重建控制文件

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

pg10及以后版本使用pg_resetwal工具

pg_resetwal工具需要下面四个参数:

· 1、

-l xlogfile force minimum wal starting location for new transaction log

 ( xlogfile强制新事务日志的{banned}最佳小wal起始位置)

定位办法:pg_wal下面创建的{banned}最佳大的日志文件,编号 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 的参数值为:

-l 0000001100000038000000c8

· 2、

-o offset set next multitransaction offset

在pg_multixact/members下面,取{banned}最佳大值加1然后乘以65536.转换成16进制为100000,然后末尾添加4个0

-o=0x1000000000

步骤:

1、进入相应目录

cd $pgdata/pg_multixact/members/

2、查看文件

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

3、计算结果

-o=0x1000000000

· 3、

-m =mxid,mxid set next and oldest multitransaction id

在pg_multixact/offsets下面,找到{banned}最佳大的文件编号, 1 后面跟上4个0

如:0000

-m =0x00010000,0x00010000

步骤:1、进入相应目录

cd $pgdata/pg_multixact/offsets

2、查看文件

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

3、计算结果

-m=0x00010000,0x00010000

· 4、

-x xid set next transaction id

在pg_xact下面,找到{banned}最佳大的文件编号, 1 后面跟上5个0

如:0000

-x = 0x000100000

步骤:1、进入相应目录

cd $pgdata/pg_xact/

2、查看当前文件

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

3、计算-x值

-x=0x000100000


执行重建控制文件语句:

cd $pgdata/global

touch pg_control

pg_resetwal -l 0000001100000038000000cc -o 0x1000000000 \

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


pg_controldata

?启动数据库:


pg_ctl start




以上就是part 11 - postgresql控制文件作用与管理 的内容,欢迎进群一起探讨交流,钉钉交流群:35,82,24,60,钉钉群有专门讲解公开课

往期课程及视频,联系cuug咨询老师

阅读(235) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图