ca-certificates gnupgをインストール(インストールされていれば不要)
$ sudo apt-get install curl ca-certificates gnupg
認証キーを追加
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
/etc/apt/sources.list.d/pgdg.listを作成し、リポジトリのパスを記載する。
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
pgdg.listを編集する
apt update の時に以下のエラーが発生する
N: リポジトリ 'http://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease' がアーキテクチャ
'i386' をサポートしないため設定ファイル 'main/binary-i386/Packages' の取得をスキップ
これを避けるために以下の様に [arch=amd64] を追加する
$ sudo vi /etc/apt/sources.list.d/pgdg.list
deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt focal-pgdg main
リポジトリを更新
$ sudo apt-get update
$ sudo apt-get upgrade
PostgreSQLをインストール
$ sudo apt-get install postgresql-11
データベースサーバを起動
$ sudo pg_ctlcluster 11 main start
postgresユーザーに切り替えて、psqlを実行
$ sudo su - postgres
バージョンを確認
$ psql
psql (11.8 (Ubuntu 11.8-1.pgdg20.04+1))
"help" でヘルプを表示します。
「exit」で終了します。
これでインストールは終了
■以降はユーザー、DBの作成
データベースユーザーの追加
$ sudo su - postgres
$ createuser --pwprompt --interactive SSKDB01
新しいロールのためのパスワード:
もう一度入力してください:
新しいロールをスーパーユーザにしますか? (y/n)y
ログインする
psql -U SSKDB01 -d postgres -h localhost
データベースを作成する
$ create database shimasuke_db;
CREATE DATABASE
「\l」でデータベースの一覧を表示する
別の端末から接続できるようにする
postgresql.confを編集。
$ sudo vi /etc/postgresql/11/main/postgresql.conf
60行目付近のlisten_addressesを'localhost'から'*'に変更します。
※コメントになっている場合は外す
pg_hba.confを編集。
$ sudo vi /etc/postgresql/11/main/pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.0.0/24 md5
上の1行を追加
編集が終わったら、PostgreSQLを再起動。
$ sudo pg_ctlcluster 11 main restart