Amazon linux2にpostgresqlをインストールする手順 | 瀬戸内の雲のように

Amazon linux2にpostgresqlをインストールする手順

Posted: 2019-02-16


スポンサーリンク

目次

はじめに

最近(でもないか?)AWSにAmazonLinux2が追加されましたが、ところどころ以前のAmazonLinuxと勝手が違って戸惑います。

今回はpostgresqlをインストールする時にちょっと困ったので手順をメモしています。

 

事象の概要

amazon linux2では amazon-linux-extras と言うコマンドでパッケージをインストールできます。

その管理対象に postgresql も含まれているのですが、それだけだとうまく行かないので、正しい手順をメモします。

 

事象の詳細

以下の手順でpostgresqlをインストールすると、

コマンド

amazon-linux-extras install postgresql9.6

結果

Installing postgresql
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-epel amzn2extra-postgresql9.6 epel

〜〜中略〜〜

Installed:
  postgresql.x86_64 0:9.6.8-1.amzn2.0.2

Dependency Installed:
  postgresql-libs.x86_64 0:9.6.8-1.amzn2.0.2

 
インストールに成功したはずなのに、なぜか Unit not found と怒られてしまいます。

# systemctl start postgresql.service
Failed to start postgresql.service: Unit not found.

あれ、さっきインストールしたはずなのに。。

 

結論: postgresqlのサーバはyumでインストールする

書いた通りなのですが、どうやら amazon-linux-extras コマンドでは psql コマンドがインストールされるだけのようです。

なので、使えるようにするまでには以下の手順が必要です。

 

手順1. インストール

と言うことで、postgresのサーバは普通に yum install でインストールしましょう。

yum install postgresql-server postgresql-devel postgresql-contrib

結果(一部)

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                           

〜〜中略〜〜

Complete!

 

手順2. 初期設定

次に初期設定を行います。以下のコマンドでできます。

postgresql-setup initdb

こんな結果になればOK

WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

 

手順3. 起動

次にpostgresqlを起動します。

systemctl start postgresql.service
# 何も表示されなければOK

以下のようにプロセスが起動されていればOKです。

# ps -ef | grep postgres
postgres  6560     1  0 14:13 ?        00:00:00 /usr/bin/postgres -D /var/lib/pgsql/data
postgres  6561  6560  0 14:13 ?        00:00:00 postgres: logger process
postgres  6563  6560  0 14:13 ?        00:00:00 postgres: checkpointer process
postgres  6564  6560  0 14:13 ?        00:00:00 postgres: writer process
postgres  6565  6560  0 14:13 ?        00:00:00 postgres: wal writer process
postgres  6566  6560  0 14:13 ?        00:00:00 postgres: autovacuum launcher process
postgres  6567  6560  0 14:13 ?        00:00:00 postgres: stats collector process
root      6570  5939  0 14:13 pts/0    00:00:00 grep --color=auto postgres

 

手順4. 接続確認

次にDBに接続してみます。これはpostgresユーザにsuしてから行います。

su - postgres

次にpsqlコマンドで接続します。

psql

以下のような結果が得られればOKです。

psql (9.6.8)
Type "help" for help.

postgres=#

 

まとめ

以上、postgresqlサーバをインストールするまでの手順でした。
やっぱりamazon linux2はややこしい。。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back