sql >> データベース >  >> RDS >> PostgreSQL

コマンドラインを使用してpostgresバックアップファイルを復元しますか?

    ダンプファイルの作成方法に応じて、2つのツールを確認する必要があります。

    最初の参照元は、マニュアルページpg_dump(1)である必要があります。 それがダンプ自体を作成するものだからです。それは言う:

    ダンプは、スクリプトまたはアーカイブファイル形式で出力できます。スクリプトダンプは、データベースを保存時の状態に再構築するために必要なSQLコマンドを含むプレーンテキストファイルです。このようなスクリプトから復元するには、topsql(1)をフィードします。スクリプトファイルを使用して、他のマシンや他のアーキテクチャでもデータベースを再構築できます。他のSQLデータベース製品でもいくつかの変更が加えられています。

    データベースを再構築するには、代替のアーカイブファイル形式をpg_restore(1)で使用する必要があります。それらにより、pg_restoreは復元されるものを選択したり、復元される前にアイテムを並べ替えたりすることができます。アーカイブファイル形式は、アーキテクチャ間で移植できるように設計されています。

    したがって、それがダンプされた方法によって異なります。おそらく、優れたfile(1)を使用してそれを理解することができます コマンド-ASCIIテキストやSQLに言及している場合は、psqlを使用して復元する必要があります それ以外の場合は、おそらくpg_restoreを使用する必要があります

    復元は非常に簡単です:

    psql -U username -d dbname < filename.sql
    
    -- For Postgres versions 9.0 or earlier
    psql -U username -d dbname -1 -f filename.sql
    

    または

    pg_restore -U username -d dbname -1 filename.dump
    

    それぞれのマンページを確認してください。復元の動作に影響を与えるオプションはかなりあります。ダンプの生成方法によっては、復元する前に、「ライブ」データベースをクリーンアップするか、template0から再作成する必要がある場合があります(コメントで指摘されています)。



    1. EntityFrameworkモデルを複数のデータベースにまたがらせる

    2. Microsoft Accessの10の最高の機能は何ですか?

    3. サブクエリの順序は保持されることが保証されていますか?

    4. MySQLとPostgresの両方で大文字と小文字を区別しないクエリをどのように記述しますか?