20170629 本次操作是完成pgsql的逻辑备份 pg_dump

安装debian 8.2

省略

安装postgresql

省略

备份前准备工作

创建用户

postgres=# create user usr_pyb with password 'rootroot';
CREATE ROLE查看用户
postgres=# \du+
                             角色列表
  角色名称  |               属性                | 成员属于 | 描述
------------+-----------------------------------+----------+------
 postgres   | 超级用户, 建立角色, 建立 DB, 复制    | {}       |
 replicator | 复制                              | {}       |
 usr_pyb    |                                  | {}       | 创建数据库
postgres=# create database db_pyb with owner=usr_pyb;
CREATE DATABASE查看数据库
postgres=# \l
                                     资料库列表
   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限
-----------+----------+----------+-------------+-------------+-----------------------
 db_pyb    | usr_pyb  | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 行记录)

以 usr_pyb 用户登录 db_pyb 数据库
$ psql -h 127.0.0.1 -U usr_pyb -d db_pyb

先查看下连接情况

db_pyb=> \x
扩展显示已打开。
db_pyb=> select * from pg_stat_activity;
-[ RECORD 1 ]----+--------------------------------
datid            | 24649
datname          | db_pyb
procpid          | 5513
usesysid         | 24645
usename          | usr_pyb
application_name | psql
client_addr      | 127.0.0.1
client_hostname  |
client_port      | 53029
backend_start    | 2017-06-28 22:29:11.271483+08
xact_start       | 2017-06-28 22:29:47.887419+08
query_start      | 2017-06-28 22:29:47.887419+08
waiting          | f
current_query    | select * from pg_stat_activity;
创建表
db_pyb=> create table test_1 (c1 bigint,c2 text);
CREATE TABLE插入100W条数据
db_pyb=> insert into test_1(c1,c2) select generate_series(1,1000000), md5(random()::text);
INSERT 0 1000000创建索引
create index idx_test_1_x1 on test_1(c1);
create index idx_test_1_x2 on test_1(c2);或者用下面的语句创建索引
CREATE INDEX idx_test_1_x1 ON test_1 USING btree (c1);
CREATE INDEX idx_test_1_x2 ON test_1 USING btree (c2);查看对象大小
select pg_size_pretty(pg_relation_size('test_1')) ,pg_size_pretty(pg_indexes_size('test_1')),pg_size_pretty(pg_total_relation_size('test_1')); pg_size_pretty | pg_size_pretty | pg_size_pretty
----------------+----------------+----------------73 MB          | 78 MB          | 151 MB
(1 行记录)

开始备份


纯文本 备份某个数据库
pg_dump -h 127.0.0.1 -U postgres db_pyb > /mnt/pg_dump_test/20170629_1341_db_pyb.sql
pg_dump -h 127.0.0.1 -U postgres db_pyb -f /mnt/pg_dump_test/20170629_1341_db_pyb.sql

纯文本 恢复某个数据库
psql -h 127.0.0.1 -U postgres -d db_pyb < /mnt/pg_dump_test/20170629_1341_db_pyb.sql
psql -h 127.0.0.1 -U postgres -d db_pyb -f /mnt/pg_dump_test/20170629_1341_db_pyb.sql


纯文本 压缩 备份
pg_dump -h 127.0.0.1 -U postgres db_pyb | gzip > /mnt/pg_dump_test/20170629_1341_db_pyb.gz

纯文本 压缩 恢复
gunzip -c /mnt/pg_dump_test/20170629_1341_db_pyb.gz | psql -h 127.0.0.1 -U postgres -d db_pyb


使用 pg_dump -F 备份
-F format
–format=format
选择输出的格式。format可以是下列之一:
p 输出纯文本SQL脚本文件(缺省)
t 输出适合输入到 pg_restore 里的tar归档文件。 使用这个归档允许在恢复数据库时重新排序和/或把表结构排除在外。
同时也可能可以在恢复的时候限制对哪些数据进行恢复。
c 输出适于给 pg_restore 用的客户化归档。 这是最灵活的格式,它允许对装载的数据和纲要元素进行重新排列。
这个格式缺省的时候是压缩的。

-F, –format=c|d|t|p output file format (custom, directory, tar, plain text)

------------
custom 备份
pg_dump -h 127.0.0.1 -U postgres db_pyb -Fc -f /mnt/pg_dump_test/20170629_1341_db_pyb.cuscustom 恢复
pg_restore -h 127.0.0.1 -U postgres -d db_pyb -v /mnt/pg_dump_test/20170629_1341_db_pyb.cus ------------
directory 备份
pg_dump -h 127.0.0.1 -U postgres db_pyb -Fd -f /mnt/pg_dump_test/20170629_1341_db_pybdirectory 恢复
pg_restore -h 127.0.0.1 -U postgres -d db_pyb -v /mnt/pg_dump_test/20170629_1341_db_pyb ------------
tar 备份
pg_dump -h 127.0.0.1 -U postgres db_pyb -Ft -f /mnt/pg_dump_test/20170629_1341_db_pyb.tartar 恢复
pg_restore -h 127.0.0.1 -U postgres -d db_pyb -v /mnt/pg_dump_test/20170629_1341_db_pyb.tar

备份指定表结构和内容 -t test_1

pg_dump -h 127.0.0.1 -U postgres -t test_1 db_pyb -f /mnt/pg_dump_test/20170629_1341_db_pyb

备份指定表结构 -s -t test_1

pg_dump -h 127.0.0.1 -U postgres -s -t test_1 db_pyb -f /mnt/pg_dump_test/20170629_1341_db_pyb

备份指定表数据 -a -t test_1

pg_dump -h 127.0.0.1 -U postgres -a -t test_1 db_pyb -f /mnt/pg_dump_test/20170629_1341_db_pyb

psql,pg_restore 都可以用来恢复,只是有些导出格式必须用pg_restore

以下是pg_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 search_path = public, pg_catalog;
SET default_tablespace = ”;
SET default_with_oids = false;

转载于:https://www.cnblogs.com/ctypyb2002/p/9793147.html

postgresql 9.1 下的 pg_dump 的初步研究相关推荐

  1. PostgreSQL安装、验证安装、pgAdmin初步简单使用

    PostgreSQL安装.验证安装.pgAdmin初步简单使用 引言 数据库安装 基本步骤 注意事项 重新安装 安装验证 SQL shell (psql)方式验证 pgAdmin初步使用 启动pgAd ...

  2. GWT与Eclipse集成开发初步研究

    GWT与Eclipse集成开发初步研究 原文:http://blog.sina.com.cn/s/blog_415bd707010086cy.html JDK6.0 下载.安装.配置 http://b ...

  3. 如何用计算机辅助语言学习英语,计算机辅助下语言学习教学模式研究

    计算机辅助下语言学习教学模式研究 0引言 在现代我国高等职业教学规模不断扩大的过程中,其教学结构和体系也在不断的完善,人们也逐渐认识到高等教育中教学与学习活动的改革重要性.计算机辅助语言学习属于现代教 ...

  4. “科学学”视角下的科研工作者行为研究

    "科学学"视角下的科研工作者行为研究 贾韬1, 夏锋2 1 西南大学计算机与信息科学学院,重庆 400715 2 大连理工大学软件学院,辽宁 大连 116620 摘要:科学的复杂性 ...

  5. 基于《悉尼协议》框架下Java课程案例教学研究

    文章目录 基于<悉尼协议>框架下Java课程案例教学研究 一.Java课程教学存在问题 (一)Java课程目标定位不足 (二)Java课程教学存在的问题 1. 教材内容更新滞后 2. 学习 ...

  6. ros构建机器人运动学模型_ROS环境下机器人仿真模型构建方法研究.doc

    ROS环境下机器人仿真模型构建方法研究 ROS环境下机器人仿真模型构建方法研究 摘 要: 在众多的机器人仿真平台中,ROS可以封装机器人硬件.提出在ROS环境下构建机器人的仿真模型方法.设计了机器人仿 ...

  7. 一种从Robotstudio环境中导出机器人模型并在MATLAB下使其可视化的研究记录

    1.前记:回到学校反而没时间记录了自己瞎折腾的东西了,允我长长的叹一口气   '_' // 先提一下,在这篇MATLAB机器人可视化博客中提到了如何使CAD模型的机器人在MATLAB环境下可视化的问题 ...

  8. 计算机应用技术环境评估,Web服务环境下的信任评估模型研究-计算机应用技术专业论文.docx...

    Web服务环境下的信任评估模型研究-计算机应用技术专业论文 中文摘要 中文摘要 I I 摘要 Web 服务作为一种新兴的商业应用模式,是分布式计算中间件模型发展的必然结 果,安全性问题已经成为制约其发 ...

  9. python程序设计教程张莉课后答案_新课标教育背景下Python项目式学习模式研究

    黄杨坚 摘 要:Python项目式学习作为一种新型学习模式,在我国当前学生教育改革工作实施中占据着重要地位,要想提升我国学生教育质量,就应该在现有学生教育工作实施中,按照新课标教育实施中的要求,将项目 ...

最新文章

  1. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
  2. 计算机视觉与深度学习 | 使用MATLAB实现图像SURF特征的提取与匹配以及目标定位(代码类)
  3. 统计学习方法第二十一章作业:PageRank迭代算法、幂法、代数算法 代码实现
  4. 数据结构与算法 / 字符串匹配算法汇总
  5. Netstars CTO陈斌:架构师的成长之路
  6. win7焦点总是不停丢失的解决方法
  7. java jnlp 签名_JAVA JNLP组件数字签名制作步骤
  8. if __name__ == __main__:什么意思_【Python】__name__ 是什么?
  9. 熊猫merge()–合并两个DataFrame对象
  10. 火狐与Chrome浏览器的移动端调试模式(手机页面、自适应)
  11. 文字转语音开源软件-espeak
  12. 矩阵快速幂codevs 3332 数列
  13. 【IDE】【WebStorm】html排版设置head和body缩进
  14. 实验四——反汇编工具的使用
  15. code review流程规范
  16. linux解压rar.gz,Linux tar.gz 、zip、rar 解压 压缩命令
  17. [树形dp] Jzoj P1162 贪吃的九头龙
  18. 如何让3ds Max 2016导入smd文件
  19. 【解决方案】国标GB28181视频监控平台国标流媒体服务器EasyGBS如何实现安保行业日常巡查视频监控系统解决方案?
  20. 关于AD19常用功能和使用技巧的总结

热门文章

  1. LintCode:尾部的零
  2. DE29 Matrix Exponentials
  3. kmeans不足举例(code)
  4. cognos的HTMl显示,cognos利用html项目和提示元素结合
  5. Java改环境变量把path修改了,CentOS查看和修改PATH环境变量的方法
  6. 逻辑回归算法python_逻辑回归算法原理和例子
  7. Docker组队学习(一)
  8. 转行算法,90%的人还没开始就错在了这1步
  9. opencv+python机读卡识别
  10. python画图turtle小人_python海龟绘图怎么增加每次画圆的半径|海龟python做图教程...