サイドバーの「Django ドキュメント検索」というプレースホルダの入った検索では、Django ドキュメント (Django 2.1) の公式サイト内を検索できます
PostgreSQL のインストール [Linux Mint 19]

目次

はじめに

オープンソースのデータベースというと MySQL と PostgreSQL が双璧ですが、管理人はこれまでずっと MySQL を使ってきました。しかし、Django では PostgreSQL が推奨されていることから、PostgreSQL も試してみたいと思っていたことと、GCP から Heroku へデプロイ先を変更しようと思い調べたところ、Heroku では (MySQL も使えますが) Postgres の方が情報が多い事から PostgreSQL  のインストールを行ってみました。

この記事では、Linux Mint 19 へ PostgreSQL 10.4 をインストールした際の手順を記事にします。

インストール

インストールは apt でいつもどおりに行えます。

$ sudo apt install psotgresql

スーパーユーザ (postgres) のパスワード設定

デフォルトのスーパーユーザ postgres のパスワードが設定されていないため、パスワードを設定しておきます。

sudo で postgres というユーザとして psql を立ち上げます。

$ sudo -u postgres psql

postgres ユーザのパスワードを設定します。(小文字の password 部分は設定するパスワードに置き換えてください)

# ALTER ROLE postgres WITH PASSWORD 'password';

 

もう一つのスーパーユーザを作成

データベースメンテナンスはスーパーユーザで行いますが、開発用の PC でメンテナンスの度に Linux ユーザを postgres に切り替えて処理をするとなるとかなり不便です。(特に外部ツールを使って接続する時など。) そこで、Linux ユーザを切り替える必要のない (PostgreSQL の) スーパーユーザ (ここでは jade とします) を作成します。

ポイントここで作成するユーザ名をログインしている Linux のユーザ名にしておくと、psql コマンドでユーザ名を省略できて便利です。

psql を立ち上げます。 postgres ユーザで接続しますので、 sudo で postgres として psql を起動します。

$ sudo -u postgres psql

データベーススーパーユーザ jade を作成します。 (password_jade は適当なパスワードに置き換えてください。)

# CREATE USER jade SUPERUSER PASSWORD 'password_jade';
# CREATE DATABASE jade;

1行目の CREATE USER は LOGIN 可能な ROLE を作成するコマンドです。

2行目はユーザ名と同名のデータベースを作成しています。ユーザ名と同名のデータベースは、データベースを指定せずに接続した場合のデフォルトデータベースとなりますので、これを用意することでデータベースを指定せずに接続してもエラーにならなくなります。

さらに、ローカルの接続 (postgres を除く) を Peer 認証からパスワード認証に切り替えます。

切り替えのためには、 /etc/postgresql/10/main/pg_hba.conf (PostgreSQL のバージョンによってフォルダ名は変わります。) を書き換えます。

local   all             postgres                           peer
#local   all             all                                peer
local   all             all                                md5

(postgres ユーザはそのまま = Peer 認証にしておきました。)
最後にデータベースを再起動します。

$ sudo service postgresql restart

これで、 下記コマンドでデータベースに接続できます。

$ psql -U jade

jade がログインしている Linux のユーザ名の場合は、ユーザ名を省略して下記で接続できます。(パスワードは必要です。)

$ psql

 

参考

PostgreSQL 10.4文書 パート III. サーバの管理 | 第20章 クライアント認証

 

低価格なのに高速・多機能・高セキュリティ 月額400円(税別)から最大容量100GB WordPress専用高速サーバー Z.com WP
おすすめの記事