One IT Thing

IT業界で飯を食う為の学習系雑記

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
-

執筆者:

関連記事

Omnibus版のGitLab、Mattermostデータベースに外部ホストからJDBCで接続

Omnibusで入れたPostgreSQLは、 Unix Domainソケットで接続待機Peer認証で認証 していて外部からの接続は出来ないことが前回分かりました。 One IT Thing …

各種OSでのインデックスを使用した高速ファイル名検索と全文検索【Linux編】

目次1 目的2 環境3 使用コマンド4 ファイル名検索5 全文検索6 補足とインデックス更新7 まとめ 目的 CentOS上に存在する全ての「~.java」ファイルをリストアップします。上記の内「Sy …

CentOS8をPC実機にネットワークインストール(CD使用)

前回Windows上のVirtualBoxにCentOS8をインストールしました。  One IT ThingCentOS8をVirtualBoxにインストールしてXからdnfを打つまでht …

Linuxのシェルログイン時、牛に格言を喋らせる

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

GitLab Omunibus版のPostgreSQLに普通のpsqlコマンドで接続

GitLab Omunibus版でインストールされるビルトインPostgreSQLは、 TCP:5432ではなくホスト内でしか接続出来ないUnix Domain Socketで待機ローカルホストからO …

 

shingo.nakanishi
 

東京在勤、職歴20年越え中年ITエンジニアです。まだ開発現場で頑張っています。

19歳(1996年)から書き始めた個人日記が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけどフリーランスで孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。