CentOS7 PostgreSQL

MySQLの記事はたくさんあるので、PostgreSQLを入れてみます。

インストールから。ついでなので -devel も入れました。

[root@guest1 ~]# yum install postgresql postgresql-devel postgresql-server

サービス名は postgresql ですか。

[root@guest1 ~]# systemctl list-unit-files| grep postgresql
postgresql.service                          disabled

起動する前にDBを作成します。スクリプトがくっついてきてるんですね。

[root@guest1 ~]# postgresql-setup initdb
Initializing database ... OK

これで起動するはず。enableにもしておきます。

[root@guest1 ~]# systemctl enable postgresql
ln -s '/usr/lib/systemd/system/postgresql.service' '/etc/systemd/system/multi-user.target.wants/postgresql.service'
[root@guest1 ~]# systemctl start postgresql
[root@guest1 ~]# 

DBにログインするには初期設定では postgres ユーザになる必要があります。

[root@guest1 ~]# su - postgres
-bash-4.2$ psql
psql (9.2.7)
Type "help" for help.

postgres=# \q

Ruby on Rails から使えるように、一般ユーザ向けのスキーマを作成してみました。

postgres=# CREATE USER sugimura ENCRYPTED PASSWORD 'XXXXXXXX';
CREATE ROLE
postgres=#
postgres=# CREATE DATABASE railsdb OWNER sugimura 
postgres-# TEMPLATE template0
postgres-# ENCODING 'UTF-8' LC_COLLATE 'ja_JP.UTF8' LC_CTYPE 'ja_JP.UTF8'
postgres-# ;
CREATE DATABASE
postgres=#

無事作成できたので、sugimuraユーザからアクセスしてみます。

[sugimura@guest1 ~]$ psql -U sugimura -d railsdb -W
ユーザ sugimura のパスワード: 
psql (9.2.7)
"help" でヘルプを表示します.

railsdb=>