いづいづブログ

アジャイルコーチになりたい札幌在住SEです。アジャイル札幌スタッフ&ScrumFestSapporo実行委員。Like:パクチー/激辛/牡蠣/猫/初期仏教

PostgreSQL #1 Debian9.6にPostgreSQL10をインストール

PostgreSQLLinuxサーバーにインストールしてみます。

2019/5/8 追記
文中の「rootユーザーで実行」についてはsudoコマンドを使うのを推奨します。 当時Linuxビギナーだったのでsudoコマンドについて深く理解しておらずrootに切り替えてやっていましたが、rootに切り替えたことを忘れてうっかり削除コマンドでも実行しようものなら大事なデータを消してしまうかもしれませんのでsudoコマンドを使いましょう。

環境

インストール

1. PostgreSQLリポジトリの追加

/etc/apt/sources.list.d/pgdg.list というファイルを作成し、リポジトリのパスを記載する。rootユーザーで実行。

# echo deb http://apt.postgresql.org/pub/repos/apt/stretch-pgdg main > /etc/apt/sources.list.d/pgdg.list

コード内に記載の"stretch"というのはDebian9.xのコードネーム。Debian8.xだったら"jessie"なので使っているDebianのバージョンに合わせて変更する。

2. クライアント証明書をインストール

rootユーザーで実行。

# apt install wget ca-certificates

3. 公開鍵をキーリストに追加

PostgreSQLで公開されている公開鍵を自分の端末に登録する。rootユーザーで実行。

# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

f:id:izumii-19:20181208101152p:plain

追加された。

念のため apt-key listで追加されたか確認しておくとさらにGood

4. インストール

ここでやっとPostgreSQLインストール。rootユーザーで実行。

インストールの前にパッケージリストの更新と、インストールされてるパッケージの更新を忘れないこと。

# apt-get update
# apt-get upgrade
# apt-get install postgresql-10

f:id:izumii-19:20181208102317p:plain

10 main 5432 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log

何か赤いのが出てログを見るように言われているけどどりあえずインストールされた風なので先に進む。赤いのはあとで調べる(かもしれない)。

インストールできていることを確認。rootユーザーで実行。

# psql --version
psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1)

ちなみにインストール後の主なディレクトリ構成はこんな感じ。

ディレクト 説明
/usr/lib/postgresql/10/ PostgreSQL 10 のコマンドなどが保存されたディレクト
/var/lib/postgresql/10/ PostgreSQL 10 の内部ファイルなどが保存されるディレクト
/etc/postgresql-common/ PostgreSQL の設定ファイルが格納されるディレクト
/etc/postgresql/10/main/ PostgreSQL 10 の設定ファイルが格納されるディレクト
/var/log/postgresql/ PostgreSQL のログが出力されるディレクト

\qで終了。

postgres=# \q
$

5. データベースユーザーの追加

※rootユーザーから一般ユーザへ戻っておくこと。

データベースに接続するためにはデータベース用のユーザーを作成する必要がある。 今回は「pgadmin」というスーパーユーザーを作成する。まず最初に「postgres」ユーザーに切り替える。

$ su - postgres

続いてユーザー作成。

$ createuser --pwprompt --interactive pgadmin
新しいロールのためのパスワード:
もう一度入力してください:
新しいロールをスーパーユーザにしますか? (y/n)y
$

パスワードは2箇所に同じものを入力する。

5. データベースユーザーへ接続

接続してみる。パスワードは「5.」で設定したパスワードを入力する。

$ psql -U pgadmin -d postgres -h localhost
ユーザー pgadmin のパスワード:
psql (10.6 (Debian 10.6-1.pgdg90+1))
SSL 接続 (プロトコル: TLSv1.2、暗号化方式: ECDHE-RSA-AES256-GCM-SHA384、ビット長: 256、圧縮: オフ)
"help" でヘルプを表示します。

postgres=#

接続できた!

参考サイト

Debian 9(Stretch)にPostgreSQL 9.6をapt-getでインストールし、外部アクセスを許可する - Symfoware