CentOS linux PostgreSQL

CentOS8にPostgreSQL12をインストールする手順

投稿日:

以前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時代と変わりはありません。以下参照です。

-CentOS, linux, PostgreSQL
-

執筆者:

関連記事

pgcryptoで公開鍵暗号の動作確認

共通鍵暗号で暗号化されたデータはパスワードが漏洩すると復号される危険が高まるのに対し、公開鍵暗号で暗号化されたデータは秘密鍵とパスワードの二つが漏洩しないと復号できません。 APサーバとDBサーバ通信 …

Linux、Macでハードディスクが一杯になった時の対処

「いつの間にかハードディスク一杯になってた・・・」 運用側が10:0で言い訳出来ない障害の一つなんじゃないでしょうか。 怖い先輩(上役)に体育館裏(会議室)に連れていかれる恐怖を思い出します。 運管ミ …

テキストファイル内の改行コード差異を見つけるワンライナー

ファイル内容は同じなのにdiffで違いが出るWeb上でソースレビューする時に同じ内容の行なのに差分が出て紛らわしい これらの原因はWindows、Mac、Linuxが入り混じった、改行コードが統一され …

PostgreSQL11に一般ユーザ権限でサンプルDB「dvdrental」をpg_restore

データベースインストール後にサンプルデータを投入することで、DBをバックエンドにして動作する他ミドルの検証が楽になったりすることがあります。 それぞれのデータベースで代表的なサンプルデータセットの存在 …

Linuxのシェルログイン時、cowsayに格言を喋らせる伝統芸能

sshコマンドやteratermでLinuxにログインした時、在り来たりなプロンプトじゃなくて何か役に立つ情報が表示されたら、開発プロジェクトの雰囲気もちょっと潤うかも知れません。 Linuxコマンド …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯技術者として楽しく生きることを目指しています。デスマに負けず健康第一。