コマンド操作のまとめ【PostgreSQL】
【頻出】コマンド操作のまとめ
コマンド操作のうち、特に頻出のものをまとめました。
1.PostgreSQLへのログイン(データベースへの接続)
-- 接続コマンド
psql -h 接続先 -p ポート番号 -U ユーザー名 -d データベース名 -- Uは大文字のため注意
-- コマンド例
psql -h localhost -p 5432 -U postgres -d dbname
psql -h testserver -p 5432 -U postgres -d dbname -- testserverはサーバー名
psql -h x.x.x.x -p 5432 -U postgres -d dbname -- x.x.x.xはIPアドレス
-- オプションを指定せず接続も可能。ただしユーザー名とデータベースの順番が上と逆になる点に注意
psql データベース名 ユーザー名
psql dbname postgres
ここで詳しく説明しています → Windowsでpsqlの起動の仕方
2.ユーザー(=ロール)の作成
CREATE ROLE ロール名 WITH LOGIN PASSWORD 'password'; --PostgreSQLではユーザーをロールという
ここで詳しく説明しています → ユーザー(ロール)の作成、削除の方法
3.ユーザーの削除
DROP ROLE ロール名;
--権限が割り当てによりエラーが発生する時、次(↓)の特権削除をする
ここで詳しく説明しています → ユーザー(ロール)の作成、削除の方法
4.ユーザーに関連付けられている特権を削除する
DROP OWNED BY ロール名;
5.ロールにテーブル、ビューの権限を付与
GRANT SELECT ON テーブル名 TO ロール名; --SELECT権限を付与する
GRANT SELECT ON ビュー名 TO ロール名; --SELECT権限を付与する
GRANT ALL PRIVILEGES ON テーブル名 To ロール名; --すべての権限を付与する
ここで詳しく説明しています → ユーザー(ロール)にテーブル、ビューの権限を付与する、削除する
6.ロールにテーブル、ビューの権限を削除
REVOKE ALL PRIVILEGES ON テーブル名 FROM ロール名;
REVOKE ALL PRIVILEGES ON ビュー名 FROM ロール名;
ここで詳しく説明しています → ユーザー(ロール)にテーブル、ビューの権限を付与する、削除する
7.PostgreSQLサービスの開始・停止・再起動
--サービスの開始
net start postgresql-XXXXX
net start postgresql-x64-12 --PostgreSQL12の場合
--サービスの停止
net stop postgresql-XXXXX
net stop postgresql-x64-12 --PostgreSQL12の場合
--サービスの再起動(停止 → 起動の順番に実行する)
net stop postgresql-x64-12 --PostgreSQL12の場合
net start postgresql-x64-12
ここで詳しく説明しています → PostgreSQLサービスの開始、停止、再起動コマンド
8.バックアップ
--pg_dump.exeのありかまで、cdで移動(パスが通っている場合は不要)
cd C:\Program Files\PostgreSQL\bin
pg_dump -U ユーザー名 -f バックアップファイルのフルパス(拡張子は.backup) -Fc データベース名
ここで詳しく説明しています
9.リストア
--1.あらかじめ作っておいた空のデータベースにリストアする
pg_restore -U postgres -d データベース名 "バックアップファイルパス"
--2.リストアと同時にデータベースを作成する(作られるDB名はバックアップと同じになる)
pg_restore -U ユーザー名 -C -d postgres "バックアップファイルパス"
ここで詳しく説明しています
・Windowsでpg_dumpとpg_restoreの実行方法
10.CSVからデータを登録する
--postgreSQLにログイン後(psqlで)実行します
¥copy テーブル名 from 'CSVファイルのフルパス' with csv --CSVにヘッダ行がない場合
¥copy テーブル名 from 'CSVファイルのフルパス' with csv header --CSVにヘッダ行がある場合