PostgreSQL 9.2 を CentOS 7 に yum インストールする手順

投稿者 : OSCA

[PR] "出川哲朗の充電させてもらえませんか?"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 本稿ではデータベースサーバー PostgreSQL 9.2 を CentOS 7 に yum でインストールする方法について解説します。

PostgreSQL 9.2 の入手元は?

 CentOS 7 では、ソフトウェアパッケージマネージャとして yum を採用しています。 PostgreSQL 9.2 は、CentOS 7 の公式 yum リポジトリで提供されていますので、新たに yum リポジトリを追加したりする必要はありません。 ここからは、その公式リポジトリで提供されている PostgreSQL 9.2 をインストールする手順を解説していきます。

パッケージを確認する

 それではさっそくインストール作業にとりかかりたいと思いますが、まずは CentOS 7 の公式 yum リポジトリで提供されている PostgreSQL 9.2 の詳細を確認してみましょう。 次のように yum info コマンドを実行すると、提供されている PostgreSQL 9.2 の情報が閲覧できます。 (下記の実行結果は2018年02月現在のものです)

# yum info postgresql-server
Available Packages
Name        : postgresql-server
Arch        : x86_64
Version     : 9.2.23
Release     : 3.el7_4
Size        : 3.8 M
Repo        : updates/7/x86_64
Summary     : The programs needed to create and run a PostgreSQL server
URL         : http://www.postgresql.org/
License     : PostgreSQL
Description : PostgreSQL is an advanced Object-Relational database management system (DBMS).
            : The postgresql-server package contains the programs needed to create
            : and run a PostgreSQL server, which will in turn allow you to create
            : and maintain PostgreSQL databases.

 この結果の場合は、バージョン 9.2.23 が利用できることが確認できました。 (また、この情報が表示されたということから、yum で提供されているということも確認できました。)

インストール

 PostgreSQL 9.2 が公式リポジトリで提供されていることを確認できたので、さっそくインストールしましょう。 次のように yum install コマンドにパッケージ名 postgresql-server を指定してインストールします。

$ yum -y install postgresql-server

 コマンドの実行後、Complete! と表示されればインストールは完了です。 念のため次のように postgres –version というコマンドを実行し、コマンドが利用できることと、インストールされた PostgreSQL のバージョンを確認しましょう。

# postgres --version
postgres (PostgreSQL) 9.2.23

データベース初期化

 インストールが完了したら、データベースを初期化します。 次のように postgresql-setup initdb コマンドを実行します。

# postgresql-setup initdb
Initializing database ... OK

インストールされたファイル

 上記のインストール作業により、主にどんなファイルがインストールされたのかをみてみましょう。

ファイル・ディレクトリ説明
/var/lib/pgsql/PostgreSQL の設定やデータ、バックアップファイルが保存されるディレクトリ。
/var/lib/pgsql/data/postgresql.confPostgreSQLのメインとなる設定ファイル。
/var/lib/pgsql/data/pg_hba.confPostgreSQLのユーザ認証についての設定ファイル。
/bin/createdbPostgreSQLのデータベースを作成するためのコマンド。
/bin/psqlPostgreSQLを操作するためのクライアント。
/bin/postgresPostgreSQLサーバー。

サービス化

 サーバーを起動・再起動した際に、自動的に PostgreSQL が起動するように設定しましょう。 次のように systemctl enable コマンドで postgresql を指定します。

# systemctl enable postgresql
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.

起動と停止

 さて、それではインストールした PostgreSQL を起動・停止してみましょう。 起動は systemctl start で postgresql を指定します。

# systemctl start postgresql

 また、停止させたい場合は systemctl stop で postgresql を指定します。

# systemctl stop postgresql

 また、停止と起動を同時に行う(再起動する)場合は systemctl restart で postgresql を指定します。

# systemctl restart postgresql

ユーザ

 PostgreSQL をインストールし終えた現時点でのユーザーについて確認します。

Linux ユーザ

 CentOS 7 のユーザとして、新たに「postgres」というユーザーが追加されています。 PostgreSQL Server は、このユーザで実行されます。

PostgreSQL ユーザ

 また PostgreSQL のユーザとして、同様に「postgres」という状態が初期状態で作成されています。 この postgres ユーザは、インストールした PostgreSQL Server の管理者権限を持つユーザです。 初期状態だとパスワードは設定されていません。

ログインしてみよう

 最後に、インストールした PostgreSQL にログインしてみましょう。 次のように postgres ユーザーとして psql を利用してログインします。

# sudo -u postgres psql -U postgres
could not change directory to "/root"
psql (9.2.23)
Type "help" for help.

postgres=# ここから PostgreSQL のコマンドを実行できる

 PostgreSQL にログインできることが確認できたら、ここでは \q というコマンドを入力してログアウトします。

postgres=# \q

おわりに

 ここまでで本稿はおわりです。 本稿では、PostgreSQL をインストールし、起動・停止、ログイン・ログアウトできることまでを確認しました。

PostgreSQLのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca