web-dev-qa-db-ja.com

postgresデータベースで単一のテーブルのバックアップを作成する方法は?

Postgresを使用してデータベース内に単一のテーブルのバックアップを作成する方法はありますか?そしてどうやって?これはpg_dumpコマンドでも機能しますか?

125
Roland

--tableを使用して、pg_dumpにバックアップするテーブルを指示します。

pg_dump --Host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "<abstract_file_path>" --table public.tablename dbname
172
Frank Heikens

Ubuntuを使用している場合、

  1. PostgresユーザーSudo su postgresにログインします
  2. pg_dump -d <database_name> -t <table_name> > file.sql

postgresユーザーに書き込み権限があるコマンドを実行していることを確認してください(例:/tmp

編集

.sqlを別のコンピューターにダンプする場合は、.sqlファイルに保存される所有者情報をスキップすることを検討する必要があります。

pg_dump --no-owner -d <database_name> -t <table_name> > file.sqlを使用できます

67

pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table> backup.sql

単一のテーブルのバックアップを取ることができますが、データベース全体のバックアップを取り、必要なテーブルを復元することをお勧めします。データベース全体のバックアップを作成しておくことは常に良いことです。

pg_dumpを使用する9つの方法

31
Prashant Kumar

グラフィカルユーザーインターフェイスが必要な場合は、pgAdmin III(Linux/Windows/OS X)を使用できます。選択したテーブルを右クリックし、「バックアップ」します。 pg_dumpコマンドが作成されます。

enter image description here

enter image description here

enter image description here

10

フランクハイケンの答えに加えて、copy from stdinの代わりにINSERTステートメントを使用する場合は、--insertsフラグを指定する必要があります。

pg_dump --Host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname

--ignore-versionフラグは廃止されたため、省略したことに注意してください。

0
user3207874