将现有数据库导入新的 Dokku 应用程序
Importing existing database into new Dokku application
我有一个现有的应用程序,我正在尝试将其移植到 Dokku, and part of that is getting the existing data store copied over. I am using the Dokku Postgres plugin,但在移植数据库时遇到问题。
在我现有的应用程序中,我正在创建数据库转储:
// Create dump file
pg_dump app_database > db.dump
// Copy over to server hosting Dokku app
scp db.dump sshdetails
// SSH into new server, then attempt to import dump file
dokku postgres:import db < db.dump
当我 运行 最后一个命令时,我收到消息:
pg_restore: error: input file appears to be a text format dump. Please use psql.
我试过用几种不同的格式格式化转储,但没有成功。任何建议将不胜感激。谢谢
来自 dokku-postgres 插件中 dokku postgres:export
命令的来源:
docker exec "$SERVICE_NAME" env PGPASSWORD="$PASSWORD" pg_dump -Fc --no-acl --no-owner -h localhost -U postgres -w "$DATABASE_NAME"
dokku postgres:export
命令有 -Fc
用于 pg_dump
的参数,它将转储导出为适合输入 pg_restore
的存档(更多信息请参见 pg_dump man page) and pg_restore
command seems to only accept custom format from pg_dump
(cf. pg_restore man) , 所以你应该在 pg_dump
命令中使用相同的 -Fc
参数。
我有一个现有的应用程序,我正在尝试将其移植到 Dokku, and part of that is getting the existing data store copied over. I am using the Dokku Postgres plugin,但在移植数据库时遇到问题。
在我现有的应用程序中,我正在创建数据库转储:
// Create dump file
pg_dump app_database > db.dump
// Copy over to server hosting Dokku app
scp db.dump sshdetails
// SSH into new server, then attempt to import dump file
dokku postgres:import db < db.dump
当我 运行 最后一个命令时,我收到消息:
pg_restore: error: input file appears to be a text format dump. Please use psql.
我试过用几种不同的格式格式化转储,但没有成功。任何建议将不胜感激。谢谢
来自 dokku-postgres 插件中 dokku postgres:export
命令的来源:
docker exec "$SERVICE_NAME" env PGPASSWORD="$PASSWORD" pg_dump -Fc --no-acl --no-owner -h localhost -U postgres -w "$DATABASE_NAME"
dokku postgres:export
命令有 -Fc
用于 pg_dump
的参数,它将转储导出为适合输入 pg_restore
的存档(更多信息请参见 pg_dump man page) and pg_restore
command seems to only accept custom format from pg_dump
(cf. pg_restore man) , 所以你应该在 pg_dump
命令中使用相同的 -Fc
参数。