Django用データベースの設定

サーバー情報

【さくらのVPS】
メモリ:8GB
ストレージ:SSD 400GB
CPU:6コア

OS

CentOS7 x86_64

インストール

Python:
pip:
git:
psql:
PostgreSQL:
Nginx:

3.6.8
9.0.3
1.8.3.1
9.2.24
9.2.24
1.16.1

1.PostgreSQLの設定

まずはPostgreSQLの詳細設定を行うため、パスワードの登録を行います。

passwd postgres

PostgreSQLのパスワードを設定する

次に、PostgreSQLの初期設定を行いうため、下記ディレクトリに移送します。

コマンド:cd /var/lib/pgsql

su postgres

PostgreSQLの設定情報を変更するため、ユーザーの切替を行います。

下記コマンドを実行し、データベースの初期化を実施します。

initdb --encoding=UTF8 --no-locale --pgdata=/var/lib/pgsql/data

【encoding】

データベース内の文字コードを指定することが出来ます。

Djangoを用いて開発を行う場合には”UTF8″にしておきましょう。

 

【no-locale】

localeサポートは不要なので切っておきます。

 

【pgdata】

initdbコマンドは、環境変数”pgdata”で指定されたディレクトリをデータベースクラスタとして初期化します。

また initdbコマンドは、内部で、initdbコマンドを実行したユーザー (postgres) をデータベーススーパーユーザとして登録します。

PostgreSQLの設定内容を変更したので、起動してみましょう。

起動コマンド

systemctl start postgresql.service

サーバー起動時に自動的にPostgreSQLが起動するように設定しておきましょう。

自動起動コマンド

systemctl enable postgresql

2.使用するデータベースのテーブル設定

psql -l

空き容量のチェックを行います。

postgreSQL

「List of databases」が表示され、定義されているデータベースの詳細情報を確認することが出来ます。

PostgreSQLにユーザー「postgres」で入ります。

「List of datadases」では「Owner」に該当します。

postgresユーザーに変更

sudo -u postgres psql

PostgreSQLにデータベースを作成します。

「List of datadases」では「Name」に該当します。

※データベース名:●●●

データベース作成

create database ●●●;

ここで設定したユーザー名、パスワードは、Django内の「settings.py」で設定するため覚えておきましょう。

PostgreSQL内で規定するユーザー名、パスワードを設定します。

※ユーザー名:■■■、パスワード:▲▲▲

ユーザー、パスワード設定

create user ■■■ with password ‘▲▲▲’;

ここで設定したユーザー名、パスワードは、Django内の「settings.py」で設定するため覚えておきましょう。

postgreSQL

再度、”psql -l”コマンドを実行し「List of datadases」を表示し、追加したデータベースの「Owner」欄にpostgresと記載されていることを確認します。

作成したデータベースの権限を、作成したユーザーに全て移行します。

※データベース名:●●●、ユーザー名:■■■

権限の移行

GRANT ALL PRIVILEGES ON DATABASE ●●● TO ■■■;

postgreSQL

「List of datadases」の「Access privileges」欄にユーザーが追加されていることを確認します。

データベースの作成と権限の移行が完了したら、“postgres”ユーザーでの編集を終了します。

PostgreSQLの編集を終了

\q

3.PostgreSQLの接続情報を変更

TeraTeam

「su -l」コマンドを実行し、”root”権限を持った状態でPostgreSQLの接続情報の変更を行います。

 

この状態で、下記ディレクトリへ移動します。

コマンド:cd /var/lib/pgsql/data

変更を行う前に、バックアップファイルの作成を行います。

設定ファイルのコピー

cp -p pg_hba.conf pg_hba.conf.backup

cp -p postgresql.conf postgresql.conf.backup

vi pg_hba.conf

下記内容を追加する。

※〇.〇.〇.〇:サーバーのIPアドレス

host all all 〇.〇.〇.〇/32 md5

vi postgresql.conf

下記内容を変更する。

listen_addresses = ‘*’

PostgreSQLを再起動し、リロードを実行して設定を反映させましょう。

再起動

systemctl restart postgresql

リロード

systemctl reload postgresql