最近業務で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の基本的なコマンドについてご紹介しました。
調べてみると、もっといろいろなコマンドがあるみたいですね。
少しずつ使っていき、便利なコマンドを覚えていこうと思います。
今回はここまでです。それでは。