[PostgreSQL]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

pg_dump [データベース名]にてバックアップを取ることが可能。その際、データベースの所有者にsuしておいた方がよい。


[pg_dumpの主なオプション]
-a データのみをダンプ
-b ラージオブジェクトもダンプする。(注: デフォルトではダンプされません)
-d INSERTコマンドにてダンプ(通常はCOPYコマンド)
-D カラム名を含めたINSERTコマンドにてダンプ
-s テーブルのみダンプ
-t 特定のテーブルのみダンプ
-F アウトプットファイルの形式を指定(cがカスタム、tがtar、pがテキスト)


[使用例]
su - [データベース所有者]
pg_dump database_name > database_name.sql


リストアするには


createdb にてdatabaseを作成し、同じユーザで以下のようにすればよい。
cat database_name.sql  | psql database_name


[特定テーブルのみのバックアップ]
pg_dump -d データベース名 -t テーブル名 > specific_table.sql


※ラージオブジェクトのバックアップはpg_restoreで戻す必要があります。またテキストファイルでのバックアップはできないため、ファイルの形式をFオプションで指定した上、tar形式にてバックアップしてください。またラージオブジェクトのバックアップはテーブルごとにはできませんので、データベースごとバックアップを取る必要があります。


[例]
#ラージオブジェクトを含めてバックアップ
pg_dump -b databasename -Fc > ./filename


#リストア
pg_restore -d databasename filename


※すべてのデータベースのバックアップを取るにはpg_dumpallを使用してください。


[関連記事]
pg_dumpall - 全データベースのバックアップ



関連記事
複合プライマリーキー
文字コードの変換
|| 文字列連結演算子
ILIKE - 条件検索で大文字小文字を区別させない
カラム名などの大文字と小文字
配列
pg_dump: WARNING: owner of data type **** appears to be invalid
カラム名に日本語を使用した場合
primary keyの追加
order by で日本語のソート
not null制約の削除
REFERENCES - 参照制約
pg_dumpall - 全データベースのバックアップ
pg_ctl - postgresサーバの起動と停止
vacuumdb - データーベースの不要領域の削除
dropuser - ユーザの削除
カラム名の変更
update - テーブルデータの更新
INSERT - データの挿入
ALTER USER - ユーザパスワードの変更
ユーザの一覧
max_connectionsを上げるとpostgresが起動できない
PostgreSQLのバージョンを調べるには
pg_restoreでデータベースをバックアップから戻す
Fedora Core 3でpostgresが起動できない
COMMENT ON COLUMN - テーブルのカラムにコメントを付けるには
min関数 - カラムの最小値を取り出す
max関数 - カラムの最大値を取り出す
クエリー文のログを取るには
カラムの追加
CREATE TABLE - テーブルの作成
シーケンスの削除
シーケンスのオーナ変更
テーブルのオーナ変更
SELECT結果のINSERT
to_date() - TIMESTAMPから日付のみを取得する
ラージオブジェクトのコメント
スラッシュコマンドでのラージオブジェクトの操作
ラージオブジェクト
CASE文の使い方
createdb - データベースを作成するには
createuser - Postgresユーザの作成
phpPgAdmin - ブラウザ上からデータベースを管理するには
CSVでのバックアップ
期間の選択をするには
シェルからパスワード無しにデータベースに接続するには
テーブルを別テーブルにコピーするには
シーケンスの値を変更をするには
ログを取るには
updateでNULL値をセットするには
DEFAULTの変更及び削除
カラムの削除
CSVからNULL値を読み込ませるには
CSV読み込み
pg_dumpによるバックアップ
スラッシュコマンド
PostgreSQLの設定
PostgreSQLにてデータベースの所有者を変更するには
広告