1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PostgreSQL】4つの手法でテーブルを作成・削除する

Last updated at Posted at 2025-08-03

はじめに

この記事では、PostgreSQLでテーブルを作成、削除する複数の方法を記載します。

開発環境

開発環境は以下の通りです。

  • Windows11
  • PostgreSQL 17.5
  • pgAdmin4 8.7

また、事前準備として、PostgreSQLをインストールしておきます。

方法1. CLI - Powershell で psql シェルに入る

psql はPostgreSQLに付属しているコマンドラインツールです。

1. PostgreSQLに接続する

PowerShellから psql コマンドを実行して、PostgreSQLサーバーに接続します。

psql -U postgres -d postgres
  • -U: 接続するユーザー名
  • -d: 接続するデータベース名

このコマンドを実行すると、パスワードを尋ねられます。

Password for user postgres:

PostgreSQLのインストール時に設定したパスワードを入力し、Enterキーを押します。
パスワードが正しければ、プロンプトがpostgres=#に変わり、psqlシェルに入ります。

psql (17.5, server 16.3)
Type "help" for help.

postgres=#

2. テーブルを作成する

CREATE TABLE コマンドを使用してテーブルを作成します。
今回は従業員の情報を格納する employees テーブルを作成します。employee_id(主キー)、first_namelast_namehire_date の4つのカラムを含めます。

CREATE TABLE employees (
    employee_id SERIAL PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    hire_date DATE
);

コマンド実行後、CREATE TABLE という応答が返ります。
以下のコマンドでテーブルが作成されたか確認できます。

\dt
           List of relations
 Schema |   Name    | Type  |  Owner
--------+-----------+-------+----------
 public | employees | table | postgres
(1 row)

また、以下のコマンドでは、カラムを確認できます。

\d employees
                                          Table "public.employees"
   Column    |         Type          | Collation | Nullable |                    Default        

-------------+-----------------------+-----------+----------+------------------------------------------------
 employee_id | integer               |           | not null | nextval('employees_employee_id_seq'::regclass)
 first_name  | character varying(50) |           | not null |
 last_name   | character varying(50) |           | not null |
 hire_date   | date                  |           |          |
Indexes:
    "employees_pkey" PRIMARY KEY, btree (employee_id)

3. テーブルを削除する

テーブルを削除するには、DROP TABLE コマンドを使用します。

DROP TABLE employees;

コマンド実行後、DROP TABLE という応答が返ります。

\dt コマンドでテーブルが削除されたか確認します。

\dt
Did not find any relations

4. PostgreSQLから切断する

psqlシェルを終了するには、\q コマンドを使用します。

\q

方法2. CLI - Powershell で qsal シェルに入らない

psql コマンドは、シェルを起動せずにSQLコマンドを直接実行することもできます。この方法は、スクリプトなどからコマンドを実行する場合に便利です。

1. テーブルを作成する

psql -U postgres -d postgres -c CREATE TABLE employees (employee_id SERIAL PRIMARY KEY,first_name VARCHAR(50) NOT NULL,last_name VARCHAR(50) NOT NULL,hire_date DATE);"

パスワードを尋ねられるので入力します。

2. テーブルを削除する

psql -U postgres -d postgres -c "DROP TABLE employees;"

パスワードを尋ねられるので入力します。

この方法の場合、コマンドのたびにパスワードを入力する必要があります。パスワードを環境変数に設定しておくことで、入力の手間を省くことも可能ですが、セキュリティ上のリスクもあるため、取り扱いには注意が必要です。

方法3. CLI - SQL Shell (psql)

PostgreSQLのインストール時に同梱されている「SQL Shell (psql)」を使う方法です。

SQL Shell (psql) を起動すると、以下の情報を聞かれます。

Server [localhost]:     # そのままEnter
Database [postgres]:    # そのままEnter
Port [5432]:            # そのままEnter
Username [postgres]:    # そのままEnter
Client Encoding [SJIS]: # そのままEnter
Password for user postgres: # パスワードを入力してEnter

パスワードを正しく入力すると、以下のようなプロンプトに変わります。

postgres=#

これで、PostgreSQLに接続されます。
テーブルの作成・削除自体の手順は、方法1. と同じです。

方法4. GUI - pgAdminを利用する

pgAdminは、PostgreSQLをGUI(グラフィカルユーザーインターフェース)で操作できるツールです。

1. サーバーに接続する

pgAdminを起動して左側のツリービューにある Servers の下の PostgreSQL17 をクリックします。パスワードの入力を求められた場合は、PostgreSQLインストール時に設定したパスワードを入力します。

image.png

2. テーブルを作成する

  1. 左側の「Browser」パネルで、目的のデータベース(postgres)を展開します
  2. Schemas -> public -> Tables を右クリックし、「Create」->「Table...」を選択します
  3. 「Create - Table」ウィンドウが開きますimage.png
  4. Generalタブの Name フィールドにテーブル名(employees)を入力します
  5. Columnsタブのテーブル右側の「+」ボタンをクリックして、必要なカラムを追加しますimage.png
  6. 画面右下の「Save」ボタンをクリックして、テーブルを作成します

pgAdminでもCLIと同じように、SQLクエリを実行してテーブルを作成することもできます。
左側の「Browser」パネルで、目的のテーブルを作成したいデータベースを右クリックし、「Query Tool」を選択することで、SQLクエリが実行できます。

image.png

3. テーブルを削除する

  1. 左側の「Browser」パネルで、削除したいテーブル(employees)を右クリックします
  2. 「Delete」を選択します
  3. 確認ダイアログが表示されるので、テーブル名を確認して「OK」をクリックしますimage.png

まとめ

この記事では、Windows 11環境でPostgreSQLのテーブルを操作する4つの方法を解説しました。
用途に合わせてCLIとGUIを使い分けることで、効率的にデータベースを操作できるようにしたいですね。

参考

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?