首页 > 其他分享 >pg_dump与pg_restore的逻辑逻辑备份还原

pg_dump与pg_restore的逻辑逻辑备份还原

时间:2024-08-09 13:49:50浏览次数:6  
标签:restore 逻辑 tar dump 备份 pg 格式

 

整理了一下pg_dump逻辑备份还原,pg啥时候推出一个库级别的物理备份还原就好,逻辑备份能行但操作大库效率太低,就像MySQL/MSSQL一样,跨实例做库级别还原的需求太多了

pg_dump备份

pg_dump备份
    
    -F format 参数,备份文件的格式。format可以是下列之一:
    p plain
        输出一个纯文本形式的SQL脚本文件(默认值)。
    c custom
        输出一个适合于作为pg_restore输入的自定义格式归档。和目录输出格式一起,这是最灵活的输出格式,它允许在恢复时手动选择和排序已归档的项。这种格式在默认情况还会被压缩。
    d directory
        输出一个适合作为pg_restore输入的目录格式归档。这将创建一个目录,其中每个被转储的表和大对象都有一个文件
    t tar
        输出一个适合于输入到pg_restore中的tar-格式归档。tar 格式可以兼容目录格式,抽取一个 tar 格式的归档会产生一个合法的目录格式归档。不过,tar 格式不支持压缩。
        还有,在使用 tar 格式时,表数据项的相对顺序不能在恢复过程中被更改。

    --plain格式备份
    pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Fp -f /usr/local/pgbackup/plain_formart_dump.sql  db02
    导出的格式为txt格式的平面文件,可执行的sql文本

    --custom格式备份
    pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Fc -f /usr/local/pgbackup/custom_formart_dump.sql db02
    导出custom格式备份,无法以文本格式打开,不可读

    --directory格式备份,指定一个路径而不是文件名,另,该格式允许使用-j选项进行表级别并行备份
    pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Fd -f /usr/local/pgbackup/db02dirbak db02

    --tar格式备份,指定一个不存在的文件名
    pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Ft -f /usr/local/pgbackup/db02tarbak.tar db02

pg_restore还原

pg_restore还原

    pg_restore还原命令从pg_dump创建的备份文件中恢复PostgreSQL数据库:
    1,pg_restore会自动判断格式,可以不用指定文件格式
    2,指定备份文件的格式。因为pg_restore会自动判断格式, 所以如果一定要指定的话,
        它可以是下面之一:
        c custom 备份的格式是来自pg_dump的自定义格式。
        d directory 备份是一个目录归档。
        t tar 备份是一个tar归档。
    3,-Fc:指定备份文件格式,pg_restore会自动判断格式,可以不用指定文件格式
    4,-c:此选项为恢复指定“clean”模式。它告诉 pg_restore 在重新创建数据库对象(表、函数等)之前删除它们。这可以确保恢复的数据库处于干净状态,并与备份文件的结构相匹配。
    
    --plain格式备份无法通过pg_restore还原,只能通过psql命令导入
    psql  -h 127.0.0.1 -p 9100 -U postgres  db03 < /usr/local/pgbackup/plain_formart_dump.sql

    --custom格式备份还原
    pg_restore -v -h 127.0.0.14 -p 9100 -U postgres -Fc -c -d db05  /usr/local/pgbackup/custom_formart_dump.sql
    1,将custom_formart_dump.sql备份恢复到db05数据库中,db05必须已经存在

    --directory格式备份还原
    pg_restore -v -h 127.0.0.1 -p 9100 -U postgres -Fd -c -d db04  /usr/local/pgbackup/db02dirbak

    --tar格式备份还原
    pg_restore -v -h 127.0.0.1 -p 9100 -U postgres -Ft -c -d db04  /usr/local/pgbackup/db02tarbak.tar

 

标签:restore,逻辑,tar,dump,备份,pg,格式
From: https://www.cnblogs.com/wy123/p/18350626

相关文章

  • fpga图像处理实战-RGB转YCBCR(YUV)算法
    YCBCR        YCbCr是一种用于数字图像和视频的颜色空间。它将颜色分解为亮度(Y)和两个色度分量(Cb和Cr)。这种分解使得视频压缩和传输更加高效,因为人眼对亮度变化更敏感,而对色度变化较不敏感。        亮度(Y):亮度表示图像的灰度级别或光强度。它是RGB颜色空间中......
  • fpga图像处理实战-RGB与HSV互转
    HSV颜色模型        HSV(Hue,Saturation,Value)颜色模型是一种常用的色彩表示方式,特别适用于图像处理、计算机图形学和色彩选取工具中。它通过将颜色的表示从传统的RGB(红、绿、蓝)模型转换为更符合人类视觉感知的方式来描述颜色。以下是HSV模型的三个主要分   ......
  • fpga图像处理实战-YCBCR转RGB
    计算公式    R=Y+1.402*(V-128)=Y+1.402*CR-1.402*128  G=Y-0.344*(U-128)-0.714*(V-128)=Y-0.344*CB-0.714*CR+1.058*128   B=Y+1.772*(U-128)=Y+1.772*CB-1.772*128FPGA实现`timescale1ns/1ps////Company://......
  • 【教程4>第3章>第5节】8ASK解调系统的FPGA开发与matlab验证
    本课程学习成果预览 欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.8ASK解调理论简介3.8ASK解调过程的MATLA......
  • DFPGL50G正点原子开发板“Scan Outer Flash”失败
    故障描述:提示“E:JtagServer-0336:Flashidis0x0,maybetheclockfrequencyishighorthisflashisnotsupported,pleasereducetheclockfrequencyofcableorreplacewithotherflash.E:Configuration-0008:Thecommand‘ScanOuterSPIFlash’exe......
  • Robot Operating System——深度解析单线程执行器(SingleThreadedExecutor)执行逻辑
    大纲创建SingleThreadedExecutor新增Nodeadd_nodetrigger_entity_recollectcollect_entities自旋等待get_next_executablewait_for_workget_next_ready_executableTimerSubscriptionServiceClientWaitableAnyExecutableexecute_any_executable参考资料在ROS2中,我......
  • PostgreSQL学习之pg_recvlogical与pgoutput的使用
        参考:        pg内功修炼:逻辑复制_pgoutput-CSDN博客        PG原生解码工具pg_recvlogical的使用-在脑裂时帮我们找回丢失的数据-腾讯云开发者社区-腾讯云(tencent.com)        postgresql数据库的原生解码插件pg_recvlogical可以将wal......
  • pg一些常用语句记录
    查看数据库大小pg_size_pretty:将数据库用量展示为KB、MB、GB等样式,查看更直观查看具体某个数据库的大小selectpg_size_pretty(pg_database_size('postgres'));查看所有数据库的大小selectpg_database.datname,pg_size_pretty(pg_database_size(pg_database.datna......
  • 【项目实战】在 MyBatis Plus 中添加 `@TableLogic` 注解,以实现逻辑删除
    一,需求描述在MyBatisPlus中实现逻辑删除是一种常见的需求逻辑删除,通常用于避免直接从数据库中物理删除数据,而是标记这些数据为“已删除”。逻辑删除,可以通过在表中添加一个额外的字段(如deleted或is_deleted)来实现。逻辑删除,当该字段为某个值时(例如1或者true),表示这......
  • 逻辑运算符
    1.与(&&)两个变量必须一致(都是true),否则否则输出的就是false2.或(||)我或者你,其中一个变量是true,那么输出的值就一定是true3.非(!())把括号里的值进行反转,比如括号是真,则输出为假......