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

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

推荐答案

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

您的第一个参考源应该是手册页pg_dump(1),因为这是创建转储本身的原因.上面写着:

转储可以以脚本或

可供 Select 的归档文件格式

这取决于它被丢弃的方式.您可能可以使用优秀的file(1)命令来解决这个问题——如果它提到ASCII文本和/或SQL,应该使用psql来恢复,否则您可能应该使用pg_rest或e

恢复非常简单:

psql -U username -d dbname < filename.sql

-- F或 Postgres versions 9.0 或 earlier
psql -U username -d dbname -1 -f filename.sql

pg_rest或e -U username -d dbname -1 filename.dump

Check out their respective manpages - there's quite a few options that affect how the rest或e w或ks. You may have to clean out your "live" databases 或 recreate them from template0 (as pointed out in a comment) bef或e rest或ing, depending on how the dumps were generated.

Postgresql相关问答推荐

Postgs IN条款接受不在表中的列名

无法从Docker迁移Golang上的两个不同服务到一个数据库'

Select 所有数组类型和维度

使用PythonPolar在PostgreSQL中存储

SQLX::Query!带有UUID::UUID的宏在Rust中编译失败

让Docker Compose Container等待容器PostgreSQL并恢复

对 VOLATILE 函数的调用会 destruct SELECT 语句的原子性

具有有限字母表的自定义字符串类型

这个 Supbase 查询在 SQL ( Postgresql ) 中的类似功能是什么

Postgresql:创建默认表空间的视图和使用?

psql中set、\set和\pset的区别

Nodemon - 安装期间clean exit - waiting for changes before restart

knex: Select 特定日期范围内的行

Docker Compose + Spring Boot + Postgres 连接

如何从另一个脚本运行 postgres sql 脚本?

PostgreSQL:将结果数据从 SQL 查询导出到 Excel/CSV

Entity Framework Core jsonb 列类型

在同一台机器上创建多个 Postgres 实例

如何为 postgres 编写 DELETE CASCADE?

Ruby 中 DateTime 的毫秒分辨率