0

我正在开发一个使用 postgresql 9.1 作为数据库的 Rails 应用程序。在 postgresql ia 中已配置为流式复制,现在如何在 rails 应用程序中添加 Master 和 Slave PostgreSQL 数据库(在 database.yml 文件中)我已将数据库详细信息指定为

发展:

适配器:postgresql 编码:独角兽 数据库:app_development 池:5 用户名:用户名 密码:密码 主机:主 ip 端口:端口号

发展:

适配器:postgresql 编码:独角兽 数据库:app_development 池:5 用户名:用户名 密码:密码 主机:从机 ip 端口:端口号

发展:

适配器:postgresql 编码:独角兽 数据库:app_development 池:5 用户名:用户名 密码:密码 主机:svale ip 端口:端口号

但是在执行此操作时会产生错误,如“ActiveRecord::StatementInvalid”“PG::ReadOnlySqlTransaction: ERROR: cannot execute INSERT in a read-only transaction”

如何在database.yml文件中指定主从数据库

问候, 巴鲁

4

1 回答 1

0

不要在您的数据库中执行此操作。使用具有非缓存 DNS 记录或虚拟 IP 地址的外部故障转移解决方案,让您的应用程序能够在不知道节点故障状态的情况下运行。

复制和故障转移是复杂的事情,如果你不想丢失数据,你需要确保你做对了。这意味着接受这不是应用程序问题,而是基础设施问题并在那里构建它。

于 2013-11-26T07:42:37.067 回答