【问题标题】:ERROR: column "increment_by" does not exist - Postgres 10 and Rails 5错误:列“increment_by”不存在 - Postgres 10 和 Rails 5
【发布时间】:2018-05-08 20:53:05
【问题描述】:

这似乎是 Postgres 10 的常见错误,但我不确定它只是 Postgres 10 还是因为我也在使用 Rails 5。我在 Digital Ocean 上有一个 Rails 5 应用程序,它正准备上线,当我开始实施备份时,我遇到了一个大问题。当我尝试使用 Navicat 或直接使用 pg_dump 进行备份时,我遇到以下错误 - [Err] [Bak] Get sequences: ERROR: column "increment_by" does not exist LINE 1: SELECT last_value, increment_by, max_value, min_value, cache...

我不知道该怎么做,而且网站已经添加了太多信息,无法将其拆除并重新开始。我希望这里有人找到了解决方法,至少可以让我执行备份,以便我可以以正确的版本重新创建数据库。

【问题讨论】:

  • 你能显示你使用increment_by的代码吗?
  • 究竟是谁在抱怨该专栏? pg_dump? pg_restore? Rails 中有什么东西? PostgreSQL 9 和 10 之间的序列内部结构发生了一些变化,AFAIK 现在 Rails 中所有受影响的东西都已修复。
  • @Shiko 我没有使用increment_by
  • @muistooshort pg_dump 在我尝试转储 DB 时抱怨。我什至用 Postgres 10 启动了一个新的 Rails 应用程序并尝试转储数据库,但发生了同样的错误。当我恢复到 9.6 时,它起作用了。
  • 您自己在运行pg_dump 吗?您使用的是 PostgreSQL 9 还是 10 的 pg_dump?你用的是什么版本的 Rails5?

标签: ruby-on-rails postgresql ruby-on-rails-5


【解决方案1】:

如果有人使用 Rails 4.1(在我的情况下为 4.1.16)遇到此问题,Rails 4.2(此处:https://github.com/rails/rails/issues/28780#issuecomment-354868174)的答案很好,但我必须进行一项更改才能使其正常工作 - 我改变了module PostgreSQLclass PostgreSQLAdapter

【讨论】:

    猜你喜欢
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2021-10-22
    • 2018-09-01
    • 2020-11-12
    相关资源
    最近更新 更多