Postgresql数据备份与恢复的几种方式

pg_dump备份

备份成可insert格式的sql文件:

#pg_dump -h localhost -U postgres -d dbName -f /path/dump.sql
  1. -h 指定要连接的主机
  2. -U 连接数据库的用户名
  3. -d 在导出的数据库名称
  4. -f 导出保存到的文件,也可以用 > 转储如
#pg_dump -h localhost -U postgres -d dbName > /path/dump.sql

但是这样备份是不能用pg_restore 导入的,如果支持pg_restore导入需加 -F参数

#pg_dump -h localhost -U postgres -d dbName -F c > /path/dump.dat
  1. -F, --format=c|d|t|p 输出文件格式 ,(c-定制, d-目录, t-tar, p-默认)

如果只想导出单张表:

#pg_dump -h localhost -U postgres -d dbName -t tableName > /path/table.sql
  1. -t, --table=tableName 只转储单张表的数据

如果只想导出单张表的表结构,不需要导出表数据:

#pg_dump -h localhost -U postgres -d dbName -t tableName --exclude-table-data=tableName > /path/table.sql
  1. –exclude-table-data不导出指定表的数据

psql 命令

psql也可以转储结询出果,或者把备份的数据导入。
把查询结果导出:

#psql -h localhost -U postgres -d dbName -c "select * from tableName where id>100" > result.txt
  1. -c ,–command=命令 执行单一命令(SQL或内部指令)然后结束

把pg_dump 导出的普通文档格式的数据导入:

#psql -h localhost -U postgres -d dbName -f result.txt

以上命令将执行文件里的命令。

psql指令 \copy

psql -c 导出的数据没办法直接在shell下执行导入,如果只想导入导出单张表里的部分数据, pg_dump -F c 的格式可以用pg_restore导入, 但是往往pg_dump 没加这个参数,这时候可以在psql shell里执行 \copy 指令来完成部分数据的备份导入,比较方便。

=> \copy (select * from tableName where id>100) to '/path/data.dat' with binary;

以上语句在psql shell里执行, 将根据sql语句导出数据, 如要把导出的数据导入到另一个表里只需如下执行:

=> \copy tableName from '/path/data.dat' with binary;

把可以以copy的方式把数据导出为csv,如下:

=> \copy tableName to '/path/copy.csv' csv header;

或者把csv格式的数据导入,如下:

=> \copy tableName from '/path/copy.csv' DELIMITER ',' csv header;

pg_restore

pg_dump 以-F c 的导出数据,可以用pg_restore 导入:

# pg_restore -h localhost -U postgres -d dbName -t tableName  /path/dump.dat
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《PostgreSQL使用教程》是一本关于PostgreSQL数据库的电子书,旨在帮助读者全面了解并掌握PostgreSQL的使用方法和技巧。以下是关于这本电子书的一些回答: PostgreSQL是一种自由开源的关系型数据库管理系统,它的功能强大且可扩展。《PostgreSQL使用教程》从入门到高级层面,系统地介绍了PostgreSQL的安装、配置、以及常见的数据库操作,如创建数据库、创建表、插入数据、查询数据等基本操作。 本书首先会详细介绍PostgreSQL的安装和配置过程。通过文中的步骤和图文并茂的示例,读者可以轻松地将PostgreSQL安装在自己的计算机上,并进行必要的设置。 接下来,本书会逐步介绍数据库的基本操作。读者将学习如何创建和删除数据库、创建和删除表,以及对表进行修改等。此外,本书还会介绍如何向表中插入数据、更新和删除数据,以及如何进行复杂的查询操作。 除了基本操作之外,本书还会介绍PostgreSQL的高级特性和技巧。例如,读者将学习如何创建索引以提高查询性能,如何备份和恢复数据库,以及如何进行事务处理等。此外,本书还会介绍PostgreSQL的安全设置和用户管理等重要内容。 总的来说,《PostgreSQL使用教程》是一本非常实用的电子书,适合对PostgreSQL感兴趣的人使用。通过阅读本书,读者能够快速上手并掌握PostgreSQL的基本使用方法,从而更好地应用和管理PostgreSQL数据库。 ### 回答2: 《PostgreSQL使用教程》是一本关于PostgreSQL数据库的电子书,旨在帮助读者学习和掌握PostgreSQL的使用方法和技巧。 本书分为多个章节,首先介绍了PostgreSQL的基本概念和特点,包括数据库、表、列、行以及SQL等基本概念。接着详细讲解了PostgreSQL的安装和配置,以及如何创建数据库和表格。读者可以按照书中提供的步骤一步一步操作,轻松上手使用。 本书还详细介绍了PostgreSQL的数据类型、索引和约束,包括如何创建和管理各种类型的数据,并讲解了索引和约束的作用和使用方法。此外,还介绍了如何使用SQL语句进行数据的插入、查询、更新和删除操作,以及如何进行复杂的查询和连接查询。 另外,本书还通过实例讲解了PostgreSQL的高级特性,如视图、事务和存储过程等,读者可以通过实践来深入理解这些概念和技术。书中还提供了一些常见问题的解决方法和优化技巧,帮助读者更好地利用PostgreSQL的功能。 总的来说,该电子书以简洁明了的语言和丰富的实例,系统地介绍了PostgreSQL的使用方法和技巧,适合初学者和有一定数据库基础的读者阅读。通过学习本书,读者可以全面了解和掌握PostgreSQL的使用,提高数据管理和查询的效率,并解决一些常见的问题和优化难题。 ### 回答3: PostgreSQL是一个开源的关系型数据库管理系统,具有稳定性、可靠性和安全性。要学习PostgreSQL的使用,可以通过以下几个步骤。 1. 安装和配置PostgreSQL:首先,你需要下载并安装PostgreSQL的软件包。安装过程中会要求设置数据库的用户名、密码等信息。安装完成后,还需要配置数据库服务器的端口和访问权限等参数。 2. 掌握基本的SQL语法:学习PostgreSQL之前,你需要了解SQL语言的基本概念和语法。SQL是一种用于数据库操作的标准化语言,包括数据的查询、插入、更新和删除等操作。 3. 数据库的创建与管理:在学习PostgreSQL时,你需要学会创建和管理数据库。可以通过使用命令行工具或可视化工具来创建数据库、添加表、定义字段和约束等。 4. 数据的查询和操作:数据库最主要的作用是存储和查询数据。你需要学会使用SELECT语句查询数据,使用INSERT语句插入新数据,使用UPDATE语句更新数据,使用DELETE语句删除数据等。 5. 数据库的优化与实践:为了提高数据库的性能和效率,你需要了解一些优化技巧。例如,创建索引、优化查询语句、控制事务的使用等。 6. 了解高级特性:PostgreSQL提供了许多高级特性,例如分区表、视图、触发器、存储过程等。学习这些特性可以帮助你更好地利用PostgreSQL的功能。 对于初学者来说,可以参考一些电子书来学习PostgreSQL的使用。有一些经典的教程电子书如《PostgreSQL 9高级教程与实例分析》、《PostgreSQL 9数据库管理与开发实例教程》等。这些电子书详细介绍了PostgreSQL的各个方面,从基础知识到高级技巧都有涉及。 此外,你还可以查阅PostgreSQL官方文档,在官网上找到详细的教程和指南。官方文档提供了全面而详细的信息,帮助你深入理解和学习PostgreSQL的使用。 总之,学习PostgreSQL需要掌握基本的SQL语法,了解数据库的创建和管理,掌握查询和操作数据的技巧,并深入了解其高级特性。结合电子书和官方文档,可以帮助你更好地学习和应用PostgreSQL

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值