ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ## pg_restore 语法 ``` pg_restore [option...] file_path ``` file_path: 是要恢复的文件或者目录的路径。 option : | 参数 | 说明 | | --- | --- | | `-a` `--data-only` | 只恢复数据,而不恢复表模式(数据定义)。 | | `-c` `--clean` | 创建数据库对象前先清理(删除)它们。 | | `-C` `--create` | 在恢复数据库之前先创建它。 | | `-d dbname` `--dbname=dbname` | 与数据库 dbname 联接并且直接恢复到该数据库中。 | | `-e` `--exit-on-error` | 如果在向数据库发送 SQL 命令的时候碰到错误,则退出。缺省是继续执行并且在恢复 结束时显示一个错误计数。 | | `-f filename` `--file=filename` | 声明生成的脚本的输出文件,或者出现-l 选项时用于列表的文件,缺省是标准输出。 | | `-F format` `--format=format` | 声明备份文件的格式。 | | `-i` `--ignore-version` | 忽略数据库版本检查。 | | `-I index` `--index=index` | 只恢复命名的索引。 | | `-l` `--list` | 列出备份的内容。这个操作的输出可以用 -L 选项限制和重排所恢复的项目。 | | `-L list-file` `--use-list=list-file` | 只恢复在 list-file 里面的元素,以它们在文件中出现的顺序。 | | `-n namespace` `--schema=schema` | 只恢复指定名字的模式里面的定义和/或数据。不要和 -s 选项混淆。这个选项可以和 -t 选项一起使用。 | | `-O` `--no-owner` | 不要输出设置对象的权限,以便与最初的数据库匹配的命令。 | | `-s` `--schema-only` | 只恢复表结构(数据定义)。不恢复数据,序列值将重置。 | | `-S username` `--superuser=username` | 设置关闭触发器时声明超级用户的用户名。只有在设置了 –disable-triggers 的时候 才有用。 | | `-t table` `--table=table` | 只恢复表指定的表的定义和/或数据。 | | `-T trigger` `--trigger=trigger` | 只恢复指定的触发器。 | | `-v` `--verbose` | 声明冗余模式。 | | `-x` `--no-privileges` `--no-acl` | 避免 ACL 的恢复(grant/revoke 命令) | | `-X use-set-session-authorization` `--use-set-session-authorization` | 输出 SQL 标准的 SET SESSION AUTHORIZATION 命令,而不是 OWNER TO 命令。 | | `-X disable-triggers` `--disable-triggers` | 这个选项只有在执行仅恢复数据的时候才相关。 | | `-h host` `--host=host` | 声明服务器运行的机器的主机名。 | | `-p port` `--port=port` | 声明服务器侦听的 TCP 端口或者本地的 Unix 域套接字文件扩展。 | | `-U username` | 以给出用户身分联接。 | | `-W` | 强制给出口令提示。如果服务器要求口令认证,那么这个应该自动发生。 | ## 示例 ``` pg_restore -d db_name path_to_db_backup_file.tar ```