LoginSignup
23
33

More than 5 years have passed since last update.

CentOS7にPostgreSQLをインストールする

Last updated at Posted at 2018-05-13

はじめに

これまでMySQLしか触ったことがありませんでしたが、PostgreSQLを勉強する必要が出てきたため、その環境準備からです。

OS準備

ローカル開発環境(Vagrant等)があれば良いですし、少々のお金を払っても良いならクラウドもお手軽です。今回はクラウドに作ったCentOS7サーバを使うことにしました。ということでOS準備までは割愛します。

PostgreSQLのインストール

公式ドキュメントにもある通り、yumで一発です。CentOS7の場合は、PostgreSQLの9.2がインストールされるようです。

# yum install postgresql-server
# psql --version
psql (PostgreSQL) 9.2.23

続いてDBの起動です。これも公式の手順通りに。

# postgresql-setup initdb
# systemctl enable postgresql.service
# systemctl start postgresql.service

一行目のinitdbはまだ意味が分かっていません。これから勉強していきます。

(9/24追記)
initdbコマンドによって、データベースの実体となる単一のディレクトリが作成されます。
この例ではデフォルトでは/var/lib/pgsql/dataに作成されます。

データベースの確認

データベースの確認をしようとしたところ、以下のエラーが出ました。

# psql -l
psql: FATAL:  ロール"root"は存在しません

PostgreSQLサーバではrootユーザでのログインを禁止しているようです。これも公式のドキュメントに頼ると、「postgresというユーザ名がよく使われる」との記述があったので、それに倣おうと思います。

# grep postgres /etc/passwd
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

インストール時にpostgresユーザが作成されていました。今後はこれを使っていきましょう。

# su - postgres
$ psql -l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権       
-----------+----------+------------------+-------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | 
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
(3 行)

無事データベースの確認ができました!

23
33
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
33