サーバー

PostgreSQLインストール

PostgreSQLをインストール

macOS(ローカル開発マシン)の場合

Homebrew が入っていればターミナルで:

brew install postgresql
brew services start postgresql

これで /usr/local/var/postgres にデータフォルダが作られ、PostgreSQL サーバーがバックグラウンド起動。

Ubuntu/VPS(本番サーバーなど)の場合

SSH でサーバーに入ってから:
# リポジトリ情報を最新に
sudo apt update

# PostgreSQL 本体と追加モジュールをインストール 自動でyes入力
sudo apt install postgresql postgresql-contrib -y

# PostgreSQL サービスを「今すぐ起動」+「自動起動設定」
sudo systemctl enable --now postgresql
デフォルトで postgres ユーザーが作られ、peer 認証でローカル接続できる

データベースとユーザーの作成

PostgreSQL コンソールに切り替えて、新しいデータベースとアプリ用ユーザーを作る。
ローカルと本番環境それぞれで別のユーザーとデータベース作る必要あり。
# postgres ユーザーで psql を起動
sudo -u postgres psql
# macのhomebrew版の場合は
psql postgres
psql プロンプト上で、ローカルと本番それぞれユーザー設定を作成。
ローカル:
-- ローカル専用ユーザーと DB を作成
CREATE USER dev_user WITH PASSWORD 'dev_password';
CREATE DATABASE dev_db OWNER dev_user;
本番:
-- 本番用ユーザーと DB を作成
CREATE USER prod_user WITH PASSWORD 'prod_password';
CREATE DATABASE prod_db OWNER prod_user;

\qで抜ける。

接続情報を環境変数に設定

プロジェクトのルートにある .env(あるいは本番の環境変数)に、以下を追加。
ローカルと本番それぞれ別の.envを記入。

ローカル:
DATABASE_URL=postgresql://dev_user:dev_password@localhost:5432/dev_db
FLASK_ENV=development
本番:
DATABASE_URL=postgresql://prod_user:prod_password@localhost:5432/prod_db
FLASK_ENV=production
SECRET_KEY=<本番用の強力なキー>
.envの権限を設定する。
chmod 600 .env

 

 

ABOUT ME
いなさく
住んでる家が崩れそうなので、建て替え費用をまかなうために 副業をがんばるサラリーマン
ブログランキング・にほんブログ村へ

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA