こんにちは。じじグラマーのカン太です 。
クレーム続きでへこみながらも、週末プログラマーをしています。
前回でWebサーバーがインストールできましたので、続いてデータベースサーバーをインストールしていきます。
前回の記事はこちら。
今回インストールするのは、「PostgreSQL」です。Rubyとの相性がいい(らしい)ですし、何より無料で使用できます。
では早速はじめましょう。
レポジトリの追加
CentOS 標準の yum レポジトリを使う方法は、すぐにインストールできて、手間がかかりませんが、最新バージョンを使えないというデメリットがあります。
ですので、最新のレポジトリのパッケージをダウンロードして、それを使ってインストールします。
最新のパッケージはこちらからダウンロードできます。
https://yum.postgresql.org/repopackages/
URLを指定したコマンド一発でダウンロード& レポジトリに追加ができちゃいます。
今回は、CentOS 7 (x86_64) にインストールするので、「CentOS 7 – x86_64」の URL をコピーします。
コマンドは以下の通り。rootユーザーでログインしてから使用してください。
# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
・
・
・
Installed:
pgdg-redhat-repo.noarch 0:42.0-18
完了しました!
これで最新のバージョンがレポジトリに追加されました。
パッケージのインストール
続いてパッケージをインストールします。今回は、postgresqlの13を
インストールします。
# yum -y install postgresql13-server
・
・
・
Dependency Installed:
postgresql13.x86_64 0:13.0-1PGDG.rhel7
postgresql13-libs.x86_64 0:13.0-1PGDG.rhel7
完了しました!
これでインストールは完了です。
ファイルができているか確認してみましょう。
# ls /usr/pgsql-13
bin lib share
パッケージのインストール時に PostgreSQL のスーパーユーザー 「postgres」
が存在しなければ、自動的に作成してくれるようです。念のため確認しておきましょう。
# id postgres
uid=26(postgres) gid=26(postgres) groups=26(postgres)
データベースクラスタの作成
データベースクラスタとはデータベースを格納する領域のことです。このデータベースクラスタを作成しておかないと PostgreSQL は起動できません。
コマンドのオプションはよくわかりませんが、おすすめのやつを適当に選びました。
PostgreSQL のスーパーユーザー 「postgres」
に代わってからインストールするので、 「postgres」
のパスワードを設定してください。
# su - postgres -c '/usr/pgsql-13/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
データベースシステム内のファイルの所有者はユーザ"postgres"となります。
このユーザをサーバプロセスの所有者とする必要があります。
新しいスーパユーザのパスワードを入力してください: (パスワードを入力)
再入力してください: (パスワードを再入力)
・
・
・
成功しました。以下のようにしてデータベースサーバを起動することができます:
/usr/pgsql-13/bin/pg_ctl -D /var/lib/pgsql/13/data -l ログファイル start
データベースクラスタが作成できたら、ディレクトリ内のファイルを確認してみましょう。
# ls /var/lib/pgsql/13/data
PG_VERSION pg_hba.conf pg_replslot pg_subtrans postgresql.auto.conf
base pg_ident.conf pg_serial pg_tblspc postgresql.conf
global pg_logical pg_snapshots pg_twophase
pg_commit_ts pg_multixact pg_stat pg_wal
pg_dynshmem pg_notify pg_stat_tmp pg_xact
データベースサーバの起動
以上でインストールが完了したので起動してみましょう。
# systemctl start postgresql-13.service
ついでに、いつものようにOS の起動時に PostgreSQL サービスが起動されるようにします。
systemctl enable postgresql-13.service
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-13.service to /usr/lib/systemd/system/postgresql-13.service.
データベースの接続確認
起動できているかどうか、接続を確認します。
$ psql -l
ユーザ postgres のパスワード: (パスワードを入力)
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
こんな感じでできていればOKです。
まとめ
いかがでしたでしょうか。今回はコマンドだけでどんどんインストールできるので簡単でした。コマンドはおすすめのやつを選んだだけなので、ほぼほぼコピペで終了です。
次回はいよいよRailsとの連携を設定していきます。
コメント