概要
ターミナルやコマンドプロンプトから実行するPostgreSQLのツールコマンド。
PostgreSQLの開始
psql -U ユーザー名 -d データベース名
または
psql --username ユーザー名 --dbname データベース名
以下はユーザー名:postgres
、データベース名:test
で開始した例。
- ユーザー
postgres
のパスワードを入力してログイン - ログイン後のプロンプトは接続しているDB名となる
1 2 3 4 5 6 |
C:\Users\user>psql -U postgres -d test ユーザ postgres のパスワード: psql (12.15) "help"でヘルプを表示します。 test=# |
データベースのバックアップ
pg_dump -U ユーザー名 データベース名 > バックアップファイル名
以下はユーザー名:postgres
でデータベースtest
をバックアップファイルtest.dump
に保存する例。
- ユーザー
postgres
のパスワードを入力してログイン - バックアップ後は元のプロンプトに戻る
- 場所を指定しないと、カレントディレクトリーにバックアップファイルが作成される
1 2 3 4 |
C:\Users\user>pg_dump -U postgres test > test.dump パスワード: C:\Users\tomo> |
バックアップファイルのリストア
SQLスクリプトタイプの場合
予めデータベースを作成しておいた上で次のコマンドを実行。
psql -U ユーザー名 -d データベース名 < バックアップファイル名
以下はユーザーpostgres
でバックアップファイルtest.dump
からデータベースtest
にリストアした例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
C:\Users\user>psql -U postgres -d test2 < test.dump ユーザ postgres のパスワード: SET SET SET SET SET set_config ------------ (1 行) SET SET SET SET SET SET CREATE TABLE ALTER TABLE CREATE SEQUENCE ALTER TABLE ALTER SEQUENCE CREATE TABLE ALTER TABLE CREATE SEQUENCE ALTER TABLE ALTER SEQUENCE ALTER TABLE ALTER TABLE COPY 3 COPY 3 setval -------- 3 (1 行) setval -------- 3 (1 行) ALTER TABLE ALTER TABLE C:\Users\tomo> |
カスタムフォーマットの場合
カスタムフォーマットのダンプ(アーカイブファイル)の場合はpg_restore
を使う。
pg_restore -U ユーザー名 -d データベース名 バックアップファイル名