当前位置: 首页 > news >正文

常州好一点的网站建设9个成功的市场营销案例

常州好一点的网站建设,9个成功的市场营销案例,做游戏网站赚钱么,建设网站加盟文章目录 前言1. WAL 日志1.1 WAL 配置 2. pg_basebackup2.1 常用命令 3. 全备恢复实验3.1 进行一个全备3.2 写入增量数据3.3 模拟备份恢复 总结 前言 本篇文章介绍 PostgreSQL 基于时间点恢复(point-in-time-recover)需要的条件及恢复过程,…

文章目录

    • 前言
    • 1. WAL 日志
      • 1.1 WAL 配置
    • 2. pg_basebackup
      • 2.1 常用命令
    • 3. 全备恢复实验
      • 3.1 进行一个全备
      • 3.2 写入增量数据
      • 3.3 模拟备份恢复
    • 总结

前言

本篇文章介绍 PostgreSQL 基于时间点恢复(point-in-time-recover)需要的条件及恢复过程,属于操作说明。

1. WAL 日志

WAL(Write Ahead Log) 日志优先写机制,常用于关系型数据库维护事务 持久性、一致性 的一种常见手段,例如 MySQL 中的 Redo Log 也属于是 WAL 日志,不过在 MySQL 中如果要实现 PITR 要使用 Binlog 日志,这块儿我理解 MySQL 也可以用 Redo 去做复制的,也可以用 Redo 做 PITR 但 MySQL 是多引擎架构,不仅仅有事务引擎,其它引擎不支持 Redo,所以才使用 Binlog 应用于 PITR 和主从复制。

在 PostgreSQL 只有事务引擎,所以 WAL 日志既可以应用于事务系统,也可以于主从同步和 PITR。

1.1 WAL 配置

想要实现 PITR 相当于一个全量备份 + 增量备份,那 WAL 就是用于做增量备份,此时就需要启用 WAL 归档:

wal_level = replica             # minimal, replica, or logical
archive_mode = on               # enables archiving; off, on, or always# (change requires restart)# 这里的目标是归档的目录,需要提前创建
archive_command = 'cp %p /data/pgsql12/archive/%f && echo %f >> /data/pgsql12/archive/archive.list'             # command to use to archive a logfile segment

配置完成后需要重启数据库:

pg_ctl -D /data/pgsql12/data/ -l /data/pgsql12/logs/start.log restart

2. pg_basebackup

pg_basebackup 是 PostgreSQL 自带的物理热备工具,不过仅支持备份整个实例,无法进行单库单表备份,可用于备库搭建:

pg_basebackup [OPTION]...
参数含义
-D/–pg-data备份文件目录,表示将备份文件写入到那个目录下
-F/–format默认为p、可选择p、t
-r/–max-rate传输数据的最大速率限制
-R/–write-recovery-conf输出用于replication的配置信息
-X, --wal-method指定复制wal日志的方式,有none、fetch、stream,推荐使用stream避免接收wal信息是源端日志被覆盖
-z, --gzip是否压缩,配合-F t使用
-Z, --compress=0-9压缩等级,数字越大压缩率越大、越消耗CPU资源
-c, --checkpoint设置checkpoint的模式:fast、spread
-C, --create-slot创建复制槽
-S, --slot=SLOTNAME指定复制槽名称
-l, --label=LABEL指定一个备份标识,便于运维人员后续的维护
-n, --no-cleando not clean up after errors
-N, --no-syncdo not wait for changes to be written safely to disk
-P, --progress打印备份进度信息
-v, --verbose输出详细的信息

2.1 常用命令

用于基本的备份恢复常用命令:

pg_basebackup -D 备份文件目录  -v -P -Upostgres -h 127.0.0.1 -p5432 -R

3. 全备恢复实验

3.1 进行一个全备

 pg_basebackup -D /data/pgsql12/backup  -v -P -Upostgres -h 127.0.0.1 -p5432 -R
pg_basebackup: initiating base backup, waiting for checkpoint to complete
pg_basebackup: checkpoint completed
pg_basebackup: write-ahead log start point: 2/6D000028 on timeline 2
pg_basebackup: starting background WAL receiver
pg_basebackup: created temporary replication slot "pg_basebackup_74591"
2455778/2455778 kB (100%), 1/1 tablespace                                         
pg_basebackup: write-ahead log end point: 2/6D000138
pg_basebackup: waiting for background process to finish streaming ...
pg_basebackup: syncing data to disk ...
pg_basebackup: base backup completed

3.2 写入增量数据

postgres=# update pgbench_accounts set abalance = 100 where bid = 41;
UPDATE 100000
postgres=# select pg_current_wal_lsn();pg_current_wal_lsn 
--------------------2/70D63FD0postgres=# select now();now              
-------------------------------2023-08-08 13:51:34.475891+08

3.3 模拟备份恢复

此时最坏的事情发生了,需要恢复数据,首先需要先关闭数据库:

pg_ctl -D /data/pgsql12/data/ stopwaiting for server to shut down.... done
server stopped

将数据目录重命名,将基础备份

# 重命名备份目录
mv data data_bak
# 移动备份文件至数据目录
mv backup data
# 修改数据目录为 700 否则无法启动
# DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
chmod 700 /data/pgsql12/data/

修改数据目录下 postgresql.auto.conf 文件:

restore_command = 'cp /data/pgsql12/archive/%f %p > /data/pgsql12/archive/recovery.log 2>&1 '# 通过 LSN 方式恢复
recovery_target_lsn='2/70D63FD0'
# 通过时间点的方式恢复 2 选 1
recovery_target_time = '2023-08-08 13:51:34'
# 达到恢复目标后,数据的动作 promote 表示可以直接接受连接,测试使用,生产恢复建议使用 pause(默认值)确认数据恢复好后,手动删除 recovery.signal 文件即可。
recovery_target_action = 'promote'

配置完这些后,重新启动数据库:

pg_ctl  -D /data/pgsql12/data start -l /data/pgsql12/logs/start.log

验证刚才的增量数据是否已经恢复:

postgres=# select count(*) from pgbench_accounts where bid = 41 and abalance = 100;count  
--------100000

总结

PostgreSQL 想要实现 PITR 需要设置 wal_level 配置参数为 replica 或更高级别,且配置合理的归档机制和归档清理机制,本篇文章只引入恢复流程,一套生产环境备份恢复如何配置,我们将在下一篇文章介绍。

http://www.hkea.cn/news/728575/

相关文章:

  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统
  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理
  • 营业推广策划方案邵阳网站seo
  • 手机网站横向切换kol合作推广
  • 专门做超市海报的网站宁波seo咨询
  • 仿网站上的焦点图在线看seo网站
  • 做网站的业务员艾滋病阻断药有哪些
  • web集团网站建设广告投放平台有哪些
  • 大连做网站建设广告资源对接平台
  • 做网站怎么写工作日志泉州网站seo公司
  • wordpress外链站内打开搜索引擎是什么意思啊