コマンド操作のまとめ【PostgreSQL】

2021年8月22日未分類

【頻出】コマンド操作のまとめ

コマンド操作のうち、特に頻出のものをまとめました。

 

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 データベース名

ここで詳しく説明しています

pg_dumpコマンドを初心者向けに解説します

pg_dumpでパスワードを省略する(簡単)

pgAdminでデータベースのバックアップを取る方法

データベースをバックアップする(コマンド、bat)

 

 

9.リストア

--1.あらかじめ作っておいた空のデータベースにリストアする
pg_restore -U postgres -d データベース名 "バックアップファイルパス" 
--2.リストアと同時にデータベースを作成する(作られるDB名はバックアップと同じになる)
pg_restore -U ユーザー名 -C -d postgres "バックアップファイルパス"

ここで詳しく説明しています

Windowsでpg_dumpとpg_restoreの実行方法

データベース(DB)を復元(リストア)する

 

 

10.CSVからデータを登録する

--postgreSQLにログイン後(psqlで)実行します
¥copy テーブル名 from 'CSVファイルのフルパス' with csv         --CSVにヘッダ行がない場合
¥copy テーブル名 from 'CSVファイルのフルパス' with csv header  --CSVにヘッダ行がある場合