今回は、macローカル環境にPostgreSQLをインストールしデータベース環境を設定する方法を紹介します。
本記事では2020年9月にリリースされたPostgreSQL 13.0を利用します。
◆動作検証環境
・PostgrSQL:13.0
・psycopg2-binary:2.8.6
PostgreSQLのインストール
*Homebrewのインストール方法は、こちらを参考にしてください。
最新のバージョンをインストールする際は下記のコマンドとします。
1 2 3 | $ brew install postgresql |
インストールの確認をします。
1 2 3 | $ psql --version |
下記のようにバージョンが表示されればOKです。
1 2 3 | psql (PostgreSQL) 13.0 |
データベースの作成
PostgrSQLの起動
1 2 3 | $ brew services start postgresql |
データベースの作成(your_databaseはそれぞれで変更してください)
1 2 3 | $ createdb your_database |
*以下のエラーが表示される場合:
1 2 3 4 5 | createdb: error: could not connect to database template1: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? |
こちらのコマンドを試す
1 2 3 | $ rm /usr/local/var/postgres/postmaster.pid |
それでもエラーの表示が続く場合、こちらのコマンドを試す
1 2 3 | $ brew postgresql-upgrade-database |
*エラー対応ここまで
データベース一覧の確認
1 2 3 | psql -l |
1 2 3 4 5 6 7 8 9 10 11 12 | List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges ---------------+----------+----------+---------+-------+------------------- postgres | user | UTF8 | C | C | template0 | user | UTF8 | C | C | =c/apple + | | | | | apple=CTc/apple template1 | user | UTF8 | C | C | apple=CTc/apple + | | | | | =c/apple your_database | user | UTF8 | C | C | (5 rows) |
さきほど作成したyour_database が確認できればOK
psycopg2のインストール
PostgreSQLとPythonを接続するためのドライバーpsycopg2をインストールします。
開発プロジェクトのディレクトリに移動し、仮想環境を有効にします。
こちらの設定がまだの方は、こちらの記事を参考に仮想環境の設定を行ってください。
macのローカル環境にDjangoの開発環境を設定する方法を紹介します。◆動作検証環境・ローカル環境:mac Catalina・python:3.7.5・Django:3.1.2python3のインストー[…]
1 2 3 | $ source venv/bin/activate |
psycopg2-bynaryをインストール
1 2 3 | (venv)$ pip3 install psycopg2-binary |
ここでデータベースを停止する場合は以下のコマンドを実施
1 2 3 | (venv)$ brew services stop postgresql |
データベース作成後の初期設定
データベースへのログイン
1 2 3 | $ psql your_database |
接続するユーザー、パスワードの設定
1 2 3 | # CREATE USER your_user_name WITH PASSWORD 'yourpassword'; |
1 2 3 | # ALTER ROLE your_user_name SET client_encoding TO 'utf8'; |
1 2 3 | <del># ALTER ROLE your_user_name SET default_transaction_isolation TO 'read committed';</del> |
タイムゾーンを日本の設定とする
1 2 3 | # ALTER ROLE your_user_name SET timezone TO 'Asia/Tokyo'; |
ユーザーに権限つける
1 2 3 | # GRANT ALL PRIVILEGES ON DATABASE your_database TO your_user_name; |
データベースからログアウトする
1 2 3 | # \q |
1 2 3 | (venv)$ brew services stop postgresql |
以上、macローカル環境にPostgreSQLをインストールしデータベース環境を設定する方法を紹介しました。
参考ソース:https://www.postgresql.org/docs/8.0/tutorial-createdb.html