pg_dump
和 pg_restore
是 PostgreSQL 数据库管理系统中用于备份和恢复数据的两个关键工具。
pg_dump:pg_dump
是一个用于导出(备份)PostgreSQL 数据库的命令行实用程序。它可以创建数据库的逻辑备份,即以SQL命令的形式将表结构、数据以及相关的权限信息等保存到一个文件中。用户可以根据需要选择不同的导出级别,例如仅导出架构(不包括数据)、只导出特定模式的数据或者整个数据库。基本使用格式如下:
pg_dump [选项] [数据库名] > [备份文件名.sql]
例如:
pg_dump -U myuser -F c mydatabase > backup.dump
在这个例子中,我们以定制格式(c)导出了名为 "mydatabase" 的数据库,并将其内容保存到了名为 "backup.dump" 的文件中,同时指定了数据库连接时使用的用户名为 "myuser"。
pg_restore:pg_restore
是用来从之前由 pg_dump
创建的备份文件中恢复数据库的工具。它能够处理多种不同格式的备份文件(如自压缩格式、目录格式或tar归档格式等),并可以根据需要灵活地导入部分或全部备份内容。基本使用格式如下:
pg_restore [选项] [备份文件名] -d [目标数据库名]
例如:
pg_restore -U myuser -d restored_db backup.dump
在此例中,我们将之前用 pg_dump
生成的 "backup.dump" 文件恢复到了名为 "restored_db" 的数据库中,同样使用了用户名 "myuser" 进行数据库连接。
通过这两个工具的配合使用,可以实现对 PostgreSQL 数据库安全且高效的备份与恢复操作。