备份数据库:
pg_dump -h localhost -U root demo02 > /home/arno/dumps/demo02.bak

恢复数据库:
psql -h localhost -U root -d demo <  demo.bak

备份表:
pg_dump -h localhost -U root demo02 -t books > /home/arno/dumps/books.bak

恢复表:
psql -h localhost -U root -d demo -t books <  /home/arno/dumps/books.bak

psql copy to/from用法:

1. 需要使用postgres超级用户登陆数据库
   psql -U postgres -d demo02

2. 保存/读取的文件夹需要赋予postgres用户可读写的权限

3. 导出表中数据到文件
   copy books to '/opt/PostgreSQL/9.5/data/xxx.csv' with CSV;

4. 导入文件内容到数据库(增加不是覆盖,以前表中数据保留)
   copy books(id,title) from '/opt/PostgreSQL/9.5/data/xxx.csv' delimiter as ',' csv ;

以上参考网址:

https://my.oschina.net/bianweiall/blog/516604

https://www.cnblogs.com/alianbog/p/5621660.html

https://www.cnblogs.com/chjbbs/p/6480687.html

注意:

1,该命令是在dos窗口执行的,而且需要定位到命令所在的文件夹,比如我的psql命令是在F:\install\postgre9.4.5\bin。F:\install\postgre9.4.5是我的数据库的安装路径。

2,低版本的数据库不能对高版本的数据库进行备份和还原操作,因此有可能需要对自己的数据库进行升级(我是重装数据库,因为我的数据库中没什么数据,所以懒得备份,实际中你们可以按照前面的命令进行数据库的备份,然后重装)。

3,在使用copy命令的时候需要先登录数据库,因为copy命令是数据库自带的命令,而且在copy的末尾,一定要加分号,默认是以分号结束。

4,导入文件时原表需要存在,表结构需要完整,导入数据只是导入数据内容,并不会创建表结构,而且导入的时候是以追加的方式,并不会覆盖表中原来的数据。

5,使用psql恢复数据时,如果数据库中有相同的表格,那么会以追加的形式恢复数据,但是会提示2个ERROR,一个表示的是原表存在,另一个表示的是只能有一个主键(前提是设置了主键)。

但是通过查看数据库可以知道,即使报错,数据也可以恢复成功。

这几点是我在实际操作过程中遇到的问题,希望对大家有帮助。

另外,也可以使用navicat进行数据库的迁移,但是不能对单独的数据表进行操作。

postgresql批量备份和恢复数据表的更多相关文章

  1. PostgreSQL备份和恢复数据表

    备份数据表: pg_dump -U user_name db_name -t table_name -f /tmp/backup_file.suffix 恢复数据表: 方法1: 登录数据库:\i /t ...

  2. Oracle 备份、恢复单表或多表数据步骤

    Oracle 备份.恢复单表或多表数据步骤,适用于 Oracle 8.9.10.        *备份单表或多表数据: exp user/password@server file=filefullpa ...

  3. PostgreSQL的备份和恢复

    关于PostgreSQL的备份和恢复详细信息请参阅<PostgreSQL中文文档>. 备份: #pg_dump --username=postgres v70_demo > v70_ ...

  4. postgresql数据库备份和恢复

    PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...

  5. mysql学习(4)-mysqldump备份和恢复数据

    背景 最近在公司做数据迁移方面的工作,使用mysql数据库在测试环境模拟数据迁移,在迁移测试的过程中需要做数据备份和恢复 mysql数据备份和恢复比较简单,可以选择mysqldump工具,这里简单提一 ...

  6. MySql在生产环境中是用mysqldump还是xtrabackup备份和恢复数据

    如题,究竟该使用mysqldump还是xtrabackup,要说用,两个都能备份,都支持热备,但是生产环境我们要考虑的是效率,就是不管备份还是恢复,都要快,要稳定. 之前我在维护mysql数据库的时候 ...

  7. 12 postgresql数据库备份和恢复

    数据表结构备份与恢复 备份 1.找到postgres 安装目录,在找到bin文件夹,会看到一堆exe后缀的文件,用win+r 打开cmd,将pg_dump.exe 拖进cmd黑窗口中 2.基本语法:- ...

  8. postgresql数据库备份和恢复(超快)

    PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...

  9. MySQL 备份和恢复数据

    备份指定数据库的全部表或指定表 mysqldump -u user -h localhost -p [password] db_name[ tbl_name[,tbl_name.......]]> ...

随机推荐

  1. c++ 生成dll文件并调用

    2 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

  2. Fiddler常用命令

    几个常用的命令行方法使用: 查找对应响应码的数据包或请求类型的数据包: 输入“=post”将选择post的数据包并用蓝色底标色 输入:=502 查找服务器返回是图片类型的请求 输入 select im ...

  3. Javascript中的this指向。

    一.JavaScript中的函数 在了解this指向之前,要先弄明白函数执行时它的执行环境是如何创建的,这样可以更清楚的去理解JavaScript中的this指向. function fn(x,y,n ...

  4. [转] Ubuntu16.04完美安装Sublime text3

    转载自:https://www.cnblogs.com/hupeng1234/p/6957623.html 1.安装方法 1)使用ppa安装 sudo add-apt-repository ppa:w ...

  5. postman之如何获取cookie

    1.最近在学习postman的使用方法,为了保证后续模块操作,必须在登录时获取的session值,并将其设置为环境变量,session的位置处于response headers里面返回的set-coo ...

  6. Qthread的使用方法

    1:重载 run()函数 2:将对象移到Qthread对象中 Movetothread 该方法必须通过信号 -槽来激发.

  7. HTML知识点梳理1

    1,HTML基本结构 <!DOCTYPE html> <html> <head></head> <body> </body> & ...

  8. PTA——洗牌

    PTA 7-43 Shuffling Machine #include<stdio.h> int main() { int i,n,*result; scanf("%d" ...

  9. 15.python并发编程(线程--进程--协程)

    一.进程:1.定义:进程最小的资源单位,本质就是一个程序在一个数据集上的一次动态执行(运行)的过程2.组成:进程一般由程序,数据集,进程控制三部分组成:(1)程序:用来描述进程要完成哪些功能以及如何完 ...

  10. ES6语法知识

    let/const(常用) let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(通俗讲就是一个花括号内是一个新的作用域) 这里外部的 ...