`

PostgreSQL备份恢复一:转储

阅读更多

总体上命令形式如下:

pg_dump -h数据库服务器IP -hpg端口 -U用户名 -W密码 -F *备份文件的格式 -f 备份文件名 要备的数据库
pg_restore  -h数据库服务器IP -hpg端口 -U用户名 -W密码 -d 数据库名 备份文件名

其中数据库服务器IP为本机可以省略,端口为默认端口可以省略

 

常用的对应逻辑备份恢复命令示例如下,这些命令我都试过,可以成功运行:

1
a 备份数据库 beigang
 pg_dump -Ubeigang -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 恢复前先创建用户和数据库,然后执行恢复
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 pg_restore -U beigang -d beigang beigang_dump.pgdump
 验证
 beigang=# select * from test;
  id | name
 ----+------
   1 | 贝钢
 (1 行记录)
2
a 以custom format备份数据库 beigang
 pg_dump -Ubeigang -F c -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 pg_restore -U beigang -F c -d beigang beigang_dump.pgdump
3
a 以directory format备份数据库 beigang
 pg_dump -Ubeigang -F d -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 pg_restore -U beigang -F d -d beigang beigang_dump.pgdump
4
a 以plain text format备份数据库 beigang
 pg_dump -Ubeigang -F p -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 psql -Ubeigang < beigang_dump.pgdump
5
a 以plain text format备份数据库 beigang 的数据,不包括模式
 pg_dump -Ubeigang -F p -a -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 create schema xxx
  create table test (id numeric ,name varchar(20));
 psql -Ubeigang < beigang_dump
6
a 以plain text format备份数据库 beigang 的模式,不包括数据
 pg_dump -Ubeigang -F p -s -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 psql -Ubeigang < beigang_dump
 --只恢复了表定义
7
a 以plain text format备份数据库 beigang 的表test
 pg_dump -Ubeigang -F p -t test -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 psql -Ubeigang < beigang_dump
 --只恢复了备份的表
8

a 以plain text备份这个DBMS

 pg_dumpall -Ubeigang -f pgdb.pgdump
b 恢复数据库系统

 psql -Ubeigang < beigang_dump

分享到:
评论

相关推荐

    postgresql 8 for suse 11

    PostgreSQL 8 for SUSE 11 是一个专为SUSE Linux Enterprise Server 11设计的开源对象关系数据库管理系统(ORDBMS),该版本在2009年发布,是PostgreSQL数据库系统的早期版本。PostgreSQL以其强大的功能、稳定性、...

    pg_dump-to-s3:自动将PostgreSQL备份转储并存档到Amazon S3

    `pg_dump-to-s3`工具正是结合这两者,为PostgreSQL用户提供了一个自动化的方式来定期备份数据库并将其安全地存储在Amazon S3上。 ### PostgreSQL数据库备份 PostgreSQL提供了多种备份方法,其中`pg_dump`是常用的...

    转储postgis数据库方法.docx

    本文档将详细介绍如何通过命令行工具进行PostGIS数据库的转储(备份)与恢复(导入),并提供具体的步骤和注意事项。 #### 二、准备工作 在开始之前,请确保已经完成了以下准备工作: 1. **安装PostgreSQL**:...

    PostgreSQL中的备份表(不是数据库)

    1. **PostgreSQL备份概述**: - PostgreSQL是开源的对象关系型数据库系统,支持多种操作系统,包括Windows。 - 数据库备份是防止数据丢失的重要步骤,它可以通过复制数据库或其部分(如表)到安全存储来实现。 2....

    快速转储和加载数据库

    在IT行业中,数据库的快速转储与加载是数据库管理和维护中的关键操作,特别是在进行备份、迁移、测试环境的搭建以及灾难恢复等场景下。这里我们将深入探讨这一主题,特别是结合PHP开发中的“其它杂项”标签,我们...

    数据库备份和文件夹备份

    - 执行备份:使用数据库管理系统(如MySQL, PostgreSQL, Oracle, SQL Server等)提供的工具或第三方软件执行备份操作。 - 验证备份:定期检查备份文件的完整性和可恢复性,确保备份有效。 - 存储和管理备份:备份应...

    postgresql_ha.zip

    当需要从备份恢复时,可以使用pg_restore或pg_ctl命令加载备份文件到数据库。在主从架构下,通常先在备用服务器上恢复,确认无误后再切换为主库。 6. **故障切换** 在主库出现故障时,可以通过Promotion角色将从...

    为不同后端(文件、mongoDB、mysql、postgres等)创建恢复简单、增量和加密的备份_Go_Makefile.zip

    MySQL和PostgreSQL的备份通常涉及生成SQL转储文件,然后在Go程序中读取和存储这些文件。 4. **加密备份**: 为了保护备份数据的安全性,我们可以使用Go的加密库,如`crypto/aes`和`crypto/cipher`,对备份文件进行...

    pg_export:用于创建PostgreSQL转储并将其导出到FTP的CLI

    特征:使用shell命令pg_dump和pg_restore通过OpenSSL AES-128-CBC加密转储可通过环境变量配置使用ruby临时文件,因此本地转储会自动进行垃圾收集通过交互模式轻松恢复转储依存关系Ruby&gt; = 2.3.0 $ pg_dump $ pg_...

    dump_fdw:Postgres 转储文件的外部数据包装器

    此扩展为 PostgreSQL 实现了一个外部数据包装器,能够直接从 PostgreSQL 自定义转储格式的文件中查询数据。 这可用于恢复特定于行的数据。 笔记。 这仅在 PostgreSQL 9.1/9.2/9.3/9.4 上测试过,目前是原型。 不要...

    资料转储

    7. 数据恢复:数据转储的另一个重要方面是能够从备份恢复数据,尤其是在系统崩溃或数据损坏的情况下。 8. 性能优化:大规模数据转储可能对系统性能产生影响,因此需要规划好转储的时间和方式,以减少对业务运营的...

    mssql-to-pgsql:将表内容从Microsoft SQL Server数据库复制到PostgreSQL数据库

    - 在迁移前备份数据:确保在迁移过程中可以恢复到原始状态。 - 测试迁移:先在小规模的数据集上测试,确认无误后再进行全量迁移。 - 性能优化:考虑批量插入,减少网络和数据库的交互次数,提高效率。 了解以上...

    postgresql_dumps

    恢复转储文件到 PostgreSQL 数据库时,你可以使用 `pg_restore` 命令。例如,要从之前创建的 "backup.sql" 文件恢复数据: ``` pg_restore -h your_server -U your_username -d mydatabase -Fc backup.sql ``` 此...

    Greenplum使用pg_dump备份数据库1

    `pg_dump`是PostgreSQL数据库系统提供的一个实用程序,用于创建数据库的转储(或备份)。在Greenplum中,这个工具同样适用,可以生成包含SQL语句的文本文件,这些语句能够重建数据库中的所有对象(如表、索引、视图...

    backup.rar

    1. **pg_dump**: 这是PostgreSQL数据库管理系统提供的一个实用工具,用于创建数据库的结构、数据或者全部内容的转储文件。pg_dump可以用来备份数据库,以便在需要时恢复数据。 2. **C#和WinForm**: C#是一种面向...

    瀚高数据库V5管理手册V4.0.pdf

    - **2.3.1 SQL转储**:如何使用SQL命令进行数据备份。 - **2.3.2 文件系统级别的备份**:直接在文件系统层面进行备份。 - **2.3.3 连续归档和时间点恢复(PITR)** - **建立WAL归档**:设置WAL日志的归档。 - **...

    postgres 命令

    1. **pg_dump**: 这是一个非常关键的工具,用于对 PostgreSQL 数据库进行完整备份。pg_dump 可以在不影响其他用户的同时,生成一致性的备份,即使数据库正在被并发使用。它有两种输出格式:脚本(SQL 命令)和归档...

    pg_tools:Python PostgreSQL工具

    总结来说,`pg_tools` 是一款强大的PostgreSQL管理工具,它简化了数据库的备份、恢复、维护和查询过程,对Python开发者和数据库管理员来说都是极具价值的工具。由于其开源性质和MIT许可证,用户可以自由地根据自身...

Global site tag (gtag.js) - Google Analytics