数据库服务器 之 Postgresql备份和恢复------SQL转储篇
<span style="font-size: 11.6667px; color: #4b4b4b; line-height: 20px;">作者:小P来自:LinuxSir.Org
摘要: 和任何包含珍贵数据的东西一样,PostgreSQL 数据库也应该经常备份。备份PostgreSQL数据库有三种方法,各种方法有利有弊,本文先讲一下SQL转储的方法。
目录
[*]
2.1 pg_dump;2.2 pg_dumpall;2.3 计划任务;
3.1 用pg_dump恢复;3.2 用pg_dumpall恢复;3.3 ANALYZE;
[*]
[*]
4.3.1 分割;4.3.2 合并;
4.1 输出大数据库;4.2 恢复大数据库;4.3使用slipt;
1. 综述;2. 数据备份;3. 从转储中恢复;4. 处理大数据库;5. 关于本文;6. 更新日志;7. 参考文档;8. 相关文档;
+++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++
您是否遇到过因为不小心而删除了某个数据库表,或者是存放数据库的磁盘损坏了的情况呢?如果碰到这种情况,我相信您会觉得非常的沮丧,因为您努力了几个星期的工作成果可能就付之东流了。和任何包含珍贵数据的东西一样,PostgreSQL数据库也应该经常备份。如果您将数据存放在 PostgreSQL 表中,您就可以定时的进行数据库备份,从而避免发生上面的悲剧。PostgreSQL 自带有内置工具来执行备份工作,而且在系统出现损坏或是意外时,您可以通过这些工具进行“回滚”,并通过以前保存的快照将系统恢复到其初始的状态。
1. 综述;
PostgreSQL数据库从备份 PostgreSQL 数据有三种完全不同的方法:
SQL 转储
文件系统级别备份
在线备份
每种备份都有自己的优点和缺点,下面主要介绍SQl转储的方法;
2. 数据备份;
SQL 转储的方法是创建一个文本文件,这个文本里面都是 SQL 命令,当把这个文件回馈给服务器时,将重建与转储时状态一样的数据库。
2.1 pg_dump;
PostgreSQL 自带的内置备份工具叫做 pg_dump。这个工具是通过一系列的SQL语句读取某个指定的数据库并复制其中的内容,以它作为快照并用于日后的数据恢复。客户端到服务器端的连接是用于执行备份工作。这些备份文件就是前面所讲的快照并可以用于日后的数据恢复。而保证客户端与服务器端的连接是执行备份所必需的。这条命令的基本用法是:
pg_dump dbname > outfile
注:在进行上述工作之前,首先请确保您具有登录到服务器并访问您将要备份的数据库或表的权限。您可以通过使用PostgreSQL 命令行客户端——psql,进行服务器登录。在客户端中输入主机名(-h),用户名(-u)和密码(-p),以及数据库名,然后就可以校验您是否被授权访问。
使用 pg_dump 非常的简单——只需要在命令提示符后面输入将要导出的数据库名就可以进行备份工作了,如下例所示(根据您自己的安装路经更改PostgreSQL 路径):
<div class="codeblock">xiaop@xiaop-laptop:~$ /usr/lib/postgresql/8.2/bin/pg_dump -D -h localhost -U xiaop(用户名) mydb(数据库名称) > mydb.bak
页:
[1]