見出し画像

【覚書】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コマンド
 →クライアント側で実行

この記事が気に入ったらサポートをしてみませんか?