zoukankan      html  css  js  c++  java
  • PostgreSQL数据的导出导入 save your data!

    PostgreSQL数据的导出导入

    导出PostgreSQL数据库中的数据:

    $ pg_dump -U postgres  -f mydatabase.sql  mydatabase

    导入数据时首先创建数据库再用psql导入:

    $ createdb newdatabase
    $ psql -d newdatabase -U postgres -f mydatabase.sql

    定期保存数据,以防万一。下载定期保存。服务器如果整个毁掉?映像不可恢复?

    至少资料还在。

    什么backup都比不上这个backup plan。 

    这里提供其他的方法:

    引用来自:http://jingyan.baidu.com/article/bad08e1e84fe8109c951217b.html

    1. 导入整个数据库

      psql -U postgres(用户名)  数据库名(缺省时同用户名) < /data/dum.sql

    2.  

      导出整个数据库

      pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)   >/data/dum.sql

    3. 4

      导出某个表

      pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)  -t table(表名) >/data/dum.sql

    4. 5

      压缩方法

      一般用dump导出数据会比较大,推荐使用xz压缩

      压缩方法  xz dum.sql 会生成 dum.sql.xz 的文件

    5. 6

      xz压缩数据倒数数据库方法

      xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)

    这里还有边导出边压缩的方式

    引用: http://blog.163.com/dazuiba_008/blog/static/3633498120139313376223/

    1.建立管道:
    #mknod dumpipe p
     
    2.导出指定表test数据
    postgres=# select count(*) from test;
     count 
    -------
       601
    (1 row)
    #pg_dump -h 127.0.0.1 -U postgres  -a  -t test  -f dumpipe & gzip<dumpipe>test.dmp.gz
     
    3.删除数据
    postgres=# truncate table test;
    TRUNCATE TABLE
    postgres=# select count(*) from test;
     count 
    -------
         0
    (1 row)
     
    4.导入数据,删除管道
    #psql -f dumpipe & gunzip <test.dmp.gz >dumpipe
    postgres=# select count(*) from test;
     count 
    -------
       601
    (1 row)
    #rm -f dumpipe
     
     
     
  • 相关阅读:
    BOM、DOM
    logstash进程杀不掉
    awk正则匹配nginx日志【原创】
    14个最常见的Kafka面试题及答案【转】
    gpk-update-icon占用CPU及清除【原创】
    tracert和traceroute使用
    Centos 6.4搭建git服务器【转】
    ELK&ElasticSearch5.1基础概念及配置文件详解【转】
    Nginx实现404页面的几种方法【转】
    MySQL数据库的“十宗罪”【转】
  • 原文地址:https://www.cnblogs.com/spaceship9/p/4188554.html
Copyright © 2011-2022 走看看