Has*_*mad 51 postgresql backup pg-restore
我使用备份
pg_dump db_production > postgres_db.dump
Run Code Online (Sandbox Code Playgroud)
然后我使用scp将其复制到localhost.
现在,当我导入我的本地数据库时,它会出错
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
Run Code Online (Sandbox Code Playgroud)
通过使用commad行
pg_restore -d db_development postgres_db.dump
Run Code Online (Sandbox Code Playgroud)
Зел*_*ный 80
在你投票之前
这只是文档的一部分!
从pg_dump文档:
例子
要将名为mydb的数据库转储到SQL脚本文件中:
$ pg_dump mydb > db.sql
Run Code Online (Sandbox Code Playgroud)
要将这样的脚本重新加载到名为newdb的(新创建的)数据库中:
$ psql -d newdb -f db.sql
Run Code Online (Sandbox Code Playgroud)
要将数据库转储到自定义格式的归档文件中:
$ pg_dump -Fc mydb > db.dump
Run Code Online (Sandbox Code Playgroud)
要将数据库转储到目录格式存档中:
$ pg_dump -Fd mydb -f dumpdir
Run Code Online (Sandbox Code Playgroud)
要将存档文件重新加载到名为newdb的(新创建的)数据库中:
$ pg_restore -d newdb db.dump
Run Code Online (Sandbox Code Playgroud)
从pg_restore文档:
例子
假设我们将名为mydb的数据库转储到自定义格式的转储文件中:
$ pg_dump -Fc mydb > db.dump
Run Code Online (Sandbox Code Playgroud)
要删除数据库并从转储中重新创建它:
$ dropdb mydb
$ pg_restore -C -d postgres db.dump
Run Code Online (Sandbox Code Playgroud)
Uzi*_*dez 27
上面的答案对我不起作用,这有效:
psql db_development < postgres_db.dump
小智 21
对我来说,当我尝试从我使用的远程主机恢复时
psql -U username -p 5432 -h 10.10.10.1 -d database < db.dump
Run Code Online (Sandbox Code Playgroud)
工作正常。如果不是远程,只需遵循以下命令即可。
psql -d database < db.dump
Run Code Online (Sandbox Code Playgroud)
Tim*_*her 18
为了使用pg_dump兼容的方式创建备份,pg_restore您必须在创建转储时使用--format=custom/ -Fc。
从文档:
输出适合输入到 pg_restore 的自定义格式存档。
所以你的pg_dump命令可能看起来像:
pg_dump --file /tmp/db.dump --format=custom --host localhost --dbname my-source-database --username my-username --password
Run Code Online (Sandbox Code Playgroud)
还有你的pg_restore命令:
pg_restore --verbose --clean --no-acl --no-owner --host localhost --dbname my-destination-database /tmp/db.dump
Run Code Online (Sandbox Code Playgroud)
小智 8
对我来说,它就像这样工作。
C:\Program Files\PostgreSQL\12\bin> psql -U postgres -p 5432 -d dummy -f C:\Users\Downloads\d2cm_test.sql
Run Code Online (Sandbox Code Playgroud)
小智 7
如果恢复.SQL 文件。 在 pgAdmin 中创建一个新数据库。转到终端并导航 .sql 文件所在的文件夹/目录。然后在终端中写入以下命令。
语法: supername user postgres psql newDatabasename < inputfile.sql
示例:
sudo -u postgres psql newDb < restoreDb.sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63478 次 |
| 最近记录: |