是否使用命令行还原postgres备份文件?

我是postgresql的新手,在本地,我使用pgadmin3。然而,在远程服务器上,我没有这样的奢侈

我已经创建了数据库的备份并复制了它,但是,有没有办法从命令行恢复备份?我只看到与GUI或pg_转储相关的东西,所以,如果有人能告诉我如何进行,那就太好了

根据创建转储文件的方式,有两种工具可供查看

您的第一个参考源应该是手册页pg_dump(1),因为这就是创建转储本身的原因。它说:

转储可以在脚本或脚本中输出
归档文件格式。脚本转储是
包含SQL语句的纯文本文件
重建所需的命令
数据库已恢复到它原来的状态
在它被保存的时候。到
从这样的脚本还原,将其馈送到
psql(1)。可以使用脚本文件
甚至重建数据库
在其他机器和其他设备上
建筑;经过一些修改
甚至在其他SQL数据库产品上

可供选择的归档文件格式
必须与pg_restore(1)一起使用,以
重建数据库。他们允许
pg_restore需要选择什么
恢复,甚至重新排序
恢复前的项目。这个
归档文件格式旨在
可跨架构移植

这取决于它被丢弃的方式。您可能可以使用优秀的文件(1)命令找到它-如果它提到ASCII文本和/或SQL,则应使用psql进行还原,否则您可能应该使用pg\u restore

恢复非常简单:

psql-U username-d dbname<filename.sql
–对于Postgres 9.0或更早版本
psql-U username-d dbname-1-f filename.sql

pg\U restore-U username-d dbname-1 filename.dump

查看他们各自的手册页-有很多选项会影响恢复的工作方式。根据转储的生成方式,您可能必须在恢复之前清除“活动”数据库或从template0重新创建它们(如注释中所指出的)

发表评论