【问题标题】:Can't push local Postgre database to Heroku无法将本地 Postgres 数据库推送到 Heroku
【发布时间】:2020-12-30 01:55:54
【问题描述】:

我在将本地数据库导入 Heroku 时遇到问题。我目前正在构建一个 Django Web 应用程序,我试图了解如何将本地数据库导入 Heroku。我正在尝试使用 pg:push 推送我的本地 Postgresql 数据库命令然后这个错误发生

pg_restore: error: unrecognized data block type (0) while searching archive
 !    pg_restore errored with 1

知道为什么会这样吗?

【问题讨论】:

  • 仔细检查PostgreSQL版本,不同的版本可能会导致错误。还要确保你使用了heroku pg:push 命令(看起来不错,很好)。
  • 我在本地和 Heroku 上使用 Postgres 12.4 时遇到同样的错误。您可以使用postgres -V 查看本地版本。您可以使用heroku pg:info --app app-name 查看 Heroku 版本。
  • 我在使用 13.2 版本时遇到了同样的问题。
  • 大家好,你们找到解决办法了吗?我也遇到了这个问题,但无法解决。我对两者都使用了 psql 13.2。
  • 我已经向 heroku 提交了 13.2 错误的票证,其中本地构建和 heroku postgres 版本都是 13.2,但错误仍然存​​在。票解决后我会在这里发帖。

标签: django postgresql heroku heroku-postgres


【解决方案1】:

我是一个懒惰的程序员,而且效率很高,所以这比为 AWS 备份支付费用要容易得多,将它们存储在 Excel 表中。 这样既节省了成本,又不使用效率不高的 PUSH: PULL。

使用 CMD 作为 ADMIN 将 Excel 数据插入 Heroku Postgres 数据库。

按照说明进行

1. OPEN CMD AS ADMIN

2. heroku pg:sql postgresql-rugged-08088 --app sample

3. CREATE TABLE SERIAL_T (  id SERIAL , SERIAL VARCHAR(50),  USE INT,    DEVICES TEXT[], PRINTED BOOLEAN,  PRIMARY KEY (id))

4. \COPY SERIAL_T (SERIAL, USE, DEVICES, PRINTED) FROM 'C:\Users\PATH\EXCEL-03-27-2021.csv' DELIMITER ','CSV HEADER;

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 2013-04-05
    • 2021-02-03
    • 2019-07-04
    • 2020-11-08
    • 2013-12-09
    • 2016-08-15
    • 2015-09-10
    • 2015-02-25
    相关资源
    最近更新 更多