■ はじめに
https://dk521123.hatenablog.com/entry/2014/09/11/002003
で扱った pdqlコマンドについて、よく使うのをまとめておく。 自分用のメモ。
目次
【1】環境確認 1)インストールされているのか? 2)インストール 【2】pdqlコマンド 1)ログイン / DB接続 2)データベース表示 3)テーブル定義表示 4)テーブル一覧表示 5)データ表示 6)SQLファイル実行 7)切断 (Quit)
【1】環境確認
1)インストールされているのか?
# version表示で確認する psql --version
2)インストール
Ubuntuの場合
sudo apt install postgresql
【2】pdqlコマンド
1)ログイン / DB接続
# psql -h [ホスト名] -p [ポート番号] -d [データベース] -U [ユーザ名] psql -h localhost -p 5432 -d postgres -U postgres
【補足】AWS の RDS で 初期DBを作成しなかった場合
「-d postgres」でログインする
SQLファイル実行だけなら
# psql -f [SQLファイル] -U [ユーザ名] -d [データベース] -h [ホスト名] psql -f ./ddl.sql -U postgres -d postgres -h localhost
SQL文実行だけなら
# psql -c [SQL文] -A -U [ユーザ名] -d [データベース] -h [ホスト名] psql -c "SELECT * FROM person;" -A -U postgres -d postgre -h localhost # オプション「-c, --command / -A, --no-align」については、以下のサイトを参照
https://www.dbonline.jp/postgresql/connect/index1.html
2)データベース表示
\d;
【補足】DB作成
CREATE DATABASE name WITH ENCODING=UTF8
3)テーブル定義表示
¥d <table_name> で表示
https://www.dbonline.jp/postgresql/table/index8.html
4)テーブル一覧表示
\dt;
5)データ表示
SELECT * FROM [テーブル名]
SELECT表示をやめる場合(コマンドに戻す)
* 「q」キー でコマンド入力に戻る
SELECT表示を読み易くする
* 以下のサイトが参考になった
https://qiita.com/iwot@github/items/5ad785e7181654090d7a
psql -U postgres -d sample_db -h localhost \x sample_db=# SELECT * FROM users; user_id | 1 user_name | Mike created_at | 2019-12-19 21:50:21.3885 -----------+--------------------------- user_id | 2 user_name | Tom created_at | 2019-12-19 21:50:21.3885 -----------+--------------------------- ... 略 ...
6)SQLファイル実行
# \i [sql file]; \i ddl.sql;
7)切断 (Quit)
\q;
関連記事
PostgreSQL ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2014/03/08/000100
psql で CSV出力する
https://dk521123.hatenablog.com/entry/2020/02/08/001155
psql で 変数 / 定数を使う
https://dk521123.hatenablog.com/entry/2020/01/23/223756
ファイルからSQL文を一括で実行するには ~pdqlコマンドの利用~
https://dk521123.hatenablog.com/entry/2014/09/11/002003
psql コマンドでファイル実行した際に引数を渡すには
https://dk521123.hatenablog.com/entry/2021/08/01/000000
PostgreSQLのDBをエクスポート/インポートするスクリプト
https://dk521123.hatenablog.com/entry/2018/03/02/232623