1. 程式人生 > >Greenplum使用pg_dump最備份資料庫

Greenplum使用pg_dump最備份資料庫

目錄

1 說明

2 備份資料

1 說明

Greenplum 支援邏輯備份。我們使用Greenplum自帶的pg_dump命令實現邏輯備份功能,匯出備份檔案,再通過 psql 匯入到Greenplum中,達到備份的效果。

2 備份資料

2.1 建立需要備份的資料庫

建立dump1資料庫,並在資料庫中建立test1的schema,建立幾張表並插入資料

2.2 執行備份資料庫的命令

pg_dump -U username -h hostname -p port databasename -f filename

引數說明如下:

username:本地資料庫使用者名稱 hostname:本地資料庫主機名,如果是在本地資料庫主機登入,可以使用 localhost port:本地資料庫埠號 databasename:要備份的本地資料庫名 filename:要生成的備份檔名稱

例項:

$ pg_dump -h 192.168.100.55 -U gpmon  -p 2345 dump1  -f dump1.sql Password: 

2.3 檢視備份出來的資料格式

$ head -n 40 dump1.sql  -- -- Greenplum Database database dump --

SET statement_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SET check_function_bodies = false; SET client_min_messages = warning;

SET default_with_oids = false;

-- -- Name: test1; Type: SCHEMA; Schema: -; Owner: gpmon --

CREATE SCHEMA test1;

ALTER SCHEMA test1 OWNER TO gpmon;

SET search_path = public, pg_catalog;

SET default_tablespace = '';

-- -- Name: test1; Type: TABLE; Schema: public; Owner: gpmon; Tablespace:  --

CREATE TABLE test1 (     id integer,     name character varying(255) ) DISTRIBUTED RANDOMLY;

ALTER TABLE public.test1 OWNER TO gpmon;

-- -- Data for Name: test1; Type: TABLE DATA; Schema: public; Owner: gpmon

**********************

3 恢復備份資料

3.1 建立需要恢復的資料庫

CREATE DATABASE dump2;

3.2 匯入備份資料

psql -U username -h hostname -d desintationdb -p port -f dumpfilename.sql

引數說明如下: username:RDS 上的 PostgreSQL 資料庫使用者名稱 hostname:RDS 上的 PostgreSQL 資料庫地址 port:RDS 上的 PostgreSQL 資料庫埠號 databasename:RDS 上的 PostgreSQL 資料庫名 filename:本地備份資料檔名

例項:

$ psql -U gpmon -h 192.168.100.55 -d dump2 -p 2345 -f dump1.sql Password for user gpmon:  SET SET SET SET SET SET CREATE SCHEMA ALTER SCHEMA SET SET CREATE TABLE ALTER TABLE CREATE TABLE ALTER TABLE SET CREATE TABLE ALTER TABLE REVOKE REVOKE GRANT GRANT