開発Tips

【入門】PostgreSQLコマンド覚書

最近業務でPostgreSQLを使う機会がありました。

MySQLやSQLiteなどは比較的よく使うのですが、PostgreSQLは2年くらい前に少し触っただけだったので、新鮮でした。
知らないことが色々とあって、結構楽しかったです。

ただ反省点もあって、今回はデータベースやスキーマの作成なども行ったのですが、コマンドを知らなくてその都度調べていたため、少し時間がかかってしまいました。

このあたりをサクッとできるとスマートなんですけどね・・。

そこで、勉強と知識の定着を兼ねて、今回使ったコマンドの覚書を作ることにしました。
今後新しいコマンドを利用するごとに更新していって、忘れないようにしようと思います。

そんなわけで、今回はPostgreSQLの基本的なコマンドをご紹介しますね。

この記事でご紹介する環境は以下の通りです。

OS:Windows10 Pro 64bit
PostgreSQL:12.2

PostgreSQLへの接続

ログイン

psql -U {ユーザー名} -d {データベース名}
例:psql -U postgres -d postgres

ユーザー名とデータベース名が同じ場合はデータベース名を省略できます。
例えば、以下のような感じです。

psql -U {ユーザー名}
例:psql -U postgres

この場合は「postgres」というユーザーで「postgres」というデータベースに接続します。

ユーザー操作

ユーザーの作成

create user {ユーザー名};
例:create user test_user;

ユーザー一覧の表示

¥du

ユーザーの削除

drop user {ユーザー名}

データベースの操作

データベースの作成

create database {DB名};
例:create database sample_db;

データベース一覧の表示

¥l

lはLの小文字です。
パイプではありませんのでご注意ください。

データベースへの接続

¥c データベース名
例:¥c postgres

スキーマの操作

スキーマの確認

select current_schema();

スキーマ一覧の確認

¥dn

スキーマの作成

create schema {スキーマ名};

スキーマの変更

SET search_path = {スキーマ名};
例:SET search_path = test_schema;

テーブルの操作

テーブル一覧の確認

¥dt

テーブル・シーケンスのアクセス権限などの確認

¥z

テーブル定義の確認

¥d {テーブル名}
例:¥d sample_table

PostgreSQLからの切断

ログアウト

¥q

その他

SQLコマンドのヘルプ表示

¥h

psqlコマンドのヘルプ表示

¥?

コマンド履歴の確認

¥s

実行したコマンドの履歴を確認できます。
ただし、ヒストリー機能がサポートされている必要があります。

おわりに

今回はPostgreSQLの基本的なコマンドについてご紹介しました。
調べてみると、もっといろいろなコマンドがあるみたいですね。

少しずつ使っていき、便利なコマンドを覚えていこうと思います。

今回はここまでです。それでは。