CentOS 7 のデフォルトでは、PostgreSQL 9.2 とかなり古いです。
なるべく新しいバージョンをインストールしましょう。
CentOS 7 の現状
# yum list postgresql
利用可能なパッケージ
postgresql.i686 9.2.24-7.el7_9 updates
postgresql.x86_64 9.2.24-7.el7_9 updates
PostgreSQL の公式サイトから探します。
https://yum.postgresql.org/
現状(2022/11)ではPostgreSQL 15 あたりが無難そうです。
yum にレポジトリを追加します。
(一部に epel レポジトリも必要なものもあるようですが基本は不要でした)
Repo RPMs
https://yum.postgresql.org/repopackages/
CentOS 7 - x86_64 のリンク先をダウンロードします。
# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
以降は手順だけを記載しますが、詳しい説明は次のサイトの解説を参照して下さい。
https://lets.postgresql.jp/documents/tutorial/yum/yum
インストール可能なパッケージを探します。
# yum search postgresql
たくさん表示されると思いますが、お好みのバージョンをインストールできます。ここでは PostgreSQL 15 を選択しました。
# yum install postgresql15-server.x86_64
確認
# rpm -qa | grep postgres
postgresql15-15.1-1PGDG.rhel7.x86_64
postgresql15-server-15.1-1PGDG.rhel7.x86_64
postgresql15-libs-15.1-1PGDG.rhel7.x86_64
起動するサービス名の確認
# ls /usr/lib/systemd/system/ | grep postgresql
postgresql-15.service
念のため、postgresql-15.service の中身を確認しておきます。
起動ユーザーが postgres になっていること。
OS のユーザーに postgres が存在している事。
PGDATA の場所(パス)を確認。
※ 以降、pgsql-15 を前提に書きますが他のバージョンでも
基本(ディレクトリを参照する)同じです。
とりあえず起動するか確認。(たぶん起動しません)
# systemctl start postgresql-15
起動しなかった場合の詳細は
# systemctl status postgresql-15
PGDATA のディレクトリを確認して、何もファイルが無い事を確認します。
initdb コマンドで PGDATA の中身を初期化(作成)する必要があります
# /usr/pgsql-15/bin/postgresql-15-setup initdb
Initializing database ... OK
再度、 start で起動するはずです。
# systemctl start postgresql-15
心配なら、ポートが LISTEN しているのを確認します
# netstat -an | grep 5432
自動起動にする
# systemctl enable postgresql-15
止める場合
# systemctl stop postgresql-15
後の操作は、データベースを作ったりしますが、
とりあえず、前に確認しておいた postgres ユーザーで操作します。
# su - postgres
$ psql
psql (15.1)
"help"でヘルプを表示します。
postgres=# \q
で接続を確認できればOKです。
| « 前頁 | 次頁 » |