1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Python/Django】よく使うコマンドのまとめ(3) <PostgreSQLの操作>

Last updated at Posted at 2020-12-14

背景

Python/Djangoで開発をすすめるにあたり、よく使うコマンドをまとめておきます。

先人たちの知恵をお借りするなどして解決できたことを、この場をお借りして感謝するとともに、大変恐縮ですが自分のメモとしても、こちらへまとめておきます。

環境

(本番環境)

  • AWS EC2 (Amazon Linux 2)
  • Python 3.7.9    ※2020/12/10時点のAmazon Linux2でのデフォルト
  • Django 3.1.3
  • PostgreSQL 11.5  ※同上
  • Nginx 1.12     ※同上
  • Gunicorn
  • Putty 0.74

(開発環境)

  • Windwos 10 Pro
  • Python 3.9.0
  • Django 3.1.3
  • PostgreSQL 13.1
  • Nginx 1.19.5
  • Gunicorn
  • Putty 0.74

1. PostgreSQLの操作

※ ローカルマシン環境に、既にインストールは済んでいる前提です。

1-1. バージョンの確認

ターミナル
$ psql --version

psql (PostgreSQL) 13.1

1-2. ログイン

ターミナル
$ psql -U postgres

ユーザー postgres のパスワード:                 
psql (13.1)
"help" でヘルプを表示します。

postgres=#

1-3. データベースを作成する

ターミナル
postgres=# create database <データベース名>;

CREATE DATABASE

1-4. データベースの一覧を確認する

ターミナル
postgres=# \l
                                          データベース一覧
     名前      |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) |     アクセス権限
---------------+----------+------------------+----------+-------------------+-----------------------
 postgres      | postgres | UTF8             | C        | C                 |
 <DB名>     | postgres | UTF8             | C        | C                 |
 template0     | postgres | UTF8             | C        | C                 | =c/postgres          +
               |          |                  |          |                   | postgres=CTc/postgres
 template1     | postgres | UTF8             | C        | C                 | =c/postgres          +
               |          |                  |          |                   | postgres=CTc/postgres
(4 行)

postgres=#  

1-5. データを確認する

1-5-1. Python仮想環境に入り、manage.pyの存在するディレクトリへ移動します。

1-5-2. 下記を実行し、データベースユーザとパスワードの環境変数を設定します。

  • (前提) プロジェクト設定ファイル:
settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '<データベース名>',
        'USER': os.environ.get('DB_USER'),
        'PASSWORD': os.environ.get('DB_PASSWORD'),
        'HOST': '',
        'PORT': '',
    }
}
ターミナル
(venv_<プロジェクト名>) $ set DB_USER=<ユーザー名>
(venv_<プロジェクト名>) $ set DB_PASSWORD=<パスワード>

1-5-3. 下記を実行して、データベース操作を可能とします。

ターミナル
(venv_<プロジェクト名>) $ python manage.py dbshell --settings <データベース名>.settings

<データベース名>=#

1-5-4. テーブル一覧の表示

ターミナル
<データベース名>=# \dt

1-5-5. 特定のテーブルにおける全レコードを表示

ターミナル
<データベース名>=# select * from <テーブル名>;

1-5.6. その他

PostgreSQLの使い方 をご参照ください。

1-5-7. ログアウト

ターミナル
<データベース名>=# \q
または、
postgres=# \q

(関連)

【Python/Django】よく使うコマンドのまとめ(1) <仮想環境、プロジェクト、アプリケーションの作成>
【Python/Django】よく使うコマンドのまとめ(2) <パッケージのインストール>
【Python/Django】よく使うコマンドのまとめ(4)-前編- <本番運用:Amazon EC2 (Amazon Linux 2)>
【Python/Django】よく使うコマンドのまとめ(4)-後編- <本番運用:Amazon EC2 (Amazon Linux 2)>


(編集後記)

データベースの各テーブルへ、どのような値が格納されるかをしっかりと確認しながら、アプリケーションの作成に努めていきます。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?