广告
返回顶部
首页 > 资讯 > 数据库 >postgreSQL11备份与恢复方法是什么
  • 891
分享到

postgreSQL11备份与恢复方法是什么

2024-04-02 19:04:59 891人浏览 八月长安
摘要

本篇内容介绍了“postgresql11备份与恢复方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“postgresql11备份与恢复方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、归档目录:

[postgres@Centos1 arch]$ pwd
/home/postgres/arch

2、设置归档命令:

 arcHive_command                                             
--------------------------------------------------------------------------------------------------------
 DATE=`date +%Y%m%d`; DIR="/home/postgres/arch/$DATE"; (test -d $DIR || mkdir -p $DIR) && cp %p $DIR/%f

修改wal_level和archive_mode参数都需要重新启动数据库才可以生效,修改archive_command不需要重启,只需要reload即可:

postgres=# SELECT pg_reload_conf();

3、验证归档:

postgres=# checkpoint
postgres-# ;
CHECKPOINT
postgres=# select pg_switch_wal(); 
pg_switch_wal 
--------------- 
0/11029F08(1 row)
[postgres@centos1 20200103]$ ll
total 16M-rw------- 1 postgres postgres 16M Jan  3 10:45 000000010000000000000011

4、配置备份用户访问:

[postgres@centos1 pg_root]$ vi pg_hba.conf
host replication rep 0.0.0.0/0 md5

5、创建基础备份:

[postgres@centos1 pgbak]$ pg_basebackup -Ft  -D /home/postgres/pgbak`date +%F` -h 192.168.1.212 -p 1921 -U rep
PassWord:
[postgres@centos1 pgbak2020-01-03]$ ll
total 96M
-rw------- 1 postgres postgres 1.5K Jan  3 11:34 26097.tar
-rw------- 1 postgres postgres  80M Jan  3 11:34 base.tar
-rw------- 1 postgres postgres  17M Jan  3 11:34 pg_wal.tar

查看备份内容:

[postgres@centos1 pgbak2020-01-03]$ tar -tvf base.tar |less
-rw------- postgres/postgres 226 2020-01-03 11:34 backup_label
-rw------- postgres/postgres  28 2020-01-03 11:34 tablespace_map
drwx------ postgres/postgres   0 2020-01-03 11:34 pg_wal/
drwx------ postgres/postgres   0 2020-01-03 11:34 ./pg_wal/archive_status/
drwx------ postgres/postgres   0 2019-12-19 17:24 global/
-rw------- postgres/postgres 16384 2019-12-17 16:42 global/1262
-rw------- postgres/postgres 49152 2019-06-17 23:47 global/1262_fsm
-rw------- postgres/postgres     0 2019-06-17 23:47 global/2964
-rw------- postgres/postgres 16384 2020-01-03 10:45 global/1213
-rw------- postgres/postgres 49152 2019-06-17 23:47 global/1213_fsm
-rw------- postgres/postgres 16384 2019-06-17 23:47 global/1136
-rw------- postgres/postgres 49152 2019-06-17 23:47 global/1136_fsm
-rw------- postgres/postgres 16384 2019-12-17 11:49 global/1260

6、生成测试恢复数据:

postgres=# create table test_bk (id int) tablespace tbs_pg01;
CREATE TABLE
postgres=# insert into test_bk values(1),(2);
INSERT 0 2

由于WAL文件是写满16MB才会进行归档,测试阶段可能写入会非常少,可以在执行完 基础备份之后,手动进行一次WAL切换。如:

postgres=# checkpoint;
CHECKPOINT
postgres=# select pg_switch_wal();
 pg_switch_wal 
---------------
 0/14027F78
(1 row)

7、还原部分

关闭数据库

[postgres@centos1 ~]$ pg_ctl stop
waiting for server to shut down.... done
server stopped
[postgres@centos1 ~]$ ipcs

移除数据库 及表空间

[postgres@centos1 ~]$ mv pgdata pgdatatbbk
[postgres@centos1 ~]$ mv pg_root pg_rootbk

将备份文件拷贝到原目录

[postgres@centos1 ~]$ echo $PGDATA
/home/postgres/pg_root
[postgres@centos1 ~]$ mkdir pg_root
[postgres@centos1 ~]$ mkdir pgdata
[postgres@centos1 ~]$ cd pgbak2020-01-03
[postgres@centos1 pgbak2020-01-03]$ ll
total 96M
-rw------- 1 postgres postgres 1.5K Jan  3 11:34 26097.tar
-rw------- 1 postgres postgres  80M Jan  3 11:34 base.tar
-rw------- 1 postgres postgres  17M Jan  3 11:34 pg_wal.tar
[postgres@centos1 pgbak2020-01-03]$ cp 26097.tar /home/postgres/pgdata
[postgres@centos1 pgbak2020-01-03]$ cp base.tar $PGDATA
[postgres@centos1 pgbak2020-01-03]$ cp pg_wal.tar  $PGDATA
[postgres@centos1 pgbak2020-01-03]$ cd $PGDATA
[postgres@centos1 pg_root]$ ll
total 96M
-rw------- 1 postgres postgres 80M Jan  3 12:06 base.tar
-rw------- 1 postgres postgres 17M Jan  3 12:07 pg_wal.tar

解压base:

[postgres@centos1 pg_root]$ tar -xvf base.tar

解压表空间:

[postgres@centos1 pgdata]$ tar -xvf 26097.tar 
PG_11_201809051/
[postgres@centos1 pgdata]$ ll
total 4.0K
-rw------- 1 postgres postgres 1.5K Jan  3 12:06 26097.tar
drwx------ 2 postgres postgres    6 Jan  2 20:07 PG_11_201809051

解压归档文件:

[postgres@centos1 pg_root]$ tar -xvf pg_wal.tar 
000000010000000000000013
archive_status/000000010000000000000013.done

拷贝恢复文件

[postgres@centos1 pg_root]$ cp /opt/postgresql/share/recovery.conf.sample recovery.conf
配置恢复文件命令:
vi recovery.conf
restore_command = 'cp /home/postgres/arch/20200103/%f %p'

启动数据库:

[postgres@centos1 pg_root]$ pg_ctl start

waiting for server to start....2020-01-03 13:05:16.488 CST [21872] FATAL:  data directory "/home/postgres/pg_root" has invalid permissions
2020-01-03 13:05:16.488 CST [21872] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
 stopped waiting
pg_ctl: could not start server
Examine the log output.

报错,修改权限:

[postgres@centos1 ~]$ chmod -R 750 ./pg_root

启动数据库:

[postgres@centos1 ~]$ pg_ctl start 
waiting for server to start....2020-01-03 13:09:16.927 CST [22152] LOG:  listening on IPv4 address "0.0.0.0", port 1921
2020-01-03 13:09:16.972 CST [22152] LOG:  listening on Unix Socket "/tmp/.s.PGSQL.1921"
2020-01-03 13:09:17.035 CST [22153] LOG:  database system was interrupted; last known up at 2020-01-03 11:34:44 CST
2020-01-03 13:09:17.035 CST [22153] LOG:  creating missing WAL directory "pg_wal/archive_status"
2020-01-03 13:09:17.446 CST [22153] LOG:  starting archive recovery
2020-01-03 13:09:17.457 CST [22153] LOG:  restored log file "000000010000000000000013" from archive
2020-01-03 13:09:17.700 CST [22153] LOG:  redo starts at 0/13000028
2020-01-03 13:09:17.726 CST [22153] LOG:  consistent recovery state reached at 0/13000130
2020-01-03 13:09:17.727 CST [22152] LOG:  database system is ready to accept read only connections
2020-01-03 13:09:17.743 CST [22153] LOG:  restored log file "000000010000000000000014" from archive
 done
server started
[postgres@centos1 ~]$ 2020-01-03 13:09:17.920 CST [22153] LOG:  restored log file "000000010000000000000015" from archive
cp: cannot stat ‘/home/postgres/arch/20200103/000000010000000000000016’: No such file or directory
2020-01-03 13:09:18.084 CST [22153] LOG:  redo done at 0/15000140
2020-01-03 13:09:18.085 CST [22153] LOG:  last completed transaction was at log time 2020-01-03 11:40:52.26971+08
2020-01-03 13:09:18.125 CST [22153] LOG:  restored log file "000000010000000000000015" from archive
cp: cannot stat ‘/home/postgres/arch/20200103/00000002.history’: No such file or directory
2020-01-03 13:09:18.310 CST [22153] LOG:  selected new timeline ID: 2
2020-01-03 13:09:18.477 CST [22153] LOG:  archive recovery complete
cp: cannot stat ‘/home/postgres/arch/20200103/00000001.history’: No such file or directory
2020-01-03 13:09:18.840 CST [22152] LOG:  database system is ready to accept connections

启动完成,查看表是否存在:

[postgres@centos1 ~]$ psql
psql (11.3)
Type "help" for help.
pgdb=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=# select * from test_bk;
 id 
----
  1
  2

恢复完成,恢复文件会变成.done

-rwxr-x--- 1 postgres postgres 5.7K Jan  3 13:00 recovery.done

顺便记一下逻辑备份的部分嘿嘿

逻辑备份

[postgres@centos1 dump]$ pg_dump -F c -f ./pgdb.dmp -C -E UTF8 -h 192.168.1.212 -p 1921 -U postgres -d pgdb

查看备份文件

[postgres@centos1 dump]$ pg_restore -l ./pgdb.dmp

“postgreSQL11备份与恢复方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: postgreSQL11备份与恢复方法是什么

本文链接: https://www.lsjlt.com/news/63068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • postgreSQL11备份与恢复方法是什么
    本篇内容介绍了“postgreSQL11备份与恢复方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2022-10-18
  • win11备份与恢复的方法是什么
    Windows 11 提供了多种备份和恢复方法,以下是几种常用的方法:1. 使用 Windows 備份與還原工具:Windows 1...
    99+
    2023-09-02
    win11
  • MySQLdump增量备份、完全备份与恢复的方法是什么
    本篇内容主要讲解“MySQLdump增量备份、完全备份与恢复的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQLdump增量备份、完全备份与恢复的方法是什么”吧!在数据库表丢失或...
    99+
    2023-06-16
  • ocr的备份恢复方法是什么
    这篇文章主要介绍“ocr的备份恢复方法是什么”,在日常操作中,相信很多人在ocr的备份恢复方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ocr的备份恢复方法是什么”...
    99+
    2022-10-18
  • Oracle 12c的备份与恢复方法
    本篇内容主要讲解“Oracle 12c的备份与恢复方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle 12c的备份与恢复方法”吧!备份:1.备份全部...
    99+
    2022-10-18
  • Redis数据备份与恢复的方法
    Redis数据备份与恢复的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!Redis RDB方式数据备份与恢复Redis...
    99+
    2022-10-18
  • Gitlab的备份恢复与升级方法
    这篇文章主要介绍了Gitlab的备份恢复与升级方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Gitlab的备份恢复与升级方法文章都会有所收获,下面我们一起来看看吧。一、数据备份先打开/etc/gitlab/...
    99+
    2023-06-27
  • 什么是Mysql的逻辑备份与恢复
    下文我给大家简单讲讲关于什么是Mysql的逻辑备份与恢复,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完什么是Mysql的逻辑备份与恢复对大家多少有点帮助吧。 &nb...
    99+
    2022-10-18
  • windows注册表备份恢复的方法是什么
    Windows注册表是一个非常重要的系统组件,包含了操作系统和安装的应用程序的配置信息。因此,备份和恢复注册表非常重要,以防止不可预...
    99+
    2023-09-08
    windows
  • Oracle的手工备份和恢复方法是什么
    本篇内容主要讲解“Oracle的手工备份和恢复方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的手工备份和恢复方法是什么”吧!一、什么是手工...
    99+
    2022-10-18
  • innobackupex部分表备份和恢复方法是什么
    本篇内容主要讲解“innobackupex部分表备份和恢复方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“innobackupex部分表备份和恢复方法是...
    99+
    2022-10-18
  • Linux系统的备份和恢复方法是什么
    这篇文章主要介绍“Linux系统的备份和恢复方法是什么”,在日常操作中,相信很多人在Linux系统的备份和恢复方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统的备份和恢复方法是什么”的疑...
    99+
    2023-06-15
  • navicat实现mysql备份与恢复的方法
    这篇文章主要介绍navicat实现mysql备份与恢复的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!navicat如何实现mysql备份与恢复推荐:navicat使用教程1、查...
    99+
    2022-10-18
  • Mysql数据库的备份与恢复方法
    这篇文章主要介绍“Mysql数据库的备份与恢复方法”,在日常操作中,相信很多人在Mysql数据库的备份与恢复方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库...
    99+
    2022-10-18
  • DBV冷备份的校验和恢复方法是什么
    这篇文章主要讲解了“DBV冷备份的校验和恢复方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DBV冷备份的校验和恢复方法是什么”吧!校验可用性校验的...
    99+
    2022-10-18
  • oracle增量备份恢复验证的方法是什么
    本篇内容主要讲解“oracle增量备份恢复验证的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle增量备份恢复验证的方法是什么”吧!首先把备份...
    99+
    2022-10-18
  • K8S上备份和恢复应用的方法是什么
    本篇内容主要讲解“K8S上备份和恢复应用的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“K8S上备份和恢复应用的方法是什么”吧!Portworx近期发布了最新版本的PX-Backup。...
    99+
    2023-06-04
  • 虚拟主机mysql备份恢复的方法是什么
    虚拟主机上的MySQL备份恢复的方法如下:1. 使用phpMyAdmin进行备份和恢复:phpMyAdmin是一个基于Web的MyS...
    99+
    2023-08-08
    虚拟主机
  • Oracle备份恢复中热备份恢复及异机恢复的原理是什么
    Oracle备份恢复中热备份恢复及异机恢复的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle备份恢复之热备份恢复及异机...
    99+
    2022-10-19
  • PG中pg_basebackup多表空间备份恢复方法是什么
    这篇文章主要讲解了“PG中pg_basebackup多表空间备份恢复方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PG中pg_basebackup...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作