注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

PostgreSQL:关于二进制( Fc ) 格式备份文件  

2013-12-26 16:21:54|  分类: PG备份与恢复 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

     在某些时候需要恢复数据,对于压缩(pg_dump -Fc )的备份文件,如果不确定里面的内容
可以通过以下方法确认。

--1 查看备份文件信息和列表
      这里有个 francs.dmp 备份文件,如果查看这个备份文件的信息和内容,可以这么做。
 [pg93@redhatB tf]$ pg_restore -l francs.dmp
;
; Archive created at Thu Dec 26 15:48:43 2013
;     dbname: francs
;     TOC Entries: 178
;     Compression: -1
;     Dump Version: 1.12-0
;     Format: CUSTOM
;     Integer: 4 bytes
;     Offset: 8 bytes
;     Dumped from database version: 9.3.0
;     Dumped by pg_dump version: 9.3.0
;
;
; Selected TOC Entries:
;
3074; 1262 16390 DATABASE - francs postgres
6; 2615 16395 SCHEMA - fracns francs
8; 2615 16391 SCHEMA - francs francs
3075; 0 0 ACL - francs francs
7; 2615 2200 SCHEMA - public postgres
3076; 0 0 COMMENT - SCHEMA public postgres
3077; 0 0 ACL - public postgres
701; 2612 16399 PROCEDURAL LANGUAGE - plperlu postgres
216; 3079 12616 EXTENSION - plpgsql 
3078; 0 0 COMMENT - EXTENSION plpgsql 
217; 3079 16400 EXTENSION - postgres_fdw 
3079; 0 0 COMMENT - EXTENSION postgres_fdw 
218; 1255 16705 FUNCTION francs dummy() francs
233; 1255 16404 FUNCTION francs func_create_daily_table(character varying, integer) francs
234; 1255 16405 FUNCTION francs multiply(integer, integer) francs
235; 1255 16406 FUNCTION francs my_func() francs
236; 1255 16407 FUNCTION public fun_log_drop_command() postgres
1672; 1417 16408 SERVER - srv_source_db postgres
3080; 0 0 ACL - srv_source_db postgres
3081; 0 0 USER MAPPING - USER MAPPING francs SERVER srv_source_db postgres
215; 1259 24860 TABLE francs New_Table francs
3082; 0 0 ACL francs New_Table francs
172; 1259 16410 TABLE francs foo francs
3083; 0 0 ACL francs foo francs
173; 1259 16413 FOREIGN TABLE francs ft_test_1 francs
3084; 0 0 ACL francs ft_test_1 francs
174; 1259 16416 TABLE francs test_1 francs
3085; 0 0 ACL francs test_1 francs
175; 1259 16419 TABLE francs test_1_20130725 francs
3086; 0 0 ACL francs test_1_20130725 francs
176; 1259 16422 TABLE francs test_1_20130726 francs
3087; 0 0 ACL francs test_1_20130726 francs
177; 1259 16425 TABLE francs test_2 francs
3088; 0 0 ACL francs test_2 francs
178; 1259 16428 TABLE francs test_3 francs
3089; 0 0 ACL francs test_3 francs
179; 1259 16431 TABLE francs test_4 francs
3090; 0 0 ACL francs test_4 francs
214; 1259 16706 TABLE francs test_5 francs
3091; 0 0 ACL francs test_5 francs
180; 1259 16437 TABLE francs test_6 francs
3092; 0 0 ACL francs test_6 francs
213; 1259 16668 TABLE francs test_archive francs
3093; 0 0 ACL francs test_archive francs
181; 1259 16441 TABLE francs test_array francs
3094; 0 0 ACL francs test_array francs
212; 1259 16665 TABLE francs test_big francs
3095; 0 0 ACL francs test_big francs
182; 1259 16447 TABLE francs test_cache francs
3096; 0 0 ACL francs test_cache francs
183; 1259 16453 TABLE francs test_con francs
3097; 0 0 ACL francs test_con francs
184; 1259 16457 TABLE francs test_full francs
3098; 0 0 ACL francs test_full francs
185; 1259 16460 TABLE francs test_full_20130625 francs
3099; 0 0 ACL francs test_full_20130625 francs
186; 1259 16463 TABLE francs test_full_20130626 francs
3100; 0 0 ACL francs test_full_20130626 francs
187; 1259 16466 TABLE francs test_full_20130627 francs
3101; 0 0 ACL francs test_full_20130627 francs
188; 1259 16469 TABLE francs test_full_20130628 francs
3102; 0 0 ACL francs test_full_20130628 francs
189; 1259 16472 TABLE francs test_full_20130629 francs
3103; 0 0 ACL francs test_full_20130629 francs
190; 1259 16475 TABLE francs test_full_20130630 francs
3104; 0 0 ACL francs test_full_20130630 francs
191; 1259 16478 TABLE francs test_full_20130701 francs
3105; 0 0 ACL francs test_full_20130701 francs
192; 1259 16481 TABLE francs test_full_20130702 francs
3106; 0 0 ACL francs test_full_20130702 francs
193; 1259 16484 TABLE francs test_full_20130703 francs
3107; 0 0 ACL francs test_full_20130703 francs
194; 1259 16487 TABLE francs test_full_20130704 francs
3108; 0 0 ACL francs test_full_20130704 francs
195; 1259 16490 TABLE francs test_full_20130705 francs
3109; 0 0 ACL francs test_full_20130705 francs
196; 1259 16496 TABLE francs test_json1 francs
3110; 0 0 ACL francs test_json1 francs
197; 1259 16503 SEQUENCE francs test_json1_id_seq francs
3111; 0 0 SEQUENCE OWNED BY francs test_json1_id_seq francs
198; 1259 16505 TABLE francs test_lock francs
3112; 0 0 ACL francs test_lock francs
199; 1259 16514 TABLE francs test_notice francs
3113; 0 0 ACL francs test_notice francs
200; 1259 16517 TABLE francs test_notice2 francs
3114; 0 0 ACL francs test_notice2 francs
201; 1259 16520 SEQUENCE francs test_notice2_id_seq francs
3115; 0 0 SEQUENCE OWNED BY francs test_notice2_id_seq francs
202; 1259 16522 SEQUENCE francs test_notice_id_seq francs
3116; 0 0 SEQUENCE OWNED BY francs test_notice_id_seq francs
211; 1259 16662 TABLE francs test_num francs
3117; 0 0 ACL francs test_num francs
203; 1259 16524 TABLE francs test_pri francs
3118; 0 0 ACL francs test_pri francs
204; 1259 16527 TABLE francs test_state francs
3119; 0 0 ACL francs test_state francs
205; 1259 16531 TABLE francs test_sub francs
3120; 0 0 ACL francs test_sub francs
206; 1259 16534 TABLE francs test_trigger_bk francs
3121; 0 0 ACL francs test_trigger_bk francs
207; 1259 16537 TABLE francs test_view1 francs
3122; 0 0 ACL francs test_view1 francs
208; 1259 16540 TABLE francs test_xlog francs
3123; 0 0 ACL francs test_xlog francs
209; 1259 16543 VIEW francs view1_test francs
3124; 0 0 ACL francs view1_test francs
210; 1259 16547 TABLE public tbl_ddl_drop_log postgres
3125; 0 0 ACL public tbl_ddl_drop_log postgres
2874; 2604 16553 DEFAULT francs id francs
2875; 2604 16554 DEFAULT francs id francs
2876; 2604 16555 DEFAULT francs id francs
3069; 0 24860 TABLE DATA francs New_Table francs
3028; 0 16410 TABLE DATA francs foo francs
3029; 0 16416 TABLE DATA francs test_1 francs
3030; 0 16419 TABLE DATA francs test_1_20130725 francs
3031; 0 16422 TABLE DATA francs test_1_20130726 francs
3032; 0 16425 TABLE DATA francs test_2 francs
3033; 0 16428 TABLE DATA francs test_3 francs
3034; 0 16431 TABLE DATA francs test_4 francs
3068; 0 16706 TABLE DATA francs test_5 francs
3035; 0 16437 TABLE DATA francs test_6 francs
3067; 0 16668 TABLE DATA francs test_archive francs
3036; 0 16441 TABLE DATA francs test_array francs
3066; 0 16665 TABLE DATA francs test_big francs
3037; 0 16447 TABLE DATA francs test_cache francs
3038; 0 16453 TABLE DATA francs test_con francs
3039; 0 16457 TABLE DATA francs test_full francs
3040; 0 16460 TABLE DATA francs test_full_20130625 francs
3041; 0 16463 TABLE DATA francs test_full_20130626 francs
3042; 0 16466 TABLE DATA francs test_full_20130627 francs
3043; 0 16469 TABLE DATA francs test_full_20130628 francs
3044; 0 16472 TABLE DATA francs test_full_20130629 francs
3045; 0 16475 TABLE DATA francs test_full_20130630 francs
3046; 0 16478 TABLE DATA francs test_full_20130701 francs
3047; 0 16481 TABLE DATA francs test_full_20130702 francs
3048; 0 16484 TABLE DATA francs test_full_20130703 francs
3049; 0 16487 TABLE DATA francs test_full_20130704 francs
3050; 0 16490 TABLE DATA francs test_full_20130705 francs
3051; 0 16496 TABLE DATA francs test_json1 francs
3126; 0 0 SEQUENCE SET francs test_json1_id_seq francs
3053; 0 16505 TABLE DATA francs test_lock francs
3054; 0 16514 TABLE DATA francs test_notice francs
3055; 0 16517 TABLE DATA francs test_notice2 francs
3127; 0 0 SEQUENCE SET francs test_notice2_id_seq francs
3128; 0 0 SEQUENCE SET francs test_notice_id_seq francs
3065; 0 16662 TABLE DATA francs test_num francs
3058; 0 16524 TABLE DATA francs test_pri francs
3059; 0 16527 TABLE DATA francs test_state francs
3060; 0 16531 TABLE DATA francs test_sub francs
3061; 0 16534 TABLE DATA francs test_trigger_bk francs
3062; 0 16537 TABLE DATA francs test_view1 francs
3063; 0 16540 TABLE DATA francs test_xlog francs
3064; 0 16547 TABLE DATA public tbl_ddl_drop_log postgres
2879; 2606 16607 CONSTRAINT francs test_4_pkey francs
2883; 2606 16609 CONSTRAINT francs test_full_20130625_pkey francs
2885; 2606 16611 CONSTRAINT francs test_full_20130626_pkey francs
2887; 2606 16613 CONSTRAINT francs test_full_20130627_pkey francs
2889; 2606 16615 CONSTRAINT francs test_full_20130628_pkey francs
2891; 2606 16617 CONSTRAINT francs test_full_20130629_pkey francs
2893; 2606 16619 CONSTRAINT francs test_full_20130630_pkey francs
2895; 2606 16621 CONSTRAINT francs test_full_20130701_pkey francs
2897; 2606 16623 CONSTRAINT francs test_full_20130702_pkey francs
2899; 2606 16625 CONSTRAINT francs test_full_20130703_pkey francs
2901; 2606 16627 CONSTRAINT francs test_full_20130704_pkey francs
2903; 2606 16629 CONSTRAINT francs test_full_20130705_pkey francs
2881; 2606 16631 CONSTRAINT francs test_full_pkey francs
2905; 2606 16633 CONSTRAINT francs test_json1_pkey francs
2907; 2606 16635 CONSTRAINT francs test_lock_pkey francs
2911; 2606 16641 CONSTRAINT francs test_notice2_pkey francs
2909; 2606 16639 CONSTRAINT francs test_notice_pkey francs
2913; 2606 16643 CONSTRAINT francs test_pri_pkey francs
2916; 2606 16646 CONSTRAINT francs test_sub_pkey francs
2918; 2606 16648 CONSTRAINT francs test_view1_pkey francs
2914; 1259 16644 INDEX francs uni_test_pri_name francs
3027; 2618 16603 RULE francs rule_foo francs
2870; 3466 16602 EVENT TRIGGER - trg_log_drop_command postgres
备注:上面列出了数据库的函数,表,序列等列表,由于 francs.dmp 是压缩过的二进制文件,如果想
             转换成 sql 文件,应该如何做呢?
      
--2 转换二进制文件
       由于 .dmp 文件是通过 -Fc 压缩的二进制文件,且压缩比很大,如果想查看其详细SQL 内容,
可通过以下命令查看,这里仅查看头部 50 行.
 [pg93@redhatB tf]$ pg_restore francs.dmp | head -n 50
--
-- PostgreSQL database dump
--

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

--
-- Name: fracns; Type: SCHEMA; Schema: -; Owner: francs
--

CREATE SCHEMA fracns;


ALTER SCHEMA fracns OWNER TO francs;

--
-- Name: francs; Type: SCHEMA; Schema: -; Owner: francs
--

CREATE SCHEMA francs;


ALTER SCHEMA francs OWNER TO francs;

--
-- Name: plperlu; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres
--

CREATE OR REPLACE PROCEDURAL LANGUAGE plperlu;


ALTER PROCEDURAL LANGUAGE plperlu OWNER TO postgres;

--
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: 
--

CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;


--
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: 
--

COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
   备注: pg_dump 备份时有四种格式 p(plain), c(custom), d(directory), t(tar),其中 custom 格式最为
              灵活,建议使用,关于各参数详见以下文档。

--3 参考

  评论这张
 
阅读(533)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016