![見出し画像](https://assets.st-note.com/production/uploads/images/60771989/rectangle_large_type_2_fd360bca38480387e598d6d811cd4067.jpg?width=1200)
【覚書】PostgreSQL
※手動で起動するのであれば、あらかじめサービスにて「スタートアップの種類」を「手動」に変更する必要あり。
■環境変数 ※最低限
・Path
C:\Program Files\PostgreSQL\13\bin
・PGDATA
C:\Program Files\PostgreSQL\13\data
■initdb ※Windowsインストーラ想定のため省略
■pg_ctl
> pg_ctl start -w
> pg_ctl stop
> pg_ctl restart
> pg_ctl reload
> pg_ctl status
■createuser
> createuser -U postgres -P -S -D -R -l visitor
> psql -U postgres -d postgres
>> \du
>> \l
>> \q
> dropuser -U postgres -i
●接続オプション
-U:データベースユーザ
●オプション
-P:パスワードあり
-s:スーパーユーザ権限あり
-S:スーパーユーザー権限なし
-d:データベース作成権限あり
-D:データベース作成権限なし
-r:ロール作成権限あり
-R:ロール作成権限なし
-l:ログイン権限あり
-L:ログイン権限なし
■dropuser
> dropuser -U postgres -i
●オプション
-i:削除対象をインタラクティブに指定
■createdb
> createdb -U postgres testdb
●オプション
-E:エンコーディング
-l:ロケール
-T:テンプレート
■dropdb
> dropdb -U postgres -i testdb
●オプション
-i:削除処理をインタラクティブに確認
■psql
> psql -h localhost -p 5432 -U postgres -d postgres
>> \du
>> \l
>> \q
>
●接続オプション
-h:ホスト
-p:ポート
-U:データベースユーザ
-d:データべース
●メタコマンド
\l:データベース一覧
\du:データベースユーザ一覧
\dn:スキーマ一覧
\dt:テーブル一覧
\q:psqlを終了
■設定ファイル
data\postgresql.conf:各種動作の設定
data\pg_hba.conf:ホストベース認証の設定
■バックアップとリストア
・異なるOS間、異なるポスグレのバージョン間でのデータ移行
→平文(SQL)
→pg_dump -Fp
→pg_dumpall
→いずれもpsqlでリストア
・同一環境内
→平文以外だと容量小
→pg_dump -Fc
→pg_restore
■物理、論理バックアップ
・オンライン
・論理バックアップ
→pg_dump
→pg_dumpall
・物理バックアップ
→PITR
・オフライン
・論理バックアップ
→なし
・物理バックアップ
→データベースクラスタのコピー
■テーブル単位のコピー
・COPY文
→サーバ側で実行
・\copyコマンド
→クライアント側で実行