我试图导入一个本地数据库到Heroku,我从这个StackOverflow问题Push database to Heroku: how to use Heroku pg:push中得到了启发。
PGUSER=postgres PGPASSWORD=mypassword heroku pg:push mydatabse_name DATABASE_URL -a myapp
字符串
我得到了这个错误pg_restore: error: unrecognized data block type (0) while searching archive
:
pg_dump: last built-in OID is 16383
pg_dump: reading extensions
pg_dump: identifying extension members
pg_dump: reading schemas
...
pg_dump: dumping contents of table "public.user"
pg_restore: creating TABLE "public.alembic_version"
...
pg_restore: processing data for table "public.alembic_version"
pg_restore: error: unrecognized data block type (0) while searching archive
! pg_restore errored with 1
型
我想知道如何解决这个问题?
1条答案
按热度按时间hfyxw5xn1#
我在运行此命令时遇到了此问题
字符串
database_output_name
输出文件的名称,您可以将其重命名为备份,数据库等user_name
:postgres sql user_name主要是postgresname_of_your_local_database
:是数据库的名称:mydb或任何你给的名称,如果你忘记了,你可以在PgAdmin中检查pg_dump
我已经将其导出到全局路径,这就是为什么我这样使用它,其他方法可以使用绝对路径调用它,即:C:\"Program Files"\PostgreSQL\14\bin\pg_dump
经过验证ourput文件应该如下所示
型
现在运行这个命令在heroku上创建数据库
型
如果你想重置你的数据库,你可以运行这个命令
型
现在你可以通过点击postgres链接来检查heroku上的数据库
x1c 0d1x的数据
你应该看到类似这样的东西,如果行数为0,你可能有空数据库。
的
通过PgAdmin连接heroku数据库
DATABASE_URL
下找到它们数据库url的格式如下:
postgres://user:password@host:port/database
ex:postgres://unancmnpxrgkmp:ababd6bcfed84a29549c32278204762d41b04be284a8b81750cbb6d356f8bcc [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :5432/d22q7soeu9pv6u
所以填写信息如下ec2-54-209-221-231.compute-1.amazonaws.com
d22q7soeu9pv6u
unancmnpxrgkmp
ababd6bcfed84a29549c32278204762d41b04be284a8b81750cbb6d356f8bcc7
型
点击保存现在你应该看到这样的东西一旦你打开你的服务器。你应该向下滚动,直到你找到你的数据库的名称
d22q7soeu9pv6u
以上,你可以打开它,并检查表,如果你没有找到它刷新,确保你正确地创建一切的
Yeeeees,finally ElhamdulilAllah:D