我用
pg_dump db_production > postgres_db.dump
然后使用scp将其复制到localhost。
现在当我导入我的本地db时,它给出了一个错误
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
使用命令行
pg_restore -d db_development postgres_db.dump
我用
pg_dump db_production > postgres_db.dump
然后使用scp将其复制到localhost。
现在当我导入我的本地db时,它给出了一个错误
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
使用命令行
pg_restore -d db_development postgres_db.dump
当前回答
提供了一个简单的回答,这对我有用,对你也适用于大多数情况
psql -U username -d database_name < dump_file.sql . d
如果上面给出与角色相关的错误,则将username替换为postgres。
psql -U postgres -d database_name < dump_file.sql . d
其他回答
如果您恢复。sql文件。 在pgAdmin中创建一个新数据库。 进入终端,浏览.sql文件所在的文件夹/目录。然后在终端中写入以下命令。
让: 超自然用户后
Examaple:
sudo -u postgres psql newDb < restoreDb.sql
如果使用pg_dump和-Fp进行明文备份,则使用以下命令:
cat db.txt | psql dbname
将所有数据复制到名为dbname的数据库
上面的答案对我没用,下面这个有用:
PSQL db_development < postgres_db.dump
提供了一个简单的回答,这对我有用,对你也适用于大多数情况
psql -U username -d database_name < dump_file.sql . d
如果上面给出与角色相关的错误,则将username替换为postgres。
psql -U postgres -d database_name < dump_file.sql . d
创建备份时,可能希望在另一个网络中恢复它或创建远程恢复。
我们需要使用——format=custom [-Fc]创建一个备份文件,然后使用pg_restore恢复它。我们可以使用连接字符串postgresql://<user>:<pass>@localhost:5432/<dbname>并替换<user>, <pass>和<dbname>与您的信息。
pg_dump -v -Fc \
postgresql://<user>:<pass>@localhost:5432/<dbname> \
> db-20211122-163508.sql
要恢复,我们将使用——clean [-c]和——create [-c]来调用它,在恢复之前删除数据库。将<用户>,<主机>,<端口>,<dbname>替换为您的信息。
pg_restore -vcC \
-U <user> \
-h <host> \
-p <port> \
-d <dbname> \
< db-20211122-163508.sql