zoukankan      html  css  js  c++  java
  • postgresql数据库备份恢复

    网上已经有很多文章了,但是自己操作发现了“呵呵”。

    这里只是在Windows上面使用数据库自带备份工具。

    postgresql备份恢复

    1.运维方式备份

      (1)停止数据库,可以拷贝数据库文件。

      2.逻辑备份

       (1)pg_basebackup.exe

                 这是需要启动归档的方式备份,会及时增量备份很及时,恢复也快。

                缺点:需要提前修改数据库位归档模式。备份时还得手工操作,将备份的文件拷贝到合适位置,还得修改数据库配置。

         也就是你必须是专门的数据库人员或者运维人员,负责维护数据。

      具体操作就不写了,按照官方文档来吧。

    (2)pg_dumpall pg_dump

       这2个是可以远程备份的。具体参数就不介绍了,官方文档有的。

      2个区别是pg_dumpall 备份所有数据库,和你连接哪个数据库没有关系;pg_dump是备份单个数据库,要么设置参数,要么就是连接的数据库。

    其实pg_dumpall就是启动的pg_dump,pg_dumpall发现有多少个数据库就调用多少次。

    由于2个工具看单独使用,也就是可以通过编程控制备份,后面再说。

    缺点:(1)慢。

                (2)不能增量,每次都是全部备份,因此很慢

    应用开发

    根据上面说的,我们有专门维护人员还好,如果没有,只是一般小项目,要求我们应用程序中做备份恢复功能怎么办呢?

    只要第二种了。

    这里的问题就一个,没有增量备份,每次全部备份,会有数据备份不全,丢失数据。

    就目前看,一般没有运维的小项目,可以适当损失数据。这种才可以在应用上开发备份。

    基于目前的情况和了解的东西。可以选择pg_dumpall备份数据库结构,不备份数据。pg_dump针对数据库备份数据。

    定期备份或者根据需要立即备份。

    另外,这几个程序都可以从安装路径下拷贝出来单独使用。

    他们依赖的几个库也都在路径下。

    pg_dumpall备份,用psql恢复。pg_dump备份,用pg_restore恢复。

    我整理了一个测试样例。采用的是二进制目录备份,不是文本(SQL)备份。大家需要调整自己查阅文档参数。

    优势是自动压缩并且并行备份。劣势是看不懂不是SQL.

    需要注意的是,备份恢复时,会删除所有数据库内容,包括数据库,全部重新生成。

    官网文档说不能备份用户,没有测试。

    为了测试,我全部拷贝了,并且写了bat文件,全部打包了。

    地址:链接: https://pan.baidu.com/s/1L_3UUcotRgtEla-PDYgXyA 提取码: a635

  • 相关阅读:
    【PyMuPDF和pdf2image】Python将PDF转成图片PNG和JPG
    How to extract images from PDF in Python? 通过python从pdf文件中提取图片
    linux shell 用sed命令在文本的行尾或行首添加字符
    shell中的if语句
    Linux find 用法示例
    Linux 自动删除N小时或分钟前的文件
    记一次Linux磁盘空间占满无法删除的故障
    Shell字符串拼接(连接、合并)
    shell脚本使用之awk按列求平均值(含最大,最小值)
    LVM实现将2块磁盘总空间“合二为一”并挂载到同一目录
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/13617354.html
Copyright © 2011-2022 走看看