私は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の拡張子の違いは何ですか?
どちらも形式を指定する必要があるためです。
よろしくお願いします...
ファイル拡張子は何も意味しません。全然。ファイル名の一部にすぎません。
pg_restore
で使用するカスタム形式のダンプが必要な場合は、-Fc
の引数としてpg_dump
を使用します。
pg_dump
は、デフォルトでpsql
で使用するSQL形式のダンプを生成します。
詳細はマニュアルをご覧ください。
これを試して
pg_lsclusters
pg_restore -h Host -p PORT -U SUPERUSERNAME -C -d postgres DBtoRESTORE.dump