コンテンツへスキップ
ホーム > Tech > 実践で学ぶ PostgreSQL の使い方

実践で学ぶ PostgreSQL の使い方

はじめに

PostgreSQL の簡単な使い方を時系列的に説明します。データ操作関係の処理は本記事では説明していないので、ご了承ください。
本記事の意図は自分用の備忘録的な感じですが、見て下さった方の参考になれれば幸いです。
実行環境は以下です。

version
OS MacOS v12.5
CLI Tool iTerm2 v3.4.8
PostgreSQL v12.4

データベースサーバ

データベースサーバの起動

$ postgres -D /usr/local/var/postgres

データベース

データベースにログイン

まず、データベースサーバの起動を実行したタブとは別のタブを開きましょう。そして、以下のコマンドを打ちます。

$ psql -U postgres
psql (12.4)
Type "help" for help.

postgres=#

ちなみに、オプションは

psql -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名

です。-U postgres以外は省略可(デフォルト値が入る)なので、上記コマンドは以下と同義です。

psql -h localhost -p 5432 -U postgres -d postgres

データベースの作成

データベースsampleを作ってみましょう。

postgres=# create database sample;
CREATE DATABASE

データベースの一覧表示

postgres=# \l
                                    List of databases
      Name       |    Owner    | Encoding | Collate | Ctype |      Access privileges
-----------------+-------------+----------+---------+-------+-----------------------------
 postgres        | user        | UTF8     | C       | C     |
 sample          | user        | UTF8     | C       | C     |
 shop            | user        | UTF8     | C       | C     |
 template0       | user        | UTF8     | C       | C     | =c/user                    +
                 |             |          |         |       | user       =CTc/user       
 template1       | user        | UTF8     | C       | C     | =c/user                    +
                 |             |          |         |       | user       =CTc/user       
(4 rows)

先ほど作成したデータベースsampleができています。

データベースへの接続

現在、

postgres=# 

と表示されており、これはデータベースpostgresに接続されていることを表しています。

ここで、先ほど作成したデータベースsampleに接続してみましょう。今のデータベースから(ユーザ等変えずに)、別のデータベースへの接続する方法は以下です。

postgres=# \c sample
You are now connected to database "sample" as user "user".
sample=#

現在接続しているデータベースの確認

sample=# select current_database();
 current_database
------------------
 sample
(1 row)

スキーマ

スキーマに関しては、今回は省略させていただきます。

テーブル

テーブルの作成

テーブルusersを作ってみましょう。

sample=# create table users(
sample(# username varchar(10),
sample(# password integer
sample(# );
CREATE TABLE

書式は、

CREATE TABLE [ IF NOT EXISTS ] table_name (
column_name data_type [, … ]
)

です。

テーブルの一覧表示

sample=# \d
          List of relations
 Schema | Name  | Type  |    Owner
--------+-------+-------+-------------
 public | users | table | katokeiichi
(1 row)

また、詳細は、

sample=# \d users
                       Table "public.users"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 username | character varying(10) |           |          |
 password | integer               |           |          |

です。

終わりに

テーブルの削除

sample=# drop table users;
DROP TABLE

データベースの削除

データベースsampleを削除する場合そこに接続していると削除できないので、データベースpostgresに切り替えましょう。

sample=# \c postgres
You are now connected to database "postgres" as user "katokeiichi".

そして、以下のコマンドで削除します。

postgres=# drop database sample;
DROP DATABASE

データベースからログアウト

postgres=# \q

データベースサーバの停止

データベースサーバの起動を実行したタブでCtrl+Cで停止できます。

以上です。楽しいエンジニアリングライフを!