PostgreSQL 10主从设置

主库设置

先添加repuser用户

然后设置pg_hba

vi /var/lib/pgsql/10/data/pg_hba.config

 

 

 

 

 

 

 

 

 

 

从库设置

把原有数据全删了

rm -rf /var/lib/pgsql/10/data/

然后执行 pg_basebackup -h IP_ADDRESS -R -D /var/lib/pgsql/10/data -U repuser -W

然后运行pgsql

service postgresql-10 start

如遇到权限问题

chown -R postgres.postgres /var/lib/pgsql/10/data/

rails 使用postgresql 10,Centos7

安全起来挺麻烦的,为了您可以少走弯路,也方便自己以后查阅

安装官方源

yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

找到pg_config 文件 centos7 应该在 /usr/pgsql-10/bin/pg_config, 引用它安装pg

修改 hda文件,要不然peer认证很恶心

改为md5

 

理论上可以了,配置一下 config/database.yml

 

production:
<<: *default
encoding: unicode
adapter: postgresql
database: **
host: 127.0.0.1
pool: 5
username: ****
password: *****

rails pluralize 详解

pluralize方法在rails控制台中默认不可用,不过我们可以引入ActionView::Helpers::TextHelper模块加载这个方法

>> include ActionView::Helpers::TextHelper
>> pluralize(1, "error")
=> "1 error"
>> pluralize(5, "error")
=> "5 errors"

如上所示,pluralize方法的第一个参数是整数,返回值是这个数字和第二个参数文本组合在一起正确的单复数形式。
pluralize方法是由功能强大的转置器(inflector)实现的,转置器知道怎么处理大多数单词的单复数变换,甚至是一些不规则的变换方式:

>> pluralize(2, "woman")
=> "2 women"
>> pluralize(3, "erratum")
=> "3 errata"

所以,使用pluralize方法后,如下的代码

<%= pluralize(@user.errors.count, "error") %>

返回值就是”0 errors”、”1 error”或”2 errors”等,单复数形式取决于错误的数量。
这样就可以避免类似”1 errors”这种低级的错误了(这是网络中常见的错误之一)。