以前CentOS7にPostgreSQL11をインストールしてSQL実行しました。
今回はCentOS8、PostgreSQL12バージョンです。
yumがdnfに変わったくらいで基本的な手順は変わりません。
目次
構築する環境
$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
$ psql --version
psql (PostgreSQL) 12.3
構築開始
公式サイトでOSバージョン、PostgreSQLバージョンを選んで手順を確認しておきます。
pgdgリポジトリファイルをインストール
CentOS7時代とURLが変わっており、7のままだとインストールがコケます。
# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
/etc/yum.repos.d/pgdg-redhat-all.repoが追加されたことを確認。
# ls -l /etc/yum.repos.d/
(snip)
-rw-r--r-- 1 root root 9154 4月 27 06:40 pgdg-redhat-all.repo
既存PostgreSQL関連モジュールを無効化
新規インストールだけど公式手順に従います。yum時代には無かった親切機能。
# dnf -qy module disable postgresql
インストール
# dnf install postgresql12-server
postgresql12-serverをインストールすると依存で
- postgresql12
- postgresql12-libs
もインストールされます。
データベースを初期化
/var/lib/pgsql/12/dataディレクトリを生成します。
# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK
起動
常時起動設定、起動。
# systemctl enable postgresql-12
# systemctl start postgresql-12
# systemctl status postgresql-12
動作確認
postgresスーパーユーザになって動確してみます。
# su - postgres
$ psqlpsql (12.3)
"help"でヘルプを表示します。
postgres=# \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 行)
postgres=# select version();
version
--------------------------------------------------------------------------------------------------------
PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5), 64-bit
(1 行)
一般ユーザ作成、外部接続設定
CentOS7、PostgreSQL11時代と変わりはありません。以下参照です。