在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

PostgreSQL.png

7. 自动启动设定

如果确认可以访问且没有问题,那么进行自动启动设置。

# 自動起動ON
$ sudo systemctl enable postgresql

# 状態確認
$ sudo systemctl status postgresql
bannerAds