web-dev-qa-db-ja.com

pg_dump PostgreSQLの.dumpと.sqlの違い

私はpg_dumpを使用してスキーマのバックアップをとろうとしています、

$ pg_dump -U ganapathy -n hotel_management > ganapathy_schema.dump

バックアップを作成しますが、pg_restoreを使用して復元することはできません。このようなエラーが発生します、

pg_restore:[archiver]入力ファイルが有効なアーカイブではないようです

次に、.sql拡張子を付けてバックアップを作成しようとします。

$ pg_dump -U ganapathy -n hotel_management > ganapathy_schema.sql

ただし、同じエラーが発生します。

pg_restore:[archiver]入力ファイルが有効なアーカイブではないようです

その後、-Fc.dumpの両方の拡張子で.sqlのような形式を指定してバックアップを取ろうとします。その後、復元を試みます。正常に復元されました。

だから今私の疑問は

PostgreSQLのpg_dumpの.dumpと.sqlの拡張子の違いは何ですか?

どちらも形式を指定する必要があるためです。

よろしくお願いします...

1
Ganapathy

ファイル拡張子は何も意味しません。全然。ファイル名の一部にすぎません。

pg_restoreで使用するカスタム形式のダンプが必要な場合は、-Fcの引数としてpg_dumpを使用します。

pg_dumpは、デフォルトでpsqlで使用するSQL形式のダンプを生成します。

詳細はマニュアルをご覧ください。

8
Craig Ringer

これを試して

「クラスター」列で実際の名前を確認します

pg_lsclusters

dBバックアップダンプを復元する

pg_restore -h Host -p PORT -U SUPERUSERNAME -C -d postgres DBtoRESTORE.dump

0