React アプリのバックエンドを担当する Django REST framework と連動するため PostgreSQL 11.4 を設置します。データベースの作成は Python でバーチャル環境を構築してから作ります。2019/06/26現在、最新版である PostgreSQL 11.4 を設置します。
サーバ環境
CentOS Linux release 7.6.1810 (Core)
PostgreSQL の最新版を確認
2019年4月15日から、ディストリビューションごとにリポジトリ RPM が 1つになっていました。今後このリンクは変わらないと思いますが、念のため 最新版 を確認しておいてください。
画面左の PostgreSQL xx RPMs released の xx が最新版です。ここでは 11 です。
また、画面右の CentOS 7 – x86_64 のリンクをコピーしてリポジトリを追加できます。
リポジトリを追加
[admin@centos7 backend]$ sudo yum -y localinstall https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm ... インストール: pgdg-redhat-repo.noarch 0:42.0-4 完了しました!
利用可能なパッケージ情報を調べて見る ( 任意 )
先ほど最新版が 11 でしたので postgresql11-server が設置できると思うので ▼ ように調べてみましょう。
[admin@centos7 backend]$ yum info postgresql11-server ... 利用可能なパッケージ 名前 : postgresql11-server アーキテクチャー : x86_64 バージョン : 11.4 リリース : 1PGDG.rhel7 容量 : 4.7 M リポジトリー : pgdg11/7/x86_64 要約 : The programs needed to create and run a PostgreSQL server URL : https://www.postgresql.org/ ライセンス : PostgreSQL 説明 : PostgreSQL is an advanced Object-Relational database management system (DBMS). : The postgresql11-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. [admin@centos7 backend]$
postgresql11-server を設置
[admin@centos7 backend]$ sudo yum -y install postgresql11-server ... インストール: postgresql11-server.x86_64 0:11.4-1PGDG.rhel7 依存性関連をインストールしました: libicu.x86_64 0:50.1.2-17.el7 postgresql11.x86_64 0:11.4-1PGDG.rhel7 postgresql11-libs.x86_64 0:11.4-1PGDG.rhel7 完了しました! [admin@centos7 backend]$
PostgreSQL を環境変数 PATH へ追加 ( 任意 )
echo ‘export PGSQL_ROOT=”/usr/pgsql-11/”‘ >> ~/.bash_profile
echo ‘export PATH=”$PGSQL_ROOT/bin:$PATH”‘ >> ~/.bash_profile
. ~/.bash_profile ← source ~/.bash_profile が効かない場合
PostgreSQLサーバの「root」実行は許可されていませんので、[root]ユーザには追加しないでください。
[admin@centos7 ~]$ echo '# PostgreSQL' >> ~/.bash_profile [admin@centos7 ~]$ echo 'export PGSQL_ROOT="/usr/pgsql-11/"' >> ~/.bash_profile [admin@centos7 ~]$ echo 'export PATH="$PGSQL_ROOT/bin:$PATH"' >> ~/.bash_profile [admin@centos7 ~]$ . ~/.bash_profile [admin@centos7 ~]$ [admin@centos7 ~]$ postgres -V postgres (PostgreSQL) 11.4
PATH の変更 をすぐ 有効 にする シェルの再起動方法。下記のいずれかを実行するとpyenv を使い始める。
$ exec “$SHELL”
$ . ~/.bash_profile
$ source ~/.bash_profile
設置されたバージョンを確認
上記をスキップした場合、フルパスを入力して確認します。
[admin@centos7 backend]$ /usr/pgsql-11/bin/postgres -V postgres (PostgreSQL) 11.4
DB を初期化して起動
PostgreSQL のデータや設定関連は /var/lib/pgsql/11/ 以下、実行コマンドは /usr/pgsql-11/bin/ 以下に置かれます。
or
sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
[admin@centos7 backend]$ which postgresql-11-setup /usr/pgsql-11/bin/postgresql-11-setup [admin@centos7 backend]$ sudo /usr/pgsql-11/bin/postgresql-11-setup initdb Initializing database ... OK # 起動します。 [admin@centos7 backend]$ sudo systemctl start postgresql-11
サービス自動起動を有効化
[admin@centos7 backend]$ sudo systemctl enable postgresql-11.service Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-11.service to /usr/lib/systemd/system/postgresql-11.service.
PostgreSQL 11.4 へログイン
[root@centos7 ~]# sudo -u postgres psql -U postgres could not change directory to "/root" psql (9.2.24, server 11.4) WARNING: psql version 9.2, server version 11.0. Some psql features might not work. Type "help" for help. postgres=# \q [root@centos7 ~]#
PostgreSQL 11.4 サーバを再起動
[root@centos7 ~]# systemctl restart postgresql-11.service
PostgreSQL 11.4 サーバの起動状態を確認
[root@centos7 ~]# systemctl status postgresql-11.service ● postgresql-11.service - PostgreSQL 11 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-11.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2019-06-27 12:17:13 JST; 8s ago Docs: https://www.postgresql.org/docs/11/static/ Process: 28804 ExecStartPre=/usr/pgsql-11/bin/postgresql-11-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) Main PID: 28811 (postmaster) CGroup: /system.slice/postgresql-11.service ├─28811 /usr/pgsql-11/bin/postmaster -D /var/lib/pgsql/11/data/ ├─28813 postgres: logger ├─28815 postgres: checkpointer ├─28816 postgres: background writer ├─28817 postgres: walwriter ├─28818 postgres: autovacuum launcher ├─28819 postgres: stats collector └─28820 postgres: logical replication launcher Jun 27 12:17:13 centos7 systemd[1]: Stopped PostgreSQL 11 database server. Jun 27 12:17:13 centos7 systemd[1]: Starting PostgreSQL 11 database server... Jun 27 12:17:13 centos7 postmaster[28811]: 2019-06-27 12:17:13.551 JST [28811] LOG: listening on IPv4 address "127.0.0.1", port 5432 Jun 27 12:17:13 centos7 postmaster[28811]: 2019-06-27 12:17:13.592 JST [28811] LOG: listening on Unix socket "/var/run/post...L.5432" Jun 27 12:17:13 centos7 postmaster[28811]: 2019-06-27 12:17:13.659 JST [28811] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" Jun 27 12:17:13 centos7 postmaster[28811]: 2019-06-27 12:17:13.714 JST [28811] LOG: redirecting log output to logging colle...process Jun 27 12:17:13 centos7 postmaster[28811]: 2019-06-27 12:17:13.714 JST [28811] HINT: Future log output will appear in direc... "log". Jun 27 12:17:13 centos7 systemd[1]: Started PostgreSQL 11 database server. [root@centos7 ~]#
DBを作成するには、下記の記事をご参照ください。
コメント