一,非并行备份(pg_dump)

  1) GP依然支持常规的PostgreSQL备份命令pg_dump和pg_dumpall
  2) 备份将在Master主机上创建一个包含所有Segment数据的大的备份文件
  3) 不适合于全部数据备份,适用于小部分数据的迁移或备份

  pg_dump是用于备份数据库的标准PostgreSQL实用程序,在Greenplum数据库中也受支持。它创建一个(非并行)转储文件。对于Greenplum数据库的常规备份,最好使用Greenplum Database备份实用程序gpcrondump以获得最佳性能。

  如果要将数据迁移到其他数据库供应商的系统,或者使用具有不同段配置的另一个Greenplum
Database系统(例如,如果要迁移到的系统具有更多或更少的段实例),请使用pg_dump。要还原,必须使用相应的pg_restore实用程序(如果转储文件采用存档格式),或者可以使用客户端程序(如psql)(如果转储文件采用纯文本格式)。

  由于pg_dump与常规PostgreSQL兼容,因此可用于将数据迁移到Greenplum数据库。 Greenplum数据库中的pg_dump实用程序与PostgreSQL pg_dump实用程序非常相似,但有以下例外和限制:

  如果使用pg_dump备份Greenplum数据库数据库,请记住,对于非常大的数据库,转储操作可能需要很长时间(几个小时)。此外,您必须确保有足够的磁盘空间来创建转储文件。

  如果要将数据从一个Greenplum数据库系统迁移到另一个,请使用--gp-syntax命令行选项在CREATE
TABLE语句中包含DISTRIBUTED BY子句。这可确保Greenplum Database表数据在还原时与正确的分发键列一起分发。

  即使同时使用数据库,pg_dump也会进行一致的备份。 pg_dump不会阻止访问数据库的其他用户(读者或编写者)。

  当与其中一种存档文件格式一起使用并与pg_restore结合使用时,pg_dump提供了灵活的存档和传输机制。
pg_dump可用于备份整个数据库,然后pg_restore可用于检查存档和/或选择要还原数据库的哪些部分。最灵活的输出文件格式是自定义格式(-Fc)。它允许选择和重新排序所有已归档项目,并在默认情况下进行压缩。
tar格式(-Ft)未压缩,加载时无法重新排序数据,但在其他方面非常灵活。它可以使用标准的UNIX工具(如tar)进行操作

  参数:

 [gpadmin@greenplum01 ~]$ pg_dump --help
pg_dump dumps a database as a text file or to other formats. Usage:
pg_dump [OPTION]... [DBNAME] General options:
-f, --file=FILENAME output file name
-F, --format=c|t|p output file format (custom, tar, plain text)
-i, --ignore-version proceed even when server version mismatches
pg_dump version
-v, --verbose verbose mode
-Z, --compress=- compression level for compressed formats
--help show this help, then exit
--version output version information, then exit Options controlling the output content:
-a, --data-only dump only the data, not the schema
-b, --blobs include large objects in dump
-c, --clean clean (drop) schema prior to create
-C, --create include commands to create database in dump
-d, --inserts dump data as INSERT, rather than COPY, commands
-D, --column-inserts dump data as INSERT commands with column names
-E, --encoding=ENCODING dump the data in encoding ENCODING
-n, --schema=SCHEMA dump the named schema(s) only
-N, --exclude-schema=SCHEMA do NOT dump the named schema(s)
-o, --oids include OIDs in dump
-O, --no-owner skip restoration of object ownership
in plain text format
-s, --schema-only dump only the schema, no data
-S, --superuser=NAME specify the superuser user name to use in
plain text format
-t, --table=TABLE dump only matching table(s) (or views or sequences)
-T, --exclude-table=TABLE do NOT dump matching table(s) (or views or sequences)
-x, --no-privileges do not dump privileges (grant/revoke)
--disable-dollar-quoting disable dollar quoting, use SQL standard quoting
--disable-triggers disable triggers during data-only restore
--use-set-session-authorization
use SESSION AUTHORIZATION commands instead of
ALTER OWNER commands to set ownership
--gp-syntax dump with Greenplum Database syntax (default if gpdb)
--no-gp-syntax dump without Greenplum Database syntax (default if postgresql)
--function-oids dump only function(s) of given list of oids
--relation-oids dump only relation(s) of given list of oids Connection options:
-h, --host=HOSTNAME database server host or socket directory
-p, --port=PORT database server port number
-U, --username=NAME connect as specified database user
-W, --password force password prompt (should happen automatically) If no database name is supplied, then the PGDATABASE environment
variable value is used. Report bugs to <bugs@greenplum.org>.

实例:

. 只导出postgres数据库的数据,不包括模式 -s

   pg_dump -U gpadmin -f /postgres.sql -s postgres(数据库名)

. 导出postgres数据库(包括数据)

   pg_dump -U gpadmin -f /postgres.sql  postgres(数据库名)

. 导出postgres数据库中表test01的数据

   create database "test1" with owner="gpadmin" encoding='utf-8';(单引号,双引号不能错)

   pg_dump -U gpadmin -f /postgres.sql -t test1 postgres(数据库名)

. 导出postgres数据库中表test1的数据,以insert语句的形式

   pg_dump -U gpadmin -f /postgres.sql -t test1 --column-inserts postgres(数据库名)

. 恢复数据到gpdb数据库

  psql -U gpadmin -f /postgres.sql gpdb

二,操作指南

  备份1:

[gpadmin@greenplum01 ~]$ pg_dump -U gpadmin -F t -f /gpbackup/back2/gpdb.tar gpdb
[gpadmin@greenplum01 ~]$

  恢复:

[gpadmin@greenplum01 ~]$ pg_restore -U gpadmin -d gpdb /gpdb.tar
[gpadmin@greenplum01 ~]$

  备份2:

[gpadmin@greenplum01 ~]$ pg_dump -U gpadmin -F c -f /gpbackup/back2/gpdb.tar gpdb

  备份压缩1:

[gpadmin@greenplum01 ~]$ pg_dump -U gpadmin gpdb | gzip > /gpbackup/back2/gpdb.gz
[gpadmin@greenplum01 ~]$

  恢复

 gunzip -c /gpdb.gz | psql -U gpadmin postgres
cat /gpdb.gz | gunzip | psql -U gpadmin postgres

  备份切割:

 pg_dump -U gpadmin -d gpdb | split -b 100k - gpback/gpb

  恢复:

cat /gpback/gpb* | psql -U gpadmin postgres

  

 
 
 

GreenPlum 大数据平台--非并行备份(六)的更多相关文章

  1. GreenPlum 大数据平台--并行备份(四)

    01,并行备份(gp_dump) 1) GP同时备份Master和所有活动的Segment实例 2) 备份消耗的时间与系统中实例的数量没有关系 3) 在Master主机上备份所有DDL文件和GP相关的 ...

  2. GreenPlum 大数据平台--监控

    数据库状态监控活动 活动 过程 纠正措施 列出当前状态为down的Segment.如果有任何行被返回,就会生成一个警告或者告警. 推荐频率:每5到10分钟 重要度: IMPORTANT 在postgr ...

  3. GreenPlum 大数据平台--介绍

    一,GreenPlum 01,介绍: Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,主机.操作系统.内存.存储都是自我控制的,不存在共享. 官 ...

  4. GreenPlum 大数据平台--外部表(三)

    一,外部表介绍 Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表 所谓外部表,就是在数据库中只有表定义.没有数据,数据 ...

  5. GreenPlum 大数据平台--备份-邮件配置-gpcrondump & gpdbrestore(五)

    01,备份 生成备份数据库 [gpadmin@greenplum01 ~]$ gpcrondump -l /gpbackup/back2/gpcorndump.log -x postgres -v [ ...

  6. GreenPlum 大数据平台--运维(三)

    一,操作命令 01,启动gpstart 参数说明 COMMAND NAME: gpstart Starts a Greenplum Database system. ***************** ...

  7. GreenPlum 大数据平台--常用命令

    gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定数据目录(默认值:$MASTE ...

  8. GreenPlum 大数据平台--基础使用(一)

    一,操作语法 01,创建数据库 --创建用户-- [gpadmin@greenplum01 ~]$ export PGDATABASE=testDB --指定数据库名字 [gpadmin@greenp ...

  9. GreenPlum 大数据平台--安装

    1. 环境准备 01, 安装包准备: Greenplum :  >>>>链接地址 Pgadmin客户端 :  >>>链接地址 greenplum-cc-web ...

随机推荐

  1. JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(3):常用动态代理之JDK动态代理、CGLIB动态代理

    一.动态代理的理解 动态代理的意义在于生成一个占位(又称代理对象),来代理真实对象,从而控制真实对象的访问.        先来谈谈什么是代理模式.        假设这样一个场景:你的公司是一家软件 ...

  2. Python - selenium_WebDriver 页面元素操作

    代码是自己写了 python WebDriver  页面操作的常用方法. from selenium import webdriver import time driver = webdriver.F ...

  3. cmake的一些词的解释

    cmake中一些预定义变量 PROJECT_SOURCE_DIR  工程的根目录 PROJECT_BINARY_DIR    运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR} ...

  4. 将“100px” 转换为100

    parseInt("100px") //结果是100

  5. NPOI 2.1.3.1导入Excel

    引入NPOI 2.1.3.1的包 项目引入 using NPOI.XSSF.UserModel;using NPOI.SS.UserModel; 控制器方法: public ActionResult ...

  6. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

  7. YARN 的调度选项

    YARN 中有三种调度器: 1. FIFO 调度器 (FIFO Scheduler) 应用在一个队列中,按照提交的顺序运行应用. 缺点:小作业如果在大作业后面提交,将会一直等到大作业结束才运行. 2. ...

  8. 题解 P2960 【[USACO09OCT]Milkweed的入侵Invasion of the Milkweed】

    题目链接 首先这道题是一道经典的BFS.非常适合刚刚学习深搜的同学. 现在分析一下这个问题.首先,每周是八个方向.就是一圈. 也就是说入侵的范围关于时间是成辐射型扩散.让求最大时间. 也就是完美的BF ...

  9. Qt 学习之路 2(66):访问网络(2)

    Home / Qt 学习之路 2 / Qt 学习之路 2(66):访问网络(2) Qt 学习之路 2(66):访问网络(2)  豆子  2013年10月31日  Qt 学习之路 2  27条评论 上一 ...

  10. MAC终端下常用Git命令

    送给新手的简单命令操作.远程Git和local的同步实现流程: 1.把git上的代码clone到本地 $ git clone http:xxxx(地址,可以http也可以ssh) 2.clone到本地 ...