在CentOS上安装PostgreSQL并与Rails进行连接
首先
因为有一个很久没有在CentOS上安装Rails的机会,所以我把从安装PostgreSQL到Rails连接的步骤记录下来了。
操作系统环境:中文名为 CentOS 7.3.1611。
应用框架版本:中文名为 Rails 5.1.2。
数据库版本:中文名为 PostgreSQL 9.2.18。
目次
1. 安装
2. 预先准备
3. 创建DB用户
4. 创建数据库
补充:设置postgres用户密码
5. 认证设置
6. Rails
7. 自动启动设置
1. 安装
# インストール
$ sudo yum install -y postgresql-server
# バージョン確認
$ psql --version
2. 提前准备
创建数据库集群(进行初始化)
# 初期化
$ sudo service postgresql initdb
将PostgreSQL启动为服务。
# サービス起動
$ service postgresql start
安装PostgreSQL后,可以更改系统中附加的postgres用户的密码。
$ sudo passwd postgres
3. 创建DB用户
# postgresユーザに切り替え
$ su - postgres
# DBユーザを追加
-bash-4.2$ createuser -P DBユーザー名
# psql接続
-bash-4.2$ psql
# ユーザ一覧の確認
postgres=# \du
# PostgreSQLから抜ける
postgres=# \q
4. 创建数据库
※将用户切换为postgres用户后执行
# psql接続
-bash-4.2$ psql
# データベースの作成
postgres=# create database データベース名;
# データベース一覧の確認
postgres=# \l
# PostgreSQLから抜ける
postgres=# \q
为postgre用户设置密码。
在切换到postgres用户的状态下执行。
在启用MD5身份验证的情况下,为postgres用户设置密码,以便能够使用psql。
# psql接続
-bash-4.2$ psql
# パスワード設定
postgres=# \password
# PostgreSQLから抜ける
postgres=# \q
5. 授权设置
将PostgreSQL连接时的认证方式更改为md5。
# 認証設定を変更
$ sudo vi /var/lib/pgsql/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local all postgres md5
重新启动PostgreSQL
$ sudo service postgresql stop
$ sudo service postgresql start
6. 铁轨
运行`bundle install`来安装pq。
$ sudo yum install -y postgresql-devel
$ vi Gemfile
gem 'pg'
$ bundle install
将database.yml文件中创建的数据库信息进行配置
development:
adapter: postgresql
encoding: utf8
pool: 5
username: DBユーザ名
password: DBユーザパスワード
database: データベース名
建立模型
$ cd ~/hello-app
$ rails g scaffold User name:string age:integer
$ rake db:migrate
确认访问
$ rails s
通过浏览器访问并执行数据添加/修改/删除操作
http://xxx.xxx.xxx.xxx/users

7. 自动启动设定
如果确认可以访问且没有问题,那么进行自动启动设置。
# 自動起動ON
$ sudo systemctl enable postgresql
# 状態確認
$ sudo systemctl status postgresql