【问题标题】:How good is Rails and PostgreSQL support?Rails 和 PostgreSQL 的支持有多好?
【发布时间】:2010-11-09 23:04:20
【问题描述】:

我正在考虑开发一个使用 PostgreSQL 的 Rails 应用程序。在我习惯使用 Rails 之前,我有一些问题:

  • Rails 中的 PostgreSQL 支持是否不如 MySQL。
  • 如果使用 PostgreSQL 会有什么不同吗?
  • 是否存在使用 PostgreSQL 失败的情况?

谢谢。

【问题讨论】:

    标签: mysql ruby-on-rails postgresql


    【解决方案1】:

    在使用过带有 Rails 的 sqlite、mysql 和 postgresql 之后,我更喜欢使用 postrgresql。

    OSX、Ubuntu 和 Windows 的安装进展顺利,而其他数据库的安装则有问题。

    我必须安装以下 gem 才能使用 postgresql: 安装 gem postgres-pr

    当您遇到复杂的数据库请求时,您可能会“感觉”不同,其中您添加了特殊条件,例如从日期中提取月份,因为实际文本会因数据库系统而异。此外,postgresql 使用 E'' 分隔请求中的字符串,因此如果您不小心使用 :conditions => [],有时使用文本字段的请求可能会出现错误。

    【讨论】:

    • 应该可能使用 pg gem 而不是 postgres-pr gem,至少对于生产来说。由于 pg gem 是基于 c 的实现,而 postgres-pr 是纯 ruby​​ 版本。因此 pg gem 肯定会更快。
    【解决方案2】:

    PostgreSQL 对 Rails 的支持非常好 - 我会毫不犹豫地使用它。

    如果您正在寻找示例,Planet Argon 是一家备受瞩目的 Web 开发公司,主要在后台使用 PostgreSQL 开发 Rails。你可以在Robby Russel's blog阅读更多关于他们的工作。

    Heroku 专门将 PostgreSQL 用于他们的 Ruby 网络托管 - 当然包括大量 Rails 部署。

    【讨论】:

    • 我怀疑我会使用复杂的查询,但我通常更喜欢 PostgreSQL 而不是 MySQL。我只是担心我会遇到问题,因为大多数 Ruby on Rails 教程都使用 MySQL。
    【解决方案3】:

    在我的雇主中,我们专门将 PostgreSQL 用于大型 Rails 应用程序。我们使用复杂的查询等,到目前为止,Rails 和 Postgres 本身没有问题。

    但是,如果您非常依赖在 ActiveRecord 之上或旁边工作的 3rd 方插件,您可能需要检查它们对 Postgres 的支持。例如,我们在使用 searchlogic 插件时遇到了不一致。

    【讨论】:

    • 澄清一下:我一直在 MySQL 上使用事务。这取决于使用 InnoDB 存储引擎,但不是选择 Postgres 而不是 MySQL 的理由。 (也不是不这样做的理由:))
    • 哦,是的,你是对的,这取决于MySQL的存储引擎是否可以进行事务。对不起,我弄错了。
    【解决方案4】:

    Postgres 支持非常好,尽管对在迁移中编写 plpgsql 函数、触发器和复合主键的支持还有很多不足之处。

    【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2011-02-25
    • 1970-01-01
    相关资源
    最近更新 更多